11<script setup lang="ts">
2- import { Eye , LogIn } from ' lucide-vue-next'
2+ import { Eye } from ' lucide-vue-next'
33import { usePreviewReadOnly } from ' ~/composables/usePreviewReadOnly'
44
55const { data : session } = await authClient .useSession (useFetch )
66
77const config = useRuntimeConfig ()
8- const localePath = useLocalePath ()
98const { activeOrg } = useCurrentOrg ()
109const { isUpsellOpen, closeUpsell } = usePreviewReadOnly ()
11- const { sessionExpired } = useSessionGuard ()
1210
1311const isDemo = computed (() => {
1412 const slug = config .public .demoOrgSlug
1513 return slug && activeOrg .value ?.slug === slug
1614})
1715
1816const isDemoAccount = computed (() => session .value ?.user ?.email === ' demo@reqcore.com' )
19-
20- function handleSignInAgain() {
21- navigateTo (localePath (' /auth/sign-in?session=expired' ))
22- }
2317 </script >
2418
2519<template >
@@ -30,33 +24,6 @@ function handleSignInAgain() {
3024 <ClientOnly >
3125 <DemoUpsellBanner v-if =" isDemoAccount" />
3226 </ClientOnly >
33-
34- <!-- Session expired overlay (shown after demo reseed or session invalidation) -->
35- <ClientOnly >
36- <Teleport to =" body" >
37- <div
38- v-if =" sessionExpired"
39- class =" fixed inset-0 z-[100] flex items-center justify-center bg-surface-950/60 backdrop-blur-sm"
40- >
41- <div class =" mx-4 max-w-md rounded-2xl border border-surface-200 dark:border-surface-800 bg-white dark:bg-surface-900 p-8 text-center shadow-xl" >
42- <LogIn class =" mx-auto mb-4 size-10 text-brand-500" />
43- <h2 class =" text-lg font-semibold text-surface-900 dark:text-surface-100 mb-2" >
44- Session expired
45- </h2 >
46- <p class =" text-sm text-surface-500 dark:text-surface-400 mb-6 leading-relaxed" >
47- The demo account was recently updated with fresh data. Please sign in again to continue exploring.
48- </p >
49- <button
50- class =" inline-flex items-center gap-2 rounded-lg bg-brand-600 px-5 py-2.5 text-sm font-medium text-white hover:bg-brand-700 transition-colors cursor-pointer"
51- @click =" handleSignInAgain"
52- >
53- Sign in again
54- </button >
55- </div >
56- </div >
57- </Teleport >
58- </ClientOnly >
59-
6027 <main class =" relative flex-1 min-h-0 overflow-y-auto px-4 py-6 sm:px-6 lg:px-8 lg:py-8" >
6128 <!-- Demo mode banner -->
6229 <div
0 commit comments