Files
webshop/shop/app/admin/orders/page.tsx

36 lines
1.1 KiB
TypeScript

import { createAdminClient } from '@/lib/supabase/admin'
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 Annfragesbestä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 adminDb = createAdminClient()
const { data: orders, error } = await adminDb
.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 || []} />
}