add profile, messages, and connectionStatus shared state
This commit is contained in:
parent
308dbe2b4e
commit
81b4d018fb
9 changed files with 44 additions and 17 deletions
|
|
@ -29,7 +29,7 @@ import Messenger from "@/render/components/messenger.vue";
|
|||
import Login from "@/render/components/login.vue";
|
||||
import Header from "@/render/components/header.vue";
|
||||
|
||||
import { profile, authComplete } from "@/render/composables/useProfile";
|
||||
import { profile, authComplete } from "@/render/shared/profile";
|
||||
import { postAppMount } from "@/render/ipc";
|
||||
|
||||
export default defineComponent({
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
<script lang="ts">
|
||||
|
||||
import { defineComponent, ref } from "vue";
|
||||
import { setProfile } from '@/render/composables/useProfile';
|
||||
import { setProfile } from '@/render/shared/profile';
|
||||
import { invokeLogin } from "@/render/ipc";
|
||||
|
||||
export default defineComponent({
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@ import InputItem from "@/render/components/inputItem.vue";
|
|||
import Settings from "@/render/components/settings.vue";
|
||||
import Bubble from "@/render/components/bubble.vue";
|
||||
|
||||
import { profile } from "@/render/composables/useProfile";
|
||||
import { messages } from "@/render/composables/useMessages";
|
||||
import { profile } from "@/render/shared/profile";
|
||||
import { messages } from "@/render/shared/messages";
|
||||
|
||||
export default defineComponent({
|
||||
name: "Messenger",
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
<script lang="ts">
|
||||
|
||||
import { defineComponent, ref } from "vue";
|
||||
import { clearProfile } from "@/render/composables/useProfile"
|
||||
import { clearProfile } from "@/render/shared/profile"
|
||||
import { invokeLogout } from "@/render/ipc";
|
||||
|
||||
export default defineComponent({
|
||||
|
|
|
|||
|
|
@ -1,7 +1,11 @@
|
|||
|
||||
import { IpcRendererListener } from "./composables/useIpcRend"
|
||||
import { setProfile } from "./composables/useProfile";
|
||||
import { setMessages, addMessage, updateMessage } from "./composables/useMessages";
|
||||
/*
|
||||
* Shared state imports
|
||||
* */
|
||||
import { setProfile } from "./shared/profile";
|
||||
import { setMessages, addMessage, updateMessage } from "./shared/messages";
|
||||
import { setConnectionStatus } from "./shared/connectionStatus";
|
||||
|
||||
const SET_PROFILE_CHANNEL = "set-profile";
|
||||
|
||||
|
|
@ -30,3 +34,8 @@ export const updateMessagesListener = new IpcRendererListener({
|
|||
listenerCallback: updateMessage
|
||||
});
|
||||
|
||||
export const connectionStatusListener = new IpcRendererListener({
|
||||
channel: UPDATE_MESSAGE_CHANNEL,
|
||||
listenerCallback: setConnectionStatus
|
||||
});
|
||||
|
||||
|
|
|
|||
18
src/render/shared/connectionStatus.ts
Normal file
18
src/render/shared/connectionStatus.ts
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
// shared
|
||||
import { ref } from "vue";
|
||||
|
||||
export const isAlive = ref(false);
|
||||
export const loading = ref(true);
|
||||
|
||||
export const setConnectionStatus: IpcListenerCallback<boolean | null> = (payload) => {
|
||||
if (payload) {
|
||||
isAlive.value = payload;
|
||||
} else {
|
||||
loading.value = true;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
export default {
|
||||
isAlive
|
||||
};
|
||||
|
|
@ -45,23 +45,23 @@ const onMessageCallback = (payload: string) => {
|
|||
return
|
||||
|
||||
/* on init, platform sends state, used to init canvas */
|
||||
if (isInitMessage(message)) {
|
||||
ipcEmit("init-messages", message)
|
||||
}
|
||||
// if (isInitMessage(message)) {
|
||||
// ipcEmit("init-messages", message)
|
||||
// }
|
||||
|
||||
|
||||
else if (isAddMessage(message)) {
|
||||
ipcEmit("add-messages", message)
|
||||
}
|
||||
// else if (isAddMessage(message)) {
|
||||
// ipcEmit("add-messages", message)
|
||||
// }
|
||||
|
||||
else {
|
||||
ipcEmit("update-messages", message)
|
||||
}
|
||||
// else {
|
||||
// ipcEmit("update-messages", message)
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
const onConnectionStatusCallback = (alive: boolean) => {
|
||||
// console.log('[Session]: Connection Alive: ', alive);
|
||||
console.log('[Session]: Connection Alive: ', alive);
|
||||
// ipcEmit('connection-state', alive);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue