From 1e429df3bcb8ea2fd3a457c026cb8c8a7131e504 Mon Sep 17 00:00:00 2001 From: Artem Baskal Date: Fri, 6 Dec 2019 18:00:01 +0300 Subject: [PATCH] - client: add message when dns server is starting up --- client/src/__locales/bg.json | 2 - client/src/__locales/cs.json | 11 +- client/src/__locales/da.json | 13 +- client/src/__locales/de.json | 3 - client/src/__locales/en.json | 5 +- client/src/__locales/es.json | 13 +- client/src/__locales/fr.json | 2 - client/src/__locales/id.json | 3 - client/src/__locales/it.json | 3 - client/src/__locales/ja.json | 3 - client/src/__locales/nl.json | 10 +- client/src/__locales/no.json | 3 - client/src/__locales/pl.json | 3 - client/src/__locales/pt-br.json | 3 - client/src/__locales/pt-pt.json | 13 +- client/src/__locales/ru.json | 2 +- client/src/__locales/sk.json | 3 - client/src/__locales/sl.json | 11 +- client/src/__locales/sv.json | 3 - client/src/__locales/tr.json | 3 - client/src/__locales/vi.json | 1 - client/src/__locales/zh-cn.json | 3 - client/src/__locales/zh-tw.json | 4 +- client/src/actions/index.js | 155 +++++++++++------------ client/src/api/Api.js | 12 -- client/src/components/App/index.js | 12 +- client/src/components/Dashboard/index.js | 9 +- client/src/components/ui/Status.js | 18 ++- client/src/reducers/index.js | 14 -- 29 files changed, 151 insertions(+), 189 deletions(-) diff --git a/client/src/__locales/bg.json b/client/src/__locales/bg.json index 3141507e..821309db 100644 --- a/client/src/__locales/bg.json +++ b/client/src/__locales/bg.json @@ -11,7 +11,6 @@ "dhcp_found": "Вашата мрежа вече има активен DHCP сървър. Не е безопасно ползването на втори!", "dhcp_leases": "DHCP раздадени адреси", "dhcp_leases_not_found": "Няма намерени активни DHCP адреси", - "dhcp_config_saved": "Запиши конфигурацията на DHCP сървъра", "form_error_required": "Задължително поле", "form_error_positive": "Проверете дали е положително число", "dhcp_form_gateway_input": "IP шлюз", @@ -73,7 +72,6 @@ "no_servers_specified": "Няма избрани услуги", "general_settings": "Общи настройки", "upstream_dns": "Главен DNS сървър", - "upstream_dns_hint": "Ако оставите празно, AdGuard Home ще използва Cloudflare DNS за главен. Използвай tls:// представка за DNS използващи TLS връзка.", "test_upstream_btn": "Тествай главния DNS", "apply_btn": "Приложи", "disabled_filtering_toast": "Забрани филтрирането", diff --git a/client/src/__locales/cs.json b/client/src/__locales/cs.json index c9c6aa86..cd7f2a2b 100644 --- a/client/src/__locales/cs.json +++ b/client/src/__locales/cs.json @@ -45,6 +45,7 @@ "dhcp_new_static_lease": "Nový statický pronájem", "dhcp_static_leases_not_found": "Nebyly nalezeny žádné statické pronájmy DHCP", "dhcp_add_static_lease": "Přidat statický pronájem", + "dhcp_reset": "Opravdu chcete resetovat konfiguraci DHCP?", "delete_confirm": "Opravdu chcete odstranit \"{{key}}\"?", "form_enter_hostname": "Zadejte název hostitele", "error_details": "Podrobnosti chyby", @@ -105,8 +106,9 @@ "encryption_settings": "Nastavení šifrování", "dhcp_settings": "Nastavení DHCP", "upstream_dns": "Upstream DNS servery", - "upstream_dns_hint": "Pokud toto pole ponecháte prázdné, AdGuard Home použije Cloudflare DNS jako upstream.", + "upstream_dns_hint": "Pokud toto pole ponecháte prázdné, AdGuard Home použije Quad9 jako upstream.", "test_upstream_btn": "Test upstreamů", + "upstreams": "Upstreamy", "apply_btn": "Použít", "disabled_filtering_toast": "Vypnuté filtrování", "enabled_filtering_toast": "Zapnuté filtrování", @@ -299,9 +301,11 @@ "client_edit": "Upravit klienta", "client_identifier": "Identifikátor", "ip_address": "IP adresa", - "client_identifier_desc": "Klienti můžou být identifikováni podle IP adresy nebo MAC adresy. Upozorňujeme, že použití MAC jako identifikátoru je možné pouze v případě, že je AdGuard Home také <0>DHCP server", + "client_identifier_desc": "Klienti můžou být identifikováni podle IP adresy CIDR nebo MAC adresy. Upozorňujeme, že použití MAC jako identifikátoru je možné pouze v případě, že je AdGuard Home také <0>DHCP server", "form_enter_ip": "Zadejte IP", "form_enter_mac": "Zadejte MAC", + "form_enter_id": "Zadejte identifikátor", + "form_add_id": "Přidat identifikátor", "form_client_name": "Zadejte název klienta", "client_global_settings": "Použít globální nastavení", "client_deleted": "Klient \"{{key}}\" byl úspěšně odstraněn", @@ -402,5 +406,6 @@ "netname": "Název sítě", "descr": "Popis", "whois": "Whois", - "filtering_rules_learn_more": "<0>Další informace o vytváření vlastních seznamů zakázaných hostitelů." + "filtering_rules_learn_more": "<0>Další informace o vytváření vlastních seznamů zakázaných hostitelů.", + "blocked_by_response": "Zakázáno s odpovědí CNAME nebo IP" } \ No newline at end of file diff --git a/client/src/__locales/da.json b/client/src/__locales/da.json index 8f24279b..6fd10e72 100644 --- a/client/src/__locales/da.json +++ b/client/src/__locales/da.json @@ -17,7 +17,7 @@ "dhcp_leases": "DHCP-leases", "dhcp_static_leases": "DHCP static leases", "dhcp_leases_not_found": "Ingen DHCP-leases fundet", - "dhcp_config_saved": "Gemt DHCP-server konfiguration", + "dhcp_config_saved": "DHCP-konfiguration gemt", "form_error_required": "Obligatorisk felt", "form_error_ip4_format": "Ugyldigt IPv4-format", "form_error_ip6_format": "Ugyldigt IPv6-format", @@ -45,6 +45,7 @@ "dhcp_new_static_lease": "Ny static lease", "dhcp_static_leases_not_found": "Ingen DHCP static leases fundet", "dhcp_add_static_lease": "Tilføj static lease", + "dhcp_reset": "Er du sikker på, at du vil nulstille DHCP-konfigurationen?", "delete_confirm": "Er du sikker på, at du vil slette \"{{key}}\"?", "form_enter_hostname": "Indtast værtsnavn", "error_details": "Fejloplysninger", @@ -105,8 +106,9 @@ "encryption_settings": "Krypteringsindstillinger", "dhcp_settings": "DHCP-indstillinger", "upstream_dns": "Upstream DNS-servere", - "upstream_dns_hint": "Hvis du lader dette felt være tomt, vil AdGuard Home bruge Cloudflare DNS til upstream.", + "upstream_dns_hint": "Hvis du lader dette felt være tomt, vil AdGuard Home bruge Quad9 som en upstream.", "test_upstream_btn": "Test upstreams", + "upstreams": "Upstreams", "apply_btn": "Anvend", "disabled_filtering_toast": "Filtrering deaktiveret", "enabled_filtering_toast": "Filtrering aktiveret", @@ -299,9 +301,11 @@ "client_edit": "Rediger Klient", "client_identifier": "Identifikator", "ip_address": "IP-adresse", - "client_identifier_desc": "Klienter kan identificeres ud fra IP-adressen eller MAC-adressen. Bemærk venligst, at det kun er muligt at bruge MAC som identifikator, hvis AdGuard Home også er en <0>DHCP-server", + "client_identifier_desc": "Klienter kan identificeres ud fra IP-adressen, CIDR eller MAC-adressen. Bemærk venligst, at det kun er muligt at bruge MAC som identifikator, hvis AdGuard Home også er en <0>DHCP-server", "form_enter_ip": "Indtast IP", "form_enter_mac": "Indtast MAC", + "form_enter_id": "Indtast identifikator", + "form_add_id": "Tilføj identifikator", "form_client_name": "Indtast klientnavn", "client_global_settings": "Brug globale indstillinger", "client_deleted": "Klient \"{{key}}\" succesfuldt slettet", @@ -402,5 +406,6 @@ "netname": "Netværksnavn", "descr": "Beskrivelse", "whois": "Whois", - "filtering_rules_learn_more": "<0>Lær mere om at oprette dine egne værtsblokeringslister." + "filtering_rules_learn_more": "<0>Lær mere om at oprette dine egne værtsblokeringslister.", + "blocked_by_response": "Blokeret af CNAME eller IP som svar" } \ No newline at end of file diff --git a/client/src/__locales/de.json b/client/src/__locales/de.json index 1c8b2072..da8955c4 100644 --- a/client/src/__locales/de.json +++ b/client/src/__locales/de.json @@ -17,7 +17,6 @@ "dhcp_leases": "DHCP-Leasingverträge", "dhcp_static_leases": "DHCP statische Leases", "dhcp_leases_not_found": "Keine DHCP-Leasingverträge gefunden\n", - "dhcp_config_saved": "Gespeicherte DHCP-Server-Konfiguration", "form_error_required": "Pflichtfeld", "form_error_mac_format": "Ungültiges MAC-Format", "form_error_positive": "Muss größer als 0 sein.", @@ -101,7 +100,6 @@ "encryption_settings": "Verschlüsselungseinstellungen", "dhcp_settings": "DHCP-Einstellungen", "upstream_dns": "Upstream-DNS-Server", - "upstream_dns_hint": "Wenn Sie dieses Feld leer lassen wird AdGuard Home Cloudflare DNS als Upstream verwenden. Verwenden Sie das Präfix tls:// für DNS über TLS-Server.", "test_upstream_btn": "Upstreams testen", "apply_btn": "Anwenden", "disabled_filtering_toast": "Filtern deaktiviert", @@ -295,7 +293,6 @@ "client_edit": "Client bearbeiten", "client_identifier": "Bezeichner", "ip_address": "IP-Adresse", - "client_identifier_desc": "Clients können durch die IP-Adresse oder MAC-Adresse identifiziert werden. Bitte beachten Sie, dass die Verwendung der MAC-Adresse als Identifikator nur möglich ist, wenn AdGuard Home gleichzeitig auch ein <0>DHCP-Server ist.", "form_enter_ip": "IP-Adresse eingeben", "form_enter_mac": "MAC-Adresse eingeben", "form_client_name": "Clientnamen eingeben", diff --git a/client/src/__locales/en.json b/client/src/__locales/en.json index bb83a92d..2ef7ea67 100644 --- a/client/src/__locales/en.json +++ b/client/src/__locales/en.json @@ -300,6 +300,8 @@ "update_announcement": "AdGuard Home {{version}} is now available! <0>Click here for more info.", "setup_guide": "Setup guide", "dns_addresses": "DNS addresses", + "dns_start": "DNS server is starting up", + "dns_status_error": "Error of getting DNS server status", "down": "Down", "fix": "Fix", "dns_providers": "Here is a <0>list of known DNS providers to choose from.", @@ -424,5 +426,6 @@ "descr": "Description", "whois": "Whois", "filtering_rules_learn_more": "<0>Learn more about creating your own hosts blocklists.", - "blocked_by_response": "Blocked by CNAME or IP in response" + "blocked_by_response": "Blocked by CNAME or IP in response", + "try_again": "Try again" } diff --git a/client/src/__locales/es.json b/client/src/__locales/es.json index 20f0aa5c..0e803913 100644 --- a/client/src/__locales/es.json +++ b/client/src/__locales/es.json @@ -17,7 +17,7 @@ "dhcp_leases": "Asignaciones DHCP", "dhcp_static_leases": "Asignaciones DHCP estáticas", "dhcp_leases_not_found": "No se han encontrado asignaciones DHCP", - "dhcp_config_saved": "Configuración del servidor DHCP guardada", + "dhcp_config_saved": "Configuración DHCP guardado correctamente", "form_error_required": "Campo obligatorio", "form_error_ip4_format": "Formato IPv4 no válido", "form_error_ip6_format": "Formato IPv6 no válido", @@ -45,6 +45,7 @@ "dhcp_new_static_lease": "Nueva asignación estática", "dhcp_static_leases_not_found": "No se han encontrado asignaciones DHCP estáticas", "dhcp_add_static_lease": "Añadir asignación estática", + "dhcp_reset": "¿Está seguro de que desea restablecer la configuración DHCP?", "delete_confirm": "¿Está seguro de que desea eliminar \"{{key}}\"?", "form_enter_hostname": "Ingrese el nombre del host", "error_details": "Detalles del error", @@ -105,8 +106,9 @@ "encryption_settings": "Configuración de cifrado", "dhcp_settings": "Configuración DHCP", "upstream_dns": "Servidores DNS de subida", - "upstream_dns_hint": "Si mantiene este campo vacío, AdGuard Home utilizará Cloudflare DNS como DNS de subida.", + "upstream_dns_hint": "Si mantiene este campo vacío, AdGuard Home utilizará Quad9 como DNS de subida.", "test_upstream_btn": "Probar DNS de subida", + "upstreams": "DNS de subida", "apply_btn": "Aplicar", "disabled_filtering_toast": "Filtrado deshabilitado", "enabled_filtering_toast": "Filtrado habilitado", @@ -299,9 +301,11 @@ "client_edit": "Editar cliente", "client_identifier": "Identificador", "ip_address": "Dirección IP", - "client_identifier_desc": "Los clientes pueden ser identificados por la dirección IP o MAC. Tenga en cuenta que el uso de MAC como identificador solo es posible si AdGuard Home también es un <0>servidor DHCP.", + "client_identifier_desc": "Los clientes pueden ser identificados por la dirección IP, MAC y CIDR. Tenga en cuenta que el uso de MAC como identificador solo es posible si AdGuard Home también es un <0>servidor DHCP", "form_enter_ip": "Ingresar IP", "form_enter_mac": "Ingresar MAC", + "form_enter_id": "Ingrese el identificador", + "form_add_id": "Añadir identificador", "form_client_name": "Ingrese el nombre del cliente", "client_global_settings": "Usar configuración global", "client_deleted": "Cliente \"{{key}}\" eliminado correctamente", @@ -402,5 +406,6 @@ "netname": "Nombre de la red", "descr": "Descripción", "whois": "Whois", - "filtering_rules_learn_more": "<0>Más información sobre cómo crear tus propias listas para bloqueo de hosts." + "filtering_rules_learn_more": "<0>Más información sobre cómo crear tus propias listas para bloqueo de hosts.", + "blocked_by_response": "Bloqueado por CNAME o IP en respuesta" } \ No newline at end of file diff --git a/client/src/__locales/fr.json b/client/src/__locales/fr.json index 6634c03a..fdd77cd4 100644 --- a/client/src/__locales/fr.json +++ b/client/src/__locales/fr.json @@ -16,7 +16,6 @@ "dhcp_found": "Il y a plusieurs serveurs DHCP actifs sur le réseau. Ce n'est pas prudent d'activer le serveur DHCP intégré en ce moment.", "dhcp_leases": "Locations des serveurs DHCP", "dhcp_leases_not_found": "Aucune location des serveurs DHCP trouvée", - "dhcp_config_saved": "La configuration du serveur DHCP est sauvegardée", "form_error_required": "Champ requis", "form_error_positive": "Doit être supérieur à 0", "dhcp_form_gateway_input": "IP de la passerelle", @@ -75,7 +74,6 @@ "no_servers_specified": "Pas de serveurs spécifiés", "general_settings": "Paramètres généraux", "upstream_dns": "Serveurs DNS upstream", - "upstream_dns_hint": "Si vous laissez ce champ vide, AdGuard Home va utiliser Cloudflare DNS somme upstream. Utilisez le préfixe tls:// pour DNS via les serveurs TLS .", "test_upstream_btn": "Tester les upstreams", "apply_btn": "Appliquer", "disabled_filtering_toast": "Filtrage désactivé", diff --git a/client/src/__locales/id.json b/client/src/__locales/id.json index 8fe0bc11..b1535c46 100644 --- a/client/src/__locales/id.json +++ b/client/src/__locales/id.json @@ -17,7 +17,6 @@ "dhcp_leases": "DHCP leases", "dhcp_static_leases": "DHCP static leases", "dhcp_leases_not_found": "DHCP lease tidak ditemukan", - "dhcp_config_saved": "Pengaturan server DHCP tersimpan", "form_error_required": "Kolom yang harus diisi", "form_error_mac_format": "Format MAC tidak valid", "form_error_positive": "Harus lebih dari 0", @@ -101,7 +100,6 @@ "encryption_settings": "Pengaturan enkripsi", "dhcp_settings": "Pengaturan DHCP", "upstream_dns": "Server DNS hulu", - "upstream_dns_hint": "Jika Anda mengosongkan kolom ini, AdGuard Home akan menggunakan Cloudflare DNS sebagai hulu. Gunakan tls:// untuk server DNS over TLS.", "test_upstream_btn": "Uji hulu", "apply_btn": "Terapkan", "disabled_filtering_toast": "Penyaringan nonaktif", @@ -284,7 +282,6 @@ "client_edit": "Ubah Klien", "client_identifier": "Identifikasi", "ip_address": "Alamat IP", - "client_identifier_desc": "Klien dapat diidentifikasi dengan alamat IP atau alamat MAC. Harap dicatat bahwa menggunakan MAC sebagai pengidentifikasi hanya dimungkinkan jika AdGuard Home juga merupakan <0>server DHCP", "form_enter_ip": "Masukkan IP", "form_enter_mac": "Masukkan MAC", "form_client_name": "Masukkan nama klien", diff --git a/client/src/__locales/it.json b/client/src/__locales/it.json index 5c84ab40..ccc6b2f0 100644 --- a/client/src/__locales/it.json +++ b/client/src/__locales/it.json @@ -17,7 +17,6 @@ "dhcp_leases": "Leases DHCP", "dhcp_static_leases": "Leases DHCP statici", "dhcp_leases_not_found": "Nessun lease DHCP trovato", - "dhcp_config_saved": "Configurazione server DHCP salvata", "form_error_required": "Campo richiesto", "form_error_mac_format": "Formato MAC non valido", "form_error_positive": "Deve essere maggiore di 0", @@ -101,7 +100,6 @@ "encryption_settings": "Impostazioni di criptazione", "dhcp_settings": "Impostazioni DHCP", "upstream_dns": "Server DNS upstream", - "upstream_dns_hint": "Se lasci vuoto questo campo, AdGuard Home imposterà i DNS di Cloudflare come upstream. Inserisci il prefisso tls:// per i server con DNS over TLS", "test_upstream_btn": "Testa gli upstream", "apply_btn": "Applica", "disabled_filtering_toast": "Disabilita filtri", @@ -295,7 +293,6 @@ "client_edit": "Modifica Client", "client_identifier": "Identificatore", "ip_address": "Indirizzo IP", - "client_identifier_desc": "I client possono essere identificati dall indirizzo IP o dall' indirizzo MAC. Nota che l' utilizzo dell' indirizzo MAC come identificatore è consentito solo se AdGuard Home è anche il <0>server DHCP", "form_enter_ip": "Inserisci IP", "form_enter_mac": "Inserisci MAC", "form_client_name": "Inserisci nome client", diff --git a/client/src/__locales/ja.json b/client/src/__locales/ja.json index 5a8de130..d9313fab 100644 --- a/client/src/__locales/ja.json +++ b/client/src/__locales/ja.json @@ -17,7 +17,6 @@ "dhcp_leases": "DHCP割り当て", "dhcp_static_leases": "DHCP静的割り当て", "dhcp_leases_not_found": "DHCP割当はありません", - "dhcp_config_saved": "DHCPサーバの設定を保存しました", "form_error_required": "必須項目", "form_error_mac_format": "MACフォーマットではありません", "form_error_positive": "0より大きい必要があります", @@ -95,7 +94,6 @@ "encryption_settings": "暗号化設定", "dhcp_settings": "DHCP設定", "upstream_dns": "上流DNSサーバ", - "upstream_dns_hint": "このフィールドを未入力のままにすると、AdGuard Homeは上流としてCloudflare DNSを使用します。DNS over TLSサーバには、「tls://」プレフィックスを使用してください。", "test_upstream_btn": "上流サーバをテストする", "apply_btn": "適用する", "disabled_filtering_toast": "フィルタリングを無効にしました", @@ -276,7 +274,6 @@ "client_edit": "クライアントの編集", "client_identifier": "識別子", "ip_address": "IPアドレス", - "client_identifier_desc": "クライアントはIPアドレスまたはMACアドレスで識別できます。AdGuard Homeが<0>DHCPサーバでもある場合にのみ、識別子としてMACを使用することが可能であることにご注意ください。", "form_enter_ip": "IPアドレスを入力してください", "form_enter_mac": "MACアドレスを入力してください", "form_client_name": "クライアント名を入力してください", diff --git a/client/src/__locales/nl.json b/client/src/__locales/nl.json index 7a070c2a..8b7c8ca2 100644 --- a/client/src/__locales/nl.json +++ b/client/src/__locales/nl.json @@ -16,7 +16,6 @@ "dhcp_found": "Actieve DHCP server(s) gevonden op het netwerk. het is NIET veilig om de ingebouwde DHCP server in te schakelen.", "dhcp_leases": "DHCP lease overzicht", "dhcp_leases_not_found": "Geen DHCP lease gevonden", - "dhcp_config_saved": "DHCP server configuratie opgeslagen", "form_error_required": "Vereist veld", "form_error_ip4_format": "Ongeldig IPv4 formaat", "form_error_ip6_format": "Ongeldig IPv6 formaat", @@ -38,6 +37,7 @@ "dhcp_new_static_lease": "Voeg static lease toe", "dhcp_static_leases_not_found": "Geen DHCP static lease gevonden", "dhcp_add_static_lease": "Voeg statische lease toe", + "dhcp_reset": "Weet je zeker dat je de DHCP configuratie wil resetten?", "delete_confirm": "Ben je zeker dat je \"{{key}}\" wilt verwijderen?", "form_enter_hostname": "Vul hostnaam in", "error_details": "Fout details", @@ -94,8 +94,8 @@ "encryption_settings": "Encryptie Instellingen", "dhcp_settings": "DHCP Instellingen", "upstream_dns": "Upstream DNS servers", - "upstream_dns_hint": "Indien je dit veld leeg laat, zal AdGuard Home Cloudflare DNS gebruiken als upstream. Gebruik tls:// voor DNS over TLS servers.", "test_upstream_btn": "Test upstream", + "upstreams": "Upstreams", "apply_btn": "Toepassen", "disabled_filtering_toast": "Filters uitgeschakeld", "enabled_filtering_toast": "Filters ingeschakeld", @@ -277,9 +277,10 @@ "client_edit": "Wijzig gebruiker", "client_identifier": "Identificeer via", "ip_address": "IP adres", - "client_identifier_desc": "Gebruikers kunnen worden geïdentificeerd door het IP-adres of MAC-adres. Houd er rekening mee dat het gebruik van MAC als ID alleen mogelijk is als AdGuard Home ook een <0> DHCP-server is", "form_enter_ip": "Vul IP in", "form_enter_mac": "Vul MAC in", + "form_enter_id": "ID invoeren", + "form_add_id": "ID toevoegen", "form_client_name": "Vul gebruikersnaam in", "client_global_settings": "Gebruik globale instelling", "client_deleted": "Gebruiker \"{{key}}\" met succes verwijderd", @@ -339,5 +340,6 @@ "statistics_retention_desc": "Als je de interval waarde vermindert, zullen sommige gegevens verloren gaan", "statistics_clear": " Statistieken wissen", "statistics_clear_confirm": "Alle statistieken werkelijk wissen?", - "statistics_cleared": "Statistieken succesvol gewist" + "statistics_cleared": "Statistieken succesvol gewist", + "blocked_by_response": "Geblokkeerd door CNAME of IP als antwoord" } \ No newline at end of file diff --git a/client/src/__locales/no.json b/client/src/__locales/no.json index 7ebd764b..9f0d9405 100644 --- a/client/src/__locales/no.json +++ b/client/src/__locales/no.json @@ -17,7 +17,6 @@ "dhcp_leases": "DHCP-leieavtaler", "dhcp_static_leases": "Statiske DHCP-leieavtaler", "dhcp_leases_not_found": "Ingen DHCP-leieavtaler ble funnet", - "dhcp_config_saved": "Lagret DHCP-tjeneroppsettet", "form_error_required": "Påkrevd felt", "form_error_ip4_format": "Ugyldig IPv4-format", "form_error_ip6_format": "Ugyldig IPv6-format", @@ -105,7 +104,6 @@ "encryption_settings": "Krypteringsinnstillinger", "dhcp_settings": "DHCP-innstillinger", "upstream_dns": "Oppstrøms-DNS-tjenere", - "upstream_dns_hint": "Hvis du lar dette feltet stå tomt, vil AdGuard Home will bruke Cloudflare DNS som en oppstrømstjener.", "test_upstream_btn": "Test oppstrømstilkoblinger", "apply_btn": "Benytt", "disabled_filtering_toast": "Skrudde av filtrering", @@ -299,7 +297,6 @@ "client_edit": "Rediger klienten", "client_identifier": "Identifikator", "ip_address": "IP-adresse", - "client_identifier_desc": "Klienter kan bli identifisert gjennom IP-adressen eller MAC-adressen. Vennligst bemerk at å bruke MAC som en identifikator, bare er mulig dersom AdGuard Home også er en <0>DHCP-tjener", "form_enter_ip": "Skriv inn IP", "form_enter_mac": "Skriv inn MAC", "form_client_name": "Skriv inn klientnavnet", diff --git a/client/src/__locales/pl.json b/client/src/__locales/pl.json index 62d904e9..0f95c96f 100644 --- a/client/src/__locales/pl.json +++ b/client/src/__locales/pl.json @@ -17,7 +17,6 @@ "dhcp_leases": "Dzierżawa DHCP", "dhcp_static_leases": "Dzierżawy statyczne DHCP", "dhcp_leases_not_found": "Nie znaleziono dzierżaw DHCP", - "dhcp_config_saved": "Zapisana konfiguracja serwera DHCP", "form_error_required": "Pole wymagane", "form_error_mac_format": "Nieprawidłowy format MAC", "form_error_positive": "Musi być większa niż 0", @@ -101,7 +100,6 @@ "encryption_settings": "Ustawienia szyfrowania", "dhcp_settings": "Ustawienia DHCP", "upstream_dns": "Serwery DNS z wyższego poziomu", - "upstream_dns_hint": "Jeśli pozostawisz te pole puste, AdGuard użyje Cloudflare DNS jako upstream. Użyj prefiksu tls:// dla serwera DNS over TLS.", "test_upstream_btn": "Test upstreamów", "apply_btn": "Zastosuj", "disabled_filtering_toast": "Wyłączone filtrowanie", @@ -284,7 +282,6 @@ "client_edit": "Edytuj klienta", "client_identifier": "Identyfikator", "ip_address": "Adres IP", - "client_identifier_desc": "Klientów można zidentyfikować po adresie IP lub adresie MAC. Należy pamiętać, że używanie MAC jako identyfikatora jest możliwe tylko wtedy, gdy AdGuard Home jest również <0>serwerem DHCP", "form_enter_ip": "Wpisz adres IP", "form_enter_mac": "Wpisz adres MAC", "form_client_name": "Wpisz nazwę klienta", diff --git a/client/src/__locales/pt-br.json b/client/src/__locales/pt-br.json index b5d97fcc..21fe7ac7 100644 --- a/client/src/__locales/pt-br.json +++ b/client/src/__locales/pt-br.json @@ -17,7 +17,6 @@ "dhcp_leases": "Concessões DHCP", "dhcp_static_leases": "Concessões de DHCP estático", "dhcp_leases_not_found": "Nenhuma concessão DHCP encontrada", - "dhcp_config_saved": "Salvar configurações do servidor DHCP", "form_error_required": "Campo obrigatório", "form_error_ip4_format": "Formato de endereço IPv4 inválido", "form_error_ip6_format": "Formato de endereço IPv6 inválido", @@ -105,7 +104,6 @@ "encryption_settings": "Configurações de criptografia", "dhcp_settings": "Configurações de DHCP", "upstream_dns": "Servidores DNS upstream", - "upstream_dns_hint": "Se você deixar este campo vazio, o AdGuard Home irá usar oDNS da Cloudflare como upstream.", "test_upstream_btn": "Testar upstreams", "apply_btn": "Aplicar", "disabled_filtering_toast": "Filtragem desativada", @@ -299,7 +297,6 @@ "client_edit": "Editar cliente", "client_identifier": "Identificador", "ip_address": "Endereço de IP", - "client_identifier_desc": "Os clientes podem ser identificados pelo endereço de IP ou pelo endereço MAC. Observe que o uso do endereço MAC como identificador só é possível se o AdGuard Home também for um <0>servidor DHCP", "form_enter_ip": "Digite o endereço de IP", "form_enter_mac": "Digite o endereço MAC", "form_client_name": "Digite o nome do cliente", diff --git a/client/src/__locales/pt-pt.json b/client/src/__locales/pt-pt.json index b2916f31..50900e44 100644 --- a/client/src/__locales/pt-pt.json +++ b/client/src/__locales/pt-pt.json @@ -17,7 +17,7 @@ "dhcp_leases": "Concessões DHCP", "dhcp_static_leases": "Concessões de DHCP estático", "dhcp_leases_not_found": "Nenhuma concessão DHCP encontrada", - "dhcp_config_saved": "Guardar configurações do servidor DHCP", + "dhcp_config_saved": "Configurações DHCP guardadas com sucesso", "form_error_required": "Campo obrigatório", "form_error_ip4_format": "Formato de endereço IPv4 inválido", "form_error_ip6_format": "Formato de endereço IPv6 inválido", @@ -45,6 +45,7 @@ "dhcp_new_static_lease": "Nova concessão estática", "dhcp_static_leases_not_found": "Nenhuma concessão DHCP estática foi encontrada", "dhcp_add_static_lease": "Adicionar nova concessão estática", + "dhcp_reset": "Tem a certeza de que deseja redefinir a configuração DHCP?", "delete_confirm": "Tem a certeza de que deseja excluir \"{{key}}\"?", "form_enter_hostname": "Insira o hostname", "error_details": "Detalhes do erro", @@ -105,8 +106,9 @@ "encryption_settings": "Configurações de criptografia", "dhcp_settings": "Configurações de DHCP", "upstream_dns": "Servidores DNS upstream", - "upstream_dns_hint": "Se deixar este campo vazio, o AdGuard Home irá usar oDNS da Cloudflare como upstream.", + "upstream_dns_hint": "Se deixar este campo vazio, o AdGuard Home irá usar Quad9 como upstream.", "test_upstream_btn": "Testar upstreams", + "upstreams": "Upstreams", "apply_btn": "Aplicar", "disabled_filtering_toast": "Filtragem desactivada", "enabled_filtering_toast": "Filtragem activada", @@ -299,9 +301,11 @@ "client_edit": "Editar cliente", "client_identifier": "Identificador", "ip_address": "Endereço de IP", - "client_identifier_desc": "Os clientes podem ser identificados pelo endereço de IP ou pelo endereço MAC. Observe que o uso do endereço MAC como identificador só é possível se o AdGuard Home também for um <0>servidor DHCP", + "client_identifier_desc": "Os clientes podem ser identificados pelo endereço de IP, CIDR, ou pelo endereço MAC. Observe que o uso do endereço MAC como identificador só é possível se o AdGuard Home também for um <0>servidor DHCP", "form_enter_ip": "Insira IP", "form_enter_mac": "Insira o endereço MAC", + "form_enter_id": "Inserir identificador", + "form_add_id": "Adicionar identificador", "form_client_name": "Insira o nome do cliente", "client_global_settings": "Usar configurações globais", "client_deleted": "Cliente \"{{key}}\" excluído com sucesso", @@ -402,5 +406,6 @@ "netname": "Nome da rede", "descr": "Descrição", "whois": "Whois", - "filtering_rules_learn_more": "<0>Saiba maissobre como criar as suas próprias listas negras de servidores." + "filtering_rules_learn_more": "<0>Saiba maissobre como criar as suas próprias listas negras de servidores.", + "blocked_by_response": "Bloqueado por CNAME ou IP em resposta" } \ No newline at end of file diff --git a/client/src/__locales/ru.json b/client/src/__locales/ru.json index 41067d08..b480c6ba 100644 --- a/client/src/__locales/ru.json +++ b/client/src/__locales/ru.json @@ -405,4 +405,4 @@ "number_of_dns_query_days_1": "Количество DNS-запросов за {{count}} дня", "number_of_dns_query_days_2": "Количество DNS-запросов за {{count}} дней", "filtering_rules_learn_more": "<0>Узнайте больше о создании собственных списков блокировки хостов." -} \ No newline at end of file +} diff --git a/client/src/__locales/sk.json b/client/src/__locales/sk.json index 4423e669..b9aa4eee 100644 --- a/client/src/__locales/sk.json +++ b/client/src/__locales/sk.json @@ -17,7 +17,6 @@ "dhcp_leases": "DHCP prenájom", "dhcp_static_leases": "DHCP statické prenájmy", "dhcp_leases_not_found": "Neboli nájdené žiadne DHCP prenájmy", - "dhcp_config_saved": "Konfigurácia DHCP servera uložená", "form_error_required": "Povinná položka", "form_error_ip4_format": "Nesprávny formát IPv4", "form_error_ip6_format": "Nesprávny formát IPv6", @@ -105,7 +104,6 @@ "encryption_settings": "Nastavenia šifrovania", "dhcp_settings": "Nastavenia DHCP", "upstream_dns": "Upstream DNS servery", - "upstream_dns_hint": "Ak toto pole ponecháte prázdne, AdGuard Home použije Cloudflare DNS ako upstream.", "test_upstream_btn": "Test upstreamov", "apply_btn": "Použiť", "disabled_filtering_toast": "Vypnutá filtrácia", @@ -299,7 +297,6 @@ "client_edit": "Upraviť klienta", "client_identifier": "Identifikátor", "ip_address": "IP adresa", - "client_identifier_desc": "Klienti môžu byť identifikovaní podľa IP adresy alebo MAC adresy. Upozorňujeme, že používanie MAC ako identifikátora je možné len vtedy, ak je AdGuard Home tiež <0>DHCP server", "form_enter_ip": "Zadajte IP", "form_enter_mac": "Zadajte MAC", "form_client_name": "Zadajte názov klienta", diff --git a/client/src/__locales/sl.json b/client/src/__locales/sl.json index f69bd688..c0576690 100644 --- a/client/src/__locales/sl.json +++ b/client/src/__locales/sl.json @@ -45,6 +45,7 @@ "dhcp_new_static_lease": "Nov statični najem", "dhcp_static_leases_not_found": "Ni najdenih statičnih najemov DHCP", "dhcp_add_static_lease": "Dodaj statičen najem", + "dhcp_reset": "Ali ste prepričani, da želite ponastaviti konfiguracijo DHCP?", "delete_confirm": "Ali ste prepričani, da želite izbrisati \"{{key}}\"?", "form_enter_hostname": "Vnesite ime gostitelja", "error_details": "Podrobnosti o napaki", @@ -105,8 +106,9 @@ "encryption_settings": "Nastavitve šifriranja", "dhcp_settings": "Nastavitve DHCP", "upstream_dns": "Zagonski DNS strežniki", - "upstream_dns_hint": "Če pustite to polje prazno, bo AdGuard Home uporabil Cloudflare DNS kot upstream.", + "upstream_dns_hint": "Če pustite to polje prazno, bo AdGuard Home uporabil Quad9 kot tok navzgor.", "test_upstream_btn": "Preizkusi upstreame", + "upstreams": "Tokovi navzgor", "apply_btn": "Uporabi", "disabled_filtering_toast": "Onemogočeno filtriranje", "enabled_filtering_toast": "Omogočeno filtriranje", @@ -299,9 +301,11 @@ "client_edit": "Uredi odjemalca", "client_identifier": "Identifikator", "ip_address": "IP naslov", - "client_identifier_desc": "Odjemalce lahko identificirate po naslovu IP ali naslovu MAC. Upoštevajte, da je uporaba MAC kot identifikatorja mogoča le, če je AdGuard Home tudi <0>DHCP strežnik", + "client_identifier_desc": "Odjemalce je mogoče identificirati po naslovu IP, CIDR, MAC. Upoštevajte, da je uporaba MAC kot identifikatorja mogoča le, če je AdGuard Home tudi <0>DHCP strežnik", "form_enter_ip": "Vnesite IP", "form_enter_mac": "Vnesite MAC", + "form_enter_id": "Vnesi identifikatorja", + "form_add_id": "Dodaj identifikatorja", "form_client_name": "Vnesite ime odjemalca", "client_global_settings": "Uporabi splošne nastavitve", "client_deleted": "Odjemalec \"{{key}}\" je bil uspešno izbrisan", @@ -402,5 +406,6 @@ "netname": "Ime omrežja", "descr": "Opis", "whois": "Whois", - "filtering_rules_learn_more": "<0>Več o tem, o ustvarjanju lastnih Seznamov nedovoljenih gostiteljev." + "filtering_rules_learn_more": "<0>Več o tem, o ustvarjanju lastnih Seznamov nedovoljenih gostiteljev.", + "blocked_by_response": "Onemogočeno z CNAME ali IP v odgovoru" } \ No newline at end of file diff --git a/client/src/__locales/sv.json b/client/src/__locales/sv.json index 2cd65f47..b42e61bc 100644 --- a/client/src/__locales/sv.json +++ b/client/src/__locales/sv.json @@ -17,7 +17,6 @@ "dhcp_leases": "DHCP-lease", "dhcp_static_leases": "Statiska DHCP-leases", "dhcp_leases_not_found": "Ingen DHCP-lease hittad", - "dhcp_config_saved": "Sparade inställningar för DHCP-servern", "form_error_required": "Obligatoriskt fält", "form_error_mac_format": "Ogiltigt MAC-format", "form_error_positive": "Måste vara större än noll", @@ -99,7 +98,6 @@ "encryption_settings": "Krypteringsinställningar", "dhcp_settings": "DHCP-inställningar", "upstream_dns": "Upstream DNS-servrar", - "upstream_dns_hint": "Om du låter fältet vara tomt kommer AdGuard Home att använda Cloudflare DNS för uppström.", "test_upstream_btn": "Testa uppströmmar", "apply_btn": "Tillämpa", "disabled_filtering_toast": "Filtrering bortkopplad", @@ -293,7 +291,6 @@ "client_edit": "Redigera klient", "client_identifier": "Identifikator", "ip_address": "IP-adress", - "client_identifier_desc": "Klienter kan identifieras genom IP-adresser eller MAC-adresser. Notera att användning av MAC som identifierare bara är möjligt om AdGuard Home också är en <0>DHCP-server", "form_enter_ip": "Skriv in IP", "form_enter_mac": "Skriv in MAC", "form_client_name": "Skriv in klientnamn", diff --git a/client/src/__locales/tr.json b/client/src/__locales/tr.json index 9e5b2c33..a1637d34 100644 --- a/client/src/__locales/tr.json +++ b/client/src/__locales/tr.json @@ -17,7 +17,6 @@ "dhcp_leases": "DHCP kiralamaları", "dhcp_static_leases": "Sabit DHCP kiralamaları", "dhcp_leases_not_found": "DHCP kiralaması bulunamadı", - "dhcp_config_saved": "DHCP sunucusu ayarı kaydedildi", "form_error_required": "Gerekli alan", "form_error_mac_format": "Geçersiz MAC biçimi", "form_error_positive": "0'dan büyük olmalı", @@ -101,7 +100,6 @@ "encryption_settings": "Şifreleme ayarları", "dhcp_settings": "DHCP ayarları", "upstream_dns": "Üst DNS sunucusu", - "upstream_dns_hint": "Eğer bu alanı boş bırakırsanız AdGuard Home üst sunucu olarak Cloudflare DNS adresini kullanacaktır.", "test_upstream_btn": "Üst sunucuyu test et", "apply_btn": "Uygula", "disabled_filtering_toast": "Filtreleme devre dışı", @@ -284,7 +282,6 @@ "client_edit": "İstemciyi düzenle", "client_identifier": "Tanımlayıcı", "ip_address": "IP adresi", - "client_identifier_desc": "İstemciler IP adresleri veya MAC adresleri ile tanımlanabilir. Lütfen not edin, MAC adresi ile tanımlamayı kullanmak için AdGuard Home'un <0>DHCP Sunucusu olması gerekir.", "form_enter_ip": "IP Girin", "form_enter_mac": "MAC Girin", "form_client_name": "İstemci ismi girin", diff --git a/client/src/__locales/vi.json b/client/src/__locales/vi.json index 82a4e5c0..4f60c593 100644 --- a/client/src/__locales/vi.json +++ b/client/src/__locales/vi.json @@ -58,7 +58,6 @@ "no_servers_specified": "Không có máy chủ nào được liệt kê", "general_settings": "Cài đặt chung", "upstream_dns": "Máy chủ DNS tìm kiếm", - "upstream_dns_hint": "Nếu bạn để trống mục này, AdGuard Home sẽ sử dụng Cloudflare DNS để tìm kiếm. Sử dụng tiền tố tls:// cho các máy chủ DNS dựa trên TLS.", "test_upstream_btn": "Kiểm tra", "apply_btn": "Áp dụng", "disabled_filtering_toast": "Đã tắt chặn quảng cáo", diff --git a/client/src/__locales/zh-cn.json b/client/src/__locales/zh-cn.json index 866d2df5..a26b551a 100644 --- a/client/src/__locales/zh-cn.json +++ b/client/src/__locales/zh-cn.json @@ -17,7 +17,6 @@ "dhcp_leases": "DHCP 租约", "dhcp_static_leases": "DHCP 静态租约", "dhcp_leases_not_found": "未检测到 DHCP 租约", - "dhcp_config_saved": "保存 DHCP 服务器配置", "form_error_required": "必填字段", "form_error_mac_format": "无效的 MAC 格式", "form_error_positive": "必须大于 0", @@ -95,7 +94,6 @@ "encryption_settings": "加密设置", "dhcp_settings": "DHCP 设置", "upstream_dns": "上游 DNS 服务器", - "upstream_dns_hint": "如果此处留空,AdGuard Home 将会使用 Cloudflare DNS 作为上游 DNS。如果想要使用使用 DNS over TLS,请以 tls:// 为开头。", "test_upstream_btn": "测试上游 DNS", "apply_btn": "应用", "disabled_filtering_toast": "过滤器已禁用", @@ -276,7 +274,6 @@ "client_edit": "编辑客户端", "client_identifier": "标识符", "ip_address": "IP 地址", - "client_identifier_desc": "客户端可通过 IP 地址或 MAC 地址识别。请注意,如 AdGuard Home 也是 <0>DHCP 服务器,则仅能将 MAC 用作标识符", "form_enter_ip": "输入 IP", "form_enter_mac": "输入 MAC", "form_client_name": "输入客户端名称", diff --git a/client/src/__locales/zh-tw.json b/client/src/__locales/zh-tw.json index 03e1554d..7a87712d 100644 --- a/client/src/__locales/zh-tw.json +++ b/client/src/__locales/zh-tw.json @@ -17,7 +17,6 @@ "dhcp_leases": "動態主機設定協定(DHCP)租賃", "dhcp_static_leases": "動態主機設定協定(DHCP)靜態租賃", "dhcp_leases_not_found": "無已發現之動態主機設定協定(DHCP)租賃", - "dhcp_config_saved": "已儲存動態主機設定協定(DHCP)伺服器配置", "form_error_required": "必填的欄位", "form_error_ip4_format": "無效的 IPv4 格式", "form_error_ip6_format": "無效的 IPv6 格式", @@ -45,6 +44,7 @@ "dhcp_new_static_lease": "新的靜態租賃", "dhcp_static_leases_not_found": "無已發現之動態主機設定協定(DHCP)靜態租賃", "dhcp_add_static_lease": "增加靜態租賃", + "dhcp_reset": "您確定您想要重置動態主機設定協定(DHCP)配置嗎?", "delete_confirm": "您確定您想要刪除 \"{{key}}\" 嗎?", "form_enter_hostname": "輸入主機名稱", "error_details": "錯誤細節", @@ -105,7 +105,6 @@ "encryption_settings": "加密設定", "dhcp_settings": "動態主機設定協定(DHCP)設定", "upstream_dns": "上游的 DNS 伺服器", - "upstream_dns_hint": "如果您將該欄位留空,AdGuard Home 將使用 Cloudflare DNS 作為上游。", "test_upstream_btn": "測試上行資料流", "apply_btn": "套用", "disabled_filtering_toast": "已禁用過濾", @@ -299,7 +298,6 @@ "client_edit": "編輯用戶端", "client_identifier": "識別碼", "ip_address": "IP 位址", - "client_identifier_desc": "用戶端可被 IP 位址或媒體存取控制(MAC)位址識別。請注意,僅若 AdGuard Home 也是<0>動態主機設定協定(DHCP)伺服器,使用 MAC 作為識別碼是可能的", "form_enter_ip": "輸入 IP", "form_enter_mac": "輸入媒體存取控制(MAC)", "form_client_name": "輸入用戶端名稱", diff --git a/client/src/actions/index.js b/client/src/actions/index.js index 4583c1ae..0cb022d4 100644 --- a/client/src/actions/index.js +++ b/client/src/actions/index.js @@ -132,55 +132,65 @@ export const getUpdateRequest = createAction('GET_UPDATE_REQUEST'); export const getUpdateFailure = createAction('GET_UPDATE_FAILURE'); export const getUpdateSuccess = createAction('GET_UPDATE_SUCCESS'); +const checkStatus = async (handleRequestSuccess, handleRequestError, attempts = 60) => { + let timeout; + + if (attempts === 0) { + handleRequestError(); + } + + const rmTimeout = t => t && clearTimeout(t); + + try { + const response = await axios.get('control/status'); + rmTimeout(timeout); + if (response && response.status === 200) { + handleRequestSuccess(response); + if (response.data.running === false) { + timeout = setTimeout( + checkStatus, + CHECK_TIMEOUT, + handleRequestSuccess, + handleRequestError, + attempts - 1, + ); + } + } + } catch (error) { + rmTimeout(timeout); + timeout = setTimeout( + checkStatus, + CHECK_TIMEOUT, + handleRequestSuccess, + handleRequestError, + attempts - 1, + ); + } +}; + export const getUpdate = () => async (dispatch, getState) => { const { dnsVersion } = getState().dashboard; dispatch(getUpdateRequest()); - try { - await apiClient.getUpdate(); - - const checkUpdate = async (attempts) => { - let count = attempts || 1; - let timeout; - - if (count > 60) { - dispatch(addNoticeToast({ error: 'update_failed' })); - dispatch(getUpdateFailure()); - return false; - } - - const rmTimeout = t => t && clearTimeout(t); - const setRecursiveTimeout = (time, ...args) => setTimeout( - checkUpdate, - time, - ...args, - ); - - axios.get('control/status') - .then((response) => { - rmTimeout(timeout); - if (response && response.status === 200) { - const responseVersion = response.data && response.data.version; - - if (dnsVersion !== responseVersion) { - dispatch(getUpdateSuccess()); - window.location.reload(true); - } - } - timeout = setRecursiveTimeout(CHECK_TIMEOUT, count += 1); - }) - .catch(() => { - rmTimeout(timeout); - timeout = setRecursiveTimeout(CHECK_TIMEOUT, count += 1); - }); - - return false; - }; - - checkUpdate(); - } catch (error) { + const handleRequestError = () => { dispatch(addNoticeToast({ error: 'update_failed' })); dispatch(getUpdateFailure()); + }; + + const handleRequestSuccess = (response) => { + const responseVersion = response.data && response.data.version; + + if (dnsVersion !== responseVersion) { + dispatch(getUpdateSuccess()); + window.location.reload(true); + } + }; + + try { + await apiClient.getUpdate(); + checkStatus(handleRequestSuccess, handleRequestError); + } catch (error) { + handleRequestError(); } }; @@ -226,15 +236,28 @@ export const dnsStatusSuccess = createAction('DNS_STATUS_SUCCESS'); export const getDnsStatus = () => async (dispatch) => { dispatch(dnsStatusRequest()); - try { - const dnsStatus = await apiClient.getGlobalStatus(); - dispatch(dnsStatusSuccess(dnsStatus)); - dispatch(getVersion()); - dispatch(getTlsStatus()); - dispatch(getProfile()); - } catch (error) { - dispatch(addErrorToast({ error })); + + const handleRequestError = () => { + dispatch(addErrorToast({ error: 'dns_status_error' })); dispatch(dnsStatusFailure()); + window.location.reload(true); + }; + + const handleRequestSuccess = (response) => { + const dnsStatus = response.data; + const runningStatus = dnsStatus && dnsStatus.running; + if (runningStatus === true) { + dispatch(dnsStatusSuccess(dnsStatus)); + dispatch(getVersion()); + dispatch(getTlsStatus()); + dispatch(getProfile()); + } + }; + + try { + checkStatus(handleRequestSuccess, handleRequestError); + } catch (error) { + handleRequestError(error); } }; @@ -253,36 +276,6 @@ export const getDnsSettings = () => async (dispatch) => { } }; -export const enableDnsRequest = createAction('ENABLE_DNS_REQUEST'); -export const enableDnsFailure = createAction('ENABLE_DNS_FAILURE'); -export const enableDnsSuccess = createAction('ENABLE_DNS_SUCCESS'); - -export const enableDns = () => async (dispatch) => { - dispatch(enableDnsRequest()); - try { - await apiClient.startGlobalFiltering(); - dispatch(enableDnsSuccess()); - } catch (error) { - dispatch(addErrorToast({ error })); - dispatch(enableDnsFailure()); - } -}; - -export const disableDnsRequest = createAction('DISABLE_DNS_REQUEST'); -export const disableDnsFailure = createAction('DISABLE_DNS_FAILURE'); -export const disableDnsSuccess = createAction('DISABLE_DNS_SUCCESS'); - -export const disableDns = () => async (dispatch) => { - dispatch(disableDnsRequest()); - try { - await apiClient.stopGlobalFiltering(); - dispatch(disableDnsSuccess()); - } catch (error) { - dispatch(disableDnsFailure(error)); - dispatch(addErrorToast({ error })); - } -}; - export const handleUpstreamChange = createAction('HANDLE_UPSTREAM_CHANGE'); export const setUpstreamRequest = createAction('SET_UPSTREAM_REQUEST'); export const setUpstreamFailure = createAction('SET_UPSTREAM_FAILURE'); diff --git a/client/src/api/Api.js b/client/src/api/Api.js index 77dda64b..d8fed5ce 100644 --- a/client/src/api/Api.js +++ b/client/src/api/Api.js @@ -24,24 +24,12 @@ class Api { } // Global methods - GLOBAL_START = { path: 'start', method: 'POST' }; GLOBAL_STATUS = { path: 'status', method: 'GET' }; - GLOBAL_STOP = { path: 'stop', method: 'POST' }; GLOBAL_SET_UPSTREAM_DNS = { path: 'set_upstreams_config', method: 'POST' }; GLOBAL_TEST_UPSTREAM_DNS = { path: 'test_upstream_dns', method: 'POST' }; GLOBAL_VERSION = { path: 'version.json', method: 'POST' }; GLOBAL_UPDATE = { path: 'update', method: 'POST' }; - startGlobalFiltering() { - const { path, method } = this.GLOBAL_START; - return this.makeRequest(path, method); - } - - stopGlobalFiltering() { - const { path, method } = this.GLOBAL_STOP; - return this.makeRequest(path, method); - } - getGlobalStatus() { const { path, method } = this.GLOBAL_STATUS; return this.makeRequest(path, method); diff --git a/client/src/components/App/index.js b/client/src/components/App/index.js index 3fd4d1a5..843047c3 100644 --- a/client/src/components/App/index.js +++ b/client/src/components/App/index.js @@ -29,6 +29,7 @@ import UpdateOverlay from '../ui/UpdateOverlay'; import EncryptionTopline from '../ui/EncryptionTopline'; import Icons from '../ui/Icons'; import i18n from '../../i18n'; +import Loading from '../ui/Loading'; class App extends Component { componentDidMount() { @@ -41,8 +42,8 @@ class App extends Component { } } - handleStatusChange = () => { - this.props.enableDns(); + reloadPage = () => { + window.location.reload(); }; handleUpdate = () => { @@ -88,10 +89,13 @@ class App extends Component {
- {!dashboard.processing && !dashboard.isCoreRunning && ( + {dashboard.processing && !dashboard.isCoreRunning && (
- + +
)} diff --git a/client/src/components/Dashboard/index.js b/client/src/components/Dashboard/index.js index b4889db6..2f871720 100644 --- a/client/src/components/Dashboard/index.js +++ b/client/src/components/Dashboard/index.js @@ -41,10 +41,7 @@ class Dashboard extends Component { render() { const { dashboard, stats, t } = this.props; - const dashboardProcessing = - dashboard.processing || - stats.processingStats || - stats.processingGetConfig; + const statsProcessing = stats.processingStats || stats.processingGetConfig; const subtitle = stats.interval === 1 @@ -81,8 +78,8 @@ class Dashboard extends Component { {refreshFullButton}
- {dashboardProcessing && } - {!dashboardProcessing && ( + {statsProcessing && } + {!statsProcessing && (
( +const Status = ({ message, buttonMessage, reloadPage }) => (
- You are currently not using AdGuard Home + {message}
- + {buttonMessage && + }
); Status.propTypes = { - handleStatusChange: PropTypes.func.isRequired, + message: PropTypes.string.isRequired, + buttonMessage: PropTypes.string, + reloadPage: PropTypes.func, }; -export default Status; +export default withNamespaces()(Status); diff --git a/client/src/reducers/index.js b/client/src/reducers/index.js index 0e2b69bb..550c080b 100644 --- a/client/src/reducers/index.js +++ b/client/src/reducers/index.js @@ -90,20 +90,6 @@ const dashboard = handleActions( return newState; }, - [actions.enableDnsRequest]: state => ({ ...state, processing: true }), - [actions.enableDnsFailure]: state => ({ ...state, processing: false }), - [actions.enableDnsSuccess]: (state) => { - const newState = { ...state, isCoreRunning: !state.isCoreRunning, processing: false }; - return newState; - }, - - [actions.disableDnsRequest]: state => ({ ...state, processing: true }), - [actions.disableDnsFailure]: state => ({ ...state, processing: false }), - [actions.disableDnsSuccess]: (state) => { - const newState = { ...state, isCoreRunning: !state.isCoreRunning, processing: false }; - return newState; - }, - [actions.getVersionRequest]: state => ({ ...state, processingVersion: true }), [actions.getVersionFailure]: state => ({ ...state, processingVersion: false }), [actions.getVersionSuccess]: (state, { payload }) => {