Squashed commit of the following:
commit 0f96137c629d7df99d40e479f66dd78248185ca3
Merge: 0d640fe37 aac36a2d2
Author: Stanislav Chzhen <s.chzhen@adguard.com>
Date: Wed Aug 30 12:53:03 2023 +0300
Merge branch 'master' into 3701-fallback-dns-api
commit 0d640fe37a563d9fcea1ff4b6c86f37629af0ebd
Author: Stanislav Chzhen <s.chzhen@adguard.com>
Date: Wed Aug 30 12:49:05 2023 +0300
dnsforward: imp tests
commit 6b7f7aad76566b70852146bc6629ae7fb71eec09
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date: Fri Aug 25 18:51:34 2023 +0300
client: add fallback dns field
commit c2ac7e3656431f7d44645786296e58ac7d012fed
Author: Stanislav Chzhen <s.chzhen@adguard.com>
Date: Thu Aug 24 13:22:07 2023 +0300
all: add fallback dns api
73 lines
2.1 KiB
JavaScript
73 lines
2.1 KiB
JavaScript
import React from 'react';
|
|
import { useTranslation } from 'react-i18next';
|
|
import { shallowEqual, useDispatch, useSelector } from 'react-redux';
|
|
import Form from './Form';
|
|
import Card from '../../../ui/Card';
|
|
import { setDnsConfig } from '../../../../actions/dnsConfig';
|
|
|
|
const Upstream = () => {
|
|
const { t } = useTranslation();
|
|
const dispatch = useDispatch();
|
|
const {
|
|
upstream_dns,
|
|
fallback_dns,
|
|
bootstrap_dns,
|
|
upstream_mode,
|
|
resolve_clients,
|
|
local_ptr_upstreams,
|
|
use_private_ptr_resolvers,
|
|
} = useSelector((state) => state.dnsConfig, shallowEqual);
|
|
|
|
const upstream_dns_file = useSelector((state) => state.dnsConfig.upstream_dns_file);
|
|
|
|
const handleSubmit = (values) => {
|
|
const {
|
|
fallback_dns,
|
|
bootstrap_dns,
|
|
upstream_dns,
|
|
upstream_mode,
|
|
resolve_clients,
|
|
local_ptr_upstreams,
|
|
use_private_ptr_resolvers,
|
|
} = values;
|
|
|
|
const dnsConfig = {
|
|
fallback_dns,
|
|
bootstrap_dns,
|
|
upstream_mode,
|
|
resolve_clients,
|
|
local_ptr_upstreams,
|
|
use_private_ptr_resolvers,
|
|
...(upstream_dns_file ? null : { upstream_dns }),
|
|
};
|
|
|
|
dispatch(setDnsConfig(dnsConfig));
|
|
};
|
|
|
|
const upstreamDns = upstream_dns_file ? t('upstream_dns_configured_in_file', { path: upstream_dns_file }) : upstream_dns;
|
|
|
|
return <Card
|
|
title={t('upstream_dns')}
|
|
bodyType="card-body box-body--settings"
|
|
>
|
|
<div className="row">
|
|
<div className="col">
|
|
<Form
|
|
initialValues={{
|
|
upstream_dns: upstreamDns,
|
|
fallback_dns,
|
|
bootstrap_dns,
|
|
upstream_mode,
|
|
resolve_clients,
|
|
local_ptr_upstreams,
|
|
use_private_ptr_resolvers,
|
|
}}
|
|
onSubmit={handleSubmit}
|
|
/>
|
|
</div>
|
|
</div>
|
|
</Card>;
|
|
};
|
|
|
|
export default Upstream;
|