← back to Dear Bubbe Nextjs
app/page.tsx
32 lines
'use client'
import { useSession } from 'next-auth/react'
import { useRouter } from 'next/navigation'
import { useEffect } from 'react'
import BubbeResponsive from '@/components/BubbeResponsive'
import LoadingScreen from '@/components/LoadingScreen'
export default function Home() {
const { data: session, status } = useSession()
const router = useRouter()
useEffect(() => {
if (status === 'loading') return
// Guests chat freely (gated after a few messages inside the chat component).
// Only signed-in users without a profile get sent to profile setup.
if (session) {
const profileData = localStorage.getItem('bubbeProfile')
if (!profileData) {
router.push('/auth/profile-setup')
}
}
}, [session, status, router])
// Show loading only while auth state is resolving
if (status === 'loading') {
return <LoadingScreen />
}
return <BubbeResponsive />
}