diff --git a/shop/app/admin/einstellungen/page.tsx b/shop/app/admin/einstellungen/page.tsx index b7bf56f..80b8c0b 100644 --- a/shop/app/admin/einstellungen/page.tsx +++ b/shop/app/admin/einstellungen/page.tsx @@ -33,35 +33,45 @@ export default function AdminSettings() { useEffect(() => { async function checkAccess() { - const supabase = createClient(); - const { data: { user } } = await supabase.auth.getUser(); - if (!user) { - router.push('/auth/login'); - return; - } - const { data: userData } = await supabase - .from('users') - .select('role') - .eq('id', user.id) - .single(); - if (!userData || userData.role === 'verwaltung') { - router.push('/admin'); - } else { + try { + const supabase = createClient(); + const { data: { user } } = await supabase.auth.getUser(); + if (!user) { + router.push('/auth/login'); + return; + } + const { data: userData, error: userError } = await supabase + .from('users') + .select('role') + .eq('id', user.id) + .single(); + + if (userError || !userData || userData.role === 'verwaltung') { + router.push('/admin'); + return; + } + const state = localStorage.getItem('demo_banner_disabled') !== 'true'; setDemoActive(state); - setLoading(false); // Load current LicServer config from DB - const supabaseClient = createClient(); - const { data: licRow } = await supabaseClient - .from('settings') - .select('licserver_base_url, licserver_api_key') - .eq('id', 'licserver') - .single(); - if (licRow) { - setLicUrl(licRow.licserver_base_url || ''); - setLicKey(licRow.licserver_api_key || ''); + try { + const { data: licRow } = await supabase + .from('settings') + .select('licserver_base_url, licserver_api_key') + .eq('id', 'licserver') + .single(); + if (licRow) { + setLicUrl(licRow.licserver_base_url || ''); + setLicKey(licRow.licserver_api_key || ''); + } + } catch (dbErr) { + console.error("Fehler beim Laden der LicServer-Einstellungen:", dbErr); } + } catch (err) { + console.error("Fehler bei checkAccess in Einstellungen:", err); + } finally { + setLoading(false); } } checkAccess();