Skip to content

Commit 2470b3b

Browse files
author
FolderView Plus Test
committed
Polish docker command view layout
1 parent b478621 commit 2470b3b

6 files changed

Lines changed: 38 additions & 34 deletions

File tree

14 MB
Binary file not shown.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
23008dfc9f8d784b495ad82157b08bbfb96be99ea4c17422b8bd1648c7d99fc0 folderview.plus-2026.04.15.27.txz

docs/releases/2026.04.15.27.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
- Fix: Docker command-view container tiles now proxy the native Docker row trigger the same way the regular FolderView preview does, instead of mixing inline-handler hydration with the tile surface.
2+
- UX: Command-view hover treatment now stays on the container icon instead of drawing a focus outline around the entire tile row.
3+
- UX: Command-view folder titles, subtitle metadata, and running/paused/stopped/update badges now render larger for readability.

folderview.plus.plg

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,19 @@
66
<!ENTITY launch "Settings/FolderViewPlus">
77
<!ENTITY plugdir "/usr/local/emhttp/plugins/&name;">
88
<!ENTITY pluginURL "https://raw.githubusercontent.com/&github;/dev/folderview.plus.plg">
9-
<!ENTITY version "2026.04.15.26">
10-
<!ENTITY md5 "2ea3cf4b9c1352a7c8717d6175569737">
9+
<!ENTITY version "2026.04.15.27">
10+
<!ENTITY md5 "e6f536fba149d9342c7fedb816090916">
1111
]>
1212

1313
<PLUGIN name="&name;" author="&author;" version="&version;" launch="&launch;" pluginURL="&pluginURL;" icon="folder-icon.png" support="https://forums.unraid.net/topic/197631-plugin-folderview-plus/" min="7.0.0">
1414
<CHANGES>
1515

16+
###2026.04.15.27
17+
- Fix: Docker command-view container tiles now proxy the native Docker row trigger the same way the regular FolderView preview does, instead of mixing inline-handler hydration with the tile surface.
18+
- UX: Command-view hover treatment now stays on the container icon instead of drawing a focus outline around the entire tile row.
19+
- UX: Command-view folder titles, subtitle metadata, and running/paused/stopped/update badges now render larger for readability.
20+
21+
1622
###2026.04.15.26
1723
- UX: Docker command-view folder cards now use the saved folder icon in the title, scale it to the command surface, and raise the folder title size for clearer scanning.
1824
- UX: Running container tiles now use the runtime started-status green outline instead of the faint white border treatment.

src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/scripts/docker.runtime.command-view.js

Lines changed: 10 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -335,38 +335,24 @@
335335
surface.setAttribute('role', 'button');
336336
surface.setAttribute('tabindex', '0');
337337
const title = trigger instanceof HTMLElement ? String(trigger.getAttribute('title') || '').trim() : '';
338-
const inlineClick = trigger instanceof HTMLElement ? String(trigger.getAttribute('onclick') || '').trim() : '';
339-
const inlineContextMenu = trigger instanceof HTMLElement ? String(trigger.getAttribute('oncontextmenu') || '').trim() : '';
340338
if (title) {
341339
surface.setAttribute('title', title);
342340
}
343-
if (inlineClick) {
344-
surface.setAttribute('onclick', inlineClick);
345-
} else {
346-
surface.addEventListener('click', (event) => {
347-
event.preventDefault();
348-
event.stopPropagation();
349-
proxyNativeMemberTrigger(safeName, 'click');
350-
});
351-
}
352-
if (inlineContextMenu) {
353-
surface.setAttribute('oncontextmenu', inlineContextMenu);
354-
} else {
355-
surface.addEventListener('contextmenu', (event) => {
356-
event.preventDefault();
357-
event.stopPropagation();
358-
proxyNativeMemberTrigger(safeName, 'contextmenu');
359-
});
360-
}
341+
surface.addEventListener('click', (event) => {
342+
event.preventDefault();
343+
event.stopPropagation();
344+
proxyNativeMemberTrigger(safeName, 'click');
345+
});
346+
surface.addEventListener('contextmenu', (event) => {
347+
event.preventDefault();
348+
event.stopPropagation();
349+
proxyNativeMemberTrigger(safeName, 'contextmenu');
350+
});
361351
surface.addEventListener('keydown', (event) => {
362352
if (event.key !== 'Enter' && event.key !== ' ') {
363353
return;
364354
}
365355
event.preventDefault();
366-
if (inlineClick) {
367-
surface.click();
368-
return;
369-
}
370356
event.stopPropagation();
371357
proxyNativeMemberTrigger(safeName, 'click');
372358
});

src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/styles/docker.command-view.css

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ body[data-fvplus-docker-command-view-mounted="true"] table#docker_containers {
186186
align-items: center;
187187
gap: 0.52rem;
188188
color: var(--fv-docker-command-text-primary);
189-
font-size: 1.18rem;
189+
font-size: 1.28rem;
190190
font-weight: 700;
191191
line-height: 1.2;
192192
}
@@ -201,7 +201,8 @@ body[data-fvplus-docker-command-view-mounted="true"] table#docker_containers {
201201
.fv-docker-command-card-subtitle {
202202
margin-top: 0.2rem;
203203
color: var(--fv-docker-command-text-dim);
204-
font-size: 0.85rem;
204+
font-size: 0.96rem;
205+
line-height: 1.35;
205206
}
206207

207208
.fv-docker-command-flag,
@@ -210,10 +211,11 @@ body[data-fvplus-docker-command-view-mounted="true"] table#docker_containers {
210211
align-items: center;
211212
gap: 0.35rem;
212213
border-radius: 999px;
213-
padding: 0.28rem 0.58rem;
214+
padding: 0.34rem 0.7rem;
214215
background: var(--fv-docker-command-surface-muted);
215216
border: 1px solid var(--fv-docker-command-border-faint);
216-
font-size: 0.8rem;
217+
font-size: 0.9rem;
218+
line-height: 1;
217219
}
218220

219221
.fv-docker-command-flag.pinned,
@@ -273,7 +275,7 @@ body[data-fvplus-docker-command-view-mounted="true"] table#docker_containers {
273275

274276
.fv-docker-command-member-tile.running {
275277
border-color: var(--fvplus-status-started, #7ad05a);
276-
box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fvplus-status-started, #7ad05a) 55%, transparent);
278+
box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fvplus-status-started, #7ad05a) 78%, transparent);
277279
}
278280

279281
.fv-docker-command-member-tile.paused {
@@ -305,6 +307,11 @@ body[data-fvplus-docker-command-view-mounted="true"] table#docker_containers {
305307
.fv-docker-command-member-surface:hover,
306308
.fv-docker-command-member-surface:focus-visible {
307309
outline: 0;
310+
box-shadow: none;
311+
}
312+
313+
.fv-docker-command-member-surface:hover .fv-docker-command-member-icon-wrap,
314+
.fv-docker-command-member-surface:focus-visible .fv-docker-command-member-icon-wrap {
308315
box-shadow: inset 0 0 0 1px var(--fv-docker-command-focus-ring);
309316
}
310317

@@ -346,7 +353,7 @@ body[data-fvplus-docker-command-view-mounted="true"] table#docker_containers {
346353
background: var(--fv-docker-command-surface-strong);
347354
border: 1px solid var(--fv-docker-command-border-faint);
348355
color: var(--fv-docker-command-text-primary);
349-
font-size: 0.82rem;
356+
font-size: 0.86rem;
350357
font-weight: 600;
351358
overflow: hidden;
352359
text-overflow: ellipsis;
@@ -365,11 +372,12 @@ body[data-fvplus-docker-command-view-mounted="true"] table#docker_containers {
365372
display: inline-flex;
366373
align-items: center;
367374
gap: 0.3rem;
368-
padding: 0.14rem 0.44rem;
375+
padding: 0.2rem 0.5rem;
369376
border-radius: 999px;
370377
background: var(--fv-docker-command-surface-muted);
371378
border: 1px solid var(--fv-docker-command-border-faint);
372-
font-size: 0.73rem;
379+
font-size: 0.8rem;
380+
line-height: 1;
373381
}
374382

375383
.fv-docker-command-member-update {

0 commit comments

Comments
 (0)