Commit Graph

2 Commits

Author SHA1 Message Date
Brian Fertig 428cfb1008 feat: add PWA support and refine creativity parameter handling
- Register service worker (`sw.js`) with cache-first static assets and network-first HTML pages
- Update `site.webmanifest` with app name, colors, icons at `/static/`, and standalone display mode
- Add `<meta name="theme-color">` in layout for browser UI theming
- Simplify creativity slider: change range from 0–10 to 3.0–7.0 (step 0.5), aligning frontend and backend logic
- Adjust `generate.js` route and `generation.js` service to accept direct temperature values (3.0–7.0) instead of scaled inputs
2026-04-13 19:42:30 -06:00
Brian Fertig b4af77066a feat: implement three-tier visibility system for songs and playlists
- Add public/logged_in/private visibility levels to songs and playlists via database migration (002_visibility.sql)
- Replace old `is_public` boolean with new `visibility` enum in admin forms, API schemas, and services
- Implement access control logic:
  - Guests see only public items that don't contain restricted tracks
  - Logged-in users see public + logged_in items (excluding private ones)
  - Admins see all; regular users manage their own content
- Auto-upgrade playlist visibility when adding more restrictive songs
- Add UI badges for visibility levels and update admin views to reflect new hierarchy

PWA enhancements:
- Update web manifest with proper name, colors, and icon paths
- Add service worker (sw.js) with cache-first for static assets and network-first for HTML
- Register SW at root (/sw.js) with Service-Worker-Allowed header for full origin scope
- Add theme-color meta tag and navigate.js for client-side routing

Other:
- Update admin nav label from "Admin" to "My Music" to reflect role-based access
2026-04-09 22:40:18 -06:00