/** * AdminUserMandatesPage * * Admin page for managing user-mandate memberships. * Allows assigning users to mandates and managing their roles within mandates. */ import React, { useState, useEffect } from 'react'; import { useUserMandates, type Mandate } from '../../hooks/useUserMandates'; import { FaSync, FaBuilding } from 'react-icons/fa'; import { MandateUsersPanel } from '../../components/admin/MandateUsersPanel'; import styles from './Admin.module.css'; import { useLanguage } from '../../providers/language/LanguageContext'; import { mandateDisplayLabel } from '../../utils/mandateDisplayUtils'; export const AdminUserMandatesPage: React.FC = () => { const { t } = useLanguage(); const { error, fetchMandates } = useUserMandates(); const [mandates, setMandates] = useState([]); const [selectedMandateId, setSelectedMandateId] = useState(''); useEffect(() => { const loadMandates = async () => { const data = await fetchMandates(); setMandates(data); if (data.length > 0) { setSelectedMandateId((prev) => prev || data[0].id); } }; loadMandates(); }, [fetchMandates]); if (error && !selectedMandateId) { return (
⚠️

{t('Fehler')}: {error}

); } return (

{t('Mandanten-Mitglieder')}

{t('Verwalten Sie, welche Benutzer Zugriff')}

{!selectedMandateId ? (

{t('Kein Mandant ausgewählt')}

{t('Wählen Sie einen Mandanten aus, um dessen Mitglieder zu verwalten.')}

) : (
)}
); }; export default AdminUserMandatesPage;