diff options
| author | Martin Kagamino Lehoux <martin@lehoux.net> | 2026-09-08 09:12:25 +0200 |
|---|---|---|
| committer | Martin Kagamino Lehoux <martin@lehoux.net> | 2026-09-08 09:12:25 +0200 |
| commit | 7d85a18867ca0fe2310218c63cfc696c0f916171 (patch) | |
| tree | 184510b861bcda9e105322b79395dd3af512f580 /src/routes | |
| parent | 4b2b964283075712de98743720ff3e31370ddc8e (diff) | |
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
Diffstat (limited to 'src/routes')
| -rw-r--r-- | src/routes/+page.svelte | 12 | ||||
| -rw-r--r-- | src/routes/groceries/+page.svelte | 5 | ||||
| -rw-r--r-- | src/routes/groceries/catalog/+page.svelte | 5 | ||||
| -rw-r--r-- | src/routes/groceries/categories/+page.svelte | 5 | ||||
| -rw-r--r-- | src/routes/grocery/[id]/+page.svelte | 37 | ||||
| -rw-r--r-- | src/routes/projects/[id]/+page.svelte | 33 | ||||
| -rw-r--r-- | src/routes/projects/[projectId]/routine/[routineId]/+page.svelte | 57 |
7 files changed, 2 insertions, 152 deletions
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 35ff5d7..5214bd6 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -46,13 +46,6 @@ </main> <style> - .page-header { - display: flex; - align-items: center; - justify-content: space-between; - padding: 1.25rem 0; - } - .project-row { padding: 0.875rem 1rem; } @@ -67,9 +60,4 @@ .project-link:hover { color: var(--accent); } - - .empty { - margin-top: 1rem; - padding: 2rem; - } </style> diff --git a/src/routes/groceries/+page.svelte b/src/routes/groceries/+page.svelte index df1b97b..3646ba7 100644 --- a/src/routes/groceries/+page.svelte +++ b/src/routes/groceries/+page.svelte @@ -177,9 +177,4 @@ .error { margin-bottom: 1rem; } - - .empty { - margin-top: 1rem; - padding: 2rem; - } </style> diff --git a/src/routes/groceries/catalog/+page.svelte b/src/routes/groceries/catalog/+page.svelte index 74a82e8..59e2018 100644 --- a/src/routes/groceries/catalog/+page.svelte +++ b/src/routes/groceries/catalog/+page.svelte @@ -168,11 +168,6 @@ margin-bottom: 1rem; } - .empty { - margin-top: 1rem; - padding: 2rem; - } - .search-input { width: 100%; padding: 0.75rem 1rem; diff --git a/src/routes/groceries/categories/+page.svelte b/src/routes/groceries/categories/+page.svelte index 48de2da..af85adf 100644 --- a/src/routes/groceries/categories/+page.svelte +++ b/src/routes/groceries/categories/+page.svelte @@ -119,9 +119,4 @@ margin-top: -0.25rem; margin-bottom: 0.5rem; } - - .empty { - margin-top: 1rem; - padding: 2rem; - } </style> diff --git a/src/routes/grocery/[id]/+page.svelte b/src/routes/grocery/[id]/+page.svelte index 531fbf7..4a96f32 100644 --- a/src/routes/grocery/[id]/+page.svelte +++ b/src/routes/grocery/[id]/+page.svelte @@ -214,33 +214,12 @@ margin-bottom: 0.5rem; } - .empty { - margin-top: 0.75rem; - padding: 1.5rem; - } - hr { border: none; border-top: 1.5px solid var(--border); margin: 1.5rem 0; } - .back-link { - display: inline-flex; - align-items: center; - gap: 0.375rem; - margin-top: 1.5rem; - color: var(--text-secondary); - text-decoration: none; - font-size: 0.875rem; - font-weight: 500; - transition: color 0.2s; - } - - .back-link:hover { - color: var(--accent); - } - .delete-item-btn { margin-top: 1.5rem; padding: 0.625rem 1.25rem; @@ -258,20 +237,4 @@ background: var(--danger-bg); transform: translateY(-1px); } - - .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; - } </style> diff --git a/src/routes/projects/[id]/+page.svelte b/src/routes/projects/[id]/+page.svelte index e324f45..f1c2ab4 100644 --- a/src/routes/projects/[id]/+page.svelte +++ b/src/routes/projects/[id]/+page.svelte @@ -250,13 +250,6 @@ </main> <style> - .page-header { - display: flex; - align-items: center; - justify-content: space-between; - padding: 1.25rem 0; - } - .routine-row { flex-wrap: wrap; padding: 0.75rem 1rem; @@ -307,27 +300,6 @@ flex-shrink: 0; } - .input-invalid { - border-color: var(--danger); - } - - .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); - } - .page-footer { margin-top: 2rem; display: flex; @@ -412,9 +384,4 @@ .archived-empty { padding: 1rem 0; } - - .empty { - margin-top: 1rem; - padding: 2rem; - } </style> diff --git a/src/routes/projects/[projectId]/routine/[routineId]/+page.svelte b/src/routes/projects/[projectId]/routine/[routineId]/+page.svelte index 19713ae..bcdca79 100644 --- a/src/routes/projects/[projectId]/routine/[routineId]/+page.svelte +++ b/src/routes/projects/[projectId]/routine/[routineId]/+page.svelte @@ -221,7 +221,7 @@ placeholder="Note (optionnel)" autocomplete="off" /> - <button class="btn-done" type="submit">Fait</button> + <button class="btn-done btn-done-lg" type="submit">Fait</button> </form> {/if} @@ -244,29 +244,6 @@ </main> <style> - .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); - } - - .page-header { - display: flex; - align-items: center; - justify-content: space-between; - padding: 1rem 0; - } - .page-header h1 { overflow-wrap: anywhere; } @@ -275,31 +252,12 @@ max-width: 8rem; } - .input-invalid { - border-color: var(--danger); - } - .desc { width: 100%; resize: vertical; font-family: inherit; } - .save-status { - font-size: 0.875rem; - color: var(--success); - font-weight: 500; - visibility: hidden; - opacity: 0; - transition: opacity 0.2s ease; - min-height: 1.25rem; - } - - .save-status.visible { - visibility: visible; - opacity: 1; - } - .section-title { font-size: 0.75rem; font-weight: 700; @@ -368,21 +326,10 @@ flex: 1; } - .btn-done { - flex-shrink: 0; + .btn-done-lg { padding: 0.75rem 1.25rem; - border: none; border-radius: 0.75rem; - background: var(--success); - color: var(--white); font-size: 0.9375rem; - font-weight: 500; - transition: all 0.2s ease; - } - - .btn-done:hover { - filter: brightness(1.05); - transform: translateY(-1px); } .completion-row { |
