add profile, messages, and connectionStatus shared state

This commit is contained in:
riqo 2021-06-23 08:11:36 -05:00
commit 81b4d018fb
9 changed files with 44 additions and 17 deletions

View 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
};

View file

@ -0,0 +1,33 @@
// shared
import { ref, Ref } from "vue";
import useScroll from "@/render/composables/useScroll";
export const messages: Ref<Array<Message>> = ref([]);
export const setMessages: IpcListenerCallback<Array<Message>> = (payload) => {
messages.value = payload as Array<Message>;
}
export const addMessage: IpcListenerCallback<Message> = (payload) => {
messages.value.push(payload as Message);
}
export const updateMessage: IpcListenerCallback<Message> = (payload) => {
const message = payload as Message;
let targetMessage = messages.value.filter((m: Message) => {
return m.uid = message.uid;
})[0];
if (targetMessage) {
targetMessage = message;
}
}
export default {
messages,
setMessages,
addMessage,
updateMessage
};

View file

@ -0,0 +1,27 @@
// shared
import { ref } from "vue";
export const profile = ref();
export const authComplete = ref(false);
export const setProfile: IpcListenerCallback<Profile | null> = (payload) => {
payload ? profile.value = payload : clearProfile();
showRender();
};
export const clearProfile = () => {
profile.value = null;
};
export const showRender = () => {
authComplete.value = true;
};
export default {
setProfile,
clearProfile,
profile,
showRender,
authComplete,
};