diff --git a/src/app/page.tsx b/src/app/page.tsx index b4c3437..9ec0c01 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -12,17 +12,22 @@ export default function Home() { const supabase = createClientComponentClient(); const [bottles, setBottles] = useState([]); const [isLoading, setIsLoading] = useState(true); - const [user, setUser] = useState(null); // Added user state + const [user, setUser] = useState(null); + const [fetchError, setFetchError] = useState(null); useEffect(() => { // Check session const checkUser = async () => { try { const { data: { session }, error } = await supabase.auth.getSession(); + console.log('Initial session check:', session ? 'User logged in' : 'No session'); if (error) { console.error('Session retrieval error:', error); } setUser(session?.user ?? null); + if (session?.user) { + fetchCollection(); + } } catch (err) { console.error('Fatal error checking user:', err); setUser(null); @@ -34,7 +39,8 @@ export default function Home() { checkUser(); // Listen for auth changes - const { data: { subscription } } = supabase.auth.onAuthStateChange((_event, session) => { + const { data: { subscription } } = supabase.auth.onAuthStateChange((event, session) => { + console.log('Auth state change:', event, session?.user ? 'User logged in' : 'No user'); setUser(session?.user ?? null); if (session?.user) { fetchCollection(); @@ -60,7 +66,12 @@ export default function Home() { `) .order('created_at', { ascending: false }); - if (error) throw error; + if (error) { + console.error('Supabase fetch error:', error); + throw error; + } + + console.log(`Fetched ${data?.length || 0} bottles from Supabase`); // Process data to get the absolute latest tasting date for each bottle const processedBottles = (data || []).map(bottle => { @@ -79,7 +90,8 @@ export default function Home() { setBottles(processedBottles); } catch (err) { - console.error('Error fetching collection:', err); + console.error('Detailed fetch error:', err); + setFetchError('Die Sammlung konnte nicht geladen werden. Bitte versuche es später erneut.'); } finally { setIsLoading(false); } @@ -140,6 +152,17 @@ export default function Home() {
+ ) : fetchError ? ( +
+

Hoppla!

+

{fetchError}

+ +
) : ( )} diff --git a/src/components/TastingList.tsx b/src/components/TastingList.tsx index ddebe66..78209f4 100644 --- a/src/components/TastingList.tsx +++ b/src/components/TastingList.tsx @@ -120,13 +120,16 @@ export default function TastingList({ initialTastings }: TastingListProps) {