From 5a291a53dd0c71f86b6e9264ec5163327d86b7cb Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Sun, 19 Apr 2026 11:43:19 +0200 Subject: [PATCH] refactor(ui): --pill-radius CSS-Variable (Item F) border-radius: 999px war 15x im CSS dupliziert. Ausgelagert als :root --pill-radius Variable im globalen :root-Block in +layout.svelte, Call-Sites auf var(--pill-radius) umgestellt. Bewusst NICHT angefasst (plan war "nur Werte die mehrfach vorkommen"): - z-index: 10 Distinct Values in 14 Sites, bilden ein implizites Layer-System. Konsolidieren = behavior-change-Risiko ohne konkreten Nutzen. Wenn kuenftig einheitliche Modal-/Popover-Layer noetig, separate Phase. - setTimeout(): 3 Sites, jeder mit eigener Semantik (Debounce/Print/ Spinner). Kein DRY-Nutzen durch Extraktion. Gate: svelte-check 0 Warnings, 184/184 Tests, Build clean, kein sichtbarer Unterschied (einzige Aenderung: selber Wert ueber Variable). Refs docs/superpowers/plans/2026-04-19-post-review-roadmap.md Item F. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/lib/components/ProfileSwitcher.svelte | 2 +- src/lib/components/RecipeView.svelte | 2 +- src/lib/components/SyncIndicator.svelte | 2 +- src/lib/components/UpdateToast.svelte | 6 +++--- src/routes/+layout.svelte | 9 ++++++--- src/routes/+page.svelte | 4 ++-- src/routes/admin/+layout.svelte | 2 +- src/routes/admin/profiles/+page.svelte | 2 +- src/routes/recipes/+page.svelte | 2 +- src/routes/wishlist/+page.svelte | 2 +- 10 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/lib/components/ProfileSwitcher.svelte b/src/lib/components/ProfileSwitcher.svelte index d68db80..9f674d6 100644 --- a/src/lib/components/ProfileSwitcher.svelte +++ b/src/lib/components/ProfileSwitcher.svelte @@ -99,7 +99,7 @@ align-items: center; gap: 0.4rem; padding: 0.5rem 0.9rem; - border-radius: 999px; + border-radius: var(--pill-radius); border: 1px solid #cfd9d1; background: white; font-size: 0.95rem; diff --git a/src/lib/components/RecipeView.svelte b/src/lib/components/RecipeView.svelte index d4938b5..e9ef736 100644 --- a/src/lib/components/RecipeView.svelte +++ b/src/lib/components/RecipeView.svelte @@ -204,7 +204,7 @@ .pill { padding: 0.15rem 0.55rem; background: #eaf4ed; - border-radius: 999px; + border-radius: var(--pill-radius); font-size: 0.8rem; color: #2b6a3d; } diff --git a/src/lib/components/SyncIndicator.svelte b/src/lib/components/SyncIndicator.svelte index e3b7354..df97167 100644 --- a/src/lib/components/SyncIndicator.svelte +++ b/src/lib/components/SyncIndicator.svelte @@ -77,7 +77,7 @@ padding: 0.3rem 0.65rem; background: white; border: 1px solid #cfd9d1; - border-radius: 999px; + border-radius: var(--pill-radius); color: #555; font-size: 0.78rem; cursor: pointer; diff --git a/src/lib/components/UpdateToast.svelte b/src/lib/components/UpdateToast.svelte index bcf383b..6634345 100644 --- a/src/lib/components/UpdateToast.svelte +++ b/src/lib/components/UpdateToast.svelte @@ -28,7 +28,7 @@ padding: 0.6rem 0.85rem 0.6rem 1.1rem; background: #1a1a1a; color: white; - border-radius: 999px; + border-radius: var(--pill-radius); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); z-index: 500; max-width: calc(100% - 2rem); @@ -58,7 +58,7 @@ background: #2b6a3d; color: white; border: 0; - border-radius: 999px; + border-radius: var(--pill-radius); font-size: 0.88rem; cursor: pointer; font-weight: 600; @@ -75,7 +75,7 @@ padding: 4px; display: inline-flex; align-items: center; - border-radius: 999px; + border-radius: var(--pill-radius); flex-shrink: 0; } .dismiss:hover { diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 6450400..bf32315 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -386,6 +386,9 @@