#1614 - WiFi Tx Power

This commit is contained in:
proddy
2024-02-11 10:32:33 +01:00
parent 12f0120afd
commit fea63b0d52
15 changed files with 377 additions and 275 deletions

View File

@@ -15,8 +15,8 @@ import {
ListItemSecondaryAction,
ListItemText,
Typography,
InputAdornment,
TextField
TextField,
MenuItem
} from '@mui/material';
// eslint-disable-next-line import/named
import { updateState, useRequest } from 'alova';
@@ -43,7 +43,7 @@ import {
} from 'components';
import { useI18nContext } from 'i18n/i18n-react';
import { numberValue, updateValueDirty, useRest } from 'utils';
import { updateValueDirty, useRest } from 'utils';
import { validate } from 'validators';
import { createNetworkSettingsValidator } from 'validators/network';
@@ -88,7 +88,7 @@ const WiFiSettingsForm: FC = () => {
static_ip_config: false,
enableIPv6: false,
bandwidth20: false,
tx_power: 20,
tx_power: 0,
nosleep: false,
enableMDNS: true,
enableCORS: false,
@@ -196,20 +196,27 @@ const WiFiSettingsForm: FC = () => {
margin="normal"
/>
)}
<ValidatedTextField
fieldErrors={fieldErrors}
<TextField
name="tx_power"
label={LL.TX_POWER()}
InputProps={{
endAdornment: <InputAdornment position="end">dBm</InputAdornment>
}}
fullWidth
variant="outlined"
value={numberValue(data.tx_power)}
value={data.tx_power}
onChange={updateFormValue}
type="number"
margin="normal"
/>
select
>
<MenuItem value={0}>Auto</MenuItem>
<MenuItem value={78}>19.5 dBm</MenuItem>
<MenuItem value={76}>19 dBm</MenuItem>
<MenuItem value={74}>18.5 dBm</MenuItem>
<MenuItem value={68}>17 dBm</MenuItem>
<MenuItem value={60}>15 dBm</MenuItem>
<MenuItem value={52}>13 dBm</MenuItem>
<MenuItem value={44}>11 dBm</MenuItem>
<MenuItem value={34}>8.5 dBm</MenuItem>
<MenuItem value={28}>7 dBm</MenuItem>
</TextField>
<BlockFormControlLabel
control={<Checkbox name="nosleep" checked={data.nosleep} onChange={updateFormValue} />}
label={LL.NETWORK_DISABLE_SLEEP()}

View File

@@ -14,9 +14,5 @@ export const createNetworkSettingsValidator = (networkSettings: NetworkSettings)
subnet_mask: [{ required: true, message: 'Subnet mask is required' }, IP_ADDRESS_VALIDATOR],
dns_ip_1: IP_ADDRESS_VALIDATOR,
dns_ip_2: IP_ADDRESS_VALIDATOR
}),
tx_power: [
{ required: true, message: 'Tx Power is required' },
{ type: 'number', min: 0, max: 20, message: 'Tx Power must be between 0 and 20dBm' }
]
})
});