/* ObsiGate — Shared application state */ export const APP_VERSION = "1.5.0"; // Core navigation state export let currentVault = null; export let currentPath = null; export let allVaults = []; export let selectedContextVault = "all"; // Search state export let searchTimeout = null; export let searchAbortController = null; export let advancedSearchOffset = 0; export let advancedSearchTotal = 0; export let advancedSearchSort = "relevance"; export let advancedSearchLastQuery = ""; export let suggestAbortController = null; export let dropdownActiveIndex = -1; export let dropdownItems = []; export let currentSearchId = 0; export let selectedTags = []; export let searchCaseSensitive = false; export let searchWholeWord = false; export let searchRegex = false; export let searchFilterVisible = false; // Search constants export const SEARCH_HISTORY_KEY = "obsigate_search_history"; export const MAX_HISTORY_ENTRIES = 50; export const SUGGEST_DEBOUNCE_MS = 150; export const ADVANCED_SEARCH_LIMIT = 50; export const MIN_SEARCH_LENGTH = 2; export const SEARCH_TIMEOUT_MS = 30000; // Viewer state export let showingSource = false; export let cachedRawSource = null; export let editorView = null; export let editorVault = null; export let editorPath = null; export let fallbackEditorEl = null; export let _iconDebounceTimer = null; // Outline/TOC state export let outlineObserver = null; export let activeHeadingId = null; export let headingsCache = []; export let rightSidebarVisible = true; export let rightSidebarWidth = 280; // Sidebar state export let sidebarFilterCaseSensitive = false; export let activeSidebarTab = "vaults"; export let filterDebounce = null; export let vaultSettings = {};