feat: photo sync (iCloud + Amazon import), larger gear icon, Luma branding

- Settings: iCloud Photos section with icloudpd-backed sync — Apple ID,
  password, download path, cookie dir, live log output via SSE
- Settings: Amazon Photos one-time import — path to extracted data export,
  Add & Index button wires it directly into Watch Folders
- scripts/amazon_sync.py: stdlib-only downloader using Netscape cookie file
- server: POST /api/sync/icloud, /api/sync/amazon, GET /api/sync/stream
  (SSE log streaming matching ingest stream pattern)
- db: icloud/amazon setting keys; getSettings handles bool + string fields
- Gear icon: fontSize 16→20, button 38×38, color #555→#888
- favicon.svg: 6-blade aperture icon in Luma blue
- Browser tab title: shpm → Luma
- Dockerfile: installs icloudpd via pip3, copies scripts/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
nmemmertandClaude Sonnet 4.6 committed 2026-08-18 09:30:43 -04:00
1 parent 5ff7f38b85
commit 4ff5a6c8ca
9 files changed
+569 -17

No files matched your search

+5
View File
@@ -104,6 +104,11 @@ export function clearDismissals() {
return api('/api/admin/clear-dismissals', { method: 'POST' });
}
// Photo sync
export function triggerSync(source) {
return api(`/api/sync/${source}`, { method: 'POST' });
}
// Duplicates
export function fetchDuplicates() {
return api('/api/duplicates');