Wrap filters in dropdown

This commit is contained in:
thiloho
2024-08-15 18:45:47 +02:00
parent 2a1ada1c70
commit 6897a1641d
4 changed files with 193 additions and 180 deletions

View File

@@ -12,20 +12,20 @@
--border-primary: 0.0625rem solid var(--bg-tertiary); --border-primary: 0.0625rem solid var(--bg-tertiary);
--border-radius: 0.125rem; --border-radius: 0.125rem;
/* Step -1: 14.9953px → 14.9953px */ /* Step -1: 14.9953px → 14.2222px */
--font-size--1: clamp(0.9372rem, 0.9372rem + 0cqi, 0.9372rem); --font-size--1: clamp(0.8889rem, 0.9592rem + -0.1098cqi, 0.9372rem);
/* Step 0: 16px → 16px */ /* Step 0: 16px → 16px */
--font-size-0: clamp(1rem, 1rem + 0cqi, 1rem); --font-size-0: clamp(1rem, 1rem + 0cqi, 1rem);
/* Step 1: 17.072px → 17.072px */ /* Step 1: 17.072px → 18px */
--font-size-1: clamp(1.067rem, 1.067rem + 0cqi, 1.067rem); --font-size-1: clamp(1.067rem, 1.0406rem + 0.1318cqi, 1.125rem);
/* Step 2: 18.2158px → 18.2158px */ /* Step 2: 18.2158px → 20.25px */
--font-size-2: clamp(1.1385rem, 1.1385rem + 0cqi, 1.1385rem); --font-size-2: clamp(1.1385rem, 1.0807rem + 0.2889cqi, 1.2656rem);
/* Step 3: 19.4363px → 19.4363px */ /* Step 3: 19.4363px → 22.7813px */
--font-size-3: clamp(1.2148rem, 1.2148rem + 0cqi, 1.2148rem); --font-size-3: clamp(1.2148rem, 1.1197rem + 0.4751cqi, 1.4238rem);
/* Step 4: 20.7385px → 20.7385px */ /* Step 4: 20.7385px → 25.6289px */
--font-size-4: clamp(1.2962rem, 1.2962rem + 0cqi, 1.2962rem); --font-size-4: clamp(1.2962rem, 1.1572rem + 0.6947cqi, 1.6018rem);
/* Step 5: 22.128px → 22.128px */ /* Step 5: 22.128px → 28.8325px */
--font-size-5: clamp(1.383rem, 1.383rem + 0cqi, 1.383rem); --font-size-5: clamp(1.383rem, 1.1925rem + 0.9523cqi, 1.802rem);
/* Space 3xs: 4px → 5px */ /* Space 3xs: 4px → 5px */
--space-3xs: clamp(0.25rem, 0.2336rem + 0.0822cqi, 0.3125rem); --space-3xs: clamp(0.25rem, 0.2336rem + 0.0822cqi, 0.3125rem);
@@ -107,7 +107,8 @@ button,
textarea, textarea,
select, select,
a[role="button"], a[role="button"],
label[for="toggle-mobile-preview"] { label[for="toggle-mobile-preview"],
summary {
font: inherit; font: inherit;
color: inherit; color: inherit;
border: var(--border-primary); border: var(--border-primary);
@@ -130,6 +131,10 @@ input[type="file"] {
inline-size: 100%; inline-size: 100%;
} }
input[type="color"] {
padding: 0;
}
a { a {
color: var(--color-accent); color: var(--color-accent);
} }
@@ -140,17 +145,26 @@ a[role="button"] {
text-decoration: none; text-decoration: none;
} }
summary {
max-inline-size: fit-content;
}
details[open] summary {
margin-block-end: var(--space-s);
}
button, button,
a[role="button"], a[role="button"],
label[for="toggle-mobile-preview"] { label[for="toggle-mobile-preview"],
summary {
background-color: var(--bg-secondary); 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); 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 { #toggle-mobile-preview:checked + label {
outline: 0.125rem solid var(--color-accent); outline: 0.125rem solid var(--color-accent);
outline-offset: 0.25rem; outline-offset: 0.25rem;
@@ -198,7 +212,7 @@ h1 {
font-size: var(--font-size-5); font-size: var(--font-size-5);
} }
form[method="POST"] { form {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: var(--space-s); gap: var(--space-s);
@@ -208,17 +222,6 @@ form > button[type="submit"] {
max-inline-size: 30ch; 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 { form label {
display: flex; display: flex;
flex-direction: column; flex-direction: column;

View File

@@ -49,6 +49,8 @@
<section> <section>
<h2>All websites</h2> <h2>All websites</h2>
<details>
<summary>Search & Sort & Filter</summary>
<form method="GET"> <form method="GET">
<label> <label>
Search: Search:
@@ -78,13 +80,16 @@
</label> </label>
<button type="submit">Submit</button> <button type="submit">Submit</button>
</form> </form>
</details>
<div class="website-grid"> <ul class="website-grid">
{#each data.websites as { id, content_type, title, created_at } (id)} {#each data.websites as { id, content_type, title, created_at } (id)}
<article class="website-card"> <li class="website-card">
<h3> <p>
<strong>
<a href="/website/{id}">{title}</a> <a href="/website/{id}">{title}</a>
</h3> </strong>
</p>
<ul> <ul>
<li> <li>
<strong>Type:</strong> <strong>Type:</strong>
@@ -148,9 +153,9 @@
</form> </form>
</Modal> </Modal>
</div> </div>
</article> </li>
{/each} {/each}
</div> </ul>
</section> </section>
{/if} {/if}
@@ -159,7 +164,7 @@
display: grid; display: grid;
gap: var(--space-s); gap: var(--space-s);
grid-template-columns: repeat(auto-fit, minmax(min(100%, 35ch), 1fr)); 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 { .website-card {

View File

@@ -47,6 +47,8 @@
<section> <section>
<h2>All articles</h2> <h2>All articles</h2>
<details>
<summary>Search & Sort & Filter</summary>
<form method="GET"> <form method="GET">
<label> <label>
Search: Search:
@@ -76,10 +78,14 @@
</label> </label>
<button type="submit">Submit</button> <button type="submit">Submit</button>
</form> </form>
</details>
<ul>
{#each data.articles as { id, title } (id)} {#each data.articles as { id, title } (id)}
<article class="article-card"> <li class="article-card">
<h3>{title}</h3> <p>
<strong>{title}</strong>
</p>
<div class="article-card__actions"> <div class="article-card__actions">
<a href="/website/{data.website.id}/articles/{id}">Edit</a> <a href="/website/{data.website.id}/articles/{id}">Edit</a>
@@ -107,8 +113,9 @@
</form> </form>
</Modal> </Modal>
</div> </div>
</article> </li>
{/each} {/each}
</ul>
</section> </section>
{/if} {/if}
</WebsiteEditor> </WebsiteEditor>
@@ -121,17 +128,14 @@
row-gap: var(--space-2xs); row-gap: var(--space-2xs);
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-between; justify-content: space-between;
margin-block-start: var(--space-xs);
} }
.article-card + .article-card { .article-card + .article-card {
padding-block-start: var(--space-s); padding-block-start: var(--space-xs);
border-block-start: var(--border-primary); border-block-start: var(--border-primary);
} }
.article-card:nth-of-type(1) {
margin-block-start: var(--space-m);
}
.article-card__actions { .article-card__actions {
display: flex; display: flex;
gap: var(--space-s); gap: var(--space-s);

View File

@@ -54,9 +54,12 @@
<section> <section>
<h2>All collaborators</h2> <h2>All collaborators</h2>
<ul>
{#each data.collaborators as { website_id, user_id, permission_level, user: { username } } (`${website_id}-${user_id}`)} {#each data.collaborators as { website_id, user_id, permission_level, user: { username } } (`${website_id}-${user_id}`)}
<article class="collaborator-card"> <li class="collaborator-card">
<h3>{username} ({permission_level})</h3> <p>
<strong>{username} ({permission_level})</strong>
</p>
<div class="collaborator-card__actions"> <div class="collaborator-card__actions">
<Modal id="update-collaborator-{user_id}" text="Update"> <Modal id="update-collaborator-{user_id}" text="Update">
@@ -107,8 +110,9 @@
</form> </form>
</Modal> </Modal>
</div> </div>
</article> </li>
{/each} {/each}
</ul>
</section> </section>
{/if} {/if}
</WebsiteEditor> </WebsiteEditor>
@@ -121,17 +125,14 @@
row-gap: var(--space-2xs); row-gap: var(--space-2xs);
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-between; justify-content: space-between;
margin-block-start: var(--space-xs);
} }
.collaborator-card + .collaborator-card { .collaborator-card + .collaborator-card {
padding-block-start: var(--space-s); padding-block-start: var(--space-xs);
border-block-start: var(--border-primary); border-block-start: var(--border-primary);
} }
.collaborator-card:nth-of-type(1) {
margin-block-start: var(--space-xs);
}
.collaborator-card__actions { .collaborator-card__actions {
display: flex; display: flex;
gap: var(--space-2xs); gap: var(--space-2xs);