Close #1820 Squashed commit of the following: commit 5aadec2e6e126588313ff006d6f95223ba19a526 Merge: a4db6b4295f41285Author: ArtemBaskal <a.baskal@adguard.com> Date: Wed Jul 15 11:15:31 2020 +0300 Merge branch 'master' into fix/1820 commit a4db6b42ab9cbf43d96c783a72a99e0a2c594108 Author: ArtemBaskal <a.baskal@adguard.com> Date: Tue Jul 14 19:08:09 2020 +0300 Remove textarea comma splitting commit bb34797aac6602b405941dbd90fe6a81b663bb92 Author: ArtemBaskal <a.baskal@adguard.com> Date: Tue Jul 14 18:21:18 2020 +0300 Fix client Access settings normalization commit ac4fb536514f54c5722077d78dbbd981c4e906a8 Merge: 0c758ddcb9fca8d0Author: ArtemBaskal <a.baskal@adguard.com> Date: Tue Jul 14 18:14:38 2020 +0300 Merge branch 'master' into fix/1820 commit 0c758ddcd738136b92e6f947a8068ecc59f7ec25 Merge: 15650db3f5a1f311Author: ArtemBaskal <a.baskal@adguard.com> Date: Fri Jul 3 11:22:00 2020 +0300 Merge branch 'master' into fix/1820 commit 15650db35323009001fd427a74a312705b54ac86 Author: ArtemBaskal <a.baskal@adguard.com> Date: Mon Jun 29 12:01:51 2020 +0300 '- client: Don't normalise disallowed domains'
68 lines
1.8 KiB
JavaScript
68 lines
1.8 KiB
JavaScript
import React, { useEffect } from 'react';
|
|
import PropTypes from 'prop-types';
|
|
import { useTranslation } from 'react-i18next';
|
|
|
|
import Upstream from './Upstream';
|
|
import Access from './Access';
|
|
import Config from './Config';
|
|
import PageTitle from '../../ui/PageTitle';
|
|
import Loading from '../../ui/Loading';
|
|
import CacheConfig from './Cache';
|
|
|
|
const Dns = (props) => {
|
|
const { t } = useTranslation();
|
|
|
|
useEffect(() => {
|
|
props.getAccessList();
|
|
props.getDnsConfig();
|
|
}, []);
|
|
|
|
const {
|
|
settings,
|
|
access,
|
|
setAccessList,
|
|
dnsConfig,
|
|
setDnsConfig,
|
|
} = props;
|
|
|
|
const isDataLoading = access.processing || dnsConfig.processingGetConfig;
|
|
|
|
return (
|
|
<>
|
|
<PageTitle title={t('dns_settings')} />
|
|
{isDataLoading
|
|
? <Loading />
|
|
: <>
|
|
<Upstream
|
|
processingTestUpstream={settings.processingTestUpstream}
|
|
dnsConfig={dnsConfig}
|
|
/>
|
|
<Config
|
|
dnsConfig={dnsConfig}
|
|
setDnsConfig={setDnsConfig}
|
|
/>
|
|
<CacheConfig
|
|
dnsConfig={dnsConfig}
|
|
setDnsConfig={setDnsConfig}
|
|
/>
|
|
<Access
|
|
access={access}
|
|
setAccessList={setAccessList}
|
|
/>
|
|
</>}
|
|
</>
|
|
);
|
|
};
|
|
|
|
Dns.propTypes = {
|
|
settings: PropTypes.object.isRequired,
|
|
getAccessList: PropTypes.func.isRequired,
|
|
setAccessList: PropTypes.func.isRequired,
|
|
access: PropTypes.object.isRequired,
|
|
dnsConfig: PropTypes.object.isRequired,
|
|
setDnsConfig: PropTypes.func.isRequired,
|
|
getDnsConfig: PropTypes.func.isRequired,
|
|
};
|
|
|
|
export default Dns;
|