Updates #2145. Squashed commit of the following: commit 0c15347f4573252849817f27f290c0d45381454c Merge: 98bd3b89ebade2b6Author: Ainar Garipov <A.Garipov@AdGuard.COM> Date: Wed Jul 14 20:44:58 2021 +0300 Merge branch 'master' into 2145-optimistic-cache commit 98bd3b895e0d881d5234f674b54f9fa7847dc8f0 Author: Ildar Kamalov <ik@adguard.com> Date: Wed Jul 14 13:12:56 2021 +0300 client: handle optimistic cache commit 0b469b72ffd43d736dbf139e7d47b23b9fa877c5 Author: Eugene Burkov <e.burkov@adguard.com> Date: Thu Jul 1 19:01:01 2021 +0300 openapi: fix log of changes commit f1594e7f7567e0278b08025a8e4da901ef330602 Merge: a034eb98e113b276Author: Eugene Burkov <e.burkov@adguard.com> Date: Thu Jul 1 18:53:01 2021 +0300 Merge branch 'master' into 2145-optimistic-cache commit a034eb98bafdca90befad7dfb6a9b0e4c939c879 Author: Eugene Burkov <e.burkov@adguard.com> Date: Tue Jun 29 18:45:28 2021 +0300 dnsforward: fix tests commit c72227f83c849714721c3512beeb9d1b800a7225 Author: Eugene Burkov <e.burkov@adguard.com> Date: Tue Jun 29 18:33:12 2021 +0300 openapi: imp docs commit 35fe0d2a8c98d007b8ac48653c18d10d52e72dce Author: Eugene Burkov <e.burkov@adguard.com> Date: Mon Jun 28 14:19:46 2021 +0300 dnsforward: add optimistic cache
44 lines
1.5 KiB
JavaScript
44 lines
1.5 KiB
JavaScript
import React from 'react';
|
|
import { useTranslation } from 'react-i18next';
|
|
import { shallowEqual, useDispatch, useSelector } from 'react-redux';
|
|
import Card from '../../../ui/Card';
|
|
import Form from './Form';
|
|
import { setDnsConfig } from '../../../../actions/dnsConfig';
|
|
import { replaceEmptyStringsWithZeroes, replaceZeroWithEmptyString } from '../../../../helpers/helpers';
|
|
|
|
const CacheConfig = () => {
|
|
const { t } = useTranslation();
|
|
const dispatch = useDispatch();
|
|
const {
|
|
cache_size, cache_ttl_max, cache_ttl_min, cache_optimistic,
|
|
} = useSelector((state) => state.dnsConfig, shallowEqual);
|
|
|
|
const handleFormSubmit = (values) => {
|
|
const completedFields = replaceEmptyStringsWithZeroes(values);
|
|
dispatch(setDnsConfig(completedFields));
|
|
};
|
|
|
|
return (
|
|
<Card
|
|
title={t('dns_cache_config')}
|
|
subtitle={t('dns_cache_config_desc')}
|
|
bodyType="card-body box-body--settings"
|
|
id="dns-config"
|
|
>
|
|
<div className="form">
|
|
<Form
|
|
initialValues={{
|
|
cache_size: replaceZeroWithEmptyString(cache_size),
|
|
cache_ttl_max: replaceZeroWithEmptyString(cache_ttl_max),
|
|
cache_ttl_min: replaceZeroWithEmptyString(cache_ttl_min),
|
|
cache_optimistic,
|
|
}}
|
|
onSubmit={handleFormSubmit}
|
|
/>
|
|
</div>
|
|
</Card>
|
|
);
|
|
};
|
|
|
|
export default CacheConfig;
|