mirror of
https://github.com/AdguardTeam/AdGuardHome.git
synced 2024-12-15 03:02:07 +03:00
Check upstream length in component
This commit is contained in:
parent
f727f999f9
commit
c2a2b3ea6a
@ -428,26 +428,21 @@ export const testUpstreamSuccess = createAction('TEST_UPSTREAM_SUCCESS');
|
||||
export const testUpstream = servers => async (dispatch) => {
|
||||
dispatch(testUpstreamRequest());
|
||||
try {
|
||||
if (servers.length > 0) {
|
||||
const upstreamResponse = await apiClient.testUpstream(servers);
|
||||
const upstreamResponse = await apiClient.testUpstream(servers);
|
||||
|
||||
const testMessages = Object.keys(upstreamResponse).map((key) => {
|
||||
const message = upstreamResponse[key];
|
||||
if (message !== 'OK') {
|
||||
dispatch(addErrorToast({ error: `Server "${key}": could not be used, please check that you've written it correctly` }));
|
||||
}
|
||||
return message;
|
||||
});
|
||||
|
||||
if (testMessages.every(message => message === testMessages[0])) {
|
||||
dispatch(addSuccessToast('All servers is OK'));
|
||||
const testMessages = Object.keys(upstreamResponse).map((key) => {
|
||||
const message = upstreamResponse[key];
|
||||
if (message !== 'OK') {
|
||||
dispatch(addErrorToast({ error: `Server "${key}": could not be used, please check that you've written it correctly` }));
|
||||
}
|
||||
return message;
|
||||
});
|
||||
|
||||
dispatch(testUpstreamSuccess());
|
||||
} else {
|
||||
dispatch(addErrorToast({ error: 'No servers specified' }));
|
||||
dispatch(testUpstreamFailure());
|
||||
if (testMessages.every(message => message === testMessages[0])) {
|
||||
dispatch(addSuccessToast('All servers is OK'));
|
||||
}
|
||||
|
||||
dispatch(testUpstreamSuccess());
|
||||
} catch (error) {
|
||||
dispatch(addErrorToast({ error }));
|
||||
dispatch(testUpstreamFailure());
|
||||
|
@ -44,7 +44,11 @@ export default class Settings extends Component {
|
||||
};
|
||||
|
||||
handleUpstreamTest = () => {
|
||||
this.props.testUpstream(this.props.settings.upstream);
|
||||
if (this.props.settings.upstream.length > 0) {
|
||||
this.props.testUpstream(this.props.settings.upstream);
|
||||
} else {
|
||||
this.props.addErrorToast({ error: 'No servers specified' });
|
||||
}
|
||||
};
|
||||
|
||||
renderSettings = (settings) => {
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { connect } from 'react-redux';
|
||||
import { initSettings, toggleSetting, handleUpstreamChange, setUpstream, testUpstream } from '../actions';
|
||||
import { initSettings, toggleSetting, handleUpstreamChange, setUpstream, testUpstream, addErrorToast } from '../actions';
|
||||
import Settings from '../components/Settings';
|
||||
|
||||
const mapStateToProps = (state) => {
|
||||
@ -14,6 +14,7 @@ const mapDispatchToProps = {
|
||||
handleUpstreamChange,
|
||||
setUpstream,
|
||||
testUpstream,
|
||||
addErrorToast,
|
||||
};
|
||||
|
||||
export default connect(
|
||||
|
Loading…
Reference in New Issue
Block a user