diff --git a/client/src/Pages/Account/components/RoleSelectField.tsx b/client/src/Pages/Account/components/RoleSelectField.tsx index 1f117b0e4..a6bfcf15a 100644 --- a/client/src/Pages/Account/components/RoleSelectField.tsx +++ b/client/src/Pages/Account/components/RoleSelectField.tsx @@ -1,35 +1,45 @@ import MenuItem from "@mui/material/MenuItem"; +import FormHelperText from "@mui/material/FormHelperText"; import { useController } from "react-hook-form"; import { useTranslation } from "react-i18next"; import { Select } from "@/Components/inputs"; +import { UserRoles } from "@/Types/User"; import type { UserRole } from "@/Types/User"; export const RoleSelectField = () => { const { t } = useTranslation(); - const { field } = useController<{ role: UserRole[] }, "role">({ name: "role" }); + const { field, fieldState } = useController<{ role: UserRole[] }, "role">({ + name: "role", + }); - const roleOptions: { value: UserRole; label: string }[] = [ - { value: "admin", label: t("common.auth.roles.admin") }, - { value: "user", label: t("common.auth.roles.user") }, - { value: "demo", label: t("common.auth.roles.demo") }, - ]; + const editableRoles = UserRoles.filter((role) => role !== "superadmin"); + const roleOptions: { value: UserRole; label: string }[] = editableRoles.map((role) => ({ + value: role, + label: t(`common.auth.roles.${role}`), + })); return ( - + <> + + {fieldState.error && ( + {fieldState.error.message} + )} + ); };