mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-09-12 22:26:12 -05:00
Fix and improve custom team member role form controls
This commit is contained in:
@@ -123,7 +123,7 @@ function MemberActions() {
|
||||
userId: member.id,
|
||||
role: member.customRole ? CUSTOM_ROLE_VALUE : (member.role ?? null),
|
||||
customRole: member.customRole ?? null,
|
||||
roleType: member.roleType ?? null,
|
||||
roleType: member.roleType ?? "PLAYER",
|
||||
isManager: Boolean(member.isManager),
|
||||
})),
|
||||
}}
|
||||
|
||||
@@ -4,6 +4,7 @@ import {
|
||||
fieldset,
|
||||
idConstant,
|
||||
image,
|
||||
select,
|
||||
selectOptional,
|
||||
stringConstant,
|
||||
textAreaOptional,
|
||||
@@ -90,7 +91,7 @@ export const updateRosterSchema = z
|
||||
label: "labels.teamMemberCustomRole",
|
||||
maxLength: CUSTOM_ROLE_MAX_LENGTH,
|
||||
}),
|
||||
roleType: selectOptional({
|
||||
roleType: select({
|
||||
label: "labels.teamMemberRoleType",
|
||||
items: [
|
||||
{ value: "PLAYER", label: "options.teamMemberRoleType.PLAYER" },
|
||||
@@ -113,21 +114,5 @@ export const updateRosterSchema = z
|
||||
message: "forms:errors.customRoleRequired",
|
||||
});
|
||||
}
|
||||
|
||||
if (isCustom && !member.roleType) {
|
||||
ctx.addIssue({
|
||||
code: z.ZodIssueCode.custom,
|
||||
path: ["members", index, "roleType"],
|
||||
message: "forms:errors.customRoleTypeRequired",
|
||||
});
|
||||
}
|
||||
|
||||
if (!isCustom && member.customRole) {
|
||||
ctx.addIssue({
|
||||
code: z.ZodIssueCode.custom,
|
||||
path: ["members", index, "customRole"],
|
||||
message: "forms:errors.customRoleOnlyWhenCustom",
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -65,8 +65,6 @@
|
||||
"errors.duplicateOrgName": "",
|
||||
"errors.noOnlySpecialCharacters": "",
|
||||
"errors.customRoleRequired": "",
|
||||
"errors.customRoleTypeRequired": "",
|
||||
"errors.customRoleOnlyWhenCustom": "",
|
||||
"labels.weaponPool": "Våbenpulje",
|
||||
"placeholders.weaponPoolFull": "",
|
||||
"labels.voiceChat": "",
|
||||
|
||||
@@ -65,8 +65,6 @@
|
||||
"errors.duplicateOrgName": "",
|
||||
"errors.noOnlySpecialCharacters": "",
|
||||
"errors.customRoleRequired": "",
|
||||
"errors.customRoleTypeRequired": "",
|
||||
"errors.customRoleOnlyWhenCustom": "",
|
||||
"labels.weaponPool": "Waffenpool",
|
||||
"placeholders.weaponPoolFull": "",
|
||||
"labels.voiceChat": "",
|
||||
|
||||
@@ -65,8 +65,6 @@
|
||||
"errors.duplicateOrgName": "There is already an organization with this name",
|
||||
"errors.noOnlySpecialCharacters": "Name can't be only special characters",
|
||||
"errors.customRoleRequired": "Enter a name for the custom role",
|
||||
"errors.customRoleTypeRequired": "Select a role type for the custom role",
|
||||
"errors.customRoleOnlyWhenCustom": "Custom role is only allowed when the role is set to Custom",
|
||||
"labels.weaponPool": "Weapon pool",
|
||||
"placeholders.weaponPoolFull": "Pool full - remove a weapon to add more",
|
||||
"labels.voiceChat": "Can voice chat",
|
||||
|
||||
@@ -65,8 +65,6 @@
|
||||
"errors.duplicateOrgName": "",
|
||||
"errors.noOnlySpecialCharacters": "El nombre no puede ser solo caracteres especiales",
|
||||
"errors.customRoleRequired": "",
|
||||
"errors.customRoleTypeRequired": "",
|
||||
"errors.customRoleOnlyWhenCustom": "",
|
||||
"labels.weaponPool": "Selección de armas",
|
||||
"placeholders.weaponPoolFull": "Selección llena - elimina un arma para añadir más",
|
||||
"labels.voiceChat": "Puede usar chat de voz",
|
||||
|
||||
@@ -65,8 +65,6 @@
|
||||
"errors.duplicateOrgName": "",
|
||||
"errors.noOnlySpecialCharacters": "",
|
||||
"errors.customRoleRequired": "",
|
||||
"errors.customRoleTypeRequired": "",
|
||||
"errors.customRoleOnlyWhenCustom": "",
|
||||
"labels.weaponPool": "Grupo de armas",
|
||||
"placeholders.weaponPoolFull": "",
|
||||
"labels.voiceChat": "",
|
||||
|
||||
@@ -65,8 +65,6 @@
|
||||
"errors.duplicateOrgName": "",
|
||||
"errors.noOnlySpecialCharacters": "",
|
||||
"errors.customRoleRequired": "",
|
||||
"errors.customRoleTypeRequired": "",
|
||||
"errors.customRoleOnlyWhenCustom": "",
|
||||
"labels.weaponPool": "Armes jouées",
|
||||
"placeholders.weaponPoolFull": "",
|
||||
"labels.voiceChat": "",
|
||||
|
||||
@@ -65,8 +65,6 @@
|
||||
"errors.duplicateOrgName": "",
|
||||
"errors.noOnlySpecialCharacters": "",
|
||||
"errors.customRoleRequired": "",
|
||||
"errors.customRoleTypeRequired": "",
|
||||
"errors.customRoleOnlyWhenCustom": "",
|
||||
"labels.weaponPool": "Armes jouées",
|
||||
"placeholders.weaponPoolFull": "",
|
||||
"labels.voiceChat": "",
|
||||
|
||||
@@ -65,8 +65,6 @@
|
||||
"errors.duplicateOrgName": "",
|
||||
"errors.noOnlySpecialCharacters": "",
|
||||
"errors.customRoleRequired": "",
|
||||
"errors.customRoleTypeRequired": "",
|
||||
"errors.customRoleOnlyWhenCustom": "",
|
||||
"labels.weaponPool": "מאגר נשקים",
|
||||
"placeholders.weaponPoolFull": "",
|
||||
"labels.voiceChat": "",
|
||||
|
||||
@@ -65,8 +65,6 @@
|
||||
"errors.duplicateOrgName": "",
|
||||
"errors.noOnlySpecialCharacters": "",
|
||||
"errors.customRoleRequired": "",
|
||||
"errors.customRoleTypeRequired": "",
|
||||
"errors.customRoleOnlyWhenCustom": "",
|
||||
"labels.weaponPool": "Pool armi",
|
||||
"placeholders.weaponPoolFull": "",
|
||||
"labels.voiceChat": "",
|
||||
|
||||
@@ -65,8 +65,6 @@
|
||||
"errors.duplicateOrgName": "",
|
||||
"errors.noOnlySpecialCharacters": "",
|
||||
"errors.customRoleRequired": "",
|
||||
"errors.customRoleTypeRequired": "",
|
||||
"errors.customRoleOnlyWhenCustom": "",
|
||||
"labels.weaponPool": "使用ブキ",
|
||||
"placeholders.weaponPoolFull": "",
|
||||
"labels.voiceChat": "",
|
||||
|
||||
@@ -65,8 +65,6 @@
|
||||
"errors.duplicateOrgName": "",
|
||||
"errors.noOnlySpecialCharacters": "",
|
||||
"errors.customRoleRequired": "",
|
||||
"errors.customRoleTypeRequired": "",
|
||||
"errors.customRoleOnlyWhenCustom": "",
|
||||
"labels.weaponPool": "",
|
||||
"placeholders.weaponPoolFull": "",
|
||||
"labels.voiceChat": "",
|
||||
|
||||
@@ -65,8 +65,6 @@
|
||||
"errors.duplicateOrgName": "",
|
||||
"errors.noOnlySpecialCharacters": "",
|
||||
"errors.customRoleRequired": "",
|
||||
"errors.customRoleTypeRequired": "",
|
||||
"errors.customRoleOnlyWhenCustom": "",
|
||||
"labels.weaponPool": "",
|
||||
"placeholders.weaponPoolFull": "",
|
||||
"labels.voiceChat": "",
|
||||
|
||||
@@ -65,8 +65,6 @@
|
||||
"errors.duplicateOrgName": "",
|
||||
"errors.noOnlySpecialCharacters": "",
|
||||
"errors.customRoleRequired": "",
|
||||
"errors.customRoleTypeRequired": "",
|
||||
"errors.customRoleOnlyWhenCustom": "",
|
||||
"labels.weaponPool": "Pula broni",
|
||||
"placeholders.weaponPoolFull": "",
|
||||
"labels.voiceChat": "",
|
||||
|
||||
@@ -65,8 +65,6 @@
|
||||
"errors.duplicateOrgName": "",
|
||||
"errors.noOnlySpecialCharacters": "",
|
||||
"errors.customRoleRequired": "",
|
||||
"errors.customRoleTypeRequired": "",
|
||||
"errors.customRoleOnlyWhenCustom": "",
|
||||
"labels.weaponPool": "Seleção de armas",
|
||||
"placeholders.weaponPoolFull": "",
|
||||
"labels.voiceChat": "",
|
||||
|
||||
@@ -65,8 +65,6 @@
|
||||
"errors.duplicateOrgName": "",
|
||||
"errors.noOnlySpecialCharacters": "",
|
||||
"errors.customRoleRequired": "",
|
||||
"errors.customRoleTypeRequired": "",
|
||||
"errors.customRoleOnlyWhenCustom": "",
|
||||
"labels.weaponPool": "Используемое оружие",
|
||||
"placeholders.weaponPoolFull": "",
|
||||
"labels.voiceChat": "",
|
||||
|
||||
@@ -65,8 +65,6 @@
|
||||
"errors.duplicateOrgName": "该组织名称已被占用",
|
||||
"errors.noOnlySpecialCharacters": "名称不能仅由特殊字符组成",
|
||||
"errors.customRoleRequired": "请输入自定义职责的名称",
|
||||
"errors.customRoleTypeRequired": "请选择自定义职责的类型",
|
||||
"errors.customRoleOnlyWhenCustom": "仅当职责设为“自定义”时,才允许配置自定义职责",
|
||||
"labels.weaponPool": "武器池",
|
||||
"placeholders.weaponPoolFull": "武器池已满。请移除一个武器以添加新武器",
|
||||
"labels.voiceChat": "可以进行语音聊天吗?",
|
||||
|
||||
Reference in New Issue
Block a user