Commit Graph

3 Commits

Author SHA1 Message Date
denshooter
beeee82896 Phase 3: Real Spotify account integration with zone mapping
- Created SpotifyContext for account management
  * Add/remove Spotify accounts with email and display name
  * Persistent storage to localStorage
  * Automatic account activation when assigned to zone

- Implemented zone-to-account mapping system
  * Each zone can be assigned a Spotify account
  * Multiple zones can share one account
  * Switching between sources preserves account assignment

- Enhanced ZoneCard component:
  * Account selector dropdown when Spotify is selected
  * Display account name/email under zone name
  * Auto-select first account when switching to Spotify
  * Green-tinted account dropdown for visual distinction

- Created SpotifyAccountManager component:
  * Add new Spotify accounts with email and display name
  * List all configured accounts
  * Remove accounts (cleans up zone mappings)
  * Collapsible form for adding new accounts
  * Glassmorphic styling with green accent

- Updated Audio page:
  * New 'Accounts' tab for Spotify account management
  * Accessible alongside Zones, Radio, and Library tabs
  * Smooth tab transitions with animations

- Architecture supports:
  * Real Spotify API integration (ready for OAuth)
  * Multiple accounts simultaneously
  * Spotify Connect per account (one instance per account)
  * Zone grouping with shared account control

- Build: 70 modules, 1.25 MB (345 KB gzipped)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-27 15:02:20 +01:00
denshooter
0b70891bca Phase 2: MapLibre GL with OpenSeaMap navigation
- Integrated MapLibre GL for professional maritime mapping
- Combined OSM base maps with OpenSeaMap layer for nautical overlays
  * Seamarks, buoys, channels, and depth information
  * Fully styled with MapLibre-compatible tiles

- Created NavigationMap component with:
  * Real-time ship position marker with heading indicator
  * Automatic centering and smooth flyTo animations
  * Waypoint display with current waypoint highlighting
  * Ship track visualization (last 500 points, dashed line)
  * Route polyline showing waypoints

- Professional map controls:
  * Zoom in/out buttons with smooth animations
  * Center-on-ship button for quick navigation
  * Info panel showing current position, heading, speed, distance
  * Glassmorphic info panel with dark/light mode support

- Enhanced SignalK mock:
  * Added trackPoints array to record ship movement
  * Automatically maintains last 500 points for performance
  * Integrated with map for visual track history

- Updated Navigation page to use new map
- Build: 68 modules, 1.24 MB (343 KB gzipped)
- Hot module reloading working smoothly

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-27 15:00:17 +01:00
denshooter
67b9c2ba92 Fix Docker Compose for Mac dev mode
- Replace all ghcr.io images (blocked without auth) with local Dockerfiles:
  snapserver/snapclient from debian:bookworm-slim,
  mopidy from debian:bookworm-slim + Python/GStreamer,
  librespot disabled in dev (v0.8.0 has vergen dep bug)
- Fix duplicate 'image' and 'version' keys in compose files
- Dev mode: zones + librespot use alpine dummy containers
- Dashboard dev: use upstream node:20-alpine directly (no custom build)
- Port changed to 8090 (8080 taken by Supabase)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 15:12:20 +01:00