webapp: Beautify and unify form footers

This commit is contained in:
Thomas Basler 2023-12-13 19:40:07 +01:00
parent 4d266a930a
commit 14f6669314
10 changed files with 54 additions and 45 deletions

View File

@ -0,0 +1,7 @@
<template>
<hr class="border border-3 opacity-75">
<div class="d-grid gap-2 d-md-flex justify-content-md-end">
<button type="button" class="btn btn-secondary" @click="$emit('reload')">{{ $t('base.Cancel') }}</button>
<button type="submit" class="btn btn-primary">{{ $t('base.Save') }}</button>
</div>
</template>

View File

@ -24,7 +24,9 @@
}, },
"base": { "base": {
"Loading": "Lade...", "Loading": "Lade...",
"Reload": "Aktualisieren" "Reload": "Aktualisieren",
"Cancel": "Abbrechen",
"Save": "Speichern"
}, },
"localeswitcher": { "localeswitcher": {
"Dark": "Dunkel", "Dark": "Dunkel",
@ -330,7 +332,7 @@
"DeviceReboot": "Gerät neu starten", "DeviceReboot": "Gerät neu starten",
"PerformReboot": "Neustart durchführen", "PerformReboot": "Neustart durchführen",
"Reboot": "Neustarten!", "Reboot": "Neustarten!",
"Cancel": "Abbrechen", "Cancel": "@:base.Cancel",
"RebootOpenDTU": "OpenDTU neustarten", "RebootOpenDTU": "OpenDTU neustarten",
"RebootQuestion": "Möchten Sie das Gerät wirklich neu starten?", "RebootQuestion": "Möchten Sie das Gerät wirklich neu starten?",
"RebootHint": "<b>Hinweis:</b> Ein manueller Neustart muss normalerweise nicht durchgeführt werden. OpenDTU führt jeden erforderlichen Neustart (z. B. nach einem Firmware-Update) automatisch durch. Einstellungen werden auch ohne Neustart übernommen. Wenn Sie aufgrund eines Fehlers einen Neustart durchführen müssen, denken Sie bitte daran, diesen unter <a href=\"https://github.com/tbnobody/OpenDTU/issues\" class=\"alert-link\" target=\"_blank\">https://github.com/tbnobody/OpenDTU/issues</a> zu melden." "RebootHint": "<b>Hinweis:</b> Ein manueller Neustart muss normalerweise nicht durchgeführt werden. OpenDTU führt jeden erforderlichen Neustart (z. B. nach einem Firmware-Update) automatisch durch. Einstellungen werden auch ohne Neustart übernommen. Wenn Sie aufgrund eines Fehlers einen Neustart durchführen müssen, denken Sie bitte daran, diesen unter <a href=\"https://github.com/tbnobody/OpenDTU/issues\" class=\"alert-link\" target=\"_blank\">https://github.com/tbnobody/OpenDTU/issues</a> zu melden."
@ -351,7 +353,6 @@
"CmtFrequencyWarning": "Die ausgewählte Frequenz befindet außerhalb des in der EU zugelassenen Bereiches. Vergewissere dich, dass mit dieser Auswahl keine lokalen Regularien verletzt werden.", "CmtFrequencyWarning": "Die ausgewählte Frequenz befindet außerhalb des in der EU zugelassenen Bereiches. Vergewissere dich, dass mit dieser Auswahl keine lokalen Regularien verletzt werden.",
"MHz": "{mhz} MHz", "MHz": "{mhz} MHz",
"dBm": "{dbm} dBm", "dBm": "{dbm} dBm",
"Save": "Speichern",
"Min": "Minimum ({db} dBm)", "Min": "Minimum ({db} dBm)",
"Low": "Niedrig ({db} dBm)", "Low": "Niedrig ({db} dBm)",
"High": "Hoch ({db} dBm)", "High": "Hoch ({db} dBm)",
@ -364,8 +365,7 @@
"RepeatPassword": "Passwort wiederholen:", "RepeatPassword": "Passwort wiederholen:",
"PasswordHint": "<b>Hinweis:</b> Das Administrator-Passwort wird für den Zugriff auf die Webschnittstelle (Benutzer 'admin'), aber auch für die Verbindung mit dem Gerät im AP-Modus verwendet. Es muss zwischen 8 und 64 Zeichen lang sein.", "PasswordHint": "<b>Hinweis:</b> Das Administrator-Passwort wird für den Zugriff auf die Webschnittstelle (Benutzer 'admin'), aber auch für die Verbindung mit dem Gerät im AP-Modus verwendet. Es muss zwischen 8 und 64 Zeichen lang sein.",
"Permissions": "Berechtigungen", "Permissions": "Berechtigungen",
"ReadOnly": "Nur-Lese-Zugriff auf die Weboberfläche ohne Passwort zulassen", "ReadOnly": "Nur-Lese-Zugriff auf die Weboberfläche ohne Passwort zulassen"
"Save": "@:dtuadmin.Save"
}, },
"ntpadmin": { "ntpadmin": {
"NtpSettings": "NTP-Einstellungen", "NtpSettings": "NTP-Einstellungen",
@ -383,7 +383,6 @@
"NAUTICAL": "Nautische Dämmerung (102°)", "NAUTICAL": "Nautische Dämmerung (102°)",
"CIVIL": "Bürgerliche Dämmerung (96°)", "CIVIL": "Bürgerliche Dämmerung (96°)",
"ASTONOMICAL": "Astronomische Dämmerung (108°)", "ASTONOMICAL": "Astronomische Dämmerung (108°)",
"Save": "@:dtuadmin.Save",
"ManualTimeSynchronization": "Manuelle Zeitsynchronization", "ManualTimeSynchronization": "Manuelle Zeitsynchronization",
"CurrentOpenDtuTime": "Aktuelle OpenDTU-Zeit:", "CurrentOpenDtuTime": "Aktuelle OpenDTU-Zeit:",
"CurrentLocalTime": "Aktuelle lokale Zeit:", "CurrentLocalTime": "Aktuelle lokale Zeit:",
@ -407,7 +406,6 @@
"ApTimeout": "AccessPoint Zeitlimit:", "ApTimeout": "AccessPoint Zeitlimit:",
"ApTimeoutHint": "Zeit die der AccessPoint offen gehalten wird. Ein Wert von 0 bedeutet unendlich.", "ApTimeoutHint": "Zeit die der AccessPoint offen gehalten wird. Ein Wert von 0 bedeutet unendlich.",
"Minutes": "Minuten", "Minutes": "Minuten",
"Save": "@:dtuadmin.Save",
"EnableMdns": "mDNS aktivieren", "EnableMdns": "mDNS aktivieren",
"MdnsSettings": "mDNS-Einstellungen" "MdnsSettings": "mDNS-Einstellungen"
}, },
@ -451,8 +449,7 @@
"HassPrefixTopicHint": "The prefix for the discovery topic", "HassPrefixTopicHint": "The prefix for the discovery topic",
"HassRetain": "Retain Flag aktivieren", "HassRetain": "Retain Flag aktivieren",
"HassExpire": "Ablauffunktion aktivieren", "HassExpire": "Ablauffunktion aktivieren",
"HassIndividual": "Einzelne Paneele", "HassIndividual": "Einzelne Paneele"
"Save": "@:dtuadmin.Save"
}, },
"inverteradmin": { "inverteradmin": {
"InverterSettings": "Wechselrichter Einstellungen", "InverterSettings": "Wechselrichter Einstellungen",
@ -495,8 +492,8 @@
"ZeroRuntimeHint": "Nulle Laufzeit Daten (keine Ertragsdaten), wenn der Wechselrichter nicht erreichbar ist.", "ZeroRuntimeHint": "Nulle Laufzeit Daten (keine Ertragsdaten), wenn der Wechselrichter nicht erreichbar ist.",
"ZeroDay": "Nulle Tagesertrag um Mitternacht", "ZeroDay": "Nulle Tagesertrag um Mitternacht",
"ZeroDayHint": "Das funktioniert nur wenn der Wechselrichter nicht erreichbar ist. Wenn Daten aus dem Wechselrichter gelesen werden, werden deren Werte verwendet. (Ein Reset erfolgt nur beim Neustarten)", "ZeroDayHint": "Das funktioniert nur wenn der Wechselrichter nicht erreichbar ist. Wenn Daten aus dem Wechselrichter gelesen werden, werden deren Werte verwendet. (Ein Reset erfolgt nur beim Neustarten)",
"Cancel": "@:maintenancereboot.Cancel", "Cancel": "@:base.Cancel",
"Save": "@:dtuadmin.Save", "Save": "@:base.Save",
"DeleteMsg": "Soll der Wechselrichter \"{name}\" mit der Seriennummer {serial} wirklich gelöscht werden?", "DeleteMsg": "Soll der Wechselrichter \"{name}\" mit der Seriennummer {serial} wirklich gelöscht werden?",
"Delete": "Löschen", "Delete": "Löschen",
"YieldDayCorrection": "Tagesertragskorrektur", "YieldDayCorrection": "Tagesertragskorrektur",
@ -519,7 +516,7 @@
"FactoryReset": "Werksreset", "FactoryReset": "Werksreset",
"ResetMsg": "Sind Sie sicher, dass Sie die aktuelle Konfiguration löschen und alle Einstellungen auf die Werkseinstellungen zurücksetzen möchten?", "ResetMsg": "Sind Sie sicher, dass Sie die aktuelle Konfiguration löschen und alle Einstellungen auf die Werkseinstellungen zurücksetzen möchten?",
"ResetConfirm": "Werksreset!", "ResetConfirm": "Werksreset!",
"Cancel": "@:maintenancereboot.Cancel" "Cancel": "@:base.Cancel"
}, },
"login": { "login": {
"Login": "Anmeldung", "Login": "Anmeldung",
@ -586,8 +583,7 @@
"fr": "Französisch", "fr": "Französisch",
"Leds": "LEDs", "Leds": "LEDs",
"EqualBrightness": "Gleiche Helligkeit:", "EqualBrightness": "Gleiche Helligkeit:",
"LedBrightness": "LED {led} Helligkeit ({brightness}):", "LedBrightness": "LED {led} Helligkeit ({brightness}):"
"Save": "@:dtuadmin.Save"
}, },
"pininfo": { "pininfo": {
"PinOverview": "Anschlussübersicht", "PinOverview": "Anschlussübersicht",

View File

@ -24,7 +24,9 @@
}, },
"base": { "base": {
"Loading": "Loading...", "Loading": "Loading...",
"Reload": "Reload" "Reload": "Reload",
"Cancel": "Cancel",
"Save": "Save"
}, },
"localeswitcher": { "localeswitcher": {
"Dark": "Dark", "Dark": "Dark",
@ -330,7 +332,7 @@
"DeviceReboot": "Device Reboot", "DeviceReboot": "Device Reboot",
"PerformReboot": "Perform Reboot", "PerformReboot": "Perform Reboot",
"Reboot": "Reboot!", "Reboot": "Reboot!",
"Cancel": "Cancel", "Cancel": "@:base.Cancel",
"RebootOpenDTU": "Reboot OpenDTU", "RebootOpenDTU": "Reboot OpenDTU",
"RebootQuestion": "Do you really want to reboot the device?", "RebootQuestion": "Do you really want to reboot the device?",
"RebootHint": "<b>Note:</b> A manual reboot does not normally have to be performed. OpenDTU performs any required reboot (e.g. after a firmware update) automatically. Settings are also adopted without rebooting. If you need to reboot due to an error, please consider reporting it at <a href=\"https://github.com/tbnobody/OpenDTU/issues\" class=\"alert-link\" target=\"_blank\">https://github.com/tbnobody/OpenDTU/issues</a>." "RebootHint": "<b>Note:</b> A manual reboot does not normally have to be performed. OpenDTU performs any required reboot (e.g. after a firmware update) automatically. Settings are also adopted without rebooting. If you need to reboot due to an error, please consider reporting it at <a href=\"https://github.com/tbnobody/OpenDTU/issues\" class=\"alert-link\" target=\"_blank\">https://github.com/tbnobody/OpenDTU/issues</a>."
@ -351,7 +353,6 @@
"CmtFrequencyWarning": "The selected frequency is outside the range allowed in the EU. Make sure that this selection does not violate any local regulations.", "CmtFrequencyWarning": "The selected frequency is outside the range allowed in the EU. Make sure that this selection does not violate any local regulations.",
"MHz": "{mhz} MHz", "MHz": "{mhz} MHz",
"dBm": "{dbm} dBm", "dBm": "{dbm} dBm",
"Save": "Save",
"Min": "Minimum ({db} dBm)", "Min": "Minimum ({db} dBm)",
"Low": "Low ({db} dBm)", "Low": "Low ({db} dBm)",
"High": "High ({db} dBm)", "High": "High ({db} dBm)",
@ -364,8 +365,7 @@
"RepeatPassword": "Repeat Password:", "RepeatPassword": "Repeat Password:",
"PasswordHint": "<b>Hint:</b> The administrator password is used to access this web interface (user 'admin'), but also to connect to the device when in AP mode. It must be 8..64 characters.", "PasswordHint": "<b>Hint:</b> The administrator password is used to access this web interface (user 'admin'), but also to connect to the device when in AP mode. It must be 8..64 characters.",
"Permissions": "Permissions", "Permissions": "Permissions",
"ReadOnly": "Allow readonly access to web interface without password", "ReadOnly": "Allow readonly access to web interface without password"
"Save": "@:dtuadmin.Save"
}, },
"ntpadmin": { "ntpadmin": {
"NtpSettings": "NTP Settings", "NtpSettings": "NTP Settings",
@ -383,7 +383,6 @@
"NAUTICAL": "Nautical dawn (102°)", "NAUTICAL": "Nautical dawn (102°)",
"CIVIL": "Civil dawn (96°)", "CIVIL": "Civil dawn (96°)",
"ASTONOMICAL": "Astronomical dawn (108°)", "ASTONOMICAL": "Astronomical dawn (108°)",
"Save": "@:dtuadmin.Save",
"ManualTimeSynchronization": "Manual Time Synchronization", "ManualTimeSynchronization": "Manual Time Synchronization",
"CurrentOpenDtuTime": "Current OpenDTU Time:", "CurrentOpenDtuTime": "Current OpenDTU Time:",
"CurrentLocalTime": "Current Local Time:", "CurrentLocalTime": "Current Local Time:",
@ -407,7 +406,6 @@
"ApTimeout": "AccessPoint Timeout:", "ApTimeout": "AccessPoint Timeout:",
"ApTimeoutHint": "Time which the AccessPoint is kept open. A value of 0 means infinite.", "ApTimeoutHint": "Time which the AccessPoint is kept open. A value of 0 means infinite.",
"Minutes": "minutes", "Minutes": "minutes",
"Save": "@:dtuadmin.Save",
"EnableMdns": "Enable mDNS", "EnableMdns": "Enable mDNS",
"MdnsSettings": "mDNS Settings" "MdnsSettings": "mDNS Settings"
}, },
@ -451,8 +449,7 @@
"HassPrefixTopicHint": "The prefix for the discovery topic", "HassPrefixTopicHint": "The prefix for the discovery topic",
"HassRetain": "Enable Retain Flag", "HassRetain": "Enable Retain Flag",
"HassExpire": "Enable Expiration", "HassExpire": "Enable Expiration",
"HassIndividual": "Individual Panels", "HassIndividual": "Individual Panels"
"Save": "@:dtuadmin.Save"
}, },
"inverteradmin": { "inverteradmin": {
"InverterSettings": "Inverter Settings", "InverterSettings": "Inverter Settings",
@ -495,8 +492,8 @@
"ZeroRuntimeHint": "Zero runtime data (no yield data) if inverter becomes unreachable.", "ZeroRuntimeHint": "Zero runtime data (no yield data) if inverter becomes unreachable.",
"ZeroDay": "Zero daily yield at midnight", "ZeroDay": "Zero daily yield at midnight",
"ZeroDayHint": "This only works if the inverter is unreachable. If data is read from the inverter, it's values will be used. (Reset only occours on power cycle)", "ZeroDayHint": "This only works if the inverter is unreachable. If data is read from the inverter, it's values will be used. (Reset only occours on power cycle)",
"Cancel": "@:maintenancereboot.Cancel", "Cancel": "@:base.Cancel",
"Save": "@:dtuadmin.Save", "Save": "@:base.Save",
"DeleteMsg": "Are you sure you want to delete the inverter \"{name}\" with serial number {serial}?", "DeleteMsg": "Are you sure you want to delete the inverter \"{name}\" with serial number {serial}?",
"Delete": "Delete", "Delete": "Delete",
"YieldDayCorrection": "Yield Day Correction", "YieldDayCorrection": "Yield Day Correction",
@ -519,7 +516,7 @@
"FactoryReset": "Factory Reset", "FactoryReset": "Factory Reset",
"ResetMsg": "Are you sure you want to delete the current configuration and reset all settings to their factory defaults?", "ResetMsg": "Are you sure you want to delete the current configuration and reset all settings to their factory defaults?",
"ResetConfirm": "Factory Reset!", "ResetConfirm": "Factory Reset!",
"Cancel": "@:maintenancereboot.Cancel" "Cancel": "@:base.Cancel"
}, },
"login": { "login": {
"Login": "Login", "Login": "Login",
@ -586,8 +583,7 @@
"fr": "French", "fr": "French",
"Leds": "LEDs", "Leds": "LEDs",
"EqualBrightness": "Equal brightness:", "EqualBrightness": "Equal brightness:",
"LedBrightness": "LED {led} brightness ({brightness}):", "LedBrightness": "LED {led} brightness ({brightness}):"
"Save": "@:dtuadmin.Save"
}, },
"pininfo": { "pininfo": {
"PinOverview": "Connection overview", "PinOverview": "Connection overview",

View File

@ -24,7 +24,9 @@
}, },
"base": { "base": {
"Loading": "Chargement...", "Loading": "Chargement...",
"Reload": "Reload" "Reload": "Reload",
"Cancel": "Annuler",
"Save": "Sauvegarder"
}, },
"localeswitcher": { "localeswitcher": {
"Dark": "Sombre", "Dark": "Sombre",
@ -330,7 +332,7 @@
"DeviceReboot": "Redémarrage de l'appareil", "DeviceReboot": "Redémarrage de l'appareil",
"PerformReboot": "Effectuer un redémarrage", "PerformReboot": "Effectuer un redémarrage",
"Reboot": "Redémarrer !", "Reboot": "Redémarrer !",
"Cancel": "Annuler", "Cancel": "@:base.Cancel",
"RebootOpenDTU": "Redémarrer OpenDTU", "RebootOpenDTU": "Redémarrer OpenDTU",
"RebootQuestion": "Voulez-vous vraiment redémarrer l'appareil ?", "RebootQuestion": "Voulez-vous vraiment redémarrer l'appareil ?",
"RebootHint": "<b>Astuce :</b> Normalement, il n'est pas nécessaire de procéder à un redémarrage manuel. OpenDTU effectue automatiquement tout redémarrage nécessaire (par exemple, après une mise à jour du firmware). Les paramètres sont également adoptés sans redémarrage. Si vous devez redémarrer en raison d'une erreur, veuillez envisager de la signaler à l'adresse suivante <a href=\"https://github.com/tbnobody/OpenDTU/issues\" class=\"alert-link\" target=\"_blank\">https://github.com/tbnobody/OpenDTU/issues</a>." "RebootHint": "<b>Astuce :</b> Normalement, il n'est pas nécessaire de procéder à un redémarrage manuel. OpenDTU effectue automatiquement tout redémarrage nécessaire (par exemple, après une mise à jour du firmware). Les paramètres sont également adoptés sans redémarrage. Si vous devez redémarrer en raison d'une erreur, veuillez envisager de la signaler à l'adresse suivante <a href=\"https://github.com/tbnobody/OpenDTU/issues\" class=\"alert-link\" target=\"_blank\">https://github.com/tbnobody/OpenDTU/issues</a>."
@ -351,7 +353,6 @@
"CmtFrequencyWarning": "The selected frequency is outside the range allowed in the EU. Make sure that this selection does not violate any local regulations.", "CmtFrequencyWarning": "The selected frequency is outside the range allowed in the EU. Make sure that this selection does not violate any local regulations.",
"MHz": "{mhz} MHz", "MHz": "{mhz} MHz",
"dBm": "{dbm} dBm", "dBm": "{dbm} dBm",
"Save": "Sauvegarder",
"Min": "Minimum ({db} dBm)", "Min": "Minimum ({db} dBm)",
"Low": "Bas ({db} dBm)", "Low": "Bas ({db} dBm)",
"High": "Haut ({db} dBm)", "High": "Haut ({db} dBm)",
@ -364,8 +365,7 @@
"RepeatPassword": "Répéter le mot de passe", "RepeatPassword": "Répéter le mot de passe",
"PasswordHint": "<b>Astuce :</b> Le mot de passe administrateur est utilisé pour accéder à cette interface web (utilisateur 'admin'), mais aussi pour se connecter à l'appareil en mode AP. Il doit comporter de 8 à 64 caractères.", "PasswordHint": "<b>Astuce :</b> Le mot de passe administrateur est utilisé pour accéder à cette interface web (utilisateur 'admin'), mais aussi pour se connecter à l'appareil en mode AP. Il doit comporter de 8 à 64 caractères.",
"Permissions": "Autorisations", "Permissions": "Autorisations",
"ReadOnly": "Autoriser l'accès en lecture seule à l'interface web sans mot de passe", "ReadOnly": "Autoriser l'accès en lecture seule à l'interface web sans mot de passe"
"Save": "@:dtuadmin.Save"
}, },
"ntpadmin": { "ntpadmin": {
"NtpSettings": "Paramètres NTP", "NtpSettings": "Paramètres NTP",
@ -383,7 +383,6 @@
"NAUTICAL": "Nautical dawn (102°)", "NAUTICAL": "Nautical dawn (102°)",
"CIVIL": "Civil dawn (96°)", "CIVIL": "Civil dawn (96°)",
"ASTONOMICAL": "Astronomical dawn (108°)", "ASTONOMICAL": "Astronomical dawn (108°)",
"Save": "@:dtuadmin.Save",
"ManualTimeSynchronization": "Synchronisation manuelle de l'heure", "ManualTimeSynchronization": "Synchronisation manuelle de l'heure",
"CurrentOpenDtuTime": "Heure actuelle de l'OpenDTU", "CurrentOpenDtuTime": "Heure actuelle de l'OpenDTU",
"CurrentLocalTime": "Heure locale actuelle", "CurrentLocalTime": "Heure locale actuelle",
@ -495,8 +494,8 @@
"ZeroRuntimeHint": "Zero runtime data (no yield data) if inverter becomes unreachable.", "ZeroRuntimeHint": "Zero runtime data (no yield data) if inverter becomes unreachable.",
"ZeroDay": "Zero daily yield at midnight", "ZeroDay": "Zero daily yield at midnight",
"ZeroDayHint": "This only works if the inverter is unreachable. If data is read from the inverter, it's values will be used. (Reset only occours on power cycle)", "ZeroDayHint": "This only works if the inverter is unreachable. If data is read from the inverter, it's values will be used. (Reset only occours on power cycle)",
"Cancel": "@:maintenancereboot.Cancel", "Cancel": "@:base.Cancel",
"Save": "@:dtuadmin.Save", "Save": "@:base.Save",
"DeleteMsg": "Êtes-vous sûr de vouloir supprimer l'onduleur \"{name}\" avec le numéro de série \"{serial}\" ?", "DeleteMsg": "Êtes-vous sûr de vouloir supprimer l'onduleur \"{name}\" avec le numéro de série \"{serial}\" ?",
"Delete": "Supprimer", "Delete": "Supprimer",
"YieldDayCorrection": "Yield Day Correction", "YieldDayCorrection": "Yield Day Correction",
@ -519,7 +518,7 @@
"FactoryReset": "Remise à zéro", "FactoryReset": "Remise à zéro",
"ResetMsg": "Êtes-vous sûr de vouloir supprimer la configuration actuelle et réinitialiser tous les paramètres à leurs valeurs par défaut ?", "ResetMsg": "Êtes-vous sûr de vouloir supprimer la configuration actuelle et réinitialiser tous les paramètres à leurs valeurs par défaut ?",
"ResetConfirm": "Remise à zéro !", "ResetConfirm": "Remise à zéro !",
"Cancel": "@:maintenancereboot.Cancel" "Cancel": "@:base.Cancel"
}, },
"login": { "login": {
"Login": "Connexion", "Login": "Connexion",
@ -586,8 +585,7 @@
"fr": "Français", "fr": "Français",
"Leds": "LEDs", "Leds": "LEDs",
"EqualBrightness": "Même luminosité:", "EqualBrightness": "Même luminosité:",
"LedBrightness": "LED {led} luminosité ({brightness}):", "LedBrightness": "LED {led} luminosité ({brightness}):"
"Save": "@:dtuadmin.Save"
}, },
"pininfo": { "pininfo": {
"PinOverview": "Vue d'ensemble des connexions", "PinOverview": "Vue d'ensemble des connexions",

View File

@ -123,7 +123,7 @@
</div> </div>
</div> </div>
<button type="submit" class="btn btn-primary mb-3">{{ $t('deviceadmin.Save') }}</button> <FormFooter @reload="getDeviceConfig"/>
</form> </form>
</BasePage> </BasePage>
@ -132,6 +132,7 @@
<script lang="ts"> <script lang="ts">
import BasePage from '@/components/BasePage.vue'; import BasePage from '@/components/BasePage.vue';
import BootstrapAlert from "@/components/BootstrapAlert.vue"; import BootstrapAlert from "@/components/BootstrapAlert.vue";
import FormFooter from '@/components/FormFooter.vue';
import InputElement from '@/components/InputElement.vue'; import InputElement from '@/components/InputElement.vue';
import PinInfo from '@/components/PinInfo.vue'; import PinInfo from '@/components/PinInfo.vue';
import type { DeviceConfig, Led } from "@/types/DeviceConfig"; import type { DeviceConfig, Led } from "@/types/DeviceConfig";
@ -143,6 +144,7 @@ export default defineComponent({
components: { components: {
BasePage, BasePage,
BootstrapAlert, BootstrapAlert,
FormFooter,
InputElement, InputElement,
PinInfo, PinInfo,
}, },

View File

@ -66,7 +66,7 @@
</div> </div>
</CardElement> </CardElement>
<button type="submit" class="btn btn-primary mb-3">{{ $t('dtuadmin.Save') }}</button> <FormFooter @reload="getDtuConfig"/>
</form> </form>
</BasePage> </BasePage>
</template> </template>
@ -75,6 +75,7 @@
import BasePage from '@/components/BasePage.vue'; import BasePage from '@/components/BasePage.vue';
import BootstrapAlert from "@/components/BootstrapAlert.vue"; import BootstrapAlert from "@/components/BootstrapAlert.vue";
import CardElement from '@/components/CardElement.vue'; import CardElement from '@/components/CardElement.vue';
import FormFooter from '@/components/FormFooter.vue';
import InputElement from '@/components/InputElement.vue'; import InputElement from '@/components/InputElement.vue';
import type { DtuConfig } from "@/types/DtuConfig"; import type { DtuConfig } from "@/types/DtuConfig";
import { authHeader, handleResponse } from '@/utils/authentication'; import { authHeader, handleResponse } from '@/utils/authentication';
@ -86,6 +87,7 @@ export default defineComponent({
BasePage, BasePage,
BootstrapAlert, BootstrapAlert,
CardElement, CardElement,
FormFooter,
InputElement, InputElement,
BIconInfoCircle, BIconInfoCircle,
}, },

View File

@ -134,7 +134,7 @@
type="checkbox"/> type="checkbox"/>
</CardElement> </CardElement>
<button type="submit" class="btn btn-primary mb-3">{{ $t('mqttadmin.Save') }}</button> <FormFooter @reload="getMqttConfig"/>
</form> </form>
</BasePage> </BasePage>
</template> </template>
@ -143,6 +143,7 @@
import BasePage from '@/components/BasePage.vue'; import BasePage from '@/components/BasePage.vue';
import BootstrapAlert from "@/components/BootstrapAlert.vue"; import BootstrapAlert from "@/components/BootstrapAlert.vue";
import CardElement from '@/components/CardElement.vue'; import CardElement from '@/components/CardElement.vue';
import FormFooter from '@/components/FormFooter.vue';
import InputElement from '@/components/InputElement.vue'; import InputElement from '@/components/InputElement.vue';
import type { MqttConfig } from "@/types/MqttConfig"; import type { MqttConfig } from "@/types/MqttConfig";
import { authHeader, handleResponse } from '@/utils/authentication'; import { authHeader, handleResponse } from '@/utils/authentication';
@ -153,6 +154,7 @@ export default defineComponent({
BasePage, BasePage,
BootstrapAlert, BootstrapAlert,
CardElement, CardElement,
FormFooter,
InputElement, InputElement,
}, },
data() { data() {

View File

@ -63,7 +63,7 @@
:postfix="$t('networkadmin.Minutes')" :postfix="$t('networkadmin.Minutes')"
:tooltip="$t('networkadmin.ApTimeoutHint')"/> :tooltip="$t('networkadmin.ApTimeoutHint')"/>
</CardElement> </CardElement>
<button type="submit" class="btn btn-primary mb-3">{{ $t('networkadmin.Save') }}</button> <FormFooter @reload="getNetworkConfig"/>
</form> </form>
</BasePage> </BasePage>
</template> </template>
@ -72,6 +72,7 @@
import BasePage from '@/components/BasePage.vue'; import BasePage from '@/components/BasePage.vue';
import BootstrapAlert from "@/components/BootstrapAlert.vue"; import BootstrapAlert from "@/components/BootstrapAlert.vue";
import CardElement from '@/components/CardElement.vue'; import CardElement from '@/components/CardElement.vue';
import FormFooter from '@/components/FormFooter.vue';
import InputElement from '@/components/InputElement.vue'; import InputElement from '@/components/InputElement.vue';
import type { NetworkConfig } from "@/types/NetworkConfig"; import type { NetworkConfig } from "@/types/NetworkConfig";
import { authHeader, handleResponse } from '@/utils/authentication'; import { authHeader, handleResponse } from '@/utils/authentication';
@ -82,6 +83,7 @@ export default defineComponent({
BasePage, BasePage,
BootstrapAlert, BootstrapAlert,
CardElement, CardElement,
FormFooter,
InputElement, InputElement,
}, },
data() { data() {

View File

@ -52,7 +52,7 @@
</div> </div>
</div> </div>
</CardElement> </CardElement>
<button type="submit" class="btn btn-primary mb-3">{{ $t('ntpadmin.Save') }}</button> <FormFooter @reload="getNtpConfig"/>
</form> </form>
<CardElement :text="$t('ntpadmin.ManualTimeSynchronization')" textVariant="text-bg-primary" add-space> <CardElement :text="$t('ntpadmin.ManualTimeSynchronization')" textVariant="text-bg-primary" add-space>
@ -79,6 +79,7 @@ import BasePage from '@/components/BasePage.vue';
import BootstrapAlert from "@/components/BootstrapAlert.vue"; import BootstrapAlert from "@/components/BootstrapAlert.vue";
import CardElement from '@/components/CardElement.vue'; import CardElement from '@/components/CardElement.vue';
import InputElement from '@/components/InputElement.vue'; import InputElement from '@/components/InputElement.vue';
import FormFooter from '@/components/FormFooter.vue';
import type { NtpConfig } from "@/types/NtpConfig"; import type { NtpConfig } from "@/types/NtpConfig";
import { authHeader, handleResponse } from '@/utils/authentication'; import { authHeader, handleResponse } from '@/utils/authentication';
import { defineComponent } from 'vue'; import { defineComponent } from 'vue';
@ -89,6 +90,7 @@ export default defineComponent({
BasePage, BasePage,
BootstrapAlert, BootstrapAlert,
CardElement, CardElement,
FormFooter,
InputElement, InputElement,
BIconInfoCircle, BIconInfoCircle,
}, },

View File

@ -23,7 +23,7 @@
type="checkbox" wide/> type="checkbox" wide/>
</CardElement> </CardElement>
<button type="submit" class="btn btn-primary mb-3">{{ $t('securityadmin.Save') }}</button> <FormFooter @reload="getPasswordConfig"/>
</form> </form>
</BasePage> </BasePage>
</template> </template>
@ -32,6 +32,7 @@
import BasePage from '@/components/BasePage.vue'; import BasePage from '@/components/BasePage.vue';
import BootstrapAlert from "@/components/BootstrapAlert.vue"; import BootstrapAlert from "@/components/BootstrapAlert.vue";
import CardElement from '@/components/CardElement.vue'; import CardElement from '@/components/CardElement.vue';
import FormFooter from '@/components/FormFooter.vue';
import InputElement from '@/components/InputElement.vue'; import InputElement from '@/components/InputElement.vue';
import type { SecurityConfig } from '@/types/SecurityConfig'; import type { SecurityConfig } from '@/types/SecurityConfig';
import { authHeader, handleResponse } from '@/utils/authentication'; import { authHeader, handleResponse } from '@/utils/authentication';
@ -42,6 +43,7 @@ export default defineComponent({
BasePage, BasePage,
BootstrapAlert, BootstrapAlert,
CardElement, CardElement,
FormFooter,
InputElement, InputElement,
}, },
data() { data() {