From 67b7444f8256daabe5af0787966c9054b091cef8 Mon Sep 17 00:00:00 2001 From: KeelrLeek <156356974+KeelrLeek@users.noreply.github.com> Date: Tue, 8 Sep 2026 16:28:18 -0500 Subject: [PATCH] settings: each section heading carries the same icon as its index entry --- src/views/Settings.svelte | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/src/views/Settings.svelte b/src/views/Settings.svelte index 76b0107..88dcdbe 100644 --- a/src/views/Settings.svelte +++ b/src/views/Settings.svelte @@ -340,6 +340,7 @@ { id: "artistart", title: "Artist artwork", group: "Artwork", icon: "image" }, ]; const GROUPS = ["You", "Look & sound", "Music", "Artwork"]; + const iconOf = (id) => SECTIONS.find((x) => x.id === id)?.icon ?? "settings"; let active = $state("account"); let pageEl = $state(null); @@ -406,7 +407,7 @@
-

Account

Your Soulseek login and where the password lives.
+

Account

Your Soulseek login and where the password lives.
@@ -427,7 +428,7 @@
-

Networks

The two networks this app speaks, and whether they are tied together.
+

Networks

The two networks this app speaks, and whether they are tied together.
@@ -526,7 +527,7 @@
-

Appearance

How the window is drawn.
+

Appearance

How the window is drawn.
@@ -540,7 +541,7 @@
-

Playback

Output and loudness.
+

Playback

Output and loudness.
@@ -562,7 +563,7 @@
-

Lyrics

Line sync is always on; word fill is the experiment.
+

Lyrics

Line sync is always on; word fill is the experiment.
@@ -608,7 +609,7 @@
-

Streaming

What happens to a track after you streamed it.
+

Streaming

What happens to a track after you streamed it.
@@ -630,7 +631,7 @@
-

Library & downloads

Where music lands and how it is filed.
+

Library & downloads

Where music lands and how it is filed.
@@ -654,7 +655,7 @@
-

Sharing

Sharing keeps you a good citizen — leechers get banned.
+

Sharing

Sharing keeps you a good citizen — leechers get banned.
@@ -688,7 +689,7 @@
-

Source quality

Independent preferences for streaming and downloading.
+

Source quality

Independent preferences for streaming and downloading.
The ceiling and floor bound which peer files qualify; priority decides whether the resolver picks the best format or the fastest transfer among them. Fastest estimates arrival from file size ÷ peer speed plus queue wait — a large FLAC from a fast peer can win.
{#each [{ key: "stream", label: "Streaming" }, { key: "download", label: "Downloads" }] as mode (mode.key)} @@ -720,7 +721,7 @@
-

Album artwork

Covers come from Deezer, Apple and the Cover Art Archive; the catalog's wins, at the highest resolution any source serves.
+

Album artwork

Covers come from Deezer, Apple and the Cover Art Archive; the catalog's wins, at the highest resolution any source serves.
@@ -756,7 +757,7 @@
-

Artist artwork

Portraits and the hero renderer.
+

Artist artwork

Portraits and the hero renderer.
@@ -811,7 +812,9 @@ /* ── sections and rows ── */ .sec { margin-bottom: 26px; scroll-margin-top: 12px; } - .sec-head { display: flex; align-items: baseline; gap: 10px; margin: 0 0 8px; flex-wrap: wrap; } + .sec-head { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; flex-wrap: wrap; } + .sec-head .hic { width: 24px; height: 24px; border-radius: 7px; display: grid; place-items: center; flex: none; background: rgba(255, 255, 255, 0.08); color: var(--text-secondary); } + .sec-head .hic + h2 { margin-left: -2px; } .sec-head h2 { margin: 0; font-size: 15px; font-weight: 800; letter-spacing: -0.01em; } .sec-head .blurb { font-size: 12px; color: var(--text-muted); } .card { background: var(--surf); border: 1px solid var(--hair); border-radius: 12px; overflow: hidden; }