From a34f07d08211c10171e9cd234b7ee78ec42d852f Mon Sep 17 00:00:00 2001 From: intergrav Date: Thu, 27 Aug 2026 17:37:45 -0400 Subject: [PATCH] refactor: css improvements --- src/lib/Controls.svelte | 4 +- src/lib/Library.svelte | 5 +-- src/lib/LibraryLabel.svelte | 4 +- src/lib/LibraryTreeItem.svelte | 64 ++++++++++++--------------- src/lib/NowPlaying.svelte | 5 +-- src/lib/components/ProgressBar.svelte | 2 +- src/lib/dialogs/InfoModal.svelte | 21 ++++----- src/lib/dialogs/SettingsModal.svelte | 4 +- src/lib/icons/Icon.svelte | 13 +++--- 9 files changed, 54 insertions(+), 68 deletions(-) diff --git a/src/lib/Controls.svelte b/src/lib/Controls.svelte index cdada2b..07ed14f 100644 --- a/src/lib/Controls.svelte +++ b/src/lib/Controls.svelte @@ -323,10 +323,10 @@ let menu = $state<{ } } } -.progress :global(.progress-bar) { +.progress > :global(.progress-bar) { flex: 1; } -.volume :global(.progress-bar) { +.volume > :global(.progress-bar) { --progress-press-scale: 0.875; inline-size: 5rem; } diff --git a/src/lib/Library.svelte b/src/lib/Library.svelte index e503bb1..108788f 100644 --- a/src/lib/Library.svelte +++ b/src/lib/Library.svelte @@ -869,7 +869,6 @@ function onKey(event: KeyboardEvent) { {/if} - {#if !isShare && !isSpecialItem} + {#if !isSpecialItem} {/if} - {#if !isSpecialItem} + {#if !isShare && !isSpecialItem} {/if} @@ -522,26 +524,17 @@ button:disabled { } .artwork { position: relative; - - .artwork-image { - object-fit: cover; - } } -.touch { +button[aria-haspopup="menu"] { display: none; + inline-size: var(--action-size); + block-size: var(--action-size); + justify-content: center; } @media (pointer: coarse) { - .action { - display: none; - } - .add-action { + button[aria-haspopup="menu"] { display: flex; } - .touch { - display: block; - padding: 0.5rem; - margin: -0.5rem; - } } span { overflow: hidden; @@ -559,24 +552,25 @@ span { font-size: 0.8rem; opacity: 0.75; } -:global(.badge) { +.artwork > :global(.badge) { position: absolute; inset-block-end: 0; line-height: 0; } -:global(.badge.public) { +.artwork > :global(.badge:is(.public, .favorite)) { inset-inline-end: 0; +} +.artwork > :global(.badge.public) { color: var(--accent-green); } -:global(.badge.favorite) { - inset-inline-end: 0; +.artwork > :global(.badge.favorite) { color: var(--accent-red); - & :global(svg) { + & > :global(svg) { fill: currentColor; } } -:global(.badge.downloaded) { +.artwork > :global(.badge.downloaded) { inset-inline-start: 0; color: var(--accent-green); } diff --git a/src/lib/NowPlaying.svelte b/src/lib/NowPlaying.svelte index 7679058..7ac630b 100644 --- a/src/lib/NowPlaying.svelte +++ b/src/lib/NowPlaying.svelte @@ -248,7 +248,6 @@ $effect(() => { src={api.getCoverArt(artId, 512)} class="artwork-image" {@attach fadeImage} - class:hidden={showLyrics} > {/if} {#if settings.visualizerLocation === "artwork"} @@ -388,12 +387,12 @@ $effect(() => { } } - .artwork-image.hidden { + &[aria-pressed="true"] > .artwork-image { opacity: 0.125; } :global(html.transparency) & { - .artwork-image.hidden { + &[aria-pressed="true"] > .artwork-image { opacity: 0.25; filter: blur(16px); } diff --git a/src/lib/components/ProgressBar.svelte b/src/lib/components/ProgressBar.svelte index 2d7c300..8333607 100644 --- a/src/lib/components/ProgressBar.svelte +++ b/src/lib/components/ProgressBar.svelte @@ -66,7 +66,7 @@ const percentage = $derived( align-items: center; inline-size: 100%; - input { + > input { inline-size: 100%; } } diff --git a/src/lib/dialogs/InfoModal.svelte b/src/lib/dialogs/InfoModal.svelte index c7e8922..7ae5113 100644 --- a/src/lib/dialogs/InfoModal.svelte +++ b/src/lib/dialogs/InfoModal.svelte @@ -558,7 +558,6 @@ $effect(() => { {#if albumId}