Change : display
This commit is contained in:
@@ -115,36 +115,71 @@
|
||||
|
||||
<div class="form-section">
|
||||
<div class="form-section-title">STEP 3 — SELECT APPS TO RESTORE</div>
|
||||
<p style="color:var(--text3); font-size:12px; margin-bottom:10px;">
|
||||
All apps are restored by default. Uncheck the ones you don't want touched —
|
||||
only the checked apps will be restored, and they're force-restored even if
|
||||
currently running and healthy.
|
||||
<p class="app-picker-note">
|
||||
<i class="fas fa-info-circle"></i>
|
||||
All apps are selected by default. Uncheck any app you want to leave untouched —
|
||||
only checked apps will be restored, and they are force-restored even if currently running and healthy.
|
||||
</p>
|
||||
<div id="apps-checkbox-group" style="display:flex; flex-wrap:wrap; gap:8px;">
|
||||
<label class="radio-card small" style="cursor:pointer;">
|
||||
<input type="checkbox" value="frappe" checked style="margin-right:6px;">
|
||||
<span>🧾 Frappe / ERPNext</span>
|
||||
<div class="app-picker-grid" id="apps-checkbox-group">
|
||||
<label class="app-picker-card">
|
||||
<input type="checkbox" value="frappe" checked>
|
||||
<div class="app-picker-body">
|
||||
<span class="app-picker-icon">🧾</span>
|
||||
<div>
|
||||
<div class="app-picker-name">Frappe / ERPNext</div>
|
||||
<div class="app-picker-desc">ERP & business suite</div>
|
||||
</div>
|
||||
<span class="app-picker-check"><i class="fas fa-check"></i></span>
|
||||
</div>
|
||||
</label>
|
||||
<label class="radio-card small" style="cursor:pointer;">
|
||||
<input type="checkbox" value="odoo" checked style="margin-right:6px;">
|
||||
<span>🟣 Odoo</span>
|
||||
<label class="app-picker-card">
|
||||
<input type="checkbox" value="odoo" checked>
|
||||
<div class="app-picker-body">
|
||||
<span class="app-picker-icon">🟣</span>
|
||||
<div>
|
||||
<div class="app-picker-name">Odoo</div>
|
||||
<div class="app-picker-desc">CRM, inventory & accounting</div>
|
||||
</div>
|
||||
<span class="app-picker-check"><i class="fas fa-check"></i></span>
|
||||
</div>
|
||||
</label>
|
||||
<label class="radio-card small" style="cursor:pointer;">
|
||||
<input type="checkbox" value="nextcloud" checked style="margin-right:6px;">
|
||||
<span>☁️ Nextcloud</span>
|
||||
<label class="app-picker-card">
|
||||
<input type="checkbox" value="nextcloud" checked>
|
||||
<div class="app-picker-body">
|
||||
<span class="app-picker-icon">☁️</span>
|
||||
<div>
|
||||
<div class="app-picker-name">Nextcloud</div>
|
||||
<div class="app-picker-desc">Files & collaboration</div>
|
||||
</div>
|
||||
<span class="app-picker-check"><i class="fas fa-check"></i></span>
|
||||
</div>
|
||||
</label>
|
||||
<label class="radio-card small" style="cursor:pointer;">
|
||||
<input type="checkbox" value="mautic" checked style="margin-right:6px;">
|
||||
<span>📣 Mautic</span>
|
||||
<label class="app-picker-card">
|
||||
<input type="checkbox" value="mautic" checked>
|
||||
<div class="app-picker-body">
|
||||
<span class="app-picker-icon">📣</span>
|
||||
<div>
|
||||
<div class="app-picker-name">Mautic</div>
|
||||
<div class="app-picker-desc">Marketing automation</div>
|
||||
</div>
|
||||
<span class="app-picker-check"><i class="fas fa-check"></i></span>
|
||||
</div>
|
||||
</label>
|
||||
<label class="radio-card small" style="cursor:pointer;">
|
||||
<input type="checkbox" value="n8n" checked style="margin-right:6px;">
|
||||
<span>🔁 n8n</span>
|
||||
<label class="app-picker-card">
|
||||
<input type="checkbox" value="n8n" checked>
|
||||
<div class="app-picker-body">
|
||||
<span class="app-picker-icon">🔁</span>
|
||||
<div>
|
||||
<div class="app-picker-name">n8n</div>
|
||||
<div class="app-picker-desc">Workflow automation</div>
|
||||
</div>
|
||||
<span class="app-picker-check"><i class="fas fa-check"></i></span>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div style="margin-top:10px; display:flex; gap:8px;">
|
||||
<button type="button" class="btn btn-sm" onclick="nvSetAllApps(true)">Select All</button>
|
||||
<button type="button" class="btn btn-sm" onclick="nvSetAllApps(false)">Select None</button>
|
||||
<div class="app-picker-actions">
|
||||
<button type="button" class="btn btn-sm btn-ghost" onclick="nvSetAllApps(true)"><i class="fas fa-check-double"></i> Select All</button>
|
||||
<button type="button" class="btn btn-sm btn-ghost" onclick="nvSetAllApps(false)"><i class="fas fa-ban"></i> Select None</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -340,6 +375,7 @@ async function nvLaunchRestore() {
|
||||
// ── Init ──────────────────────────────────────────────────────────────────────
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
loadCloudSelect();
|
||||
nvUpdateRestoreWarning();
|
||||
|
||||
// Handle prefill from URL params (e.g. clicking Restore from backups page)
|
||||
const pf = window.restorePrefill || {};
|
||||
|
||||
Reference in New Issue
Block a user