25 lines
790 B
TypeScript
25 lines
790 B
TypeScript
/**
|
|
* Admin: Benutzerverwaltung (Option B).
|
|
* Nur ADMIN-Rolle hat Zugriff; USER werden zurueck zum Dashboard geleitet.
|
|
*/
|
|
import { redirect } from 'next/navigation';
|
|
import { requireDbUser } from '@/lib/api/context';
|
|
import { UserManagement } from '@/components/admin/UserManagement';
|
|
import { AppShell } from '@/components/layout/AppShell';
|
|
|
|
export default async function AdminUsersPage() {
|
|
const user = await requireDbUser().catch(() => null);
|
|
if (!user) {
|
|
redirect('/login');
|
|
}
|
|
if (user.role !== 'ADMIN') {
|
|
redirect('/dashboard');
|
|
}
|
|
|
|
return (
|
|
<AppShell role={user.role} userEmail={user.email} username={user.username}>
|
|
<h1 className="mb-6 text-2xl font-bold">Benutzerverwaltung</h1>
|
|
<UserManagement currentUserId={user.id} />
|
|
</AppShell>
|
|
);
|
|
} |