Merge in DNS/adguard-home from 1333-protection-pause-1 to master Squashed commit of the following: commit 5ff98385bc5ff66e214d80782eb4dc41e344aa38 Merge: 97f94a540bc3ef89Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Fri Mar 24 19:08:21 2023 +0700 Merge remote-tracking branch 'origin/master' into 1333-protection-pause-1 commit 97f94a5498ac221f88f2f7dfef4b255f4945329e Author: Arseny Lisin <a.lisin@adguard.com> Date: Fri Mar 24 13:03:20 2023 +0200 Fix protection timer bugs commit 1cc61af1996bd803f3fa638cb9e2388470072bf0 Merge: 5a144ea3 235ce458 Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Thu Mar 23 22:27:47 2023 +0700 Merge remote-tracking branch 'origin/1333-protection-pause-1' into 1333-protection-pause-1 commit 5a144ea3a48c3d0d5e57dd14232ab7a8e77a8c1e Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Thu Mar 23 22:25:08 2023 +0700 dnsforward: imp code commit 235ce458a62b3152f36e32580ed0226a56580ec6 Author: Ainar Garipov <A.Garipov@AdGuard.COM> Date: Thu Mar 23 17:35:06 2023 +0300 dnsforward: imp locks commit 0ea3a0a176b810a2b3f0b307aa406fe1670c9219 Merge: 52f66810df61741fAuthor: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Thu Mar 23 19:30:41 2023 +0700 Merge remote-tracking branch 'origin/master' into 1333-protection-pause-1 # Conflicts: # CHANGELOG.md # openapi/CHANGELOG.md commit 52f668109673286a50909c042e6352cd803e8eed Merge: 9a7eb7b3306c1983Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Thu Mar 23 11:23:50 2023 +0700 Merge remote-tracking branch 'origin/master' into 1333-protection-pause-1 # Conflicts: # CHANGELOG.md # internal/dnsforward/http.go commit 9a7eb7b3ab2b5f6ad321aa3245d33839c3aa6fbd Author: Arseny Lisin <a.lisin@adguard.com> Date: Wed Mar 22 06:56:55 2023 +0200 Review fix commit 5612d51252ba91842bd6811baec1c91136bb3bf2 Merge: c0a918a5c3edab43Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Tue Mar 21 22:00:39 2023 +0700 Merge remote-tracking branch 'origin/master' into 1333-protection-pause-1 # Conflicts: # client/src/__locales/en.json commit c0a918a518ad9b37041aed159d215516258bc987 Author: Arseny Lisin <a.lisin@adguard.com> Date: Tue Mar 21 12:13:18 2023 +0200 Review fix commit 34faa61cc1e6210a612e7a2f4895a1504df37680 Author: Arseny Lisin <a.lisin@adguard.com> Date: Tue Mar 21 10:43:37 2023 +0200 Fix props to new api commit 158e582373863495f0e0ca177d7b365cc66ad671 Author: Arseny Lisin <a.lisin@adguard.com> Date: Mon Mar 20 18:44:34 2023 +0200 Review fix commit 9e8b8c3778b8e1dfad0d39e44f70886dfd3aeb9a Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Mon Mar 20 22:31:28 2023 +0700 all: docs commit 761a203f53b535ca235cfe62f289bd0e02b90be2 Merge: d0b0723148431f8bAuthor: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Mon Mar 20 22:26:13 2023 +0700 Merge remote-tracking branch 'origin/master' into 1333-protection-pause-1 commit d0b07231b6f29b534930f1fcfc82b4934c295ff8 Merge: ea448760a2053526Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Mon Mar 13 13:00:52 2023 +0700 Merge remote-tracking branch 'origin/master' into 1333-protection-pause-1 # Conflicts: # CHANGELOG.md # client/src/components/App/index.css # internal/dnsforward/config.go commit ea4487608a9c81d25f155ff63fee7c9dcf21f448 Merge: dfd0f33fa556ce8fAuthor: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Tue Feb 21 11:54:27 2023 +0700 Merge remote-tracking branch 'origin/master' into 1333-protection-pause-1 # Conflicts: # CHANGELOG.md commit dfd0f33fb474d497cbc9237ee466276728eea397 Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Tue Feb 21 11:51:40 2023 +0700 all: docs commit d36df96fba8c6d923faef85c198b6bd0743b7ee8 Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Mon Feb 20 12:41:49 2023 +0700 all: safesearch commit 60f2ceec563221337f34bb60baa96aa2b2429c40 Merge: 7c5144276f6ced33Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Mon Feb 20 12:30:42 2023 +0700 Merge remote-tracking branch 'origin/master' into 1333-protection-pause-1 # Conflicts: # CHANGELOG.md commit 7c514427e77c5b09d8e148c78220a71046e68cd1 Merge: 0fa4ff994d295a38Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Thu Feb 16 11:55:21 2023 +0700 Merge remote-tracking branch 'origin/master' into 1333-protection-pause-1 # Conflicts: # CHANGELOG.md ... and 26 more commits
186 lines
5.6 KiB
JavaScript
186 lines
5.6 KiB
JavaScript
import { handleActions } from 'redux-actions';
|
|
import * as actions from '../actions';
|
|
import { areEqualVersions } from '../helpers/version';
|
|
import { STANDARD_DNS_PORT, STANDARD_WEB_PORT } from '../helpers/constants';
|
|
|
|
const dashboard = handleActions(
|
|
{
|
|
[actions.setDnsRunningStatus]: (state, { payload }) => (
|
|
{
|
|
...state,
|
|
isCoreRunning: payload,
|
|
}
|
|
),
|
|
[actions.dnsStatusRequest]: (state) => ({
|
|
...state,
|
|
processing: true,
|
|
}),
|
|
[actions.dnsStatusFailure]: (state) => ({
|
|
...state,
|
|
processing: false,
|
|
}),
|
|
[actions.dnsStatusSuccess]: (state, { payload }) => {
|
|
const {
|
|
version,
|
|
dns_port: dnsPort,
|
|
dns_addresses: dnsAddresses,
|
|
protection_enabled: protectionEnabled,
|
|
protection_disabled_duration: protectionDisabledDuration,
|
|
http_port: httpPort,
|
|
language,
|
|
} = payload;
|
|
const newState = {
|
|
...state,
|
|
isCoreRunning: true,
|
|
processing: false,
|
|
dnsVersion: version,
|
|
dnsPort,
|
|
dnsAddresses,
|
|
protectionEnabled,
|
|
protectionDisabledDuration,
|
|
language,
|
|
httpPort,
|
|
};
|
|
|
|
return newState;
|
|
},
|
|
|
|
[actions.getVersionRequest]: (state) => ({
|
|
...state,
|
|
processingVersion: true,
|
|
}),
|
|
[actions.getVersionFailure]: (state) => ({
|
|
...state,
|
|
processingVersion: false,
|
|
}),
|
|
[actions.getVersionSuccess]: (state, { payload }) => {
|
|
const currentVersion = state.dnsVersion === 'undefined' ? 0 : state.dnsVersion;
|
|
|
|
if (!payload.disabled && !areEqualVersions(currentVersion, payload.new_version)) {
|
|
const {
|
|
announcement_url: announcementUrl,
|
|
new_version: newVersion,
|
|
can_autoupdate: canAutoUpdate,
|
|
} = payload;
|
|
|
|
const newState = {
|
|
...state,
|
|
announcementUrl,
|
|
newVersion,
|
|
canAutoUpdate,
|
|
isUpdateAvailable: true,
|
|
processingVersion: false,
|
|
checkUpdateFlag: !payload.disabled,
|
|
};
|
|
return newState;
|
|
}
|
|
|
|
return {
|
|
...state,
|
|
processingVersion: false,
|
|
checkUpdateFlag: !payload.disabled,
|
|
};
|
|
},
|
|
|
|
[actions.getUpdateRequest]: (state) => ({
|
|
...state,
|
|
processingUpdate: true,
|
|
}),
|
|
[actions.getUpdateFailure]: (state) => ({
|
|
...state,
|
|
processingUpdate: false,
|
|
}),
|
|
[actions.getUpdateSuccess]: (state) => {
|
|
const newState = {
|
|
...state,
|
|
processingUpdate: false,
|
|
};
|
|
return newState;
|
|
},
|
|
|
|
[actions.toggleProtectionRequest]: (state) => ({
|
|
...state,
|
|
processingProtection: true,
|
|
}),
|
|
[actions.toggleProtectionFailure]: (state) => ({
|
|
...state,
|
|
processingProtection: false,
|
|
}),
|
|
[actions.toggleProtectionSuccess]: (state, { payload }) => {
|
|
const newState = {
|
|
...state,
|
|
protectionEnabled: !state.protectionEnabled,
|
|
processingProtection: false,
|
|
protectionDisabledDuration: payload.disabledDuration,
|
|
};
|
|
|
|
return newState;
|
|
},
|
|
|
|
[actions.setDisableDurationTime]: (state, { payload }) => ({
|
|
...state,
|
|
protectionDisabledDuration: payload.timeToEnableProtection,
|
|
}),
|
|
|
|
[actions.getClientsRequest]: (state) => ({
|
|
...state,
|
|
processingClients: true,
|
|
}),
|
|
[actions.getClientsFailure]: (state) => ({
|
|
...state,
|
|
processingClients: false,
|
|
}),
|
|
[actions.getClientsSuccess]: (state, { payload }) => {
|
|
const newState = {
|
|
...state,
|
|
...payload,
|
|
processingClients: false,
|
|
};
|
|
return newState;
|
|
},
|
|
|
|
[actions.getProfileRequest]: (state) => ({
|
|
...state,
|
|
processingProfile: true,
|
|
}),
|
|
[actions.getProfileFailure]: (state) => ({
|
|
...state,
|
|
processingProfile: false,
|
|
}),
|
|
[actions.getProfileSuccess]: (state, { payload }) => ({
|
|
...state,
|
|
name: payload.name,
|
|
theme: payload.theme,
|
|
processingProfile: false,
|
|
}),
|
|
[actions.changeThemeSuccess]: (state, { payload }) => ({
|
|
...state,
|
|
theme: payload.theme,
|
|
}),
|
|
},
|
|
{
|
|
processing: true,
|
|
isCoreRunning: true,
|
|
processingVersion: true,
|
|
processingClients: true,
|
|
processingUpdate: false,
|
|
processingProfile: true,
|
|
protectionEnabled: false,
|
|
protectionDisabledDuration: null,
|
|
protectionCountdownActive: false,
|
|
processingProtection: false,
|
|
httpPort: STANDARD_WEB_PORT,
|
|
dnsPort: STANDARD_DNS_PORT,
|
|
dnsAddresses: [],
|
|
dnsVersion: '',
|
|
clients: [],
|
|
autoClients: [],
|
|
supportedTags: [],
|
|
name: '',
|
|
theme: 'auto',
|
|
checkUpdateFlag: false,
|
|
},
|
|
);
|
|
|
|
export default dashboard;
|