Compare commits

...

2 Commits

Author SHA1 Message Date
Hördle Bot
24e4e3dfa5 docs: update README with PWA support and migration instructions 2025-11-21 17:54:28 +01:00
Hördle Bot
f4e953ecd1 feat: add PWA manifest and viewport configuration 2025-11-21 17:52:31 +01:00
3 changed files with 38 additions and 3 deletions

View File

@@ -17,11 +17,12 @@ Eine Web-App inspiriert von Heardle, bei der Nutzer täglich einen Song anhand k
- Anzeige des Covers nach Spielende (Sieg/Niederlage).
- Automatische Migration bestehender Songs.
- **Teilen-Funktion:** Ergebnisse können als Emoji-Grid geteilt werden.
- **PWA Support:** Installierbar als App auf Desktop und Mobilgeräten (Manifest & Icons).
- **Persistenz:** Spielstatus wird lokal im Browser gespeichert.
## Tech Stack
- **Framework:** Next.js 14 (App Router)
- **Framework:** Next.js 16 (App Router)
- **Styling:** Vanilla CSS
- **Datenbank:** SQLite (via Prisma ORM)
- **Deployment:** Docker & Docker Compose
@@ -39,7 +40,14 @@ Eine Web-App inspiriert von Heardle, bei der Nutzer täglich einen Song anhand k
npx prisma db push
```
3. Entwicklungsserver starten:
3. **Optional: Cover-Bilder migrieren:**
Falls MP3-Dateien ohne Cover in der Datenbank sind:
```bash
node scripts/migrate-covers.mjs
```
4. Entwicklungsserver starten:
```bash
npm run dev
```

View File

@@ -1,4 +1,4 @@
import type { Metadata } from "next";
import type { Metadata, Viewport } from "next";
import { Geist, Geist_Mono } from "next/font/google";
import "./globals.css";
@@ -17,6 +17,13 @@ export const metadata: Metadata = {
description: "Daily music guessing game - Guess the song from short audio clips",
};
export const viewport: Viewport = {
themeColor: "#000000",
width: "device-width",
initialScale: 1,
maximumScale: 1,
};
export default function RootLayout({
children,
}: Readonly<{

20
app/manifest.ts Normal file
View File

@@ -0,0 +1,20 @@
import type { MetadataRoute } from 'next'
export default function manifest(): MetadataRoute.Manifest {
return {
name: 'Hördle',
short_name: 'Hördle',
description: 'Daily music guessing game - Guess the song from short audio clips',
start_url: '/',
display: 'standalone',
background_color: '#ffffff',
theme_color: '#000000',
icons: [
{
src: '/favicon.ico',
sizes: 'any',
type: 'image/x-icon',
},
],
}
}