contest update form fix

This commit is contained in:
Виталий Лавшонок
2025-12-09 17:09:11 +03:00
parent 6675bd871e
commit 14d2f5cbf1
3 changed files with 47 additions and 12 deletions

View File

@@ -11,7 +11,10 @@ import {
setGroupsStatus,
} from '../../../../redux/slices/groups';
import ConfirmModal from '../../../../components/modal/ConfirmModal';
import { DropDownList } from '../../../../components/filters/DropDownList';
import {
DropDownList,
DropDownListItem,
} from '../../../../components/filters/DropDownList';
import { ReverseButton } from '../../../../components/button/ReverseButton';
interface ModalUpdateProps {
@@ -79,11 +82,20 @@ const ModalUpdate: FC<ModalUpdateProps> = ({
}
}, [user]);
const roles = [
'Member',
'Administrator',
...(adminUser?.role.includes('Creator') ? ['Creator'] : []),
const roles: DropDownListItem[] = [
{ value: 'Member', text: 'Участник' },
{ value: 'Administrator', text: 'Администратор' },
];
if (adminUser?.role.includes('Creator')) {
roles.push({ value: 'Creator', text: 'Владелец' });
}
const casrtRoleMap: Record<'Member' | 'Administrator' | 'Creator', string> =
{
Member: 'Участник',
Administrator: 'Администратор',
Creator: 'Владелец',
};
return (
<Modal
@@ -100,15 +112,21 @@ const ModalUpdate: FC<ModalUpdateProps> = ({
"{groupName}" #{groupId}
</div>
<div className="my-[5px]">Пользователь: {user?.username}</div>
<div>Текущая роль: {user?.role}</div>
<div>
Текущая роль:{' '}
{casrtRoleMap[user?.role as keyof typeof casrtRoleMap]}
</div>
<div className="flex flex-row w-full items-center justify-between mt-[20px] gap-[20px]">
<div>
<DropDownList
defaultState={{ value: userRole, text: userRole }}
defaultState={{
value: userRole,
text: casrtRoleMap[
userRole as keyof typeof casrtRoleMap
],
}}
weight="w-[230px]"
items={roles.map((v) => {
return { text: v, value: v };
})}
items={roles}
onChange={(v) => {
setUserRole(v);
}}