This commit is contained in:
+21
-15
@@ -6609,21 +6609,8 @@ function renderSettings() {
|
||||
<h3 id="onlineBackupHeading">Verschlüsseltes Online-Backup</h3>
|
||||
<p>Die Verschlüsselung findet ausschließlich auf diesem Gerät statt. Der Server speichert nur verschlüsselte Daten.</p>
|
||||
</div>
|
||||
<div class="online-backup-key-row" data-settings-search-entry data-settings-search-section="Online-Backup">
|
||||
<label for="onlineBackupKeyInput">Schlüssel importieren</label>
|
||||
<input type="password" class="key-input" id="onlineBackupKeyInput" maxlength="75" pattern="MHU2-[A-Za-z0-9_-]{70}" spellcheck="false" autocomplete="off" placeholder="MHU2-…">
|
||||
<button class="btn btn-secondary" id="restoreOnlineBackupBtn" disabled>Importieren</button>
|
||||
</div>
|
||||
<p class="online-backup-warning">Behandle den Schlüssel wie ein Passwort. Wer ihn besitzt, kann die verschlüsselten Einstellungen entschlüsseln.</p>
|
||||
<section class="online-backup-managed" aria-labelledby="managedOnlineBackupHeading" data-settings-search-entry data-settings-search-section="Online-Backup" data-settings-search-label="Online-Backups verwalten" data-settings-search-control="managedOnlineBackupHeading">
|
||||
<h4 id="managedOnlineBackupHeading" tabindex="-1">Auf diesem Gerät erstellt</h4>
|
||||
<div class="online-backup-managed-list" id="managedOnlineBackupList"></div>
|
||||
<div class="online-backup-refresh-status" id="managedOnlineBackupRefreshStatus" role="status" hidden>
|
||||
<span id="managedOnlineBackupRefreshMessage"></span>
|
||||
<button class="btn btn-secondary" id="reloadManagedOnlineBackupsBtn" type="button">Erneut laden</button>
|
||||
</div>
|
||||
</section>
|
||||
<div class="online-backup-status" id="onlineBackupStatus" role="status" aria-live="polite"></div>
|
||||
<section class="online-backup-module" aria-labelledby="onlineBackupCreateHeading">
|
||||
<h4 id="onlineBackupCreateHeading">Schlüssel erstellen</h4>
|
||||
<footer class="online-backup-footer" data-settings-search-entry data-settings-search-section="Online-Backup" data-settings-search-label="Neuen Schlüssel erzeugen">
|
||||
<div class="online-backup-retention-field">
|
||||
<label for="onlineBackupRetentionSelect">Gültigkeitsdauer</label>
|
||||
@@ -6639,6 +6626,25 @@ function renderSettings() {
|
||||
</div>
|
||||
<button class="btn btn-primary" id="createOnlineBackupBtn">Neuen Schlüssel erzeugen</button>
|
||||
</footer>
|
||||
</section>
|
||||
<section class="online-backup-module" aria-labelledby="onlineBackupImportHeading">
|
||||
<h4 id="onlineBackupImportHeading">Schlüssel importieren</h4>
|
||||
<div class="online-backup-key-row" data-settings-search-entry data-settings-search-section="Online-Backup" data-settings-search-label="Schlüssel importieren">
|
||||
<label for="onlineBackupKeyInput">Online-Schlüssel</label>
|
||||
<input type="password" class="key-input" id="onlineBackupKeyInput" maxlength="75" pattern="MHU2-[A-Za-z0-9_-]{70}" spellcheck="false" autocomplete="off" placeholder="MHU2-…">
|
||||
<button class="btn btn-secondary" id="restoreOnlineBackupBtn" disabled>Importieren</button>
|
||||
</div>
|
||||
</section>
|
||||
<p class="online-backup-warning">Behandle den Schlüssel wie ein Passwort. Wer ihn besitzt, kann die verschlüsselten Einstellungen entschlüsseln.</p>
|
||||
<div class="online-backup-status" id="onlineBackupStatus" role="status" aria-live="polite"></div>
|
||||
<section class="online-backup-module online-backup-managed" aria-labelledby="managedOnlineBackupHeading" data-settings-search-entry data-settings-search-section="Online-Backup" data-settings-search-label="Online-Backups verwalten" data-settings-search-control="managedOnlineBackupHeading">
|
||||
<h4 id="managedOnlineBackupHeading" tabindex="-1">Auf diesem Gerät erstellt</h4>
|
||||
<div class="online-backup-managed-list" id="managedOnlineBackupList"></div>
|
||||
<div class="online-backup-refresh-status" id="managedOnlineBackupRefreshStatus" role="status" hidden>
|
||||
<span id="managedOnlineBackupRefreshMessage"></span>
|
||||
<button class="btn btn-secondary" id="reloadManagedOnlineBackupsBtn" type="button">Erneut laden</button>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<div class="settings-section-label">Lokales Datei-Backup</div>
|
||||
<div class="settings-row local-backup-password-row">
|
||||
|
||||
@@ -380,6 +380,8 @@
|
||||
['Verschlüsseltes Online-Backup', 'Encrypted online backup'],
|
||||
['Die Verschlüsselung findet ausschließlich auf diesem Gerät statt. Der Server speichert nur verschlüsselte Daten.', 'Encryption takes place only on this device. The server stores encrypted data only.'],
|
||||
['Neuen Schlüssel erzeugen', 'Generate new key'],
|
||||
['Schlüssel erstellen', 'Create key'],
|
||||
['Online-Schlüssel', 'Online key'],
|
||||
['Gültigkeitsdauer', 'Validity period'],
|
||||
['24 Stunden', '24 hours'],
|
||||
['3 Tage', '3 days'],
|
||||
|
||||
@@ -2250,6 +2250,22 @@ select.hs-input { max-width: none; width: auto; min-width: 140px; }
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.online-backup-module {
|
||||
display: grid;
|
||||
gap: 16px;
|
||||
min-width: 0;
|
||||
padding: 16px;
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 8px;
|
||||
background: var(--bg-card);
|
||||
}
|
||||
|
||||
.online-backup-module h4 {
|
||||
margin: 0;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.online-backup-retention-field {
|
||||
display: grid;
|
||||
grid-template-columns: 150px minmax(210px, 300px);
|
||||
|
||||
Reference in New Issue
Block a user