'use client' import React from 'react' import { useRouter } from 'next/navigation' import { LogOut, User, Loader2 } from 'lucide-react' import { supabase } from '../../lib/supabase' import { Button } from '../../components/ui/button' import { Link } from '../../components/ui/link' import type { UserType } from '../../types/supabase' export default function DashboardPage() { const router = useRouter() const [user, setUser] = React.useState(null) const [isLoading, setIsLoading] = React.useState(true) const [isSigningOut, setIsSigningOut] = React.useState(false) React.useEffect(() => { const getUser = async () => { try { const { data: { user } } = await supabase.auth.getUser() setUser(user as UserType) } catch (error) { console.error('Error fetching user:', error) router.push('/auth/login') } finally { setIsLoading(false) } } getUser() }, [router]) const handleSignOut = async () => { try { setIsSigningOut(true) await supabase.auth.signOut() router.push('/auth/login') } catch (error) { console.error('Error signing out:', error) } } if (isLoading) { return (
) } return (

Dashboard

Welcome back,

{user?.email}

View Profile Settings
) }