diff --git a/frontend/js/config.js b/frontend/js/config.js index 2efc1d8..59075f2 100644 --- a/frontend/js/config.js +++ b/frontend/js/config.js @@ -1,6 +1,7 @@ // config.js — extracted from app.js (3872-4865) import { api } from './auth.js'; import { state } from './state.js'; +import { el, icon } from './viewer.js'; import { syncVaultSelectors, setSelectedVaultContext, refreshSidebarForContext, loadVaults, loadTags } from './sidebar.js'; import { escapeHtml, safeCreateIcons } from './utils.js'; @@ -8,7 +9,7 @@ let _recentTimestampTimer = null; let _recentFilesCache = []; let _recentRefreshTimer = null; -async function loadRecentFiles(vaultFilter) { +export async function loadRecentFiles(vaultFilter) { const listEl = document.getElementById("recent-list"); const emptyEl = document.getElementById("recent-empty"); if (!listEl) return; diff --git a/frontend/js/sidebar.js b/frontend/js/sidebar.js index b65b546..270b6bf 100644 --- a/frontend/js/sidebar.js +++ b/frontend/js/sidebar.js @@ -378,7 +378,7 @@ async function incrementalLoadDirectory(vaultName, dirPath, container) { container.appendChild(fragment); } -async function refreshSidebarTreePreservingState() { +export async function refreshSidebarTreePreservingState() { // 1. Capture expanded states const expandedVaults = Array.from(document.querySelectorAll(".vault-item")) .filter((v) => { diff --git a/frontend/js/sync.js b/frontend/js/sync.js index f8da34f..58c3ce7 100644 --- a/frontend/js/sync.js +++ b/frontend/js/sync.js @@ -1,7 +1,8 @@ /* ObsiGate — Sync: SSE client + PWA registration */ import { state } from './state.js'; import { showToast } from './ui.js'; -import { loadVaults, loadTags, refreshTagsForContext } from './sidebar.js'; +import { loadVaults, loadTags, refreshTagsForContext } from './sidebar.js';, refreshSidebarTreePreservingState +import { loadRecentFiles } from './config.js'; // --------------------------------------------------------------------------- // SSE Client — IndexUpdateManager