|
|
@@ -17,6 +17,7 @@ import {
|
|
|
} from '@ant-design/icons';
|
|
|
import type { AllSetting } from '@/models/setting';
|
|
|
import { HttpUtil, LanguageManager } from '@/utils';
|
|
|
+import { onNumber } from '@/utils/onNumber';
|
|
|
import { SettingListItem } from '@/components/ui';
|
|
|
import { useMediaQuery } from '@/hooks/useMediaQuery';
|
|
|
import { catTabLabel } from './catTabLabel';
|
|
|
@@ -170,7 +171,7 @@ export default function GeneralTab({ allSetting, updateSetting }: GeneralTabProp
|
|
|
|
|
|
<SettingListItem paddings="small" title={t('pages.settings.panelPort')} description={t('pages.settings.panelPortDesc')}>
|
|
|
<InputNumber value={allSetting.webPort} min={1} max={65535} style={{ width: '100%' }}
|
|
|
- onChange={(v) => { if (v != null) updateSetting({ webPort: v }); }} />
|
|
|
+ onChange={onNumber((v) => updateSetting({ webPort: v }))} />
|
|
|
</SettingListItem>
|
|
|
|
|
|
<SettingListItem paddings="small" title={t('pages.settings.panelUrlPath')} description={t('pages.settings.panelUrlPathDesc')}>
|
|
|
@@ -179,7 +180,7 @@ export default function GeneralTab({ allSetting, updateSetting }: GeneralTabProp
|
|
|
|
|
|
<SettingListItem paddings="small" title={t('pages.settings.sessionMaxAge')} description={t('pages.settings.sessionMaxAgeDesc')}>
|
|
|
<InputNumber value={allSetting.sessionMaxAge} min={60} max={525600} style={{ width: '100%' }}
|
|
|
- onChange={(v) => updateSetting({ sessionMaxAge: Number(v) || 0 })} />
|
|
|
+ onChange={onNumber((v) => updateSetting({ sessionMaxAge: v }))} />
|
|
|
</SettingListItem>
|
|
|
|
|
|
<SettingListItem
|
|
|
@@ -208,7 +209,7 @@ export default function GeneralTab({ allSetting, updateSetting }: GeneralTabProp
|
|
|
|
|
|
<SettingListItem paddings="small" title={t('pages.settings.pageSize')} description={t('pages.settings.pageSizeDesc')}>
|
|
|
<InputNumber value={allSetting.pageSize} min={0} max={1000} step={5} style={{ width: '100%' }}
|
|
|
- onChange={(v) => updateSetting({ pageSize: Number(v) || 0 })} />
|
|
|
+ onChange={onNumber((v) => updateSetting({ pageSize: v }))} />
|
|
|
</SettingListItem>
|
|
|
|
|
|
<SettingListItem paddings="small" title={t('pages.settings.restartXrayOnClientDisable')} description={t('pages.settings.restartXrayOnClientDisableDesc')}>
|
|
|
@@ -234,11 +235,11 @@ export default function GeneralTab({ allSetting, updateSetting }: GeneralTabProp
|
|
|
<>
|
|
|
<SettingListItem paddings="small" title={t('pages.settings.expireTimeDiff')} description={t('pages.settings.expireTimeDiffDesc')}>
|
|
|
<InputNumber value={allSetting.expireDiff} min={0} style={{ width: '100%' }}
|
|
|
- onChange={(v) => updateSetting({ expireDiff: Number(v) || 0 })} />
|
|
|
+ onChange={onNumber((v) => updateSetting({ expireDiff: v }))} />
|
|
|
</SettingListItem>
|
|
|
<SettingListItem paddings="small" title={t('pages.settings.trafficDiff')} description={t('pages.settings.trafficDiffDesc')}>
|
|
|
<InputNumber value={allSetting.trafficDiff} min={0} max={100} style={{ width: '100%' }}
|
|
|
- onChange={(v) => updateSetting({ trafficDiff: Number(v) || 0 })} />
|
|
|
+ onChange={onNumber((v) => updateSetting({ trafficDiff: v }))} />
|
|
|
</SettingListItem>
|
|
|
</>
|
|
|
),
|
|
|
@@ -308,7 +309,7 @@ export default function GeneralTab({ allSetting, updateSetting }: GeneralTabProp
|
|
|
</SettingListItem>
|
|
|
<SettingListItem paddings="small" title={t('pages.settings.ldap.port')}>
|
|
|
<InputNumber value={allSetting.ldapPort} min={1} max={65535} style={{ width: '100%' }}
|
|
|
- onChange={(v) => { if (v != null) updateSetting({ ldapPort: v }); }} />
|
|
|
+ onChange={onNumber((v) => updateSetting({ ldapPort: v }))} />
|
|
|
</SettingListItem>
|
|
|
<SettingListItem paddings="small" title={t('pages.settings.ldap.useTls')}>
|
|
|
<Switch checked={allSetting.ldapUseTLS} onChange={(v) => updateSetting({ ldapUseTLS: v })} />
|
|
|
@@ -387,15 +388,15 @@ export default function GeneralTab({ allSetting, updateSetting }: GeneralTabProp
|
|
|
</SettingListItem>
|
|
|
<SettingListItem paddings="small" title={t('pages.settings.ldap.defaultTotalGb')}>
|
|
|
<InputNumber value={allSetting.ldapDefaultTotalGB} min={0} style={{ width: '100%' }}
|
|
|
- onChange={(v) => updateSetting({ ldapDefaultTotalGB: Number(v) || 0 })} />
|
|
|
+ onChange={onNumber((v) => updateSetting({ ldapDefaultTotalGB: v }))} />
|
|
|
</SettingListItem>
|
|
|
<SettingListItem paddings="small" title={t('pages.settings.ldap.defaultExpiryDays')}>
|
|
|
<InputNumber value={allSetting.ldapDefaultExpiryDays} min={0} style={{ width: '100%' }}
|
|
|
- onChange={(v) => updateSetting({ ldapDefaultExpiryDays: Number(v) || 0 })} />
|
|
|
+ onChange={onNumber((v) => updateSetting({ ldapDefaultExpiryDays: v }))} />
|
|
|
</SettingListItem>
|
|
|
<SettingListItem paddings="small" title={t('pages.settings.ldap.defaultIpLimit')}>
|
|
|
<InputNumber value={allSetting.ldapDefaultLimitIP} min={0} style={{ width: '100%' }}
|
|
|
- onChange={(v) => updateSetting({ ldapDefaultLimitIP: Number(v) || 0 })} />
|
|
|
+ onChange={onNumber((v) => updateSetting({ ldapDefaultLimitIP: v }))} />
|
|
|
</SettingListItem>
|
|
|
</>
|
|
|
),
|