'use client'; import { useState, useEffect } from 'react'; import { useAuth } from '@/lib/auth'; import supabase from '@/lib/supabase'; import { Session, User } from '@supabase/supabase-js'; interface SessionData { session: Session | null; user?: User | null; } export default function DebugPage() { const { user, session, isLoading } = useAuth(); const [cookies, setCookies] = useState>({}); const [rawCookies, setRawCookies] = useState(''); const [sessionData, setSessionData] = useState(null); const [redirectTarget, setRedirectTarget] = useState('/analytics'); useEffect(() => { // Get all cookies const allCookies = document.cookie.split(';').reduce((acc, cookie) => { const [key, value] = cookie.trim().split('='); if (key) acc[key] = value || ''; return acc; }, {} as Record); setCookies(allCookies); setRawCookies(document.cookie); // Test Supabase session const testSession = async () => { try { console.log('Getting Supabase session'); const { data, error } = await supabase.auth.getSession(); console.log('Supabase session result:', { data, error }); if (error) { console.error('Session error:', error); } else { setSessionData(data); } } catch (err) { console.error('Error getting session:', err); } }; testSession(); }, []); const refreshSession = async () => { try { console.log('Manually refreshing session'); const { data, error } = await supabase.auth.refreshSession(); console.log('Refresh result:', { data, error }); alert('Session refresh complete, please check console logs'); if (!error && data.session) { window.location.reload(); } } catch (err) { console.error('Error refreshing session:', err); alert('Error refreshing session: ' + String(err)); } }; const forceRedirect = () => { if (redirectTarget) { window.location.href = redirectTarget; } }; return (

Authentication Debug Page

User Status

Loading status: {isLoading ? 'Loading...' : 'Loaded'}

Logged in: {user ? 'Yes' : 'No'}

User email: {user?.email || 'Not logged in'}

User ID: {user?.id || 'Not logged in'}

Session valid: {session ? 'Yes' : 'No'}

Session expires: {session?.expires_at ? new Date(session.expires_at * 1000).toLocaleString() : 'No session'}

Supabase Session Data

          {sessionData ? JSON.stringify(sessionData, null, 2) : 'Loading...'}
        

Cookie Information

Raw cookie string:

            {rawCookies || '(empty)'}
          

Parsed cookies:

            {JSON.stringify(cookies, null, 2) || '{}'}
          

Supabase-related cookies:

sb-access-token: {cookies['sb-access-token'] ? 'Exists' : 'Not found'}

sb-refresh-token: {cookies['sb-refresh-token'] ? 'Exists' : 'Not found'}

supabase-auth-token: {cookies['supabase-auth-token'] ? 'Exists' : 'Not found'}

Manual Redirect

setRedirectTarget(e.target.value)} className="flex-1 px-3 py-2 border border-gray-300 rounded" placeholder="/analytics" />
); }