detached 39cf1a7

fix(webui): use theme vars for warnings, show restart notice after save

commit
39cf1a7914ba0118534ed7bc7743f0dffa2a941d
author
brice · · 2025-12-28 19:45 UTC
committer
brice · · 2025-12-29 17:28 UTC
parent
f2573c8
signature
unsigned
1 file · +24 -5
M webui/src/pages/ConfigPage.svelte +24 -5
@@ -86,6 +86,7 @@
8686 let saving = $state(false);
8787 let saveSuccess = $state(false);
8888 let saveError = $state<string | null>(null);
89+ let showRestartWarning = $state(false);
8990 let themeEvents = $state(0);
9091 let activeTab = $state("appearance");
9192
@@ -182,6 +183,11 @@
182183 saveSuccess = true;
183184 saving = false;
184185
186+ // Show restart warning if performance tab was active
187+ if (activeTab === "performance") {
188+ showRestartWarning = true;
189+ }
190+
185191 // Refresh config from backend (in case watcher normalized values)
186192 reloadConfig();
187193
@@ -409,13 +415,13 @@
409415 </Card.Description>
410416 </Card.Header>
411417 <Card.Content class="space-y-6">
412- <!-- Restart warning banner -->
413- <div class="flex items-start gap-3 rounded-md border border-amber-500/30 bg-amber-500/10 px-4 py-3">
414- <span class="text-amber-500">⚠</span>
418+ <!-- Experimental feature warning -->
419+ <div class="flex items-start gap-3 rounded-md border border-info/30 bg-info/10 px-4 py-3">
420+ <span class="text-info">🧪</span>
415421 <div class="space-y-1">
416- <p class="text-sm font-medium text-amber-500">Restart Required</p>
422+ <p class="text-sm font-medium text-info">Experimental Feature</p>
417423 <p class="text-xs text-muted-foreground">
418- Performance settings are applied at browser startup. Changes will take effect after restarting Dumber.
424+ Performance profiles are experimental. Results may vary depending on your hardware and WebKitGTK version.
419425 </p>
420426 </div>
421427 </div>
@@ -539,6 +545,19 @@
539545 {saveError}
540546 </div>
541547 {/if}
548+
549+ <!-- Restart warning after saving performance settings -->
550+ {#if showRestartWarning}
551+ <div class="flex items-start gap-3 border border-warning/30 bg-warning/10 px-4 py-3">
552+ <span class="text-warning">⚠</span>
553+ <div class="space-y-1">
554+ <p class="text-sm font-medium text-warning">Restart Required</p>
555+ <p class="text-xs text-muted-foreground">
556+ Performance settings are applied at browser startup. Restart Dumber for changes to take effect.
557+ </p>
558+ </div>
559+ </div>
560+ {/if}
542561 {/if}
543562 </div>
544563 </ConfigShell>
@@ -86,6 +86,7 @@
86 let saving = $state(false);86 let saving = $state(false);
87 let saveSuccess = $state(false);87 let saveSuccess = $state(false);
88 let saveError = $state<string | null>(null);88 let saveError = $state<string | null>(null);
89+ let showRestartWarning = $state(false);
89 let themeEvents = $state(0);90 let themeEvents = $state(0);
90 let activeTab = $state("appearance");91 let activeTab = $state("appearance");
91 92
@@ -182,6 +183,11 @@
182 saveSuccess = true;183 saveSuccess = true;
183 saving = false;184 saving = false;
184 185
186+ // Show restart warning if performance tab was active
187+ if (activeTab === "performance") {
188+ showRestartWarning = true;
189+ }
190+
185 // Refresh config from backend (in case watcher normalized values)191 // Refresh config from backend (in case watcher normalized values)
186 reloadConfig();192 reloadConfig();
187 193
@@ -409,13 +415,13 @@
409 </Card.Description>415 </Card.Description>
410 </Card.Header>416 </Card.Header>
411 <Card.Content class="space-y-6">417 <Card.Content class="space-y-6">
412- <!-- Restart warning banner -->418+ <!-- Experimental feature warning -->
413- <div class="flex items-start gap-3 rounded-md border border-amber-500/30 bg-amber-500/10 px-4 py-3">419+ <div class="flex items-start gap-3 rounded-md border border-info/30 bg-info/10 px-4 py-3">
414- <span class="text-amber-500">⚠</span>420+ <span class="text-info">🧪</span>
415 <div class="space-y-1">421 <div class="space-y-1">
416- <p class="text-sm font-medium text-amber-500">Restart Required</p>422+ <p class="text-sm font-medium text-info">Experimental Feature</p>
417 <p class="text-xs text-muted-foreground">423 <p class="text-xs text-muted-foreground">
418- Performance settings are applied at browser startup. Changes will take effect after restarting Dumber.424+ Performance profiles are experimental. Results may vary depending on your hardware and WebKitGTK version.
419 </p>425 </p>
420 </div>426 </div>
421 </div>427 </div>
@@ -539,6 +545,19 @@
539 {saveError}545 {saveError}
540 </div>546 </div>
541 {/if}547 {/if}
548+
549+ <!-- Restart warning after saving performance settings -->
550+ {#if showRestartWarning}
551+ <div class="flex items-start gap-3 border border-warning/30 bg-warning/10 px-4 py-3">
552+ <span class="text-warning">⚠</span>
553+ <div class="space-y-1">
554+ <p class="text-sm font-medium text-warning">Restart Required</p>
555+ <p class="text-xs text-muted-foreground">
556+ Performance settings are applied at browser startup. Restart Dumber for changes to take effect.
557+ </p>
558+ </div>
559+ </div>
560+ {/if}
542 {/if}561 {/if}
543 </div>562 </div>
544 </ConfigShell>563 </ConfigShell>

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 8

Tags 42

↑↓ moveenter openesc close