From 51912903d8ae2aee45beb883cb58448e5333497a Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 27 May 2026 19:14:09 +0000 Subject: [PATCH] refactor: remove SpeedHennen branding, use generic names MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - index.html: title/h1 → "EloApp 🏸", "Henne" → "Spieler" throughout, loader div/class renamed chicken-* → app-* - style.css: .chicken-overlay/.chicken-spinner → .app-overlay/.app-spinner, spinner emoji 🐔 → 🏸 - src/ui.js: .chicken-overlay ref and fallback emoji updated - src/branding.js: default app name → "EloApp 🏸" - sw.js: cache key speedhennen-v3 → eloapp-v1 - manifest.json: name/short_name → "EloApp" - config.example.js: default BRANDING name/shortName → EloApp - README.md, CLAUDE.md: updated references https://claude.ai/code/session_01TgxiTLy7fCh5xZPJT8eTVt --- CLAUDE.md | 2 +- README.md | 6 +++--- config.example.js | 4 ++-- index.html | 18 +++++++++--------- manifest.json | 4 ++-- src/branding.js | 2 +- src/ui.js | 4 ++-- style.css | 8 ++++---- sw.js | 2 +- 9 files changed, 25 insertions(+), 25 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index acc852b..94642b4 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -51,4 +51,4 @@ elo.js → api.js → state.js → ui.js → app.js - **ELO source of truth is the match history**, not the stored player ELO values. Always call `recalculateStatsFromHistory()` after loading or deleting matches. - **Doubles matches** store `winnerId`/`loserId` as comma-separated player ID strings (`"id1,id2"`). Check for commas before parsing. - **Write operations** require `APP_SECRET`; reads are public. Supabase RLS enforces this via the `x-app-secret` header. -- The service worker (`sw.js`, cache key `speedhennen-v3`) uses cache-first for static assets and network-first for Supabase/CDN. Bump the cache version string when adding new static files to `STATIC_ASSETS`. +- The service worker (`sw.js`, cache key `eloapp-v1`) uses cache-first for static assets and network-first for Supabase/CDN. Bump the cache version string when adding new static files to `STATIC_ASSETS`. diff --git a/README.md b/README.md index b036df4..afe1b6f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# SpeedHennen 🏸🐔 +# EloApp 🏸 Badminton ELO-Ranking-App für Einzel- und Doppelspiele — gehostet im Browser, Daten in [Supabase](https://supabase.com). Vollständig white-label-fähig über `config.js`. @@ -67,8 +67,8 @@ Alle visuellen Markenwerte werden aus dem `BRANDING`-Objekt in `config.js` geset | Feld | Beschreibung | Standard | |------|-------------|---------| -| `name` | App-Name (Titel + H1) | `'SpeedHennen 🏸🐔'` | -| `shortName` | Kurzname für iOS-Homescreen | `'SpeedHennen'` | +| `name` | App-Name (Titel + H1) | `'EloApp 🏸'` | +| `shortName` | Kurzname für iOS-Homescreen | `'EloApp'` | | `primaryColor` | Hauptfarbe (Hex) | `'#c51216'` | | `primaryColorDark` | Hover-Farbe (optional, wird sonst berechnet) | auto | | `fontHeading` | Überschriften-Schrift (Google Fonts Name) | `'Fredoka One'` | diff --git a/config.example.js b/config.example.js index 67246dd..be61711 100644 --- a/config.example.js +++ b/config.example.js @@ -13,8 +13,8 @@ var CONFIG = { // White-Label-Branding (alle Felder optional — weglassen = Standard-Design) BRANDING: { - name: 'SpeedHennen 🏸🐔', // App-Name (Titel + H1) - shortName: 'SpeedHennen', // Kurzname für iOS Homescreen + name: 'EloApp 🏸', // App-Name (Titel + H1) + shortName: 'EloApp', // Kurzname für iOS Homescreen primaryColor: '#c51216', // Hauptfarbe (Hex) // primaryColorDark: '#a30f12', // optional: Hover-Farbe (wird sonst automatisch berechnet) diff --git a/index.html b/index.html index a7f3ce8..d51a875 100644 --- a/index.html +++ b/index.html @@ -3,12 +3,12 @@ - SpeedHennen 🏸🐔 + EloApp 🏸 - + @@ -20,7 +20,7 @@
-

SpeedHennen 🏸🐔

+

EloApp 🏸

@@ -42,7 +42,7 @@

SpeedHennen 🏸🐔

📜 Spielverlauf
- 🐔 Neue Henne + Spieler
@@ -57,7 +57,7 @@

🏸 Neues Spiel eintragen

- +
@@ -124,12 +124,12 @@

Team 2

-

🐔 Neue Henne hinzufügen

+

Neuen Spieler hinzufügen

- +
@@ -180,8 +180,8 @@

🏅 Rangliste

-
-
+
+
diff --git a/manifest.json b/manifest.json index 617a956..8d18671 100644 --- a/manifest.json +++ b/manifest.json @@ -1,6 +1,6 @@ { - "name": "SpeedHennen", - "short_name": "SpeedHennen", + "name": "EloApp", + "short_name": "EloApp", "description": "Badminton ELO-Ranking für Einzel und Doppel", "start_url": "./", "display": "standalone", diff --git a/src/branding.js b/src/branding.js index 1774998..55a0623 100644 --- a/src/branding.js +++ b/src/branding.js @@ -31,7 +31,7 @@ export function applyBranding(branding = {}) { document.head.appendChild(link); } - const appName = branding.name || 'SpeedHennen 🏸🐔'; + const appName = branding.name || 'EloApp 🏸'; document.title = appName; diff --git a/src/ui.js b/src/ui.js index 1f20435..d79e9b1 100644 --- a/src/ui.js +++ b/src/ui.js @@ -7,7 +7,7 @@ const avatarEmojis = ['😎','🤩','🤓','🤠','👻','🤖','👽','🦄',' export function getAvatarEmoji(playerId) { playerId = String(playerId || ''); - if (!playerId) return '🐔'; + if (!playerId) return '🏸'; const seed = playerId.charCodeAt(0) + playerId.charCodeAt(playerId.length - 1); return avatarEmojis[seed % avatarEmojis.length]; } @@ -29,7 +29,7 @@ export function showSuccess(message) { } export function toggleLoading(show) { - const el = document.querySelector('.chicken-overlay'); + const el = document.querySelector('.app-overlay'); if (!el) return; el.style.display = show ? 'flex' : 'none'; el.style.opacity = show ? 1 : 0; diff --git a/style.css b/style.css index 5956120..5cef895 100644 --- a/style.css +++ b/style.css @@ -445,7 +445,7 @@ tr:hover td { background: #f9f9f9; } /* ================= LOADING OVERLAY ================= */ -.chicken-overlay { +.app-overlay { display: none; position: fixed; inset: 0; @@ -456,13 +456,13 @@ tr:hover td { background: #f9f9f9; } flex-direction: column; } -.chicken-spinner { +.app-spinner { font-size: 60px; animation: spin 0.8s linear infinite; } -.chicken-spinner::after { - content: '🐔'; +.app-spinner::after { + content: '🏸'; } @keyframes spin { diff --git a/sw.js b/sw.js index c8a7fff..faf750d 100644 --- a/sw.js +++ b/sw.js @@ -1,4 +1,4 @@ -const CACHE = 'speedhennen-v3'; +const CACHE = 'eloapp-v1'; const STATIC_ASSETS = [ './',