Skip to content

Commit 01c4d9c

Browse files
committed
feat(user-modal): replace DecimalInput with native Input for HWID limit field
1 parent 8a4cbb2 commit 01c4d9c

5 files changed

Lines changed: 18 additions & 15 deletions

File tree

dashboard/public/statics/locales/en.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1624,7 +1624,7 @@
16241624
"custom": "Custom",
16251625
"dataLimit": "Data Limit",
16261626
"hwidLimit": "HWID Limit",
1627-
"hwidLimitPlaceholder": "Fallback, 0 = unlimited",
1627+
"hwidLimitPlaceholder": "Empty field = fallback, 0 = unlimited",
16281628
"days": "Days",
16291629
"editUser": "Modify user",
16301630
"editUserTitle": "Modify user",

dashboard/public/statics/locales/fa.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1471,7 +1471,7 @@
14711471
"userDialog.custom": "انتخابی",
14721472
"userDialog.dataLimit": "حد مصرف داده",
14731473
"userDialog.hwidLimit": "محدودیت شناسه سخت‌افزار",
1474-
"userDialog.hwidLimitPlaceholder": "پیش‌فرض، ۰ = نامحدود",
1474+
"userDialog.hwidLimitPlaceholder": "فیلد خالی = جایگزین، ۰ = نامحدود",
14751475
"userDialog.days": "روزها",
14761476
"userDialog.editUser": "ویرایش کاربر",
14771477
"userDialog.editUserTitle": "ویرایش کاربر",
@@ -2915,7 +2915,7 @@
29152915
"revokeSubscription": "بازنشانی اشتراک",
29162916
"usage": "مصرف",
29172917
"hwidLimit": "محدودیت شناسه سخت‌افزار",
2918-
"hwidLimitPlaceholder": "پیش‌فرض، ۰ = نامحدود",
2918+
"hwidLimitPlaceholder": "فیلد خالی = جایگزین، ۰ = نامحدود",
29192919
"deleteSuccess": "کاربر «{{name}}» با موفقیت حذف شد.",
29202920
"resetUsageSuccess": "مصرف کاربر «{{name}}» بازنشانی شد.",
29212921
"revokeSubSuccess": "اشتراک کاربر «{{name}}» بازنشانی شد.",

dashboard/public/statics/locales/ru.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1252,7 +1252,7 @@
12521252
"userDialog.custom": "Пользовательский",
12531253
"userDialog.dataLimit": "Лимит трафика",
12541254
"userDialog.hwidLimit": "Лимит HWID",
1255-
"userDialog.hwidLimitPlaceholder": "По умолчанию, 0 = без лимита",
1255+
"userDialog.hwidLimitPlaceholder": "Пустое поле = резервное значение, 0 = без лимита",
12561256
"userDialog.days": "Дни",
12571257
"userDialog.editUser": "Редактировать",
12581258
"userDialog.editUserTitle": "Редактировать пользователя",
@@ -2858,7 +2858,7 @@
28582858
"revokeSubscription": "Отозвать подписку",
28592859
"usage": "Использование",
28602860
"hwidLimit": "Лимит HWID",
2861-
"hwidLimitPlaceholder": "По умолчанию, 0 = без лимита",
2861+
"hwidLimitPlaceholder": "Пустое поле = резервное значение, 0 = без лимита",
28622862
"deleteSuccess": "Пользователь «{{name}}» был успешно удалён.",
28632863
"resetUsageSuccess": "Использование пользователя «{{name}}» было сброшено.",
28642864
"revokeSubSuccess": "Подписка пользователя «{{name}}» была отозвана.",

dashboard/public/statics/locales/zh.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1604,7 +1604,7 @@
16041604
"userDialog.custom": "自定义",
16051605
"userDialog.dataLimit": "流量限制",
16061606
"userDialog.hwidLimit": "HWID 限制",
1607-
"userDialog.hwidLimitPlaceholder": "备用,0 = 无限制",
1607+
"userDialog.hwidLimitPlaceholder": "空字段 = 备用,0 = 无限制",
16081608
"userDialog.days": "",
16091609
"userDialog.editUser": "修改",
16101610
"userDialog.editUserTitle": "用户编辑",
@@ -2928,7 +2928,7 @@
29282928
"revokeSubscription": "吊销订阅",
29292929
"usage": "用量",
29302930
"hwidLimit": "HWID 限制",
2931-
"hwidLimitPlaceholder": "备用,0 = 无限制",
2931+
"hwidLimitPlaceholder": "空字段 = 备用,0 = 无限制",
29322932
"deleteSuccess": "用户「{{name}}」已成功删除。",
29332933
"resetUsageSuccess": "用户「{{name}}」的用量已重置。",
29342934
"revokeSubSuccess": "用户「{{name}}」的订阅已撤销。",

dashboard/src/features/users/dialogs/user-modal.tsx

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1656,14 +1656,17 @@ function UserModal({ isDialogOpen, onOpenChange, form, editingUser, editingUserI
16561656
<FormItem className="relative w-full min-w-0">
16571657
<FormLabel>{t('userDialog.hwidLimit', { defaultValue: 'HWID Limit' })}</FormLabel>
16581658
<FormControl>
1659-
<DecimalInput
1660-
placeholder={t('userDialog.hwidLimitPlaceholder', { defaultValue: 'Empty for default, 0 for unlimited' })}
1661-
value={field.value}
1662-
emptyValue={undefined}
1663-
zeroValue={0}
1664-
keepZeroOnBlur
1665-
normalizeDisplayValueOnBlur={Math.floor}
1666-
onValueChange={value => {
1659+
<Input
1660+
placeholder={t('userDialog.hwidLimitPlaceholder', { defaultValue: 'Empty field = fallback, 0 = unlimited' })}
1661+
value={field.value ?? ''}
1662+
inputMode="numeric"
1663+
pattern="[0-9]*"
1664+
onBlur={field.onBlur}
1665+
onChange={event => {
1666+
const nextValue = event.target.value.trim()
1667+
if (!/^\d*$/.test(nextValue)) return
1668+
1669+
const value = nextValue === '' ? undefined : Number(nextValue)
16671670
field.onChange(value)
16681671
handleFieldChange('hwid_limit', value)
16691672
}}

0 commit comments

Comments
 (0)