]> Repos - mime-chat/commitdiff
add connectionStatus state and component
authorriqo <hernandeze2@xavier.edu>
Wed, 23 Jun 2021 13:48:58 +0000 (08:48 -0500)
committerriqo <hernandeze2@xavier.edu>
Wed, 23 Jun 2021 13:48:58 +0000 (08:48 -0500)
src/main.ts
src/render/components/connectionStatus.vue [new file with mode: 0644]
src/render/components/header.vue
src/render/listeners.ts
src/render/shared/connectionStatus.ts
src/session.ts

index a360835a692426a0352df7ac43114372b958858c..efa8f14657e8a4ba575d0277caa89f259a8f6aa8 100644 (file)
@@ -24,6 +24,8 @@ export default async function main() {
     /* launch browser window */
     await createWindow();
 
+    console.log('[Session]: Connection Alive: ', "loading");
+
     try {
         authState = await accountAuth() as AuthState;
     } catch(e) {
diff --git a/src/render/components/connectionStatus.vue b/src/render/components/connectionStatus.vue
new file mode 100644 (file)
index 0000000..7dccf1a
--- /dev/null
@@ -0,0 +1,26 @@
+<template>
+    <div>
+        <div v-if="isAlive">Nominal</div>
+        <div v-else>Connecting</div>
+    </div>
+</template>
+
+
+<script lang="ts">
+
+import { defineComponent } from 'vue'
+import { isAlive } from "@/render/shared/connectionStatus";
+
+export default defineComponent({
+    name: "ConnectionStatus",
+
+    setup() {
+        return {
+            isAlive
+        }
+    }
+
+})
+
+</script>
+
index ebc47c65c573818a2dc0c0e71d24c502d3e76cb0..a97f061293fad83151b72f3af710b63f7e4b9a65 100644 (file)
@@ -9,6 +9,7 @@
         class="menuButton minimizeButton"
         @click.prevent="postNavBarMin"
       />
+      <connection-status />
     </span>
 </template>
 
     import { defineComponent } from "vue";
     import { postNavBar } from "@/render/ipc";
 
+    import ConnectionStatus from "./connectionStatus.vue";
+
     export default defineComponent({
         name: "Header",
+        components: { ConnectionStatus },
         setup() {
             const postNavBarExit = () => postNavBar('close');
             const postNavBarMin = () => postNavBar('min');
index 0a0520857e2eb46b11adb114f956dbc32bd5a721..3a7b5471a8462808a1d098fde68e020b2aa6f800 100644 (file)
@@ -12,6 +12,7 @@ const SET_PROFILE_CHANNEL = "set-profile";
 const INIT_MESSAGES_CHANNEL = "init-messages";
 const ADD_MESSAGE_CHANNEL = "add-message";
 const UPDATE_MESSAGE_CHANNEL = "update-message";
+const CONNECTION_STATUS_CHANNEL = "set-connection-status";
 
 export const setProfileListener = new IpcRendererListener({
     channel: SET_PROFILE_CHANNEL,
@@ -35,7 +36,7 @@ export const updateMessagesListener = new IpcRendererListener({
 });
 
 export const connectionStatusListener = new IpcRendererListener({
-    channel: UPDATE_MESSAGE_CHANNEL,
+    channel: CONNECTION_STATUS_CHANNEL,
     listenerCallback: setConnectionStatus
 });
 
index 8e675dd4d52a76486524dde2bba4c6e329b72fec..7fb15eb870c35510da5b80587852828661e774ae 100644 (file)
@@ -2,9 +2,11 @@
 import { ref } from "vue";
 
 export const isAlive = ref(false);
+
 export const loading = ref(true);
 
 export const setConnectionStatus: IpcListenerCallback<boolean | null> = (payload) => {
+    console.log('received payload', payload)
     if (payload) {
         isAlive.value = payload;
     } else {
index 01a105c394d75c0f8b636b9382d6795680b19c15..912aa685db4d08e2bbcc14ef177301dc31b44cf5 100644 (file)
@@ -60,9 +60,9 @@ const onMessageCallback = (payload: string) => {
 
 }
 
-const onConnectionStatusCallback = (alive: boolean) => {
-    console.log('[Session]: Connection Alive: ', alive);
-    // ipcEmit('connection-state', alive);
+const onConnectionStatusCallback = (isAlive: boolean | Error) => {
+    console.log('[Session]: Connection Alive: ', isAlive);
+    ipcEmit('set-connection-status', isAlive);
 }
 
 const { connect, send, close } = useWebsockets(