Web: redesign, logo, PWA, QR codes, Spotify guidance

- Album-art-tinted cards that crossfade on song change, equalizer bars,
  live avatar rings, drifting ambient colour, Space Grotesk display font,
  brand purple-to-blue gradient from the logo
- Feed cards rise in and glide to new positions (motion); respects
  reduced-motion
- New logo as nav mark, favicon and Apple touch icon
- Installable PWA: manifest, maskable icons, small service worker
  (cached build assets + offline page), security headers
- Show-QR-code on your own profile; centred profile header with stats
- Settings explains connecting Spotify via Last.fm or ListenBrainz

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MzFywujuH9TiuXbr9vjoX8
This commit is contained in:
2026-10-05 19:16:40 -04:00
co-authored by Claude Opus 5.5
parent 586acdbeab
commit 17ae36064c
23 changed files with 551 additions and 152 deletions
+22
View File
@@ -0,0 +1,22 @@
import type { MetadataRoute } from 'next';
/** Makes the website installable ("Add to Home Screen") as a standalone app. Needs HTTPS in production. */
export default function manifest(): MetadataRoute.Manifest {
return {
name: 'musicshare',
short_name: 'musicshare',
description: 'See what your friends are listening to, and play it on your own service.',
start_url: '/',
scope: '/',
display: 'standalone',
orientation: 'portrait',
background_color: '#07070b',
theme_color: '#07070b',
categories: ['music', 'social'],
icons: [
{ src: '/icon-192.png', sizes: '192x192', type: 'image/png', purpose: 'any' },
{ src: '/icon-512.png', sizes: '512x512', type: 'image/png', purpose: 'any' },
{ src: '/icon-maskable-512.png', sizes: '512x512', type: 'image/png', purpose: 'maskable' },
],
};
}