From f488d91a1c082b03790221b7e398586899bff481 Mon Sep 17 00:00:00 2001 From: Ildar Kamalov Date: Fri, 29 Aug 2025 16:25:53 +0300 Subject: [PATCH] review fix --- client_v2/src/__locales/en.json | 2 ++ .../src/components/DnsSettings/Access/Form.tsx | 10 ++-------- .../src/components/DnsSettings/Cache/Form.tsx | 9 ++++----- .../DnsSettings/ServerConfig/blocks/Form/Form.tsx | 13 ++----------- .../DnsSettings/Upstream/blocks/Form/Form.tsx | 14 ++++---------- client_v2/src/lib/theme/Form.module.pcss | 6 ++++++ 6 files changed, 20 insertions(+), 34 deletions(-) diff --git a/client_v2/src/__locales/en.json b/client_v2/src/__locales/en.json index bfb11f8a..3593525d 100644 --- a/client_v2/src/__locales/en.json +++ b/client_v2/src/__locales/en.json @@ -876,6 +876,8 @@ "cache_config_optimistic": "Optimistic caching", "cache_config_optimistic_desc": "AdGuard Home will respond from the cache even if the entries have expired and will try to update them", "cache_config_clear": "Clear cache", + "cache_config_size_validation": "The cache size must be greater than zero when enabled", + "cache_config_ttl_validation": "Minimum cache TTL override must be less than or equal to the maximum", "cache_enabled": "Enable cache", "cache_enabled_desc": "Store DNS responses locally", "cache_confirm_clear_title": "Clear DNS cache", diff --git a/client_v2/src/components/DnsSettings/Access/Form.tsx b/client_v2/src/components/DnsSettings/Access/Form.tsx index 3ae91345..5369a725 100644 --- a/client_v2/src/components/DnsSettings/Access/Form.tsx +++ b/client_v2/src/components/DnsSettings/Access/Form.tsx @@ -73,7 +73,7 @@ export const Form = ({ initialValues, onSubmit, processingSet }: FormProps) => { control, handleSubmit, watch, - formState: { isSubmitting, isDirty }, + formState: { isSubmitting }, } = useForm({ mode: 'onBlur', defaultValues: { @@ -83,8 +83,6 @@ export const Form = ({ initialValues, onSubmit, processingSet }: FormProps) => { }, }); - const allowedClients = watch('allowed_clients'); - const renderField = ({ id, title, @@ -96,8 +94,6 @@ export const Form = ({ initialValues, onSubmit, processingSet }: FormProps) => { faq: ReactNode; normalizeOnBlur: (value: string) => string; }) => { - const disabled = allowedClients && id === 'disallowed_clients'; - return (
{ label={ <> {title} - {disabled && <> ({intl.getMessage('disabled')})} } - disabled={disabled || processingSet} onBlur={(e) => { field.onChange(normalizeOnBlur(e.target.value)); }} @@ -137,7 +131,7 @@ export const Form = ({ initialValues, onSubmit, processingSet }: FormProps) => { id="access_save" variant="primary" size="small" - disabled={isSubmitting || !isDirty || processingSet} + disabled={isSubmitting || processingSet} className={theme.form.button}> {intl.getMessage('save')} diff --git a/client_v2/src/components/DnsSettings/Cache/Form.tsx b/client_v2/src/components/DnsSettings/Cache/Form.tsx index af65a5cb..38207591 100644 --- a/client_v2/src/components/DnsSettings/Cache/Form.tsx +++ b/client_v2/src/components/DnsSettings/Cache/Form.tsx @@ -104,7 +104,6 @@ export const Form = ({ initialValues, onSubmit }: CacheFormProps) => { onChange={field.onChange} onBlur={field.onBlur} data-testid="dns_cache_enabled" - disabled={processingSetConfig} verticalAlign="start">
{intl.getMessage('cache_enabled')}
@@ -132,7 +131,6 @@ export const Form = ({ initialValues, onSubmit }: CacheFormProps) => { } placeholder={placeholder} - disabled={processingSetConfig} min={0} max={UINT32_RANGE.MAX} onChange={(e) => { @@ -145,12 +143,14 @@ export const Form = ({ initialValues, onSubmit }: CacheFormProps) => { /> {name === CACHE_CONFIG_FIELDS.cache_size && cacheSizeZeroWhenEnabled && ( - {intl.getMessage('cache_size_validation')} +
{intl.getMessage('cache_config_size_validation')}
)}
))} - {minExceedsMax &&
{intl.getMessage('ttl_cache_validation')}
} + {minExceedsMax && ( +
{intl.getMessage('cache_config_ttl_validation')}
+ )}
{ onChange={field.onChange} onBlur={field.onBlur} data-testid="dns_cache_optimistic" - disabled={processingSetConfig} verticalAlign="start">
{intl.getMessage('cache_config_optimistic')}
diff --git a/client_v2/src/components/DnsSettings/ServerConfig/blocks/Form/Form.tsx b/client_v2/src/components/DnsSettings/ServerConfig/blocks/Form/Form.tsx index fc75ec0d..d4d9d7a9 100644 --- a/client_v2/src/components/DnsSettings/ServerConfig/blocks/Form/Form.tsx +++ b/client_v2/src/components/DnsSettings/ServerConfig/blocks/Form/Form.tsx @@ -150,7 +150,6 @@ export const Form = ({ processing, initialValues, onSubmit }: Props) => { errorMessage={fieldState.error?.message} min={UINT32_RANGE.MIN} max={UINT32_RANGE.MAX} - disabled={!!processing} onChange={(e) => { const { value } = e.target; field.onChange(toNumber(value)); @@ -183,7 +182,6 @@ export const Form = ({ processing, initialValues, onSubmit }: Props) => { errorMessage={fieldState.error?.message} min={0} max={32} - disabled={!!processing} onChange={(e) => { const { value } = e.target; field.onChange(toNumber(value)); @@ -216,7 +214,6 @@ export const Form = ({ processing, initialValues, onSubmit }: Props) => { errorMessage={fieldState.error?.message} min={0} max={128} - disabled={!!processing} onChange={(e) => { const { value } = e.target; field.onChange(toNumber(value)); @@ -245,7 +242,6 @@ export const Form = ({ processing, initialValues, onSubmit }: Props) => { } placeholder={intl.getMessage('ip_addresses_placeholder')} errorMessage={fieldState.error?.message} - disabled={!!processing} size="medium" /> )} @@ -263,7 +259,6 @@ export const Form = ({ processing, initialValues, onSubmit }: Props) => { onChange={field.onChange} onBlur={field.onBlur} data-testid="dns_config_edns_cs_enabled" - disabled={!!processing} verticalAlign="start">
{intl.getMessage('server_config_edns_enable')}
@@ -286,7 +281,7 @@ export const Form = ({ processing, initialValues, onSubmit }: Props) => { onChange={field.onChange} onBlur={field.onBlur} data-testid="dns_config_edns_use_custom_ip" - disabled={processing || !edns_cs_enabled} + disabled={!edns_cs_enabled} verticalAlign="start">
@@ -318,7 +313,7 @@ export const Form = ({ processing, initialValues, onSubmit }: Props) => { data-testid="dns_config_edns_cs_custom_ip" placeholder={intl.getMessage('enter_ip_address_placeholder')} errorMessage={fieldState.error?.message} - disabled={processing || !edns_cs_enabled} + disabled={!edns_cs_enabled} /> )} /> @@ -338,7 +333,6 @@ export const Form = ({ processing, initialValues, onSubmit }: Props) => { onChange={field.onChange} onBlur={field.onBlur} id={`dns_config_${name}`} - disabled={!!processing} verticalAlign="start">
{placeholder}
@@ -371,7 +365,6 @@ export const Form = ({ processing, initialValues, onSubmit }: Props) => { handleChange={field.onChange} name={field.name} options={blockingModeOptions} - disabled={!!processing} /> )} /> @@ -403,7 +396,6 @@ export const Form = ({ processing, initialValues, onSubmit }: Props) => { } placeholder={placeholder} errorMessage={fieldState.error?.message} - disabled={!!processing} /> )} /> @@ -435,7 +427,6 @@ export const Form = ({ processing, initialValues, onSubmit }: Props) => { errorMessage={fieldState.error?.message} min={UINT32_RANGE.MIN} max={UINT32_RANGE.MAX} - disabled={!!processing} onChange={(e) => { const { value } = e.target; field.onChange(toNumber(value)); diff --git a/client_v2/src/components/DnsSettings/Upstream/blocks/Form/Form.tsx b/client_v2/src/components/DnsSettings/Upstream/blocks/Form/Form.tsx index af315f08..78b46dcc 100644 --- a/client_v2/src/components/DnsSettings/Upstream/blocks/Form/Form.tsx +++ b/client_v2/src/components/DnsSettings/Upstream/blocks/Form/Form.tsx @@ -65,7 +65,7 @@ export const Form = ({ initialValues, onSubmit }: FormProps) => { control, handleSubmit, watch, - formState: { isSubmitting, isDirty }, + formState: { isSubmitting }, } = useForm({ mode: 'onBlur', defaultValues: { @@ -97,7 +97,7 @@ export const Form = ({ initialValues, onSubmit }: FormProps) => { }; const isSavingDisabled = () => { - return isSubmitting || !isDirty || processingSetConfig || processingTestUpstream; + return isSubmitting || processingSetConfig || processingTestUpstream; }; const isTestDisabled = () => { @@ -145,7 +145,7 @@ export const Form = ({ initialValues, onSubmit }: FormProps) => { } placeholder={intl.getMessage('upstream_dns_placeholder')} - disabled={!!upstreamDnsFile || processingSetConfig || processingTestUpstream} + disabled={!!upstreamDnsFile || processingTestUpstream} size="medium" /> @@ -162,7 +162,7 @@ export const Form = ({ initialValues, onSubmit }: FormProps) => { {...field} handleChange={field.onChange} options={upstreamModeOptions} - disabled={processingSetConfig || processingTestUpstream} + disabled={processingTestUpstream} verticalAlign="start" textClassName={s.radioText} /> @@ -192,7 +192,6 @@ export const Form = ({ initialValues, onSubmit }: FormProps) => { } placeholder={intl.getMessage('ip_addresses_placeholder')} - disabled={processingSetConfig} size="medium" /> )} @@ -218,7 +217,6 @@ export const Form = ({ initialValues, onSubmit }: FormProps) => { } placeholder={intl.getMessage('ip_addresses_placeholder')} - disabled={processingSetConfig} size="medium" /> )} @@ -262,7 +260,6 @@ export const Form = ({ initialValues, onSubmit }: FormProps) => { } placeholder={intl.getMessage('ip_addresses_placeholder')} - disabled={processingSetConfig} size="medium" /> )} @@ -280,7 +277,6 @@ export const Form = ({ initialValues, onSubmit }: FormProps) => { checked={field.value} onChange={field.onChange} onBlur={field.onBlur} - disabled={processingSetConfig} verticalAlign="start">
@@ -306,7 +302,6 @@ export const Form = ({ initialValues, onSubmit }: FormProps) => { checked={field.value} onChange={field.onChange} onBlur={field.onBlur} - disabled={processingSetConfig} verticalAlign="start">
@@ -337,7 +332,6 @@ export const Form = ({ initialValues, onSubmit }: FormProps) => { } placeholder={intl.getMessage('upstream_timeout_placeholder')} - disabled={processingSetConfig} min={1} max={UINT32_RANGE.MAX} onChange={(e) => { diff --git a/client_v2/src/lib/theme/Form.module.pcss b/client_v2/src/lib/theme/Form.module.pcss index 97c4b668..43b9598b 100644 --- a/client_v2/src/lib/theme/Form.module.pcss +++ b/client_v2/src/lib/theme/Form.module.pcss @@ -38,3 +38,9 @@ .inner { padding-left: 32px; } + +.error { + margin-top: 8px; + font-size: 14px; + color: var(--default-error-icon); +}