45 lines
1.0 KiB
Vue
45 lines
1.0 KiB
Vue
<script setup lang="ts">
|
|
import { IonApp, IonRouterOutlet } from '@ionic/vue';
|
|
import { useRouter } from 'vue-router';
|
|
import { useStore } from 'vuex'
|
|
import { AppStore } from '@/store';
|
|
import { onMounted, onBeforeUnmount, ref } from "vue";
|
|
import EventBus from "./common/EventBus";
|
|
import backendService from '@/services/BackendService'
|
|
|
|
const router = useRouter();
|
|
const store = useStore<AppStore>();
|
|
|
|
const logout = () => {
|
|
store.dispatch('auth/logout');
|
|
router.push({path: '/login'});
|
|
}
|
|
|
|
const isOnline = ref(navigator.onLine);
|
|
|
|
onMounted(() => {
|
|
EventBus.on("logout", logout);
|
|
|
|
backendService.updateServer(backendService.getServer());
|
|
|
|
window.addEventListener("online", () => isOnline.value = true);
|
|
window.addEventListener("offline", () => isOnline.value = false);
|
|
|
|
if (isOnline.value) {
|
|
router.push({path: '/login'});
|
|
} else {
|
|
// checkStoredUserData();
|
|
}
|
|
});
|
|
|
|
onBeforeUnmount(() => {
|
|
EventBus.remove("logout", logout);
|
|
})
|
|
</script>
|
|
|
|
<template>
|
|
<ion-app>
|
|
<ion-router-outlet />
|
|
</ion-app>
|
|
</template>
|