'use client'; import Link from 'next/link'; import { usePathname, useRouter } from 'next/navigation'; import { useEffect, useState } from 'react'; import { createClient } from '@/lib/supabase/client'; const navItems = [ { href: '/', label: '홈', icon: ( ), }, { href: '/services/website', label: '홈페이지 제작', badge: 'NEW', icon: ( ), }, { href: '/services/automation', label: '업무 자동화', icon: ( ), }, { href: '/services/prompt', label: '프롬프트 엔지니어링', icon: ( ), }, { href: '/services/ai-kit', label: 'AI 자동화 키트', badge: 'NEW', icon: ( ), }, { href: '/saju', label: 'AI 사주 분석', icon: ( ), }, ]; interface SidebarProps { isOpen: boolean; onClose: () => void; } export default function Sidebar({ isOpen, onClose }: SidebarProps) { const pathname = usePathname(); const router = useRouter(); const [userEmail, setUserEmail] = useState(null); const supabase = createClient(); useEffect(() => { supabase.auth.getUser().then(({ data }) => { setUserEmail(data.user?.email ?? null); }); const { data: { subscription } } = supabase.auth.onAuthStateChange((_, session) => { setUserEmail(session?.user?.email ?? null); }); return () => subscription.unsubscribe(); }, []); const handleLogout = async () => { await supabase.auth.signOut(); router.push('/'); router.refresh(); onClose(); }; return ( <> {/* Mobile overlay */} {isOpen && ( )} {/* Sidebar */} > ); }