import { useEffect, useState } from 'react' import api from '../api/client' import { Plus, Trash2 } from 'lucide-react' export default function SettingsPage() { const [users, setUsers] = useState([]) const [showAdd, setShowAdd] = useState(false) const [form, setForm] = useState({ username: '', password: '', display_name: '' }) const reload = () => api.getUsers().then((u) => setUsers(u || [])) useEffect(() => { reload() }, []) const handleAdd = async () => { if (!form.username || !form.password) return await api.createUser(form) setForm({ username: '', password: '', display_name: '' }) setShowAdd(false) reload() } const handleDelete = async (id) => { if (!confirm('Benutzer wirklich loeschen?')) return await api.deleteUser(id) reload() } return (

Einstellungen

{/* Users */}
Benutzer
{showAdd && (
setForm({ ...form, username: e.target.value })} className="w-full bg-gray-800 border border-gray-700 rounded px-2 py-1 text-white text-sm focus:outline-none focus:border-orange-500" />
setForm({ ...form, password: e.target.value })} className="w-full bg-gray-800 border border-gray-700 rounded px-2 py-1 text-white text-sm focus:outline-none focus:border-orange-500" />
setForm({ ...form, display_name: e.target.value })} className="w-full bg-gray-800 border border-gray-700 rounded px-2 py-1 text-white text-sm focus:outline-none focus:border-orange-500" />
)}
{users.map((u) => (
{u.username} {u.display_name && ( ({u.display_name}) )} {u.role}
{u.last_login ? `Letzter Login: ${new Date(u.last_login).toLocaleString('de-DE')}` : 'Nie eingeloggt'}
))}
) }