diff --git a/client/src/__locales/en.json b/client/src/__locales/en.json
index aa4e7072..fc41fd85 100644
--- a/client/src/__locales/en.json
+++ b/client/src/__locales/en.json
@@ -164,10 +164,11 @@
"install_settings_title": "Admin Web Interface",
"install_settings_listen": "Listen interface",
"install_settings_port": "Port",
- "install_settings_interface_link": "Your AdGuard Home admin web interface is available on <0>{{link}}0>",
+ "install_settings_interface_link": "Your AdGuard Home admin web interface will be available on the following addresses: <0>{{link}}0>",
"form_error_port": "Enter valid port value",
"install_settings_dns": "DNS server",
"install_settings_dns_desc": "You will need to configure your devices or router to use the DNS server at <0>{{ip}}0>",
+ "install_settings_all_interfaces": "All interfaces",
"install_auth_title": "Authentication",
"install_auth_desc": "It is highly recommended to configure password authentication to your AdGuard Home admin web interface. Even if it is accessible only in your local network, it is still important to have it protected from unrestricted access.",
"install_auth_username": "Username",
@@ -182,6 +183,7 @@
"install_submit_desc": "The setup procedure is finished and you are ready to start using AdGuard Home.",
"install_devices_router": "Router",
"install_devices_router_desc": "This setup will automatically cover all the devices connected to your home router and you will not need to configure each of them manually.",
+ "install_devices_address": "AdGuard Home DNS server is listening to the following addresses",
"install_devices_router_list_1": "Open the preferences for your router. Usually, you can access it from your browser via a URL (like http://192.168.0.1/ or http://192.168.1.1/). You may be asked to enter the password. If you don't remember it, you can often reset the password by pressing a button on the router itself. Some routers require a specific application, which in that case should be already installed on your computer/phone.",
"install_devices_router_list_2": "Find the DHCP/DNS settings. Look for the DNS letters next to a field which allows two or three sets of numbers, each broken into four groups of one to three digits.",
"install_devices_router_list_3": "Enter your AdGuard Home server addresses there.",
diff --git a/client/src/actions/install.js b/client/src/actions/install.js
index 144c89fc..3b612927 100644
--- a/client/src/actions/install.js
+++ b/client/src/actions/install.js
@@ -48,8 +48,10 @@ export const setAllSettings = values => async (dispatch) => {
await apiClient.setAllSettings(config);
dispatch(setAllSettingsSuccess());
dispatch(addSuccessToast('install_saved'));
+ dispatch(nextStep());
} catch (error) {
dispatch(addErrorToast({ error }));
dispatch(setAllSettingsFailure());
+ dispatch(prevStep());
}
};
diff --git a/client/src/api/Api.js b/client/src/api/Api.js
index 7f1da9c5..0dac781a 100644
--- a/client/src/api/Api.js
+++ b/client/src/api/Api.js
@@ -338,16 +338,16 @@ export default class Api {
}
// Installation
- GET_DEFAULT_ADDRESSES = { path: 'install/get_default_addresses', method: 'GET' };
- SET_ALL_SETTINGS = { path: 'install/set_all_settings', method: 'POST' };
+ INSTALL_GET_ADDRESSES = { path: 'install/get_addresses', method: 'GET' };
+ INSTALL_CONFIGURE = { path: 'install/configure', method: 'POST' };
getDefaultAddresses() {
- const { path, method } = this.GET_DEFAULT_ADDRESSES;
+ const { path, method } = this.INSTALL_GET_ADDRESSES;
return this.makeRequest(path, method);
}
setAllSettings(config) {
- const { path, method } = this.SET_ALL_SETTINGS;
+ const { path, method } = this.INSTALL_CONFIGURE;
const parameters = {
data: config,
headers: { 'Content-Type': 'application/json' },
diff --git a/client/src/install/Setup/Controls.js b/client/src/install/Setup/Controls.js
index e74931fa..7c6a7e30 100644
--- a/client/src/install/Setup/Controls.js
+++ b/client/src/install/Setup/Controls.js
@@ -19,7 +19,26 @@ class Controls extends Component {
}
}
- renderButtons(step) {
+ renderPrevButton(step) {
+ switch (step) {
+ case 2:
+ case 3:
+ case 4:
+ return (
+
+ );
+ default:
+ return false;
+ }
+ }
+
+ renderNextButton(step) {
switch (step) {
case 1:
return (
@@ -34,48 +53,30 @@ class Controls extends Component {
case 2:
case 3:
return (
-
-
-
-
+
);
case 4:
return (
-
-
-
-
+
);
case 5:
return (
@@ -88,7 +89,10 @@ class Controls extends Component {
render() {
return (