import React from "react"; import UserTable from "./UserTable"; import AddUserDialog from "./AddUserDialog"; import EditUserDialog from "./EditUserDialog"; import DeleteUserDialog from "./DeleteUserDialog"; import ImpersonationTokenDialog from "./ImpersonationTokenDialog"; import { useUserManagement } from "./hooks"; import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "@/components/ui/accordion"; import { UserCog, Loader2, AlertCircle, Info, Users, ShieldAlert } from "lucide-react"; import { Button } from "@/components/ui/button"; import { Alert, AlertDescription } from "@/components/ui/alert"; import { authService } from "@/services/authService"; import { useLanguage } from "@/contexts/LanguageContext.tsx"; const UserManagement = () => { const { t } = useLanguage(); const { users, loading, error, newUserForm, isAddUserDialogOpen, setIsAddUserDialogOpen, isDialogOpen, setIsDialogOpen, isDeleting, setIsDeleting, isSubmitting, updateError, form, currentUser, userToDelete, handleEditUser, handleDeletePrompt, handleDeleteUser, onSubmit, onImpersonate, onAddUser, fetchUsers, impersonationToken, isImpersonationTokenDialogOpen, setIsImpersonationTokenDialogOpen, } = useUserManagement(); // Get the current logged in user to check their role const loggedInUser = authService.getCurrentUser(); const isSuperAdmin = loggedInUser?.role === "superadmin"; return
{t("userManagement")}

{t("userManagement")}

{isSuperAdmin && }
{!isSuperAdmin && {t("permissionNotice")} As an admin user, you have access to view and modify existing user details. However, only Super Admins have permission to create new user accounts. Contact your Super Admin if you need to add a new user. } {loading ?

Loading users...

: error ?

Failed to load users

{error}

: }
; }; export default UserManagement;