← 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 />
}