Skip to content

Code-Health-Audit #334: Farb-Tokens, toter Code, game.tsx State-Cluster - #343

Merged
S540d merged 2 commits into
testingfrom
claude/issue-334-review-h6grtf
Sep 24, 2026
Merged

S540d merged 2 commits into
testingfrom
claude/issue-334-review-h6grtf

Conversation

@S540d

@S540d S540d commented Sep 23, 2026

Copy link
Copy Markdown
Owner

Summary

Behebt alle drei offenen Befunde aus Issue #334 (Code-Health-Audit 2026-09-20):

  • Farb-Duplikation (Mittel): TimerArc.native.tsx/TimerArc.web.tsx hatten identisch hartkodierte Hex-Werte (#FF6B6B/#FFD700/#FFFFFF). Die arcColor-Logik ist jetzt in components/game/TimerArc.shared.ts (getTimerArcColor()) zusammengefasst und referenziert neue Colors.timerArc.*-Tokens. Die zusätzlich genannten Hex-Literale in app/index.tsx (Daily-Challenge-Akzent, Streak-Badge) sind jetzt Colors.accents.*-Tokens.
  • Toter Code (Niedrig): AnimatedButton-Export aus AnimatedPrimitives.tsx entfernt (unbenutzt außerhalb eines Test-Mocks), inkl. Mock in GalleryScreen.test.tsx und Referenzen in CLAUDE.md.
  • game.tsx State-Cluster (Niedrig): Confetti-/Badge-Toast-/Hint-Modal-State (7 useState + Achievement-Check-Logik) aus app/game.tsx in einen neuen useGameFeedback()-Hook ausgelagert (services/useGameFeedback.ts), analog zum bestehenden useGamePhase/useTimer-Muster. Reduziert die eslint-disable-next-line react-hooks/exhaustive-deps-Stellen in game.tsx von 3 auf 2.

Reine Refactoring-/Aufräumarbeit ohne Verhaltensänderung.

Test plan

  • npx tsc --noEmit — sauber
  • npm run lint — sauber
  • npm test — 460/460 Tests grün
  • npm run validate:svg-counts — 81 Einträge valide
  • npm run format:check (via Pre-Push-Hook) — sauber

Closes #334

🤖 Generated with Claude Code

https://claude.ai/code/session_01MbKegWQy8DNKFvzAfVKNbt


Generated by Claude Code

… game.tsx State-Cluster)

Behebt alle drei offenen Befunde aus Issue #334:
- TimerArc.native.tsx/.web.tsx referenzieren die Timer-Zustandsfarben jetzt
  über eine gemeinsame TimerArc.shared.ts + Colors.timerArc-Tokens statt
  hartkodierter Hex-Duplikate; app/index.tsx nutzt für Daily-Challenge- und
  Streak-Akzente ebenfalls zentrale Colors.accents-Tokens.
- Ungenutzten AnimatedButton-Export aus AnimatedPrimitives.tsx entfernt
  (inkl. Test-Mock und CLAUDE.md-Referenz).
- Confetti-/Badge-Toast-/Hint-Modal-State aus app/game.tsx in einen
  dedizierten useGameFeedback()-Hook ausgelagert, analog zu useGamePhase/
  useTimer.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MbKegWQy8DNKFvzAfVKNbt
@github-actions

Copy link
Copy Markdown

🔀 Mergeability-Report

✅ Konfliktfrei mergebar (unstable).
✅ Ziel-Branch testing ist policy-konform.

CI-Checks: ✅ keine fehlgeschlagenen Checks

⏳ 🔒 Security Audit
⏳ ⚙️ Workflow Linting / actionlint
⏳ mergeability / mergeability
⏳ 🔑 Keystore & Credential Scan
⏳ 🔧 Platform Compatibility
⏳ 🔐 Docs Privacy Check
⏳ 🔍 Code Quality & Linting
⏳ Analyze (javascript-typescript)
⏳ Analyze (actions)

Merge-Checkliste

  • CI-Checks grün
  • Keine Merge-Konflikte
  • Ziel-Branch korrekt
  • (Optional) tiefes KI-Review via /review aus Claude Code (Pro-Abo, ohne API-Kosten)

Kostenlos generiert von reusable-mergeability.yml · keine API-Kosten · review-gate: success

@S540d
S540d merged commit 3df17cd into testing Sep 24, 2026
14 checks passed
@S540d
S540d deleted the claude/issue-334-review-h6grtf branch October 11, 2026 05:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants