34 lines
602 B
Vue
34 lines
602 B
Vue
<template>
|
|
<ClientOnly>
|
|
<NuxtPage></NuxtPage>
|
|
</ClientOnly>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
import type { RouteLocation } from 'vue-router';
|
|
|
|
// Guard dashboard and redirect to login
|
|
useRouter().beforeEach((route: RouteLocation) => {
|
|
guard(route.fullPath);
|
|
});
|
|
|
|
onMounted(() => {
|
|
guard(useRoute().fullPath);
|
|
})
|
|
|
|
function guard(route: string)
|
|
{
|
|
if(route.startsWith('/account') && getToken() == null)
|
|
{
|
|
useRouter().push('/');
|
|
}
|
|
if(route === '/' && getToken() != null)
|
|
{
|
|
useRouter().push('/account/inspect/nodes/_all');
|
|
}
|
|
}
|
|
|
|
useHead({
|
|
title: 'Kubooboo'
|
|
})
|
|
</script> |