fix: dark mode toggle and search auth headers (#102)

Dark mode:
- Toggle now applies data-theme='dark' attribute to <html>
- Theme applied immediately on page load to prevent FOUC
- Comprehensive dark mode CSS covering all UI components:
  sidebar, top bar, search, file cards, list view, context
  menus, modals, dialogs, notifications, user menu, etc.

Search:
- Add Authorization headers to all search API fetch calls
  (searchFiles, advancedSearch, clearSearchCache)
- Fix missing checkbox column in search results list header
This commit is contained in:
Dionisio
2026-02-14 00:45:45 +01:00
parent 67968ed22d
commit 516b8727d2
5 changed files with 564 additions and 8 deletions
+8 -3
View File
@@ -34,7 +34,9 @@ const search = {
console.log(`Performing search with URL: ${url}`);
// Perform the search request
const response = await fetch(url);
const response = await fetch(url, {
headers: getAuthHeaders()
});
if (response.ok) {
return await response.json();
@@ -70,7 +72,8 @@ const search = {
const response = await fetch('/api/search', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
'Content-Type': 'application/json',
...getAuthHeaders()
},
body: JSON.stringify(criteria)
});
@@ -109,6 +112,7 @@ const search = {
filesGrid.innerHTML = '';
filesListView.innerHTML = `
<div class="list-header">
<div class="list-header-checkbox"><input type="checkbox" id="select-all-checkbox" title="Select all"></div>
<div data-i18n="files.name">Name</div>
<div data-i18n="files.type">Type</div>
<div data-i18n="files.size">Size</div>
@@ -174,7 +178,8 @@ const search = {
async clearSearchCache() {
try {
const response = await fetch('/api/search/cache', {
method: 'DELETE'
method: 'DELETE',
headers: getAuthHeaders()
});
if (response.ok) {