feat: 0.1.1 — timeline scrubber, gallery virtualisation, folder reorder, QoL polish
Timeline: - Add a right-edge scrubber (year labels + month dots) that jumps to any period; runs in the same direction as the scrolled content - Load the full filtered set in Timeline view so the scrubber spans the whole library instead of just the first page Gallery & UI: - Virtualise the gallery grid - Folder reordering in the sidebar (drag + persisted sort_order) and a themed dropdown component - Subtle Light theme contrast fixes for toggles, secondary buttons and the update toast Embedding workers now defer video jobs without a thumbnail at claim time and requeue any previously-failed deferred jobs on startup, so videos no longer churn through failed embeddings. QoL polish across BackgroundTasks, DuplicateFinder, Lightbox and VideoPlayer.
This commit is contained in:
+49
-3
@@ -1,5 +1,7 @@
|
||||
@import "tailwindcss";
|
||||
|
||||
@custom-variant light-theme (&:is(html[data-theme="subtle-light"] *));
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
@@ -10,11 +12,55 @@ body,
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background: #030712;
|
||||
background: var(--color-gray-950);
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
|
||||
html[data-theme="conventional-dark"] {
|
||||
--color-gray-950: #1f1f1f;
|
||||
--color-gray-900: #252525;
|
||||
--color-gray-800: #303030;
|
||||
--color-gray-700: #444444;
|
||||
--color-gray-600: #666666;
|
||||
--color-gray-500: #858585;
|
||||
--color-gray-400: #a3a3a3;
|
||||
--color-gray-300: #c4c4c4;
|
||||
--color-gray-200: #dddddd;
|
||||
--color-gray-100: #eeeeee;
|
||||
background: #1f1f1f;
|
||||
}
|
||||
|
||||
html[data-theme="subtle-light"] {
|
||||
--color-white: #18202c;
|
||||
--color-gray-950: #e9e7e2;
|
||||
--color-gray-900: #dedbd4;
|
||||
--color-gray-800: #cfcbc3;
|
||||
--color-gray-700: #aea99f;
|
||||
--color-gray-600: #817b72;
|
||||
--color-gray-500: #655f57;
|
||||
--color-gray-400: #514b44;
|
||||
--color-gray-300: #403b35;
|
||||
--color-gray-200: #302c28;
|
||||
--color-gray-100: #24211e;
|
||||
background: #e9e7e2;
|
||||
}
|
||||
|
||||
html[data-theme="subtle-light"] .media-dark-surface {
|
||||
--color-white: #ffffff;
|
||||
--color-black: #000000;
|
||||
--color-gray-950: #030712;
|
||||
--color-gray-900: #111827;
|
||||
--color-gray-800: #1f2937;
|
||||
--color-gray-700: #374151;
|
||||
--color-gray-600: #4b5563;
|
||||
--color-gray-500: #6b7280;
|
||||
--color-gray-400: #9ca3af;
|
||||
--color-gray-300: #d1d5db;
|
||||
--color-gray-200: #e5e7eb;
|
||||
--color-gray-100: #f3f4f6;
|
||||
}
|
||||
|
||||
/* Custom scrollbar */
|
||||
::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
@@ -24,9 +70,9 @@ body,
|
||||
background: transparent;
|
||||
}
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
background: color-mix(in srgb, var(--color-white, #fff) 12%, transparent);
|
||||
border-radius: 3px;
|
||||
}
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255, 255, 255, 0.2);
|
||||
background: color-mix(in srgb, var(--color-white, #fff) 22%, transparent);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user