- 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
23 lines
857 B
TypeScript
23 lines
857 B
TypeScript
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' },
|
|
],
|
|
};
|
|
}
|