@@ -5,14 +5,29 @@ const showSideDrawer = ref(false)
5
5
const logout = userLogout
6
6
const router = useRouter ()
7
7
8
+ const user = useState (' user' )
9
+ const initalCheck = await useLoggedIn ()
10
+ const isLoggedIn = ref (initalCheck )
11
+
8
12
router .afterEach (() => {
9
13
showSideDrawer .value = false
10
14
})
11
15
12
- const user = useState (' user' )
13
16
const setColorTheme = (newTheme : Theme ) => {
14
17
useColorMode ().preference = newTheme
15
18
}
19
+
20
+ async function checkIfLoggedIn() {
21
+ const check = await useLoggedIn ()
22
+ isLoggedIn .value = check
23
+ }
24
+
25
+ watch (user , async () => {
26
+ await checkIfLoggedIn ()
27
+ }, { deep: true });
28
+
29
+
30
+
16
31
</script >
17
32
18
33
<template >
@@ -130,7 +145,7 @@ const setColorTheme = (newTheme: Theme) => {
130
145
</svg >
131
146
</span >
132
147
133
- <User class =" hidden md:block" />
148
+ <User :isLoggedIn = " isLoggedIn " class =" hidden md:block" />
134
149
135
150
<span class =" hidden md:flex items-center justify-end md:flex-1 lg:w-0" >
136
151
<!-- <nuxt-link v-if="!user" to="/login"
@@ -288,7 +303,7 @@ const setColorTheme = (newTheme: Theme) => {
288
303
<span class =" flex-1 ml-3 whitespace-nowrap" >Ask Jack</span >
289
304
</NuxtLink >
290
305
</li >
291
- <li v-if =" !user " >
306
+ <li v-if =" !isLoggedIn " >
292
307
<NuxtLink to =" /login"
293
308
class =" flex items-center p-2 text-base font-normal text-gray-900 rounded-lg dark:text-white hover:bg-gray-100 dark:hover:bg-gray-700" >
294
309
<svg xmlns =" http://www.w3.org/2000/svg" fill =" none" viewBox =" 0 0 24 24" stroke-width =" 1.5"
@@ -299,7 +314,7 @@ const setColorTheme = (newTheme: Theme) => {
299
314
<span class =" flex-1 ml-3 whitespace-nowrap" >Sign In</span >
300
315
</NuxtLink >
301
316
</li >
302
- <li v-if =" !user " >
317
+ <li v-if =" !isLoggedIn " >
303
318
<NuxtLink to =" /register"
304
319
class =" flex items-center p-2 text-base font-normal text-gray-900 rounded-lg dark:text-white hover:bg-gray-100 dark:hover:bg-gray-700" >
305
320
<svg xmlns =" http://www.w3.org/2000/svg" fill =" none" viewBox =" 0 0 24 24" stroke-width =" 1.5"
@@ -311,7 +326,7 @@ const setColorTheme = (newTheme: Theme) => {
311
326
<span class =" flex-1 ml-3 whitespace-nowrap" >Sign Up</span >
312
327
</NuxtLink >
313
328
</li >
314
- <li @click =" logout" v-if =" user " >
329
+ <li @click =" logout" v-if =" isLoggedIn " >
315
330
<span to =" /register"
316
331
class =" flex items-center p-2 text-base font-normal text-gray-900 rounded-lg dark:text-white hover:bg-gray-100 dark:hover:bg-gray-700" >
317
332
<svg xmlns =" http://www.w3.org/2000/svg" fill =" none" viewBox =" 0 0 24 24" stroke-width =" 1.5"
0 commit comments