mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-09 04:50:59 +00:00
Every Settings card paints the same shape — icon + title + optional status surface + optional muted description — but the codebase carried five different `flex-*` permutations across `account-section.tsx`, `integrations-section.tsx`, `notification-status-card.tsx`, the three notification channel cards, `api-section.tsx`, and `advanced-section.tsx`. The mechanical drift table in `.planning/round-v1433-audit-settings.md` §2.5 itemised the spread. Consolidate the contract into `_card-header.tsx`: icon left, title right of it, status slot lives top-right and falls below the title on `<sm`, description sits muted below the title row. Call sites keep ownership of their body forms and action footers. First three call sites switched: `telegram-card.tsx`, `ntfy-card.tsx`, `web-push-card.tsx`. The remaining cards (`account-section.tsx`, `integrations-section.tsx`, `api-section.tsx`, `advanced-section.tsx`, `notification-status-card.tsx`) are wired in a follow-up — the primitive is now available without forcing every consumer to migrate in one commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>