refactor: remove yearly billing interval, keep only one_time and monthly
This commit is contained in:
42
shop/app/admin/users/page.tsx
Normal file
42
shop/app/admin/users/page.tsx
Normal file
@@ -0,0 +1,42 @@
|
||||
import { getUsers } from '@/lib/actions/users'
|
||||
import { UserList } from '@/components/admin/user-list'
|
||||
import { UserDialog } from '@/components/admin/user-dialog'
|
||||
import { Users } from 'lucide-react'
|
||||
import { Suspense } from 'react'
|
||||
|
||||
export default async function AdminUsersPage() {
|
||||
return (
|
||||
<div className="flex-1 space-y-8 p-8 pt-6">
|
||||
<div className="flex items-center justify-between space-y-2">
|
||||
<div>
|
||||
<h2 className="text-3xl font-bold tracking-tight text-gradient flex items-center gap-3">
|
||||
<Users className="w-8 h-8 text-primary" />
|
||||
Benutzerverwaltung
|
||||
</h2>
|
||||
<p className="text-slate-400">
|
||||
Verwalten Sie Benutzerkonten, Berechtigungen und Sicherheit.
|
||||
</p>
|
||||
</div>
|
||||
<div className="flex items-center space-x-2">
|
||||
<UserDialog />
|
||||
</div>
|
||||
</div>
|
||||
<Suspense fallback={<div className="h-40 w-full animate-pulse bg-white/5 rounded-xl" />}>
|
||||
<UserDataWrapper />
|
||||
</Suspense>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
async function UserDataWrapper() {
|
||||
try {
|
||||
const users = await getUsers()
|
||||
return <UserList initialUsers={users} />
|
||||
} catch (error) {
|
||||
return (
|
||||
<div className="p-8 border border-destructive/50 bg-destructive/10 rounded-xl text-destructive text-center">
|
||||
Fehler beim Laden der Benutzer. Stellen Sie sicher, dass der SERVICE_ROLE_KEY korrekt konfiguriert ist.
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user