/** * TrusteeRolesView * * Rollen-Verwaltung für eine Trustee-Instanz */ import React from 'react'; import { useTrusteeRoles, useTrusteeRoleOperations } from '../../../hooks/useTrustee'; import { useTablePermission } from '../../../hooks/useInstancePermissions'; import styles from './TrusteeViews.module.css'; export const TrusteeRolesView: React.FC = () => { const { items: roles, loading, error, refetch } = useTrusteeRoles(); const { handleDelete, deletingItems } = useTrusteeRoleOperations(); const { canCreate, canUpdate, canDelete } = useTablePermission('TrusteeRole'); if (loading) { return
Lade Rollen...
; } if (error) { return
Fehler: {error}
; } const onDelete = async (roleId: string) => { if (window.confirm('Rolle wirklich löschen?')) { const success = await handleDelete(roleId); if (success) { refetch(); } } }; return (
{/* Toolbar */}
{canCreate && ( )}
{/* Tabelle */} {roles.length === 0 ? (

Keine Rollen vorhanden.

) : ( {roles.map((role) => ( ))}
ID Beschreibung Aktionen
{role.id} {role.desc} {canUpdate && ( )} {canDelete && ( )}
)}
); }; export default TrusteeRolesView;