Skip to content

Commit 4c6d9b6

Browse files
committed
fix(loading): update logic for displaying the loading page
1 parent 53365fc commit 4c6d9b6

File tree

3 files changed

+25
-16
lines changed

3 files changed

+25
-16
lines changed

.changeset/modern-files-juggle.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"enspire": patch
3+
---
4+
5+
Bug fix: Updated logic for displaying the loading page

app.vue

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
<script setup lang="ts">
22
import { ConfigProvider } from 'radix-vue'
3-
import { ClerkLoaded, ClerkLoading } from 'vue-clerk'
4-
import { IndefiniteProgressBar } from '~/components/ui/indefinite-progress-bar'
3+
import { useClerkProvider } from 'vue-clerk'
54
import '@unocss/reset/tailwind-compat.css'
65
6+
const { isClerkLoaded } = useClerkProvider()
7+
78
const useIdFunction = () => useId()
89
10+
const isEnspireLoading = useState('isEnspireLoading', () => false)
11+
912
useHead({
1013
meta: [
1114
{ name: 'theme-color', media: '(prefers-color-scheme: light)', content: 'white' },
@@ -18,19 +21,17 @@ useHead({
1821
<ConfigProvider :use-id="useIdFunction">
1922
<NuxtLoadingIndicator />
2023
<VitePwaManifest />
21-
<ClerkLoading>
22-
<div class="absolute z-100 h-screen w-screen bg-background">
23-
<div class="h-full w-full flex flex-col items-center justify-center space-y-6">
24-
<div class="flex justify-center space-x-1">
25-
<SvgoLogo class="pt-1 text-7xl hover:animate-spin" />
26-
<div class="mt-1 text-6xl tracking-tight">
27-
enspire
28-
</div>
24+
<div v-if="!isClerkLoaded || isEnspireLoading" class="absolute z-100 h-screen w-screen bg-background">
25+
<div class="h-full w-full flex flex-col items-center justify-center space-y-6">
26+
<div class="flex justify-center space-x-1">
27+
<SvgoLogo class="pt-1 text-7xl hover:animate-spin" />
28+
<div class="mt-1 text-6xl tracking-tight">
29+
enspire
2930
</div>
30-
<Icon name="svg-spinners:3-dots-fade" size="2em" />
3131
</div>
32+
<Icon name="svg-spinners:3-dots-fade" size="2em" />
3233
</div>
33-
</ClerkLoading>
34+
</div>
3435
<NuxtLayout class="z-10">
3536
<NuxtPage />
3637
</NuxtLayout>

components/custom/sidebar.vue

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,26 @@
11
<script setup lang="ts">
2+
import type { AllClubs } from '~/types/api/user/all_clubs'
23
import { Button } from '@/components/ui/button'
34
import { cn } from '@/lib/utils'
45
import { useClerk } from 'vue-clerk'
5-
import type { AllClubs } from '~/types/api/user/all_clubs'
66
77
const clerk = useClerk()
8-
98
const route = useRoute()
109
1110
const isPresidentOrVicePresident = ref(false)
11+
useState('isEnspireLoading').value = true
1212
1313
if (import.meta.client) {
1414
if (clerk.user?.publicMetadata.binded) {
1515
const clubs = await $fetch<AllClubs>(`/api/user/all_clubs`, {
1616
headers: useRequestHeaders(),
1717
method: 'GET',
1818
})
19-
if (clubs && (clubs.president.length !== 0 || clubs.vice.length !== 0)) {
20-
isPresidentOrVicePresident.value = true
19+
if (clubs) {
20+
useState('isEnspireLoading').value = false
21+
if (clubs.president.length !== 0 || clubs.vice.length !== 0) {
22+
isPresidentOrVicePresident.value = true
23+
}
2124
}
2225
}
2326
}

0 commit comments

Comments
 (0)