add user-auth and init-session events
This commit is contained in:
parent
fe954f2960
commit
ea3fc85371
8 changed files with 174 additions and 77 deletions
45
src/App.vue
45
src/App.vue
|
|
@ -35,11 +35,13 @@
|
|||
import { defineComponent, onMounted, onUnmounted, ref } from "vue";
|
||||
import { IpcRendererEvent } from "electron";
|
||||
import { useIpc } from "@/modules/ipc";
|
||||
import { useAuth } from "@/modules/auth"
|
||||
|
||||
import Splash from "@/components/splash.vue";
|
||||
import Messenger from "@/components/messenger.vue";
|
||||
import Login from "@/components/login.vue";
|
||||
|
||||
|
||||
export default defineComponent({
|
||||
|
||||
components: {
|
||||
|
|
@ -49,7 +51,10 @@ export default defineComponent({
|
|||
},
|
||||
|
||||
setup() {
|
||||
const { post } = useIpc();
|
||||
|
||||
const { post, invoke } = useIpc();
|
||||
|
||||
const { user } = useAuth();
|
||||
|
||||
// Whether browser has received user info yet.
|
||||
const ready = ref(false);
|
||||
|
|
@ -58,18 +63,19 @@ export default defineComponent({
|
|||
const profile = ref(false);
|
||||
|
||||
// New messages that browser missed while closed.
|
||||
const newMessages = ref([])
|
||||
const newMessages = ref([]);
|
||||
|
||||
// Receive updated information about the session.
|
||||
const updateState = (_event: IpcRendererEvent, payload: any) => {
|
||||
console.log('YAYAYAYAYA');
|
||||
console.log("APP:Received updated profile and new messages: \n" +
|
||||
` profile: ${payload.message.profile}\n` +
|
||||
` new: ${payload.message.newMessages}`)
|
||||
` new: ${payload.message.newMessages}`);
|
||||
|
||||
if (payload.message.profile) {
|
||||
console.log(`APP:Logged-in, showing Messenger View.`)
|
||||
console.log(`APP:Logged-in, showing Messenger View.`);
|
||||
} else {
|
||||
console.log(`APP:Logged-out, showing Login View.`)
|
||||
console.log(`APP:Logged-out, showing Login View.`);
|
||||
}
|
||||
|
||||
// Set profile and newMessages.
|
||||
|
|
@ -81,8 +87,8 @@ export default defineComponent({
|
|||
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
console.log("APP:mounted.")
|
||||
onMounted(async () => {
|
||||
console.log("APP:mounted.");
|
||||
window.ipcRenderer.on("update-state", updateState)
|
||||
window.ipcRenderer.on("update_available", () => {
|
||||
console.log('testing auto update');
|
||||
|
|
@ -91,11 +97,32 @@ export default defineComponent({
|
|||
window.ipcRenderer.on("update_downloaded", () => {
|
||||
console.log('testing update download');
|
||||
})
|
||||
post("app-mounted", "")
|
||||
|
||||
post("app-mounted", "");
|
||||
|
||||
if(user.value.key) {
|
||||
try {
|
||||
const res = await invoke('user-auth', JSON.stringify(user.value));
|
||||
profile.value = res;
|
||||
} catch(e) {
|
||||
profile.value = false;
|
||||
console.log('[AUTH]', e);
|
||||
} finally {
|
||||
ready.value = true;
|
||||
if (profile.value) {
|
||||
// start session
|
||||
post("init-session", user.value.email);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
profile.value = false;
|
||||
ready.value = true;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
onUnmounted(() => {
|
||||
window.ipcRenderer.removeAllListeners("update-state")
|
||||
window.ipcRenderer.removeAllListeners("update-state");
|
||||
})
|
||||
|
||||
return {
|
||||
|
|
|
|||
Loading…
Reference in a new issue