- {})}
- onDownload={appData.onDownload || ((p, n) => {})}
- setSearchQuery={appData.setSearchQuery || ((q) => {})}
- />
- {/if}
+
Loading...
-diff --git a/src/App.svelte b/src/App.svelte index 58784bb..dc800aa 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -3,7 +3,6 @@ // Import Router component directly with explicit path import Router from 'svelte-spa-router/Router.svelte'; - // Import routes from centralized router.js file import { routes } from './router.js'; let viewMode = "grid"; // 'grid' or 'list' @@ -251,7 +250,10 @@ setSearchQuery, setGridView, setListView, - setTheme, + setTheme: (newTheme) => { + console.log("window.appData.setTheme called with:", newTheme); + setTheme(newTheme); + }, toggleDropdown, addTag, removeTag, @@ -354,6 +356,7 @@ function setTheme(newTheme) { if (newTheme === "light" || newTheme === "dark" || newTheme === "system") { + console.log("App.svelte: Setting theme to:", newTheme); theme = newTheme; localStorage.setItem("theme", newTheme); console.log("[Theme] setTheme:", newTheme); @@ -439,13 +442,18 @@ } function toggleDropdown() { - console.log("App: Toggling tag dropdown, current state:", tagDropdownOpen); tagDropdownOpen = !tagDropdownOpen; + console.log("App: Toggling tag dropdown, current state:", tagDropdownOpen); // Update window.appData immediately if (typeof window !== 'undefined' && window.appData) { window.appData.tagDropdownOpen = tagDropdownOpen; - console.log("App: Updated tagDropdownOpen in window.appData to", tagDropdownOpen); + console.log("App: Updated tagDropdownOpen in window.appData to:", tagDropdownOpen); + + // Force immediate update + setTimeout(() => { + if (window.appData) window.appData.tagDropdownOpen = tagDropdownOpen; + }, 0); } } diff --git a/src/components/Actions.svelte b/src/components/Actions.svelte index 4417bbd..4bd90ec 100644 --- a/src/components/Actions.svelte +++ b/src/components/Actions.svelte @@ -37,15 +37,40 @@ function toggleDownloadMenu() { showDownloadMenu = !showDownloadMenu; - if (showDownloadMenu) showCopyMenu = false; + if (showDownloadMenu) { + showCopyMenu = false; + // Position the dropdown menu + setTimeout(() => { + const anchor = downloadMenuAnchor; + const dropdown = document.querySelector('.download-group .dropdown-menu'); + if (anchor && dropdown) { + const rect = anchor.getBoundingClientRect(); + dropdown.style.top = rect.bottom + 5 + 'px'; + dropdown.style.left = rect.left + 'px'; + } + }, 10); + } } function closeDownloadMenu() { showDownloadMenu = false; } function toggleCopyMenu() { showCopyMenu = !showCopyMenu; - if (showCopyMenu) showDownloadMenu = false; + if (showCopyMenu) { + showDownloadMenu = false; + // Position the dropdown menu + setTimeout(() => { + const anchor = copyMenuAnchor; + const dropdown = document.querySelector('.dropdown-menu'); + if (anchor && dropdown) { + const rect = anchor.getBoundingClientRect(); + dropdown.style.top = rect.bottom + 5 + 'px'; + dropdown.style.left = rect.left + 'px'; + } + }, 10); + } } + function closeCopyMenu() { showCopyMenu = false; } @@ -230,7 +255,7 @@ {#if showCopyMenu} -