'use client' import { useState } from 'react' import { useRouter } from 'next/navigation' import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from '@/components/ui/table' import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card' import { UserX, ShieldAlert, Key, Trash2, Mail } from 'lucide-react' import { Button } from '@/components/ui/button' import { deleteUser, updateUserStatus, resetPassword } from '@/lib/actions/users' import { Badge } from '@/components/ui/badge' export function UserList({ initialUsers }: { initialUsers: any[] }) { const router = useRouter() const handleDelete = async (id: string) => { if (confirm('Möchten Sie diesen Benutzer wirklich löschen?')) { await deleteUser(id) router.refresh() } } const handleToggleBan = async (id: string, isBanned: boolean) => { await updateUserStatus(id, !isBanned) router.refresh() } const handleResetPassword = async (email: string) => { try { await resetPassword(email) alert('Password-Reset Link generiert (siehe Mailpit/Supabase Log)') } catch (error) { alert('Fehler beim Passwort-Reset') } } return ( Benutzerverwaltung Hier können Sie Benutzer neu anlegen, sperren oder Passwörter zurücksetzen. E-Mail Status Zuletzt angemeldet Aktionen {initialUsers.map((user) => { const isBanned = !!user.banned_until return (
{user.email}
{isBanned ? "Gesperrt" : "Aktiv"} {user.last_sign_in_at ? new Date(user.last_sign_in_at).toLocaleString('de-DE') : 'Noch nie'}
) })}
) }