36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
import { createClient } from '@/lib/supabase/server'
|
|
import { OrdersTable } from '@/components/admin/orders-table'
|
|
import { Suspense } from 'react'
|
|
|
|
export default async function AdminOrdersPage() {
|
|
return (
|
|
<div className="p-8 space-y-6">
|
|
<div className="flex justify-between items-center">
|
|
<div>
|
|
<h1 className="text-3xl font-bold tracking-tight text-gradient">Bestellungen</h1>
|
|
<p className="text-slate-400">Verwalten Sie alle Kundenbestellungen und greifen Sie auf generierte Bestellbestätigungen zu.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<Suspense fallback={<div className="h-40 w-full animate-pulse bg-white/5 rounded-xl" />}>
|
|
<OrdersData />
|
|
</Suspense>
|
|
</div>
|
|
)
|
|
}
|
|
|
|
async function OrdersData() {
|
|
const supabase = await createClient()
|
|
|
|
const { data: orders, error } = await supabase
|
|
.from('orders')
|
|
.select('*')
|
|
.order('created_at', { ascending: false })
|
|
|
|
if (error) {
|
|
return <div className="text-red-500">Fehler beim Laden der Bestellungen: {error.message}</div>
|
|
}
|
|
|
|
return <OrdersTable initialOrders={orders || []} />
|
|
}
|