added nuct page instead of slot

This commit is contained in:
Mamalizz
2025-02-06 22:57:35 +03:30
parent 824e9535f6
commit dfcb797342
3 changed files with 9 additions and 17 deletions
+1 -1
View File
@@ -55,7 +55,7 @@ const nextPage = computed(() => route.meta.nextPage);
<div
class="flex flex-col w-full gap-4 lg:gap-6 lg:w-9/12 shrink-0"
>
<slot />
<NuxtPage />
</div>
<div
+7 -15
View File
@@ -1,5 +1,4 @@
<script lang="ts" setup>
// import
import { useAuth } from "~/composables/api/auth/useAuth";
@@ -9,60 +8,54 @@ import useVerify from "~/composables/api/auth/useVerify";
// state
const { mutateAsync: refreshAuth } = useRefreshAuth();
const { token, refreshToken, updateToken, updateRefreshToken, logout } = useAuth();
const { token, refreshToken, updateToken, updateRefreshToken, logout } =
useAuth();
const { mutateAsync: verify } = useVerify();
// lifecycle
onServerPrefetch(async () => {
if (!!token.value) {
// 1.1 - token is there
try {
await verify({
token: token.value
token: token.value,
});
// 2.1 - token is valid, finish
} catch (e) {
// 2.2 - token is there, but not valid, try to refresh token
if (!!refreshToken.value) {
// 3.1 - refresh token is there, try to refresh
try {
const refreshResponse = await refreshAuth({ refresh: refreshToken.value });
const refreshResponse = await refreshAuth({
refresh: refreshToken.value,
});
// 4.1 - token is refreshed successfully, finish
updateToken(refreshResponse.access);
updateRefreshToken(refreshResponse.refresh);
} catch (e) {
// 4.2 - cant refreshing token, logout
logout();
}
} else {
// 3.2 - refresh token is not exist, logout
logout();
}
}
} else {
// 1.2 - token is not exist, logout
logout();
}
});
</script>
<template>
@@ -70,12 +63,11 @@ onServerPrefetch(async () => {
class="w-full flex flex-col-center persian-number font-iran-yekan-x"
dir="rtl"
>
<LoadingIndicator />
<Header />
<main class="w-full overflow-x-hidden">
<slot />
<NuxtPage />
</main>
<div class="w-full flex-col flex">
<ServiceHighlights />
+1 -1
View File
@@ -2,7 +2,7 @@
<template>
<main class="w-full h-[100svh] font-iran-yekan-x">
<slot />
<NuxtPage />
</main>
</template>