'use client'; import Link from 'next/link'; import { useEffect, useState } from 'react'; import { createBrowserClient } from '@supabase/ssr'; import { User } from '@supabase/supabase-js'; export default function Header() { const [user, setUser] = useState(null); const [tokens, setTokens] = useState(0); const [isMenuOpen, setIsMenuOpen] = useState(false); const supabase = createBrowserClient( process.env.NEXT_PUBLIC_SUPABASE_URL!, process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY! ); useEffect(() => { const getUser = async () => { const { data: { user } } = await supabase.auth.getUser(); setUser(user); if (user) { // 토큰 정보 가져오기 const { data: profile } = await supabase .from('user_profiles') .select('tokens') .eq('user_id', user.id) .single(); if (profile) { setTokens(profile.tokens || 0); } } }; getUser(); const { data: { subscription } } = supabase.auth.onAuthStateChange((_event, session) => { setUser(session?.user ?? null); if (!session?.user) { setTokens(0); } }); return () => { subscription.unsubscribe(); }; }, []); return (
); }