refactor(ui): --pill-radius CSS-Variable (Item F)
All checks were successful
Build & Publish Docker Image / build-and-push (push) Successful in 1m22s

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) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-04-19 11:43:19 +02:00
parent 98a8022ddf
commit 5a291a53dd
10 changed files with 18 additions and 15 deletions

View File

@@ -99,7 +99,7 @@
align-items: center; align-items: center;
gap: 0.4rem; gap: 0.4rem;
padding: 0.5rem 0.9rem; padding: 0.5rem 0.9rem;
border-radius: 999px; border-radius: var(--pill-radius);
border: 1px solid #cfd9d1; border: 1px solid #cfd9d1;
background: white; background: white;
font-size: 0.95rem; font-size: 0.95rem;

View File

@@ -204,7 +204,7 @@
.pill { .pill {
padding: 0.15rem 0.55rem; padding: 0.15rem 0.55rem;
background: #eaf4ed; background: #eaf4ed;
border-radius: 999px; border-radius: var(--pill-radius);
font-size: 0.8rem; font-size: 0.8rem;
color: #2b6a3d; color: #2b6a3d;
} }

View File

@@ -77,7 +77,7 @@
padding: 0.3rem 0.65rem; padding: 0.3rem 0.65rem;
background: white; background: white;
border: 1px solid #cfd9d1; border: 1px solid #cfd9d1;
border-radius: 999px; border-radius: var(--pill-radius);
color: #555; color: #555;
font-size: 0.78rem; font-size: 0.78rem;
cursor: pointer; cursor: pointer;

View File

@@ -28,7 +28,7 @@
padding: 0.6rem 0.85rem 0.6rem 1.1rem; padding: 0.6rem 0.85rem 0.6rem 1.1rem;
background: #1a1a1a; background: #1a1a1a;
color: white; color: white;
border-radius: 999px; border-radius: var(--pill-radius);
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
z-index: 500; z-index: 500;
max-width: calc(100% - 2rem); max-width: calc(100% - 2rem);
@@ -58,7 +58,7 @@
background: #2b6a3d; background: #2b6a3d;
color: white; color: white;
border: 0; border: 0;
border-radius: 999px; border-radius: var(--pill-radius);
font-size: 0.88rem; font-size: 0.88rem;
cursor: pointer; cursor: pointer;
font-weight: 600; font-weight: 600;
@@ -75,7 +75,7 @@
padding: 4px; padding: 4px;
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;
border-radius: 999px; border-radius: var(--pill-radius);
flex-shrink: 0; flex-shrink: 0;
} }
.dismiss:hover { .dismiss:hover {

View File

@@ -386,6 +386,9 @@
</main> </main>
<style> <style>
:global(:root) {
--pill-radius: 999px;
}
:global(html, body) { :global(html, body) {
margin: 0; margin: 0;
padding: 0; padding: 0;
@@ -429,7 +432,7 @@
justify-content: center; justify-content: center;
width: 40px; width: 40px;
height: 40px; height: 40px;
border-radius: 999px; border-radius: var(--pill-radius);
color: #2b6a3d; color: #2b6a3d;
text-decoration: none; text-decoration: none;
flex-shrink: 0; flex-shrink: 0;
@@ -621,7 +624,7 @@
justify-content: center; justify-content: center;
width: 40px; width: 40px;
height: 40px; height: 40px;
border-radius: 999px; border-radius: var(--pill-radius);
text-decoration: none; text-decoration: none;
font-size: 1.15rem; font-size: 1.15rem;
position: relative; position: relative;
@@ -636,7 +639,7 @@
min-width: 18px; min-width: 18px;
height: 18px; height: 18px;
padding: 0 5px; padding: 0 5px;
border-radius: 999px; border-radius: var(--pill-radius);
background: #c53030; background: #c53030;
color: white; color: white;
font-size: 0.7rem; font-size: 0.7rem;

View File

@@ -653,7 +653,7 @@
padding: 0.4rem 0.85rem; padding: 0.4rem 0.85rem;
background: white; background: white;
border: 1px solid #cfd9d1; border: 1px solid #cfd9d1;
border-radius: 999px; border-radius: var(--pill-radius);
color: #2b6a3d; color: #2b6a3d;
font-size: 0.88rem; font-size: 0.88rem;
cursor: pointer; cursor: pointer;
@@ -760,7 +760,7 @@
right: 0.4rem; right: 0.4rem;
width: 28px; width: 28px;
height: 28px; height: 28px;
border-radius: 999px; border-radius: var(--pill-radius);
border: 0; border: 0;
background: rgba(255, 255, 255, 0.9); background: rgba(255, 255, 255, 0.9);
color: #444; color: #444;

View File

@@ -42,7 +42,7 @@
padding: 0.5rem 0.95rem 0.5rem 0.8rem; padding: 0.5rem 0.95rem 0.5rem 0.8rem;
background: white; background: white;
border: 1px solid #e4eae7; border: 1px solid #e4eae7;
border-radius: 999px; border-radius: var(--pill-radius);
text-decoration: none; text-decoration: none;
color: #444; color: #444;
font-size: 0.95rem; font-size: 0.95rem;

View File

@@ -185,7 +185,7 @@
padding: 0.15rem 0.5rem; padding: 0.15rem 0.5rem;
background: #eaf4ed; background: #eaf4ed;
color: #2b6a3d; color: #2b6a3d;
border-radius: 999px; border-radius: var(--pill-radius);
font-size: 0.75rem; font-size: 0.75rem;
} }
.actions { .actions {

View File

@@ -441,7 +441,7 @@
padding: 0.6rem 0.9rem; padding: 0.6rem 0.9rem;
font-size: 0.95rem; font-size: 0.95rem;
border: 1px solid #cfd9d1; border: 1px solid #cfd9d1;
border-radius: 999px; border-radius: var(--pill-radius);
background: white; background: white;
min-height: 44px; min-height: 44px;
} }

View File

@@ -185,7 +185,7 @@
padding: 0.4rem 0.85rem; padding: 0.4rem 0.85rem;
background: white; background: white;
border: 1px solid #cfd9d1; border: 1px solid #cfd9d1;
border-radius: 999px; border-radius: var(--pill-radius);
color: #2b6a3d; color: #2b6a3d;
font-size: 0.88rem; font-size: 0.88rem;
cursor: pointer; cursor: pointer;