import {useEffect, useState} from "react"; import {toast} from "sonner"; import {usersApi} from "@/api"; import type {UserDto} from "@/api/schema.gen"; import {Table, TableHeader, TableBody, TableRow, TableHead, TableCell} from "@/components/ui/table"; import {Badge} from "@/components/ui/badge"; export function UsersPage() { const [users, setUsers] = useState([]); const [loading, setLoading] = useState(true); useEffect(() => { usersApi.list() .then(setUsers) .catch(() => toast.error("Failed to load users")) .finally(() => setLoading(false)); }, []); return (

Users

{loading ? (

Loading…

) : ( Login Name Role Created Last seen {users.map(u => ( {u.login} {u.name} {u.role} {new Date(u.created_at).toLocaleDateString("en-US")} {u.last_seen ? new Date(u.last_seen).toLocaleString("en-US") : "—"} ))}
)}
); }