Close #1523 Squashed commit of the following: commit 9ae9b0e480c2ec6bd835faf4caccacd8c1fdfe9f Author: ArtemBaskal <a.baskal@adguard.com> Date: Fri Jul 3 17:56:34 2020 +0300 Setup babel and apply everywhere nullish coalescing and optional chaining operators commit 0966063842a79078e1d61a54c271e18c9427b2b1 Merge: 42a54f2b21dfb5ff
Author: ArtemBaskal <a.baskal@adguard.com> Date: Fri Jul 3 16:59:34 2020 +0300 Merge branch 'master' into fix/1523 commit 42a54f2ba0d8f5f4e4c04f16abc507b5d9009035 Author: ArtemBaskal <a.baskal@adguard.com> Date: Fri Jul 3 13:30:25 2020 +0300 Center mobile tooltip buttons commit 9cdd501a863b596f1d903f8dd3c449ffbe4c1604 Author: ArtemBaskal <a.baskal@adguard.com> Date: Fri Jul 3 13:21:37 2020 +0300 Add cross icon to clear input on click commit 1308b93c42ffea2ffb7457c34aef96e5cdaccaf2 Merge: 265fec7cda546790
Author: ArtemBaskal <a.baskal@adguard.com> Date: Mon Jun 29 19:42:04 2020 +0300 Merge branch 'master' of ssh://bit.adguard.com:7999/dns/adguard-home commit 265fec7c72656b0c4738623cb470f1c14736230a Author: ArtemBaskal <a.baskal@adguard.com> Date: Mon Jun 29 19:41:37 2020 +0300 - client: Clear input field when switching from logs page
63 lines
2.1 KiB
JavaScript
63 lines
2.1 KiB
JavaScript
import { handleActions } from 'redux-actions';
|
|
|
|
import * as actions from '../actions/access';
|
|
|
|
const access = handleActions(
|
|
{
|
|
[actions.getAccessListRequest]: (state) => ({ ...state, processing: true }),
|
|
[actions.getAccessListFailure]: (state) => ({ ...state, processing: false }),
|
|
[actions.getAccessListSuccess]: (state, { payload }) => {
|
|
const {
|
|
allowed_clients,
|
|
disallowed_clients,
|
|
blocked_hosts,
|
|
} = payload;
|
|
const newState = {
|
|
...state,
|
|
allowed_clients: allowed_clients?.join('\n') || '',
|
|
disallowed_clients: disallowed_clients?.join('\n') || '',
|
|
blocked_hosts: blocked_hosts?.join('\n') || '',
|
|
processing: false,
|
|
};
|
|
return newState;
|
|
},
|
|
|
|
[actions.setAccessListRequest]: (state) => ({ ...state, processingSet: true }),
|
|
[actions.setAccessListFailure]: (state) => ({ ...state, processingSet: false }),
|
|
[actions.setAccessListSuccess]: (state) => {
|
|
const newState = {
|
|
...state,
|
|
processingSet: false,
|
|
};
|
|
return newState;
|
|
},
|
|
|
|
[actions.toggleClientBlockRequest]: (state) => ({ ...state, processingSet: true }),
|
|
[actions.toggleClientBlockFailure]: (state) => ({ ...state, processingSet: false }),
|
|
[actions.toggleClientBlockSuccess]: (state, { payload }) => {
|
|
const {
|
|
allowed_clients,
|
|
disallowed_clients,
|
|
blocked_hosts,
|
|
} = payload;
|
|
const newState = {
|
|
...state,
|
|
allowed_clients: allowed_clients?.join('\n') || '',
|
|
disallowed_clients: disallowed_clients?.join('\n') || '',
|
|
blocked_hosts: blocked_hosts?.join('\n') || '',
|
|
processingSet: false,
|
|
};
|
|
return newState;
|
|
},
|
|
},
|
|
{
|
|
processing: true,
|
|
processingSet: false,
|
|
allowed_clients: '',
|
|
disallowed_clients: '',
|
|
blocked_hosts: '',
|
|
},
|
|
);
|
|
|
|
export default access;
|