From 7d85a18867ca0fe2310218c63cfc696c0f916171 Mon Sep 17 00:00:00 2001 From: Martin Kagamino Lehoux Date: Tue, 8 Sep 2026 09:12:25 +0200 Subject: Consolidate duplicated page CSS into app.css, share TestDb type - Move .page-header/.back-link/.input-invalid/.save-status/.btn-done (plus hover/variant rules) into app.css as shared route scaffolding; delete per-page scoped copies - Unify drifted values: page-header padding 1rem -> 1.25rem (routine page), empty-state spacing 0.75/1.5rem -> 1/2rem (grocery detail), save-status margin -0.25rem applied on both pages, back-link margin 1.5rem -> 1rem (grocery detail); routine page's large Fait button is kept via a .btn-done-lg modifier - Export TestDb from test-helper and use it in the five db/service test files to shrink duplicated fixture scaffolding --- src/app.css | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) (limited to 'src/app.css') diff --git a/src/app.css b/src/app.css index 7b8464f..1c25c93 100644 --- a/src/app.css +++ b/src/app.css @@ -212,6 +212,8 @@ button { background: var(--surface); border-radius: 0.75rem; box-shadow: 0 1px 2px var(--shadow); + margin-top: 1rem; + padding: 2rem; } /* Error */ @@ -398,3 +400,64 @@ button { font-weight: 600; white-space: nowrap; } + +/* Shared route scaffolding */ +.page-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 1.25rem 0; +} + +.back-link { + display: inline-flex; + align-items: center; + gap: 0.375rem; + margin-top: 1rem; + color: var(--text-secondary); + text-decoration: none; + font-size: 0.875rem; + font-weight: 500; + transition: color 0.2s; +} + +.back-link:hover { + color: var(--accent); +} + +.input-invalid { + border-color: var(--danger); +} + +.save-status { + font-size: 0.875rem; + color: var(--success); + font-weight: 500; + margin-top: -0.25rem; + visibility: hidden; + opacity: 0; + transition: opacity 0.2s ease; + min-height: 1.25rem; +} + +.save-status.visible { + visibility: visible; + opacity: 1; +} + +.btn-done { + flex-shrink: 0; + padding: 0.5rem 0.875rem; + border: none; + border-radius: 0.625rem; + background: var(--success); + color: var(--white); + font-size: 0.875rem; + font-weight: 500; + transition: all 0.2s ease; +} + +.btn-done:hover { + filter: brightness(1.05); + transform: translateY(-1px); +} -- cgit v1.3