'use client'; import { useEffect, useState } from 'react'; import Link from 'next/link'; import { useRouter } from 'next/navigation'; import { Button } from '@/components/ui/button'; import { createClient } from '@/lib/supabase/client'; import { Switch } from '@/components/ui/switch'; import { User, Bookmark, History, FileText, ChevronRight, Crown, Shield } from 'lucide-react'; import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'; export default function ProfilePage() { const [user, setUser] = useState(null); const [loading, setLoading] = useState(true); const router = useRouter(); const [supabase] = useState(() => createClient()); useEffect(() => { const getUser = async () => { const { data: { user } } = await supabase.auth.getUser(); if (!user) { router.push('/login'); } else { setUser(user); } setLoading(false); }; getUser(); }, [router, supabase]); const handleSignOut = async () => { await supabase.auth.signOut(); router.push('/login'); router.refresh(); }; if (loading) { return
Loading...
; } if (!user) return null; const menuItems = [ { icon: User, label: "Account settings", href: "/profile/account" }, { icon: Bookmark, label: "Bookmark", href: "/profile/bookmarks" }, { icon: History, label: "History", href: "/history" }, { icon: Shield, label: "Contact support", href: "#" }, { icon: FileText, label: "Terms & condition", href: "#" }, ]; return (
{/* Background Effect */}
{/* Profile Header */}
{user.email?.charAt(0).toUpperCase()} {/* Edit Icon Badge (Optional) */} {/*
*/}

{user.user_metadata?.full_name || "Cineprime User"}

{user.email}

{/* Menu List */}
{menuItems.map((item, index) => (
{item.label}
))}
{/* Premium Button */} {/* Sign Out (Custom) */}
); }