From 6897a1641d394f0707d249ce902bd48b015f0538 Mon Sep 17 00:00:00 2001 From: thiloho <123883702+thiloho@users.noreply.github.com> Date: Thu, 15 Aug 2024 18:45:47 +0200 Subject: [PATCH] Wrap filters in dropdown --- web-app/src/app.css | 59 ++++---- .../src/routes/(authenticated)/+page.svelte | 79 ++++++----- .../website/[websiteId]/articles/+page.svelte | 128 +++++++++--------- .../[websiteId]/collaborators/+page.svelte | 107 +++++++-------- 4 files changed, 193 insertions(+), 180 deletions(-) diff --git a/web-app/src/app.css b/web-app/src/app.css index e4deba5..7034160 100644 --- a/web-app/src/app.css +++ b/web-app/src/app.css @@ -12,20 +12,20 @@ --border-primary: 0.0625rem solid var(--bg-tertiary); --border-radius: 0.125rem; - /* Step -1: 14.9953px → 14.9953px */ - --font-size--1: clamp(0.9372rem, 0.9372rem + 0cqi, 0.9372rem); + /* Step -1: 14.9953px → 14.2222px */ + --font-size--1: clamp(0.8889rem, 0.9592rem + -0.1098cqi, 0.9372rem); /* Step 0: 16px → 16px */ --font-size-0: clamp(1rem, 1rem + 0cqi, 1rem); - /* Step 1: 17.072px → 17.072px */ - --font-size-1: clamp(1.067rem, 1.067rem + 0cqi, 1.067rem); - /* Step 2: 18.2158px → 18.2158px */ - --font-size-2: clamp(1.1385rem, 1.1385rem + 0cqi, 1.1385rem); - /* Step 3: 19.4363px → 19.4363px */ - --font-size-3: clamp(1.2148rem, 1.2148rem + 0cqi, 1.2148rem); - /* Step 4: 20.7385px → 20.7385px */ - --font-size-4: clamp(1.2962rem, 1.2962rem + 0cqi, 1.2962rem); - /* Step 5: 22.128px → 22.128px */ - --font-size-5: clamp(1.383rem, 1.383rem + 0cqi, 1.383rem); + /* Step 1: 17.072px → 18px */ + --font-size-1: clamp(1.067rem, 1.0406rem + 0.1318cqi, 1.125rem); + /* Step 2: 18.2158px → 20.25px */ + --font-size-2: clamp(1.1385rem, 1.0807rem + 0.2889cqi, 1.2656rem); + /* Step 3: 19.4363px → 22.7813px */ + --font-size-3: clamp(1.2148rem, 1.1197rem + 0.4751cqi, 1.4238rem); + /* Step 4: 20.7385px → 25.6289px */ + --font-size-4: clamp(1.2962rem, 1.1572rem + 0.6947cqi, 1.6018rem); + /* Step 5: 22.128px → 28.8325px */ + --font-size-5: clamp(1.383rem, 1.1925rem + 0.9523cqi, 1.802rem); /* Space 3xs: 4px → 5px */ --space-3xs: clamp(0.25rem, 0.2336rem + 0.0822cqi, 0.3125rem); @@ -107,7 +107,8 @@ button, textarea, select, a[role="button"], -label[for="toggle-mobile-preview"] { +label[for="toggle-mobile-preview"], +summary { font: inherit; color: inherit; border: var(--border-primary); @@ -130,6 +131,10 @@ input[type="file"] { inline-size: 100%; } +input[type="color"] { + padding: 0; +} + a { color: var(--color-accent); } @@ -140,17 +145,26 @@ a[role="button"] { text-decoration: none; } +summary { + max-inline-size: fit-content; +} + +details[open] summary { + margin-block-end: var(--space-s); +} + button, a[role="button"], -label[for="toggle-mobile-preview"] { +label[for="toggle-mobile-preview"], +summary { background-color: var(--bg-secondary); } -:is(button, a[role="button"], label[for="toggle-mobile-preview"]):hover { +:is(button, a[role="button"], label[for="toggle-mobile-preview"], summary):hover { background-color: var(--bg-tertiary); } -:is(a, button, input, textarea, select):focus, +:is(a, button, input, textarea, select, summary):focus, #toggle-mobile-preview:checked + label { outline: 0.125rem solid var(--color-accent); outline-offset: 0.25rem; @@ -198,7 +212,7 @@ h1 { font-size: var(--font-size-5); } -form[method="POST"] { +form { display: flex; flex-direction: column; gap: var(--space-s); @@ -208,17 +222,6 @@ form > button[type="submit"] { max-inline-size: 30ch; } -form[method="GET"] { - display: grid; - gap: var(--space-s); - grid-template-columns: repeat(auto-fit, minmax(min(100%, 20ch), 1fr)); - align-items: start; -} - -form[method="GET"] > button[type="submit"] { - align-self: end; -} - form label { display: flex; flex-direction: column; diff --git a/web-app/src/routes/(authenticated)/+page.svelte b/web-app/src/routes/(authenticated)/+page.svelte index 746bd44..0c2c1a2 100644 --- a/web-app/src/routes/(authenticated)/+page.svelte +++ b/web-app/src/routes/(authenticated)/+page.svelte @@ -49,42 +49,47 @@

All websites

-
- - - - -
+
+ Search & Sort & Filter +
+ + + + +
+
-
+
- + {/each} - +
{/if} @@ -159,7 +164,7 @@ display: grid; gap: var(--space-s); grid-template-columns: repeat(auto-fit, minmax(min(100%, 35ch), 1fr)); - margin-block-start: var(--space-m); + margin-block-start: var(--space-xs); } .website-card { diff --git a/web-app/src/routes/(authenticated)/website/[websiteId]/articles/+page.svelte b/web-app/src/routes/(authenticated)/website/[websiteId]/articles/+page.svelte index a0bb03e..400891b 100644 --- a/web-app/src/routes/(authenticated)/website/[websiteId]/articles/+page.svelte +++ b/web-app/src/routes/(authenticated)/website/[websiteId]/articles/+page.svelte @@ -47,68 +47,75 @@

All articles

-
- - - - -
+
+ Search & Sort & Filter +
+ + + + +
+
- {#each data.articles as { id, title } (id)} -
-

{title}

+
- {/each} + + + + + + {/each} +
{/if} @@ -121,17 +128,14 @@ row-gap: var(--space-2xs); flex-wrap: wrap; justify-content: space-between; + margin-block-start: var(--space-xs); } .article-card + .article-card { - padding-block-start: var(--space-s); + padding-block-start: var(--space-xs); border-block-start: var(--border-primary); } - .article-card:nth-of-type(1) { - margin-block-start: var(--space-m); - } - .article-card__actions { display: flex; gap: var(--space-s); diff --git a/web-app/src/routes/(authenticated)/website/[websiteId]/collaborators/+page.svelte b/web-app/src/routes/(authenticated)/website/[websiteId]/collaborators/+page.svelte index bdeaee5..c1d4af5 100644 --- a/web-app/src/routes/(authenticated)/website/[websiteId]/collaborators/+page.svelte +++ b/web-app/src/routes/(authenticated)/website/[websiteId]/collaborators/+page.svelte @@ -54,61 +54,65 @@

All collaborators

- {#each data.collaborators as { website_id, user_id, permission_level, user: { username } } (`${website_id}-${user_id}`)} -
-

{username} ({permission_level})

+
- {/each} + + + + + + {/each} +
{/if} @@ -121,17 +125,14 @@ row-gap: var(--space-2xs); flex-wrap: wrap; justify-content: space-between; + margin-block-start: var(--space-xs); } .collaborator-card + .collaborator-card { - padding-block-start: var(--space-s); + padding-block-start: var(--space-xs); border-block-start: var(--border-primary); } - .collaborator-card:nth-of-type(1) { - margin-block-start: var(--space-xs); - } - .collaborator-card__actions { display: flex; gap: var(--space-2xs);