Skip to content

Commit 74de67f

Browse files
feat: color-code folder status text for started paused stopped
1 parent c52d831 commit 74de67f

6 files changed

Lines changed: 44 additions & 9 deletions

File tree

185 KB
Binary file not shown.

folderview.plus.plg

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,20 @@
66
<!ENTITY launch "Settings/FolderViewPlus">
77
<!ENTITY plugdir "/usr/local/emhttp/plugins/&name;">
88
<!ENTITY pluginURL "https://raw.githubusercontent.com/&github;/main/folderview.plus.plg">
9-
<!ENTITY version "2026.03.05.8">
10-
<!ENTITY md5 "c4ca972ced30d8cab3c4ac07354a9b07">
9+
<!ENTITY version "2026.03.05.9">
10+
<!ENTITY md5 "1d386e5f2c1a4a90a90f5155c5fb389a">
1111
]>
1212

1313
<PLUGIN name="&name;" author="&author;" version="&version;" launch="&launch;" pluginURL="&pluginURL;" icon="folder-open-o" support="https://github.com/alexphillips-dev/FolderView-Plus/issues" min="7.0.0">
1414
<CHANGES>
1515

16+
###2026.03.05.9
17+
- Color-code folder state text for faster scanning:
18+
- white for `started`,
19+
- dark gold for `paused`,
20+
- red for `stopped`.
21+
- Apply status text coloring to both Docker and VM folder views.
22+
1623
###2026.03.05.8
1724
- Improve folder status labels to show explicit state totals:
1825
- `X/N started` when any items are running,

src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/scripts/docker.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1022,19 +1022,21 @@ const createFolder = (folder, id, positionInMainOrder, liveOrderArray, container
10221022
if (FOLDER_VIEW_DEBUG_MODE) console.log(`[FV3_DEBUG] createFolder (id: ${id}): Set 'update ready' status in update column.`);
10231023
}
10241024
const total = Object.entries(folder.containers).length;
1025+
const $folderState = $(`tr.folder-id-${id} span.folder-state`);
1026+
$folderState.removeClass('fv-folder-state-started fv-folder-state-paused fv-folder-state-stopped');
10251027
let folderStatusKind = 'stopped';
10261028
if (started > 0) {
10271029
folderStatusKind = 'running';
10281030
$(`tr.folder-id-${id} i#load-folder-${id}`).attr('class', 'fa fa-play started green-text folder-load-status');
1029-
$(`tr.folder-id-${id} span.folder-state`).text(`${started}/${total} ${$.i18n('started')}`);
1031+
$folderState.text(`${started}/${total} ${$.i18n('started')}`).addClass('fv-folder-state-started');
10301032
} else if (paused > 0) {
10311033
folderStatusKind = 'paused';
10321034
$(`tr.folder-id-${id} i#load-folder-${id}`).attr('class', 'fa fa-pause paused orange-text folder-load-status');
1033-
$(`tr.folder-id-${id} span.folder-state`).text(`${paused}/${total} ${$.i18n('paused')}`);
1035+
$folderState.text(`${paused}/${total} ${$.i18n('paused')}`).addClass('fv-folder-state-paused');
10341036
} else {
10351037
folderStatusKind = 'stopped';
10361038
$(`tr.folder-id-${id} i#load-folder-${id}`).attr('class', 'fa fa-square stopped red-text folder-load-status');
1037-
$(`tr.folder-id-${id} span.folder-state`).text(`${stopped}/${total} ${$.i18n('stopped')}`);
1039+
$folderState.text(`${stopped}/${total} ${$.i18n('stopped')}`).addClass('fv-folder-state-stopped');
10381040
}
10391041
const badgePrefs = folderTypePrefs?.badges || {};
10401042
const showRunningBadge = badgePrefs.running !== false;

src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/scripts/vm.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -361,19 +361,21 @@ const createFolder = (folder, id, position, order, vmInfo, foldersDone) => {
361361
//set tehe status of a folder
362362

363363
const total = Object.entries(folder.containers).length;
364+
const $folderState = $(`tr.folder-id-${id} span.folder-state`);
365+
$folderState.removeClass('fv-folder-state-started fv-folder-state-paused fv-folder-state-stopped');
364366
let folderStatusKind = 'stopped';
365367
if (started > 0) {
366368
folderStatusKind = 'running';
367369
$(`tr.folder-id-${id} i#load-folder-${id}`).attr('class', 'fa fa-play started green-text folder-load-status');
368-
$(`tr.folder-id-${id} span.folder-state`).text(`${started}/${total} ${$.i18n('started')}`);
370+
$folderState.text(`${started}/${total} ${$.i18n('started')}`).addClass('fv-folder-state-started');
369371
} else if (paused > 0) {
370372
folderStatusKind = 'paused';
371373
$(`tr.folder-id-${id} i#load-folder-${id}`).attr('class', 'fa fa-pause paused orange-text folder-load-status');
372-
$(`tr.folder-id-${id} span.folder-state`).text(`${paused}/${total} ${$.i18n('paused')}`);
374+
$folderState.text(`${paused}/${total} ${$.i18n('paused')}`).addClass('fv-folder-state-paused');
373375
} else {
374376
folderStatusKind = 'stopped';
375377
$(`tr.folder-id-${id} i#load-folder-${id}`).attr('class', 'fa fa-square stopped red-text folder-load-status');
376-
$(`tr.folder-id-${id} span.folder-state`).text(`${stopped}/${total} ${$.i18n('stopped')}`);
378+
$folderState.text(`${stopped}/${total} ${$.i18n('stopped')}`).addClass('fv-folder-state-stopped');
377379
}
378380
const badgePrefs = folderTypePrefs?.badges || {};
379381
const showRunningBadge = badgePrefs.running !== false;

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,18 @@
4646
white-space: nowrap;
4747
}
4848

49+
span.folder-state.fv-folder-state-started {
50+
color: #ffffff !important;
51+
}
52+
53+
span.folder-state.fv-folder-state-paused {
54+
color: #b8860b !important;
55+
}
56+
57+
span.folder-state.fv-folder-state-stopped {
58+
color: #ff4d4d !important;
59+
}
60+
4961
.folder-storage {
5062
display: none;
5163
}

src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/styles/vm.css

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,18 @@
3939
flex-shrink: 0;
4040
}
4141

42+
span.folder-state.fv-folder-state-started {
43+
color: #ffffff !important;
44+
}
45+
46+
span.folder-state.fv-folder-state-paused {
47+
color: #b8860b !important;
48+
}
49+
50+
span.folder-state.fv-folder-state-stopped {
51+
color: #ff4d4d !important;
52+
}
53+
4254
.folder-storage {
4355
display: none;
4456
}
@@ -88,4 +100,4 @@ div.folder-preview-4 span.outer{
88100

89101
.folder-element-custom-btn {
90102
margin-left: 0.5em;
91-
}
103+
}

0 commit comments

Comments
 (0)