feat: Memories tab — slideshow of photos on this day with ambient music
- New /api/memories/today endpoint queries photos by month+day (client sends its local date to avoid UTC offset issues in Docker) - MemoriesView shows photos grouped by year with a "Play Memories" slideshow that crossfades between photos every 5 seconds - Ambient music generated via Web Audio API — A-minor pad with slow vibrato shimmer and a pentatonic melody with convolver reverb - Mute toggle, keyboard nav (← → Esc), progress dots, year badge - fix: map popup images now use explicit px dimensions (100% was collapsing to 0 inside Leaflet's unsized popup content box) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
dd6fa803eb
commit
0cba67e02e
5 files changed
+453
-2
No files matched your search
@@ -109,6 +109,13 @@ export function triggerSync(source) {
|
||||
return api(`/api/sync/${source}`, { method: 'POST' });
|
||||
}
|
||||
|
||||
// Memories
|
||||
export function fetchMemories() {
|
||||
const d = new Date();
|
||||
const date = `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-${String(d.getDate()).padStart(2, '0')}`;
|
||||
return api(`/api/memories/today?date=${date}`);
|
||||
}
|
||||
|
||||
// Duplicates
|
||||
export function fetchDuplicates() {
|
||||
return api('/api/duplicates');
|
||||
|
||||
Reference in new issue
Block a user