feat: handle redirects for admin in /order page and implement next query param on login
All checks were successful
Staging Build / build (push) Successful in 2m19s
All checks were successful
Staging Build / build (push) Successful in 2m19s
This commit is contained in:
@@ -31,19 +31,36 @@ async function OrderDataWrapper() {
|
||||
const { data: { user } } = await supabase.auth.getUser()
|
||||
|
||||
if (!user) {
|
||||
redirect('/auth/login')
|
||||
redirect('/auth/login?next=/order')
|
||||
}
|
||||
|
||||
const products = await getProducts()
|
||||
const categories = await getCategories()
|
||||
const endCustomers = await getEndCustomers()
|
||||
|
||||
// Fetch profile if exists
|
||||
const { data: profile } = await supabase
|
||||
.from('profiles')
|
||||
.select('*')
|
||||
// Check user role
|
||||
const { data: userData } = await supabase
|
||||
.from('users')
|
||||
.select('role')
|
||||
.eq('id', user.id)
|
||||
.single()
|
||||
|
||||
if (userData?.role === 'admin') {
|
||||
redirect('/admin/einstellungen')
|
||||
}
|
||||
|
||||
const products = await getProducts().catch(() => [])
|
||||
const categories = await getCategories().catch(() => [])
|
||||
const endCustomers = await getEndCustomers().catch(() => [])
|
||||
|
||||
// Fetch profile safely using maybeSingle
|
||||
let profile = null
|
||||
try {
|
||||
const { data } = await supabase
|
||||
.from('profiles')
|
||||
.select('*')
|
||||
.eq('id', user.id)
|
||||
.maybeSingle()
|
||||
profile = data
|
||||
} catch (e) {
|
||||
console.error('Fehler beim Laden des Profils:', e)
|
||||
}
|
||||
|
||||
return <OrderWizard products={products} categories={categories} initialProfile={profile} initialEndCustomers={endCustomers} />
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user