feat: add initial implementation of the ObsiGate frontend SPA.

This commit is contained in:
Bruno Charest 2026-03-27 14:11:07 -04:00
parent f71d97e06c
commit fff0e94470
2 changed files with 28 additions and 11 deletions

View File

@ -4653,13 +4653,35 @@
function showWelcome() { function showWelcome() {
hideProgressBar(); hideProgressBar();
// Show the dashboard widget instead of simple welcome message
if (typeof DashboardRecentWidget !== "undefined") { // Ensure the dashboard container exists (it might have been wiped by renderFile)
// Re-init the widget to refresh data and populate vault filter const area = document.getElementById("content-area");
const dashboardVaultFilter = document.getElementById("dashboard-vault-filter"); if (area && !document.getElementById("dashboard-home")) {
if (dashboardVaultFilter) { area.innerHTML = `
dashboardVaultFilter.value = selectedContextVault === "all" ? "" : selectedContextVault; <div id="dashboard-home" class="dashboard-home" role="region" aria-label="Derniers fichiers ouverts">
<div class="dashboard-header">
<div class="dashboard-title-row">
<i data-lucide="clock" class="dashboard-icon"></i>
<h2>Derniers fichiers ouverts</h2>
</div>
</div>
<div id="dashboard-recent-grid" class="dashboard-recent-grid"></div>
<div id="dashboard-loading" class="dashboard-loading">
<div class="skeleton-card"></div>
<div class="skeleton-card"></div>
<div class="skeleton-card"></div>
</div>
<div id="dashboard-recent-empty" class="dashboard-recent-empty hidden">
<i data-lucide="layout"></i>
<span>Aucun fichier récent</span>
<p>Les fichiers que vous ouvrirez s'afficheront ici.</p>
</div>
</div>`;
safeCreateIcons();
} }
// Show the dashboard widget
if (typeof DashboardRecentWidget !== "undefined") {
DashboardRecentWidget.load(selectedContextVault); DashboardRecentWidget.load(selectedContextVault);
} }
} }

View File

@ -356,11 +356,6 @@
<i data-lucide="clock" class="dashboard-icon"></i> <i data-lucide="clock" class="dashboard-icon"></i>
<h2>Derniers fichiers ouverts</h2> <h2>Derniers fichiers ouverts</h2>
</div> </div>
<div class="dashboard-filter-row">
<select id="dashboard-vault-filter" class="dashboard-select">
<option value="">Tous les vaults</option>
</select>
<span class="dashboard-count" id="dashboard-count"></span>
</div> </div>
</div> </div>
<div id="dashboard-recent-grid" class="dashboard-recent-grid"></div> <div id="dashboard-recent-grid" class="dashboard-recent-grid"></div>