From 3e40361b6e00e23eb1348d34f0b6f45cb649dd73 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Thu, 8 May 2025 15:54:27 -0700 Subject: [PATCH 001/103] refactor: remove duplicate page stylesheets inclusion in MainContentTabless.php --- .../dynamix/include/DefaultPageLayout/MainContentTabless.php | 1 - 1 file changed, 1 deletion(-) diff --git a/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContentTabless.php b/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContentTabless.php index d36f189e9..8fd9eec1c 100644 --- a/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContentTabless.php +++ b/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContentTabless.php @@ -8,7 +8,6 @@
-
From d5fbdebde450e14483e5755dc8397c13cfd81b23 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Thu, 8 May 2025 15:54:50 -0700 Subject: [PATCH 002/103] fix: panels spacing + user list for responsiveness --- emhttp/plugins/dynamix/UserList.page | 58 +++++--- .../include/DefaultPageLayout/MainContent.php | 2 +- emhttp/plugins/dynamix/sheets/UserList.css | 51 ++++++- .../plugins/dynamix/styles/default-base.css | 139 ++++++------------ 4 files changed, 133 insertions(+), 117 deletions(-) diff --git a/emhttp/plugins/dynamix/UserList.page b/emhttp/plugins/dynamix/UserList.page index 963e6ee6a..8eb1f7f34 100644 --- a/emhttp/plugins/dynamix/UserList.page +++ b/emhttp/plugins/dynamix/UserList.page @@ -13,26 +13,48 @@ Tag="users" * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. */ -?> - -
_(Management Access)_
- - - -
_(Shares Access)_
- - - -

- - - -_(No users are defined)_. _(Click **Add User** to create a user for remote shares access)_ +
+ + _(Management Access)_ + +
+ +
+ + _(Shares Access)_ + +
+ +

_(No users are defined)_. _(Click **Add User** to create a user for remote shares access)_

+ +
+ + + + + +
- -
- + +
diff --git a/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContent.php b/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContent.php index 011ac94d2..7e5824e33 100644 --- a/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContent.php +++ b/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContent.php @@ -85,7 +85,7 @@ function generatePanels($page, $path, $defaultIcon, $docroot, $useTabCookie = fa foreach ($pgs as $pg) { $output .= generatePanel($pg, $path, $defaultIcon, $docroot, $useTabCookie); } - return $output; + return '
'.$output.'
'; } /** diff --git a/emhttp/plugins/dynamix/sheets/UserList.css b/emhttp/plugins/dynamix/sheets/UserList.css index 70479a9a4..5be17f8a0 100644 --- a/emhttp/plugins/dynamix/sheets/UserList.css +++ b/emhttp/plugins/dynamix/sheets/UserList.css @@ -1,11 +1,46 @@ -a.info span { - top: 66px; - left: 42px; -} +.user-list { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + min-width: 10rem; + max-width: 15rem; + word-break: break-all; + background-color: var(--mild-background-color); + border: 1px solid var(--border-color); + border-radius: .5rem; + box-sizing: border-box; -.Theme--black, -.Theme--white { - div#title { - margin-top: -30px !important; + a { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + width: 100%; + gap: 1rem; + padding: 1rem; + box-sizing: border-box; + + &.info span { + top: 66px; + left: 42px; + } + } + + img { + width: auto; + max-width: 48px; + height: 48px; } } + +.Theme--sidebar { + .user-list { + background-color: transparent; + border: 1px solid var(--table-alt-border-color); + + &:hover { + background-color: var(--opac-background-color); + } + } +} \ No newline at end of file diff --git a/emhttp/plugins/dynamix/styles/default-base.css b/emhttp/plugins/dynamix/styles/default-base.css index 7c553a632..439f03bb8 100644 --- a/emhttp/plugins/dynamix/styles/default-base.css +++ b/emhttp/plugins/dynamix/styles/default-base.css @@ -442,7 +442,7 @@ a[href="/Tools/Downgrade"] .icon-update:before { margin-right: 4px; } div.title { - margin: 20px 0 32px 0; + margin: 20px 0 0 0; padding: 8px 10px; clear: both; border-bottom: 1px solid var(--table-border-color); @@ -450,6 +450,11 @@ div.title { letter-spacing: 1.8px; font-size: 1.4rem; } + +.title + .title { + margin-top: 0; +} + /* div.title span.left { font-size: 1.4rem; } */ @@ -1217,50 +1222,51 @@ a.list { .tabs button[role="tab"]:last-child { margin-right: 0; } -div.Panel { + +.Panels { + display: flex; + flex-direction: row; + flex-wrap: wrap; + column-gap: 3rem; + row-gap: 2rem; + margin-top: 2rem; + box-sizing: border-box; +} +.Panel { + position: relative; text-align: center; - float: left; - margin: 0 0 30px 10px; - padding-right: 50px; - height: 8rem; + box-sizing: border-box; + background-color: transparent; + + a { + position: relative; + text-decoration: none; + padding: 1rem; + display: grid; + gap: 1rem; + align-items: flex-start; + justify-content: center; + } + + &:hover, + &:focus { + .PanelText { + text-decoration: underline; + } + } } -div.Panel a { - text-decoration: none; -} -div.Panel span { - height: 42px; - display: block; -} -div.Panel:hover .PanelText { - text-decoration: underline; -} -div.Panel img.PanelImg { +.PanelImg { width: auto; - max-width: 32px; - height: 32px; + max-width: 33px; + height: 33px; + margin: 0 auto; } -div.Panel i.PanelIcon { - font-size: 32px; +.PanelIcon { color: var(--text-color); + font-size: 32px; /* Results in height of 33px... */ + line-height: 1; } -div.user-list { - float: left; - padding: 10px; - margin-right: 10px; - margin-bottom: 24px; - border: 1px solid var(--border-color); - border-radius: 5px; - line-height: 2rem; - height: 10rem; - width: 10rem; - background-color: var(--mild-background-color); -} -div.user-list img { - width: auto; - max-width: 48px; - height: 48px; - margin-bottom: 16px; -} + div.up { margin-top: -30px; border: 1px solid var(--border-color); @@ -2143,61 +2149,10 @@ span#wlan0 { display: none; } - div.Panel { - width: 25%; - height: auto; - margin: 0; - padding: 5px; - border-right: var(--table-alt-border-color) 1px solid; - border-bottom: 1px solid var(--table-alt-border-color); - box-sizing: border-box; - } - - div.Panel:hover { - background-color: var(--mild-background-color); - } - - div.Panel a { - display: flex; - justify-content: start; - align-items: center; - gap: 32px; - } - - div.Panel span { - height: auto; - } - - div.Panel br, .vmtemplate br { display: none; } - div.Panel img.PanelImg { - float: left; - margin: 10px; - } - - div.Panel i.PanelIcon { - float: left; - color: var(--text-color); - margin: 10px; - } - - div.Panel .PanelText { - font-size: 1.4rem; - padding-top: 0; - text-align: center; - } - - div.user-list { - background-color: transparent; - border: 1px solid var(--table-alt-border-color); - } - - div.user-list:hover { - background-color: var(--opac-background-color); - } div.vmheader { display: block; clear: both; @@ -2262,6 +2217,10 @@ span#wlan0 { padding: 0 1rem 4rem; } +.Theme--sidebar #displaybox { + padding-left: 8rem; +} + /* Theme width styles */ .Theme--width-boxed #displaybox { min-width: 1280px; From 882f64b07708782c51cbf41d16ece3277641e25f Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Thu, 8 May 2025 15:58:49 -0700 Subject: [PATCH 003/103] style: center align user list items in UserList.css --- emhttp/plugins/dynamix/sheets/UserList.css | 1 + 1 file changed, 1 insertion(+) diff --git a/emhttp/plugins/dynamix/sheets/UserList.css b/emhttp/plugins/dynamix/sheets/UserList.css index 5be17f8a0..c0a9d5a0e 100644 --- a/emhttp/plugins/dynamix/sheets/UserList.css +++ b/emhttp/plugins/dynamix/sheets/UserList.css @@ -1,4 +1,5 @@ .user-list { + text-align: center; display: flex; flex-direction: column; align-items: center; From ef04971eb0ca9567610764a60b6ffc5c289e1547 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Thu, 8 May 2025 16:13:45 -0700 Subject: [PATCH 004/103] style: update #displaybox styles for improved layout and responsiveness - Added new styles for #displaybox to enhance layout across themes. - Removed complex old media queries for better clarity and maintenance. --- .../plugins/dynamix/styles/default-base.css | 94 +++++-------------- 1 file changed, 24 insertions(+), 70 deletions(-) diff --git a/emhttp/plugins/dynamix/styles/default-base.css b/emhttp/plugins/dynamix/styles/default-base.css index 439f03bb8..7c69f5263 100644 --- a/emhttp/plugins/dynamix/styles/default-base.css +++ b/emhttp/plugins/dynamix/styles/default-base.css @@ -1,3 +1,4 @@ + html { font-family: clear-sans, sans-serif; font-size: var(--custom-font-size, 62.5%); @@ -12,7 +13,7 @@ body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } -@media (max-width: 1280px) { +/* @media (max-width: 1280px) { #template { min-width: 1260px; max-width: 1260px; @@ -31,7 +32,7 @@ body { max-width: 1920px; margin: 0 auto; } -} +} */ img { border: none; text-decoration: none; @@ -566,6 +567,27 @@ div.title.shift { vertical-align: middle; padding-bottom: 2px; } +#displaybox { + width: 100%; + margin: 0 auto; + padding: 0 1rem 4rem; + box-sizing: border-box; +} + +.Theme--sidebar #displaybox { + padding-left: 8rem; +} + +.Theme--width-boxed #displaybox { + max-width: 1920px; +} + +@media (min-width: 1281px) { + .Theme--nav-top.Theme--width-unlimited #displaybox { + padding: 0 2rem; + } +} + #clear { clear: both; } @@ -2212,71 +2234,3 @@ span#wlan0 { background-color: var(--brand-orange); } } - -#displaybox { - padding: 0 1rem 4rem; -} - -.Theme--sidebar #displaybox { - padding-left: 8rem; -} - -/* Theme width styles */ -.Theme--width-boxed #displaybox { - min-width: 1280px; - max-width: 1280px; - margin: 0; -} - -.Theme--width-unlimited #displaybox { - min-width: 1280px; - margin: 0; -} - -/* Media queries for different screen sizes */ -@media (max-width: 1280px) { - .Theme--width-boxed #displaybox { - min-width: 1280px; - max-width: 1280px; - margin: 0; - } - - .Theme--width-unlimited #displaybox { - min-width: 1280px; - margin: 0; - } -} - -@media (min-width: 1281px) { - .Theme--width-boxed #displaybox { - min-width: 1280px; - max-width: 1920px; - margin: 0 auto; - } - - .Theme--width-unlimited #displaybox { - min-width: 1280px; - margin: 0 auto; - } - - .Theme--nav-top.Theme--width-unlimited #displaybox { - margin: 0 10px; - } -} - -@media (min-width: 1921px) { - .Theme--width-boxed #displaybox { - min-width: 1280px; - max-width: 1920px; - margin: 0 auto; - } - - .Theme--width-unlimited #displaybox { - min-width: 1280px; - margin: 0 auto; - } - - .Theme--nav-top.Theme--width-unlimited #displaybox { - margin: 0 20px; - } -} From 4adc5252fc9d2869a67be58c9ce7cb11861bec95 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Thu, 8 May 2025 16:17:23 -0700 Subject: [PATCH 005/103] style: update viewport meta tag for improved responsiveness - Changed viewport meta tag from fixed width to device-width for better adaptability across devices. --- emhttp/plugins/dynamix/include/DefaultPageLayout.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix/include/DefaultPageLayout.php b/emhttp/plugins/dynamix/include/DefaultPageLayout.php index 0bdf4ec2c..bb3df8a7e 100644 --- a/emhttp/plugins/dynamix/include/DefaultPageLayout.php +++ b/emhttp/plugins/dynamix/include/DefaultPageLayout.php @@ -80,7 +80,7 @@ if (count($pages)) { - + From 280ddcb508cbb6a06ab7419cc3b530260d80da6e Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Thu, 8 May 2025 16:18:14 -0700 Subject: [PATCH 006/103] style: update media query breakpoint for improved layout - Changed media query breakpoint from 1281px to 1921px to enhance layout responsiveness for larger screens. --- emhttp/plugins/dynamix/styles/default-base.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix/styles/default-base.css b/emhttp/plugins/dynamix/styles/default-base.css index 7c69f5263..715f7a732 100644 --- a/emhttp/plugins/dynamix/styles/default-base.css +++ b/emhttp/plugins/dynamix/styles/default-base.css @@ -582,7 +582,7 @@ div.title.shift { max-width: 1920px; } -@media (min-width: 1281px) { +@media (min-width: 1921px) { .Theme--nav-top.Theme--width-unlimited #displaybox { padding: 0 2rem; } From 0f7c5fc383f71edb050346887aac4a6354b7176d Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Thu, 8 May 2025 16:41:52 -0700 Subject: [PATCH 007/103] style: enhance layout responsiveness with media queries - Updated #menu and .nav-tile styles for better adaptability on mobile and larger screens. - Adjusted footer positioning based on screen size to maintain layout integrity. - Improved overall responsiveness by implementing media queries for different screen sizes. --- .../plugins/dynamix/styles/default-base.css | 48 ++++++++++++++----- 1 file changed, 37 insertions(+), 11 deletions(-) diff --git a/emhttp/plugins/dynamix/styles/default-base.css b/emhttp/plugins/dynamix/styles/default-base.css index 715f7a732..6b64d4e60 100644 --- a/emhttp/plugins/dynamix/styles/default-base.css +++ b/emhttp/plugins/dynamix/styles/default-base.css @@ -1,4 +1,3 @@ - html { font-family: clear-sans, sans-serif; font-size: var(--custom-font-size, 62.5%); @@ -472,15 +471,26 @@ div.title.shift { margin-top: -30px; } #menu { - position: sticky; - top: 0; width: 100%; display: grid; - grid-template-columns: auto max-content; + grid-template-columns: 1fr; /* Single column for mobile */ + grid-template-rows: auto auto; /* Two rows stacked */ z-index: 101; } + +/* For larger screens (desktop/tablet) switch to current horizontal layout */ +@media (min-width: 768px) { + #menu { + position: sticky; + top: 0; + grid-template-columns: auto max-content; /* Original layout */ + grid-template-rows: auto; /* Single row */ + } +} + .nav-tile { - height: 4rem; + height: auto; /* Allow height to adjust */ + min-height: 4rem; line-height: 4rem; display: flex; padding: 0; @@ -493,12 +503,23 @@ div.title.shift { overflow-y: hidden; scrollbar-width: thin; } + +/* For larger screens, maintain original behavior */ +@media (min-width: 768px) { + .nav-tile { + flex-wrap: nowrap; + height: 4rem; + } +} + .nav-tile::-webkit-scrollbar { height: 5px; } -.nav-tile.right { - text-align: right; - justify-content: flex-end; +@media (min-width: 768px) { + .nav-tile.right { + text-align: right; + justify-content: flex-end; + } } .nav-item, .nav-user { @@ -593,9 +614,7 @@ div.title.shift { } #footer { box-sizing: border-box; - position: fixed; - bottom: 0; - left: 0; + position: relative; color: var(--footer-text); background-color: var(--footer-background-color); padding: .5rem 1rem; @@ -607,6 +626,13 @@ div.title.shift { align-items: center; gap: 1rem; } +@media (min-width: 768px) { + #footer { + position: fixed; + bottom: 0; + left: 0; + } +} #countdown { margin: 0 auto; } From a00396c339389af29357c4e02bd36367b6af4008 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Thu, 8 May 2025 16:47:57 -0700 Subject: [PATCH 008/103] style: enhance layout and alignment in default-base.css - Added flexbox properties to div.title for improved layout and alignment of child elements. - Updated span.status to display as inline-block and added margin for better spacing. --- emhttp/plugins/dynamix/styles/default-base.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/emhttp/plugins/dynamix/styles/default-base.css b/emhttp/plugins/dynamix/styles/default-base.css index 6b64d4e60..84efc1f66 100644 --- a/emhttp/plugins/dynamix/styles/default-base.css +++ b/emhttp/plugins/dynamix/styles/default-base.css @@ -442,6 +442,9 @@ a[href="/Tools/Downgrade"] .icon-update:before { margin-right: 4px; } div.title { + display: flex; + flex-direction: row; + align-items: center; margin: 20px 0 0 0; padding: 8px 10px; clear: both; @@ -1089,6 +1092,8 @@ span.cpu-speed { } span.status { font-size: 1.4rem; + display: inline-block; + margin-left: auto; } span.status.vhshift { margin-top: 0; From 44ce463a6d06148f601bd2e21a4ad3e02c8f30d7 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Thu, 8 May 2025 16:49:40 -0700 Subject: [PATCH 009/103] style: comment out table.tablesorter.shift styles in default-dynamix.css - Commented out the styles for table.tablesorter.shift to prevent margin adjustments that may affect layout --- emhttp/plugins/dynamix/styles/default-dynamix.css | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/emhttp/plugins/dynamix/styles/default-dynamix.css b/emhttp/plugins/dynamix/styles/default-dynamix.css index eb0113272..5d5a33060 100644 --- a/emhttp/plugins/dynamix/styles/default-dynamix.css +++ b/emhttp/plugins/dynamix/styles/default-dynamix.css @@ -464,9 +464,9 @@ table.tablesorter.left td:last-child { text-align: right; width: 4%; } -table.tablesorter.shift { +/* table.tablesorter.shift { margin-top: -30px; -} +} */ table.tablesorter.kvm { display: block; padding-top: 24px; @@ -1535,9 +1535,9 @@ div.icon-zip { table.tablesorter tbody.tablesorter-infoOnly { border-bottom: 1px solid var(--dynamix-tablesorter-tbody-row-border-color); } - table.tablesorter.shift { + /* table.tablesorter.shift { margin-top: 10px; - } + } */ table.tablesorter.indexer tfoot tr { border-bottom: none; } From 889c2d209b277529c1a0113f31d6337c7e24a66e Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Thu, 8 May 2025 16:56:13 -0700 Subject: [PATCH 010/103] style: update .nav-tile and .usage-bar for improved layout - Changed .nav-tile to use flexbox with a column direction for better alignment of child elements. - Updated .usage-bar positioning to relative and adjusted width for enhanced layout consistency. --- emhttp/plugins/dynamix/styles/default-base.css | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/emhttp/plugins/dynamix/styles/default-base.css b/emhttp/plugins/dynamix/styles/default-base.css index 84efc1f66..9ae085360 100644 --- a/emhttp/plugins/dynamix/styles/default-base.css +++ b/emhttp/plugins/dynamix/styles/default-base.css @@ -1860,7 +1860,8 @@ span#wlan0 { .nav-tile { height: auto; line-height: 1; - display: block; + display: flex; + flex-direction: column; padding: 0; margin: 0; font-size: 1.2rem; @@ -2025,13 +2026,8 @@ span#wlan0 { } .usage-bar { - float: unset; - position: fixed; - top: 64px; - left: 300px; - height: 2.2rem; - line-height: 2.2rem; - width: 11rem; + position: relative; + width: 6.4rem; margin: 0; padding: 0; } From 27bbadd16bc20059a1ddbfeda5685f475f7d9e64 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Thu, 8 May 2025 16:58:40 -0700 Subject: [PATCH 011/103] style: comment out margin adjustment in span.status for layout consistency - Commented out the margin-right property in span.status.vhshift to prevent potential layout issues. --- emhttp/plugins/dynamix/styles/default-base.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix/styles/default-base.css b/emhttp/plugins/dynamix/styles/default-base.css index 9ae085360..e38ea2c84 100644 --- a/emhttp/plugins/dynamix/styles/default-base.css +++ b/emhttp/plugins/dynamix/styles/default-base.css @@ -1097,7 +1097,7 @@ span.status { } span.status.vhshift { margin-top: 0; - margin-right: -9px; + /* margin-right: -9px; */ } span.status.vshift { margin-top: -16px; From 7b975c421d95648aa9eb6b9a3e8c7de57f349878 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Thu, 8 May 2025 17:32:35 -0700 Subject: [PATCH 012/103] style: enhance layout in default-base.css - Added flexbox properties to body for improved layout structure. - Adjusted div.title.shift by commenting out z-index for better stacking context. - Updated footer positioning and z-index for consistent layout across screen sizes. - Modified styles for a.list and .tabs for better alignment and spacing. --- .../plugins/dynamix/styles/default-base.css | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/emhttp/plugins/dynamix/styles/default-base.css b/emhttp/plugins/dynamix/styles/default-base.css index e38ea2c84..3e7f5140a 100644 --- a/emhttp/plugins/dynamix/styles/default-base.css +++ b/emhttp/plugins/dynamix/styles/default-base.css @@ -7,6 +7,9 @@ body { font-size: 1.3rem; color: var(--text-color); background-color: var(--background-color); + display: flex; + flex-direction: column; + height: 100vh; padding: 0; margin: 0; -webkit-font-smoothing: antialiased; @@ -478,7 +481,7 @@ div.title.shift { display: grid; grid-template-columns: 1fr; /* Single column for mobile */ grid-template-rows: auto auto; /* Two rows stacked */ - z-index: 101; + /* z-index: 101; */ } /* For larger screens (desktop/tablet) switch to current horizontal layout */ @@ -623,17 +626,18 @@ div.title.shift { padding: .5rem 1rem; width: 100%; text-align: center; - z-index: 10000; display: flex; justify-content: space-between; align-items: center; gap: 1rem; + margin-top: auto; } @media (min-width: 768px) { #footer { position: fixed; bottom: 0; left: 0; + z-index: 10000; } } #countdown { @@ -1220,6 +1224,7 @@ a.list { display: flex; flex-direction: row; align-items: center; + gap: .5rem; } .tabs { @@ -1236,13 +1241,12 @@ a.list { border-top-left-radius: 6px; border-top-right-radius: 6px; border-bottom: 1px solid transparent; - color: var(--gray-300); + color: var(--text-color); font-weight: normal; font-family: inherit; font-size: 1.4rem; letter-spacing: 1.8px; - margin-right: 4px; - margin-bottom: 0; + margin: 0; padding: .75rem 1rem; min-width: 0; box-shadow: none; @@ -1258,11 +1262,7 @@ a.list { background-image: none; opacity: .75; } -.tabs button[role="tab"] > .tab-icon { - margin-right: 8px; - display: inline-flex; - align-items: center; -} + .tabs button[role="tab"]:focus, .tabs button[role="tab"]:hover, .tabs button[role="tab"][aria-selected="true"] { @@ -1272,9 +1272,6 @@ a.list { border-bottom: 1px solid transparent; opacity: 1; } -.tabs button[role="tab"]:last-child { - margin-right: 0; -} .Panels { display: flex; From 17413b1500b2c981ea386785d7ca0804a6c20cc8 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Thu, 8 May 2025 17:32:42 -0700 Subject: [PATCH 013/103] style: refactor HTML structure in ArrayDevices.page for improved readability - Reformatted the table structure in ArrayDevices.page for better clarity. - Changed PHP short tags to standard syntax for consistency. - Enhanced the layout by separating the header and body sections for better organization. --- emhttp/plugins/dynamix/ArrayDevices.page | 36 ++++++++++++++++-------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/emhttp/plugins/dynamix/ArrayDevices.page b/emhttp/plugins/dynamix/ArrayDevices.page index 034c919fe..dbeaf58dc 100644 --- a/emhttp/plugins/dynamix/ArrayDevices.page +++ b/emhttp/plugins/dynamix/ArrayDevices.page @@ -14,8 +14,6 @@ Cond="(_var($var,'SYS_ARRAY_SLOTS') > 0 || $var['fsState']=='Stopped')" * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. */ -?> - - - -"; -if (_var($display,'total') && _var($var,'mdNumDisks',0)>1) echo ""; -?> - + + + + + + + + + + + + + + + + + + + + + 1) :?> + + +
_(Device)__(Identification)__(Temp)__(Reads)__(Writes)__(Errors)__(FS)__(Size)__(Used)__(Free)_
_(Device)__(Identification)__(Temp)__(Reads)__(Writes)__(Errors)__(FS)__(Size)__(Used)__(Free)_
:main_array_devices_help: -
:main_slots_help: - + \ No newline at end of file From 892f430d37d3a5b5119a0c9d4b8cfd2805cc8b02 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Thu, 8 May 2025 17:32:48 -0700 Subject: [PATCH 014/103] style: clean up Plugins.css by removing unnecessary styles - Removed commented-out styles for .Theme--black and .Theme--white to streamline the CSS. - Eliminated redundant margin-top adjustment in span.status.vhshift for improved layout clarity. --- emhttp/plugins/dynamix.plugin.manager/sheets/Plugins.css | 7 ------- 1 file changed, 7 deletions(-) diff --git a/emhttp/plugins/dynamix.plugin.manager/sheets/Plugins.css b/emhttp/plugins/dynamix.plugin.manager/sheets/Plugins.css index dd3d30489..ac69352cd 100644 --- a/emhttp/plugins/dynamix.plugin.manager/sheets/Plugins.css +++ b/emhttp/plugins/dynamix.plugin.manager/sheets/Plugins.css @@ -5,11 +5,4 @@ } table tbody td { line-height: normal; -} - -.Theme--black, -.Theme--white { - span.status.vhshift { - margin-top: 8px !important; - } } \ No newline at end of file From a82a684100103e762d7596b0458bab689f620bc1 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Thu, 8 May 2025 18:16:46 -0700 Subject: [PATCH 015/103] style: adjust body and div.title.shift in default-base.css - Commented out height property in body to prevent layout shift on scrollable pages. - Restored z-index in div.title.shift for improved stacking context. --- emhttp/plugins/dynamix/styles/default-base.css | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/emhttp/plugins/dynamix/styles/default-base.css b/emhttp/plugins/dynamix/styles/default-base.css index 3e7f5140a..712240be5 100644 --- a/emhttp/plugins/dynamix/styles/default-base.css +++ b/emhttp/plugins/dynamix/styles/default-base.css @@ -7,9 +7,11 @@ body { font-size: 1.3rem; color: var(--text-color); background-color: var(--background-color); + /* causes layout shift on scrollable pages */ + /* height: 100vh; display: flex; flex-direction: column; - height: 100vh; + overflow-y: auto; */ padding: 0; margin: 0; -webkit-font-smoothing: antialiased; @@ -481,7 +483,7 @@ div.title.shift { display: grid; grid-template-columns: 1fr; /* Single column for mobile */ grid-template-rows: auto auto; /* Two rows stacked */ - /* z-index: 101; */ + z-index: 101; } /* For larger screens (desktop/tablet) switch to current horizontal layout */ From a0fbd37fa15c29e31f441257af65d04a37f777cd Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Thu, 8 May 2025 18:22:05 -0700 Subject: [PATCH 016/103] style: clean up default-base.css by removing commented-out media queries - Removed unnecessary media query styles to streamline the CSS. - Added margin reset for

elements containing links, scripts, and styles to improve spacing consistency. --- .../plugins/dynamix/styles/default-base.css | 29 ++++++------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/emhttp/plugins/dynamix/styles/default-base.css b/emhttp/plugins/dynamix/styles/default-base.css index 712240be5..7940eccfd 100644 --- a/emhttp/plugins/dynamix/styles/default-base.css +++ b/emhttp/plugins/dynamix/styles/default-base.css @@ -17,26 +17,6 @@ body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } -/* @media (max-width: 1280px) { - #template { - min-width: 1260px; - max-width: 1260px; - margin: 0; - } -} -@media (min-width: 1281px) { - #template { - min-width: 1260px; - margin: 0 10px; - } -} -@media (min-width: 1921px) { - #template { - min-width: 1260px; - max-width: 1920px; - margin: 0 auto; - } -} */ img { border: none; text-decoration: none; @@ -45,6 +25,15 @@ img { p { text-align: justify; } +/** + * The markdown parser will often add

around links, scripts, and styles. + * Without this, spacing is off with essentially empty paragraphs. + */ +p:has(> link), +p:has(> script), +p:has(> style) { + margin: 0; +} p.centered { text-align: left; } From 0234023dc232aa4d1c600c8db5b1030c6c4626ac Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Thu, 8 May 2025 18:33:54 -0700 Subject: [PATCH 017/103] style: update DashStats.css for improved layout and responsiveness - Commented out unnecessary styles in div.last to clean up the CSS. - Introduced a new CSS variable for grid column width to enhance flexibility. - Adjusted grid layout for better responsiveness on larger screens with a media query. --- emhttp/plugins/dynamix/sheets/DashStats.css | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/emhttp/plugins/dynamix/sheets/DashStats.css b/emhttp/plugins/dynamix/sheets/DashStats.css index 2ce63b5c3..cebbf0d94 100644 --- a/emhttp/plugins/dynamix/sheets/DashStats.css +++ b/emhttp/plugins/dynamix/sheets/DashStats.css @@ -10,11 +10,6 @@ .Theme--white:root { --dashstats-pie-after-bg-color: #f7f9f9; } - -div.frame { - padding-top: 1rem; - padding-bottom: 5rem; -} div.tile, i.tile { display: none; @@ -23,9 +18,9 @@ div#iframe-popup { display: none; -webkit-overflow-scrolling: touch; } -div.last { +/* div.last { padding-bottom: 12px; -} +} */ div.leftside { float: left; width: 66%; @@ -366,9 +361,15 @@ table.snapshot { } div.grid { display: grid; - grid-template-columns: repeat(auto-fit, minmax(580px, 1fr)); + --dashboard-grid-min-column-width: auto; + grid-template-columns: repeat(auto-fit, minmax(var(--dashboard-grid-min-column-width), 1fr)); column-gap: 20px; } +@media (min-width: 768px) { + div.grid { + --dashboard-grid-min-column-width: 580px; + } +} div.pie { height: 92px; width: 92px; From 144156651398a5c717452e64613719502d4f4592 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Thu, 8 May 2025 18:38:11 -0700 Subject: [PATCH 018/103] style: improve grid layout in DashStats.css for better responsiveness - Adjusted grid layout to have 1 column by default for mobile screens. - Implemented 2 columns for medium screens and 3 columns for larger screens using media queries for enhanced responsiveness. --- emhttp/plugins/dynamix/sheets/DashStats.css | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/emhttp/plugins/dynamix/sheets/DashStats.css b/emhttp/plugins/dynamix/sheets/DashStats.css index cebbf0d94..23823d1dd 100644 --- a/emhttp/plugins/dynamix/sheets/DashStats.css +++ b/emhttp/plugins/dynamix/sheets/DashStats.css @@ -361,13 +361,17 @@ table.snapshot { } div.grid { display: grid; - --dashboard-grid-min-column-width: auto; - grid-template-columns: repeat(auto-fit, minmax(var(--dashboard-grid-min-column-width), 1fr)); + grid-template-columns: 1fr; /* 1 column by default (mobile) */ column-gap: 20px; } @media (min-width: 768px) { div.grid { - --dashboard-grid-min-column-width: 580px; + grid-template-columns: repeat(2, 1fr); /* 2 columns for medium screens */ + } +} +@media (min-width: 1600px) { + div.grid { + grid-template-columns: repeat(3, 1fr); /* 3 columns for big screens */ } } div.pie { From a8f432058f15782387f7485b361965f25ffa8e97 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Thu, 8 May 2025 18:53:53 -0700 Subject: [PATCH 019/103] style: refactor table structure across multiple pages for scrollable layout on smaller screen sizes - Wrapped tables in a

with class "TableContainer" for better responsiveness. - Ensured consistent styling and structure across ArrayDevices.page, BootDevice.page, DiskList.page, ShareList.page, DockerContainers.page, Plugins.page, and VMMachines.page. - Updated CSS to support new table container classes for enhanced layout control. --- .../DockerContainers.page | 23 ++++++-- .../dynamix.plugin.manager/Plugins.page | 20 +++++-- .../dynamix.vm.manager/VMMachines.page | 21 ++++++-- emhttp/plugins/dynamix/ArrayDevices.page | 54 +++++++++---------- emhttp/plugins/dynamix/BootDevice.page | 31 ++++++++--- emhttp/plugins/dynamix/DiskList.page | 20 +++++-- emhttp/plugins/dynamix/ShareList.page | 20 +++++-- .../plugins/dynamix/styles/default-base.css | 21 +++++++- 8 files changed, 154 insertions(+), 56 deletions(-) diff --git a/emhttp/plugins/dynamix.docker.manager/DockerContainers.page b/emhttp/plugins/dynamix.docker.manager/DockerContainers.page index a5acf32ea..3b6861e15 100644 --- a/emhttp/plugins/dynamix.docker.manager/DockerContainers.page +++ b/emhttp/plugins/dynamix.docker.manager/DockerContainers.page @@ -28,10 +28,25 @@ $cpus = cpu_list(); ?> - - - -
_(Application)__(Version)__(Network)__(Container IP)__(Container Port)__(LAN IP:Port)__(Volume Mappings)_ (_(App to Host)_)_(CPU & Memory load)__(Autostart)__(Uptime)_
+
+ + + + + + + + + + + + + + + + +
_(Application)__(Version)__(Network)__(Container IP)__(Container Port)__(LAN IP:Port)__(Volume Mappings)_ (_(App to Host)_)_(CPU & Memory load)__(Autostart)__(Uptime)_
+
diff --git a/emhttp/plugins/dynamix.plugin.manager/Plugins.page b/emhttp/plugins/dynamix.plugin.manager/Plugins.page index 66ccdb768..661fd3c28 100644 --- a/emhttp/plugins/dynamix.plugin.manager/Plugins.page +++ b/emhttp/plugins/dynamix.plugin.manager/Plugins.page @@ -151,7 +151,19 @@ $(function() { $('.tabs').append(""); }); - - - -
_(Plugin)__(Author)__(Version)__(Status)__(Uninstall)_
+ +
+ + + + + + + + + + + + +
_(Plugin)__(Author)__(Version)__(Status)__(Uninstall)_
+
diff --git a/emhttp/plugins/dynamix.vm.manager/VMMachines.page b/emhttp/plugins/dynamix.vm.manager/VMMachines.page index 9b465d814..2cc691b9b 100644 --- a/emhttp/plugins/dynamix.vm.manager/VMMachines.page +++ b/emhttp/plugins/dynamix.vm.manager/VMMachines.page @@ -486,10 +486,23 @@ $(function() { }); - - - -
_(Name)__(Description)__(CPUs)__(Memory)__(vDisks / vCDs)__(Graphics)__(IP Address)__(Autostart)_
+
+ + + + + + + + + + + + + + +
_(Name)__(Description)__(CPUs)__(Memory)__(vDisks / vCDs)__(Graphics)__(IP Address)__(Autostart)_
+
diff --git a/emhttp/plugins/dynamix/ArrayDevices.page b/emhttp/plugins/dynamix/ArrayDevices.page index dbeaf58dc..1a9edc4cf 100644 --- a/emhttp/plugins/dynamix/ArrayDevices.page +++ b/emhttp/plugins/dynamix/ArrayDevices.page @@ -21,34 +21,34 @@ $power = _var($display,'power') && in_array('nvme',array_column(main_filter($dis $('#tab1').bind({click:function() {$('i.toggle').show('slow');}}); - - - - - - - - - - - - - - - - - - - - +
+
_(Device)__(Identification)__(Temp)__(Reads)__(Writes)__(Errors)__(FS)__(Size)__(Used)__(Free)_
+ + + + + + + + + + + + + + + + + + + + + 1) :?> + - - 1) :?> - - - -
_(Device)__(Identification)__(Temp)__(Reads)__(Writes)__(Errors)__(FS)__(Size)__(Used)__(Free)_
- + + +
:main_array_devices_help: diff --git a/emhttp/plugins/dynamix/BootDevice.page b/emhttp/plugins/dynamix/BootDevice.page index 05d09204e..5a1e016fd 100644 --- a/emhttp/plugins/dynamix/BootDevice.page +++ b/emhttp/plugins/dynamix/BootDevice.page @@ -19,12 +19,27 @@ Tag="paw" $('#tab3').bind({click:function() {$('i.toggle').show('slow');}}); - - - - -";?> - -
_(Device)__(Identification)__(Temp)__(Reads)__(Writes)__(Errors)__(FS)__(Size)__(Used)__(Free)_
- +
+ + + + + + + + + + + + + + + + + + + + +
_(Device)__(Identification)__(Temp)__(Reads)__(Writes)__(Errors)__(FS)__(Size)__(Used)__(Free)_
+
:boot_device_help: diff --git a/emhttp/plugins/dynamix/DiskList.page b/emhttp/plugins/dynamix/DiskList.page index 9c4d6ad32..ec7d219a5 100644 --- a/emhttp/plugins/dynamix/DiskList.page +++ b/emhttp/plugins/dynamix/DiskList.page @@ -15,10 +15,22 @@ Cond="_var($var,'fsState')!='Stopped' && _var($var,'shareDisk')!='no'" * all copies or substantial portions of the Software. */ ?> - - - - +
+ + + + + + + + + + + + + + +
diff --git a/emhttp/plugins/dynamix/ShareList.page b/emhttp/plugins/dynamix/ShareList.page index ce6d30037..c2b7fe8ae 100644 --- a/emhttp/plugins/dynamix/ShareList.page +++ b/emhttp/plugins/dynamix/ShareList.page @@ -33,10 +33,22 @@ $disks = parse_ini_file('state/disks.ini',true) ?? []; $nodisks = checkDisks($disks) ? "" : "disabled"; ?> - - - - +
+ + + + + + + + + + + + + + +
diff --git a/emhttp/plugins/dynamix/styles/default-base.css b/emhttp/plugins/dynamix/styles/default-base.css index 7940eccfd..f9981947d 100644 --- a/emhttp/plugins/dynamix/styles/default-base.css +++ b/emhttp/plugins/dynamix/styles/default-base.css @@ -588,7 +588,7 @@ div.title.shift { #displaybox { width: 100%; margin: 0 auto; - padding: 0 1rem 4rem; + padding: 1rem 1rem 4rem; box-sizing: border-box; } @@ -812,6 +812,25 @@ div.title.shift { ); background: linear-gradient(90deg, var(--gray-400) 0, var(--gray-200)); } + +.TableContainer { + overflow-x: scroll; + -webkit-overflow-scrolling: touch; + + table { + min-width: 900px; + } +} + +.TableContainer--widest { + overflow-x: scroll; + -webkit-overflow-scrolling: touch; + + table { + min-width: 1345px; + } +} + table { border-collapse: collapse; border-spacing: 0; From a3917eabe5a725958dd964cba1562719e883940f Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Fri, 9 May 2025 11:37:00 -0700 Subject: [PATCH 020/103] fix: update title handling in MainContent, MainContentTabbed, and MainContentTabless for improved variable usage - Replaced direct htmlspecialchars usage with eval to ensure variables in .page titles are correctly processed. - This change enhances the flexibility of title rendering across multiple layout files. --- .../dynamix/include/DefaultPageLayout/MainContent.php | 3 ++- .../dynamix/include/DefaultPageLayout/MainContentTabbed.php | 6 ++++-- .../include/DefaultPageLayout/MainContentTabless.php | 6 +++++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContent.php b/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContent.php index 7e5824e33..6b57fb4b9 100644 --- a/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContent.php +++ b/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContent.php @@ -44,7 +44,8 @@ function process_icon($icon, $docroot, $root) { * @return string HTML for the Panel element */ function generatePanel($pg, $path, $defaultIcon, $docroot, $useTabCookie = false) { - $panelTitle = htmlspecialchars($pg['Title']); + $panelTitle = ''; // to appease the linter because eval is used below + eval("\$panelTitle=\"".htmlspecialchars((string)$pg['Title'])."\";"); // ensures variables in any .page title are used $icon = _var($pg, 'Icon', $defaultIcon); $icon = process_icon($icon, $docroot, $pg['root']); diff --git a/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContentTabbed.php b/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContentTabbed.php index d8a6fd81f..06319bfeb 100644 --- a/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContentTabbed.php +++ b/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContentTabbed.php @@ -10,7 +10,10 @@ - +
-
+

@@ -43,7 +43,7 @@ ksort($users); -
+

From 3207fb23356e8e180991abc1859617f5a54b6f14 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Fri, 9 May 2025 11:43:30 -0700 Subject: [PATCH 023/103] style: update default-base.css for clarity in status span - Added a comment in span.status.vhshift to indicate that the margin-right adjustment is likely no longer needed, improving code clarity for future reference. --- emhttp/plugins/dynamix/styles/default-base.css | 1 + 1 file changed, 1 insertion(+) diff --git a/emhttp/plugins/dynamix/styles/default-base.css b/emhttp/plugins/dynamix/styles/default-base.css index f9981947d..1005c902a 100644 --- a/emhttp/plugins/dynamix/styles/default-base.css +++ b/emhttp/plugins/dynamix/styles/default-base.css @@ -1111,6 +1111,7 @@ span.status { } span.status.vhshift { margin-top: 0; + /* leaving for reference, but should likely not be needed anymore */ /* margin-right: -9px; */ } span.status.vshift { From c9da14d67503ed533542b445a6a3f8574a72fb76 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Fri, 9 May 2025 11:58:49 -0700 Subject: [PATCH 024/103] style: update class for tab content in MainContentTabbed.php - Changed the class attribute from "content" to "tab-content content" for better semantic clarity and improved styling consistency in the tabbed layout. --- .../dynamix/include/DefaultPageLayout/MainContentTabbed.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContentTabbed.php b/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContentTabbed.php index 06319bfeb..82317b331 100644 --- a/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContentTabbed.php +++ b/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContentTabbed.php @@ -42,9 +42,8 @@ id="-panel" role="tabpanel" aria-labelledby="" - class="content" + class="tab-content content" tabindex="0" - style="display:none;" > From 07ca5c40e05e5c282d13fe6edbc2ce19242b8552 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Fri, 9 May 2025 11:59:14 -0700 Subject: [PATCH 025/103] feat: tabs enable horizontal scroll on mobile - Added a new class for the tabs container to enable horizontal scrolling and set its width to 100%. - Introduced a class for tab content to manage visibility and added padding for forms within it. - Adjusted padding and margin for various elements to improve layout consistency and responsiveness. --- emhttp/plugins/dynamix/styles/default-base.css | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix/styles/default-base.css b/emhttp/plugins/dynamix/styles/default-base.css index 1005c902a..cab665c91 100644 --- a/emhttp/plugins/dynamix/styles/default-base.css +++ b/emhttp/plugins/dynamix/styles/default-base.css @@ -1242,6 +1242,11 @@ a.list { justify-content: space-between; } +.tabs-container { + overflow-x: scroll; + width: 100%; +} + .tabs button[role="tab"] { appearance: none; -webkit-appearance: none; @@ -1265,6 +1270,7 @@ a.list { display: flex; align-items: center; justify-content: center; + flex-shrink: 0; vertical-align: middle; line-height: 1.0; cursor: pointer; @@ -1284,6 +1290,14 @@ a.list { opacity: 1; } +.tab-content { + display: none; + + form { + padding-top: 1rem; + } +} + .Panels { display: flex; flex-direction: row; @@ -1432,7 +1446,7 @@ iframe#progressFrame { } dl { margin: 0; - padding-left: 12px; + padding: 0; line-height: 2.6rem; } dt { @@ -1445,6 +1459,7 @@ dt { } dd { margin-bottom: 12px; + margin-left: 0; white-space: nowrap; } dd p { From 4ab619b94afa455398517013cbd3eee94d4a5f2a Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Fri, 9 May 2025 12:37:47 -0700 Subject: [PATCH 026/103] style: update default-base.css for improved tab and list styling - Changed background color of radio buttons to transparent for a cleaner look. - Adjusted opacity of list items for better visibility. - Removed unnecessary CSS rules related to tab layout to simplify the stylesheet and enhance maintainability. --- .../plugins/dynamix/styles/default-base.css | 45 ++----------------- 1 file changed, 3 insertions(+), 42 deletions(-) diff --git a/emhttp/plugins/dynamix/styles/default-base.css b/emhttp/plugins/dynamix/styles/default-base.css index cab665c91..52026905d 100644 --- a/emhttp/plugins/dynamix/styles/default-base.css +++ b/emhttp/plugins/dynamix/styles/default-base.css @@ -1251,7 +1251,7 @@ a.list { appearance: none; -webkit-appearance: none; -moz-appearance: none; - background-color: var(--radio-background-color); + background-color: transparent; border: 1px solid var(--disabled-input-border-color); border-radius: 0; border-top-left-radius: 6px; @@ -1277,13 +1277,13 @@ a.list { transition: border-color 0.2s, color 0.2s, background 0.2s, opacity 0.2s; text-transform: none; background-image: none; - opacity: .75; + opacity: .5; } .tabs button[role="tab"]:focus, .tabs button[role="tab"]:hover, .tabs button[role="tab"][aria-selected="true"] { - background: transparent; + background-color: transparent; color: var(--text-color); border-color: var(--brand-orange); border-bottom: 1px solid transparent; @@ -2182,45 +2182,6 @@ span#wlan0 { background-color: var(--dashboard-background-color); } - label + .content { - margin-top: 64px; - } - - div.tabs { - background-color: var(--background-color); - } - - div.tab { - margin-top: 23px; - } - - div.tab [type="radio"] + label { - padding: 10px; - border-top-left-radius: 12px; - border-top-right-radius: 12px; - background-color: var(--border-color); - color: var(--gray-300); - border: 1px solid var(--gray-500); - border-bottom: none; - } - - div.tab [type="radio"] + label:hover { - border-color: var(--alt-border-color); - } - - div.tab [type="radio"]:checked + label { - cursor: default; - background-color: transparent; - border-bottom: none; - border-color: var(--alt-border-color); - opacity: 1; - color: var(--text-color); - } - - div.tab [type="radio"] + label img { - display: none; - } - .vmtemplate br { display: none; } From 9d0db982413df5aa29f7d505be43600315feb350 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Fri, 9 May 2025 13:23:03 -0700 Subject: [PATCH 027/103] feat: implement safe title processing in MainContent, MainContentTabbed, and MainContentTabless - Introduced a new function `processTitle` to safely handle page titles by replacing PHP variables with their values without using eval. - Updated title handling in MainContent, MainContentTabbed, and MainContentTabless to utilize the new `processTitle` function, enhancing security and maintainability. --- .../include/DefaultPageLayout/MainContent.php | 25 +++++++++++++++++-- .../DefaultPageLayout/MainContentTabbed.php | 6 ++--- .../DefaultPageLayout/MainContentTabless.php | 5 +--- 3 files changed, 26 insertions(+), 10 deletions(-) diff --git a/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContent.php b/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContent.php index 6b57fb4b9..d5f929e1c 100644 --- a/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContent.php +++ b/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContent.php @@ -13,6 +13,27 @@ $tabbed = $display['tabs'] == 0 && count($pages) > 1; $contentInclude = $tabbed ? 'MainContentTabbed.php' : 'MainContentTabless.php'; $defaultIcon = ""; + +/** + * Safely processes page titles by replacing PHP variables with their values + * + * @param string $rawTitle The unprocessed title that may contain variable references + * @return string Processed title with variables substituted + */ +function processTitle($rawTitle) { + // Safely replace any variables in the title without eval + $title = htmlspecialchars((string)$rawTitle); + return preg_replace_callback( + '/\$([a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*)/', + function($matches) { + return isset($GLOBALS[$matches[1]]) ? + htmlspecialchars((string)$GLOBALS[$matches[1]]) : + '$'.$matches[1]; + }, + $title + ); +} + function process_icon($icon, $docroot, $root) { global $defaultIcon; if (substr($icon, -4) == '.png') { @@ -44,8 +65,8 @@ function process_icon($icon, $docroot, $root) { * @return string HTML for the Panel element */ function generatePanel($pg, $path, $defaultIcon, $docroot, $useTabCookie = false) { - $panelTitle = ''; // to appease the linter because eval is used below - eval("\$panelTitle=\"".htmlspecialchars((string)$pg['Title'])."\";"); // ensures variables in any .page title are used + // Process title using our safe variable substitution function + $panelTitle = processTitle($pg['Title']); $icon = _var($pg, 'Icon', $defaultIcon); $icon = process_icon($icon, $docroot, $pg['root']); diff --git a/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContentTabbed.php b/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContentTabbed.php index 82317b331..b639e55bc 100644 --- a/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContentTabbed.php +++ b/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContentTabbed.php @@ -10,10 +10,7 @@ - +
+: + "> + + +
diff --git a/emhttp/plugins/dynamix.vm.manager/VMSettings.page b/emhttp/plugins/dynamix.vm.manager/VMSettings.page index bbafb709e..6839cbd16 100644 --- a/emhttp/plugins/dynamix.vm.manager/VMSettings.page +++ b/emhttp/plugins/dynamix.vm.manager/VMSettings.page @@ -313,7 +313,10 @@ _(btrfs scrub status)_:   -: +: + + + :vms_scrub_help: @@ -322,7 +325,9 @@ _(btrfs scrub status)_:   -: +: + + :vms_cancel_help: diff --git a/emhttp/plugins/dynamix/Confirmations.page b/emhttp/plugins/dynamix/Confirmations.page index 06fecd1ab..9135c7d36 100644 --- a/emhttp/plugins/dynamix/Confirmations.page +++ b/emhttp/plugins/dynamix/Confirmations.page @@ -44,6 +44,9 @@ _(Confirm sleep command)_:   -: +: + + + diff --git a/emhttp/plugins/dynamix/Console.page b/emhttp/plugins/dynamix/Console.page index ac8d16699..56785bfa4 100644 --- a/emhttp/plugins/dynamix/Console.page +++ b/emhttp/plugins/dynamix/Console.page @@ -114,5 +114,8 @@ _(Persistent Bash History)_: :console_bash_help:   -: +: + + + diff --git a/emhttp/plugins/dynamix/DeviceInfo.page b/emhttp/plugins/dynamix/DeviceInfo.page index 955e799c1..021a75726 100644 --- a/emhttp/plugins/dynamix/DeviceInfo.page +++ b/emhttp/plugins/dynamix/DeviceInfo.page @@ -841,7 +841,9 @@ _(Critical disk utilization threshold)_ (%):   -: +: + + @@ -855,6 +857,7 @@ _(Critical disk utilization threshold)_ (%): > + @@ -929,7 +932,10 @@ _(btrfs balance status)_:   -: _(Balance)_ _(is only available when the filesyestem is mounted)_ +: + + _(Balance)_ _(is only available when the filesyestem is mounted)_ + @@ -1118,7 +1124,10 @@ _(btrfs check status)_:   -: **_(Check)_** _(is only available when array is Started in **Maintenance** mode)_. +: + + **_(Check)_** _(is only available when array is Started in **Maintenance** mode)_. + @@ -1245,7 +1254,11 @@ _(reiserfsck status)_:   -: _(Options (see Help))_ +: + + + _(Options (see Help))_ + :info_reiserfs_check_help: @@ -1256,7 +1269,10 @@ _(reiserfsck status)_:   -: *_(Running)_* +: + + *_(Running)_* + :info_reiserfs_cancel_help: @@ -1264,7 +1280,10 @@ _(reiserfsck status)_:   -: **_(Check)_** _(is only available when array is Started in **Maintenance** mode)_. +: + + **_(Check)_** _(is only available when array is Started in **Maintenance** mode)_. + @@ -1342,7 +1361,10 @@ _(xfs_repair status)_:   -: **_(Check)_** _(is only available when array is Started in **Maintenance** mode)_. +: + + **_(Check)_** _(is only available when array is Started in **Maintenance** mode)_. + @@ -1434,17 +1456,27 @@ _(SMART controller type)_: :info_controller_type_help: _(SMART attribute notifications)_: -: _(Custom attributes (use comma to separate numbers))_ +: + _(Custom attributes (use comma to separate numbers))_   -: >_(Attribute)_ = +: + + + :info_attribute_notifications_help: -: +: + + + diff --git a/emhttp/plugins/dynamix/DiskSettings.page b/emhttp/plugins/dynamix/DiskSettings.page index eae11268a..d2396458e 100644 --- a/emhttp/plugins/dynamix/DiskSettings.page +++ b/emhttp/plugins/dynamix/DiskSettings.page @@ -263,7 +263,10 @@ _(Default critical SSD temperature threshold)_ (° +: + + + @@ -317,7 +320,10 @@ _(Select new keyfile)_:
  -: +: + + + @@ -386,5 +392,8 @@ _(Default SMART attribute notifications)_: :disk_default_smart_attribute_help: -: +: + + + diff --git a/emhttp/plugins/dynamix/DisplaySettings.page b/emhttp/plugins/dynamix/DisplaySettings.page index 9786213c9..4c1160203 100644 --- a/emhttp/plugins/dynamix/DisplaySettings.page +++ b/emhttp/plugins/dynamix/DisplaySettings.page @@ -334,5 +334,8 @@ _(Allow realtime updates on inactive browsers)_: -: +: + + + diff --git a/emhttp/plugins/dynamix/Eth0.page b/emhttp/plugins/dynamix/Eth0.page index d95dc64c8..692ee6449 100644 --- a/emhttp/plugins/dynamix/Eth0.page +++ b/emhttp/plugins/dynamix/Eth0.page @@ -897,7 +897,10 @@ _(IPv6 privacy extensions)_:
  -: +: + + + '._('Settings').')'?> diff --git a/emhttp/plugins/dynamix/EthX.page b/emhttp/plugins/dynamix/EthX.page index be1713f3b..aa7ac8408 100644 --- a/emhttp/plugins/dynamix/EthX.page +++ b/emhttp/plugins/dynamix/EthX.page @@ -342,7 +342,10 @@ _(IPv6 privacy extensions)_:
  -: +: + + + diff --git a/emhttp/plugins/dynamix/FTP.page b/emhttp/plugins/dynamix/FTP.page index ef50a6a0c..a08fe7b01 100644 --- a/emhttp/plugins/dynamix/FTP.page +++ b/emhttp/plugins/dynamix/FTP.page @@ -47,7 +47,10 @@ _(FTP user(s))_: :ftp_users_help:   -: +: + + + diff --git a/emhttp/plugins/dynamix/FlashInfo.page b/emhttp/plugins/dynamix/FlashInfo.page index 6113d787a..da3076466 100644 --- a/emhttp/plugins/dynamix/FlashInfo.page +++ b/emhttp/plugins/dynamix/FlashInfo.page @@ -68,4 +68,7 @@ _(Flash GUID)_: :flash_backup_help:   -: +: + + + diff --git a/emhttp/plugins/dynamix/Grub.page b/emhttp/plugins/dynamix/Grub.page index 63f48c5da..3afc9d2ae 100644 --- a/emhttp/plugins/dynamix/Grub.page +++ b/emhttp/plugins/dynamix/Grub.page @@ -60,7 +60,10 @@ _(Permit UEFI boot mode)_ : *_(By default UEFI and Legacy boot mode are both enabled when GRUB is used to boot the machine)_.* -: +: + + + :grub_button_help: diff --git a/emhttp/plugins/dynamix/Identification.page b/emhttp/plugins/dynamix/Identification.page index 7cdb669f7..f28ed33ab 100644 --- a/emhttp/plugins/dynamix/Identification.page +++ b/emhttp/plugins/dynamix/Identification.page @@ -42,7 +42,11 @@ _(Model)_: :id_model_help:   -: *_(Array must be **Stopped** to change)_* +: + + + + *_(Array must be **Stopped** to change)_* - + +  +: :syslinux_cfg_help: @@ -194,25 +194,38 @@ _(Syslinux configuration)_: $label = ($i) ? array_shift($area):$title; $start = in_array($menu,$area); if ($start) unset($area[array_search($menu,$area)]); -?> - title="_(Set default boot menu)_" onchange="changeMenu(this.form,this.id,true)"> - +?> + + + + +
_(Syslinux configuration)_: -: +:
_(Server boot mode)_: : -_(Permit UEFI boot mode)_ > -: *_(Boot system in UEFI mode)_. _(Please check your system settings to support UEFI boot mode)_.* +_(Boot system in UEFI mode)_: +: + *_(Please check your system settings to support UEFI boot mode)_.* -: +: + + + :syslinux_button_help: diff --git a/emhttp/plugins/dynamix/sheets/Syslinux.css b/emhttp/plugins/dynamix/sheets/Syslinux.css index f7bcdd3d6..8f7551ca6 100644 --- a/emhttp/plugins/dynamix/sheets/Syslinux.css +++ b/emhttp/plugins/dynamix/sheets/Syslinux.css @@ -1,61 +1,34 @@ :root { - --syslinux-span-array-border-color: #f2f2f2; --syslinux-textarea-menu-border-color: #f2f2f2; } .Theme--sidebar:root { - --syslinux-span-array-border-color: #606e7f; --syslinux-textarea-menu-border-color: transparent; } .Theme--white:root { - --syslinux-span-array-border-color: #1c1c1c; --syslinux-textarea-menu-border-color: #1c1b1b; } -div.basic { +.basic { display: block; } -div.advanced { +.advanced { display: none; } -textarea.raw { - resize: none; - font-family: bitstream; - width: 63%; -} -span.array, -span.system { - margin-left: 33.33%; - width: 63% !important; - padding: 2px 10px; +.config-item-label-wrapper { font-weight: bold; - border: 1px solid var(--syslinux-span-array-border-color); - border-bottom: none; + padding: .25rem .5rem; + border: none; + box-sizing: border-box; } -textarea.menu { - margin-left: 33.33%; - width: 63% !important; - margin-bottom: 12px; - padding: 4px 10px; + +.config-raw, +.config-item textarea { font-family: bitstream; -} - -dd { - padding-left: 40px; -} - -.Theme--black, -.Theme--white { - textarea.menu { - border: 1px solid var(--syslinux-textarea-menu-border-color); - border-top: none; - } -} - -.Theme--azure, -.Theme--gray { - textarea.menu { - border-top: none; - } + margin-bottom: 1rem; + padding: .5rem 1rem; + border: 1px solid var(--syslinux-textarea-menu-border-color); + max-width: 100%; + resize: vertical; } From a0bac2982912de9ca4b5f9ca70736fbd1b8277b5 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Tue, 20 May 2025 17:11:32 -0700 Subject: [PATCH 077/103] fix: wrap Eth0 buttons in span for improved layout consistency - Wrapped multiple buttons in the Eth0.page within span elements to enhance layout consistency. - This change aligns with previous efforts to improve visual structure across the plugin. --- emhttp/plugins/dynamix/Eth0.page | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/emhttp/plugins/dynamix/Eth0.page b/emhttp/plugins/dynamix/Eth0.page index ebd0d66d7..3e89b0740 100644 --- a/emhttp/plugins/dynamix/Eth0.page +++ b/emhttp/plugins/dynamix/Eth0.page @@ -809,13 +809,19 @@ _(Enable VLANs)_:
_(Interface description)_: : "> - )"> + + )"> + :eth_interface_description_help: _(VLAN number)_: : " class="narrow gap" required> - + + + + + :eth_vlan_number_help: @@ -906,7 +912,9 @@ _(IPv6 privacy extensions)_: - + + + '._('Settings').')'?> @@ -917,7 +925,9 @@ _(Interface description)_: _(VLAN number)_: : " class="narrow gap" required> - + + + _(Network protocol)_: : + +  +: + +
_(Use this to install official language packs)_
@@ -90,7 +94,10 @@ _(Installed languages)_: : _(Enter URL of language pack XML file)_: -: +: + + +
@@ -114,6 +121,9 @@ _(Select language file)_:
  -: +: + + +
From 4931d00990c707d90e5fb913c20c6a74ef2e30fc Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Tue, 20 May 2025 17:25:12 -0700 Subject: [PATCH 079/103] fix: enhance layout consistency in PHPsettings.page and PHPsettings.css - Updated PHPsettings.page to wrap buttons in a div for improved layout and added a new section for log management. - Modified PHPsettings.css to define a new class for the PHP settings description, ensuring better alignment and responsiveness. - This change continues the effort to enhance visual structure across the plugin. --- emhttp/plugins/dynamix/PHPsettings.page | 20 ++++++++++++++++--- emhttp/plugins/dynamix/sheets/PHPsettings.css | 7 +++++-- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/emhttp/plugins/dynamix/PHPsettings.page b/emhttp/plugins/dynamix/PHPsettings.page index f9876564f..d8eff8424 100644 --- a/emhttp/plugins/dynamix/PHPsettings.page +++ b/emhttp/plugins/dynamix/PHPsettings.page @@ -22,7 +22,7 @@ $conf = file_exists($ini) ? parse_ini_file($ini) : []; if (!file_exists($log)) touch($log); ?> -
+
:php_settings_plug: This utility is used for development purposes only and allows Plugin Authors to verify their PHP code by enabling different levels of PHP error reporting. @@ -42,6 +42,17 @@ under normal running conditions. + +  +:
+ + 0 ? '' : ' disabled'?>> + + + _(LOG size)_:  + +
+ _(Error reporting level)_: :   -: disabled>_(Show errors on screen)_ +: -0?'':' disabled'?>>_(LOG size)_:  +  : diff --git a/emhttp/plugins/dynamix/sheets/PHPsettings.css b/emhttp/plugins/dynamix/sheets/PHPsettings.css index 0a1d05f5c..182c34334 100644 --- a/emhttp/plugins/dynamix/sheets/PHPsettings.css +++ b/emhttp/plugins/dynamix/sheets/PHPsettings.css @@ -2,9 +2,12 @@ div#templateWindow, div#dialogWindow { display: none; } + span.dim { opacity: 0.2; } -#screenlog { - margin-left: 0; + +.php-settings-description { + max-width: 100ch; + margin: 0 auto; } From 6ab0e7bbea0eea109bc02aa5237e710e441ae6de Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Tue, 20 May 2025 17:27:25 -0700 Subject: [PATCH 080/103] fix: enhance layout consistency in InstallKey.page - Wrapped the Install Key button in a span element to improve layout consistency. - This change continues the effort to enhance visual structure across the plugin. --- emhttp/plugins/dynamix/InstallKey.page | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/emhttp/plugins/dynamix/InstallKey.page b/emhttp/plugins/dynamix/InstallKey.page index 75c9f8129..a897ace7a 100644 --- a/emhttp/plugins/dynamix/InstallKey.page +++ b/emhttp/plugins/dynamix/InstallKey.page @@ -25,6 +25,10 @@ function installKey(file) { _(To install a registration key, paste the key file URL in the box below and click **Install Key**)_. _(Key file URL)_: -: - +: + +  +: + + From 12e17f4ddbae00422eb1d6d550b894a0bf987b33 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Tue, 20 May 2025 17:29:54 -0700 Subject: [PATCH 081/103] fix: enhance layout consistency in Diagnostics.page - Wrapped the anonymize checkbox in a label and buttons in a span for improved layout consistency. - This change continues the effort to enhance visual structure across the plugin. --- emhttp/plugins/dynamix/Diagnostics.page | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix/Diagnostics.page b/emhttp/plugins/dynamix/Diagnostics.page index e6aa70ea4..d52ab0e59 100644 --- a/emhttp/plugins/dynamix/Diagnostics.page +++ b/emhttp/plugins/dynamix/Diagnostics.page @@ -109,4 +109,15 @@ to the system log.* *Use* **Anonymize diagnostics** *when publishing the diagnostics file in the public forum. In private communication with Limetech it is recommended to uncheck this setting and capture all information unaltered.* :end -_(Anonymize diagnostics)_ +
+ + + + + + + + From bc3bf7d564ba0ce3bc32035065f23e53188fe927 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Tue, 20 May 2025 17:39:45 -0700 Subject: [PATCH 082/103] fix: enhance layout consistency in NewConfig.page - Updated the form layout by wrapping elements in spans and labels for improved visual structure. - Removed the now-unnecessary NewConfig.css file as its styles are no longer needed. - This change continues the effort to enhance layout consistency across the plugin. --- emhttp/plugins/dynamix/NewConfig.page | 43 +++++++++++++-------- emhttp/plugins/dynamix/sheets/NewConfig.css | 5 --- 2 files changed, 27 insertions(+), 21 deletions(-) delete mode 100644 emhttp/plugins/dynamix/sheets/NewConfig.css diff --git a/emhttp/plugins/dynamix/NewConfig.page b/emhttp/plugins/dynamix/NewConfig.page index e4d3651ef..0f3205335 100644 --- a/emhttp/plugins/dynamix/NewConfig.page +++ b/emhttp/plugins/dynamix/NewConfig.page @@ -58,23 +58,34 @@ effect of making it ***impossible*** to rebuild an existing failed drive - you h :end
-
+ -_(Preserve current assignments)_: - -
- - -_(Array has been **Reset**)_ (_(please configure)_) - -_(Array must be **Stopped** to change)_ - -_(Yes, I want to do this)_ - +_(Preserve current assignments)_: +: + +  +: + + _(Array has been **Reset**)_ (_(please configure)_) + + _(Array must be **Stopped** to change)_ + + + + + +  +: + + +
diff --git a/emhttp/plugins/dynamix/sheets/NewConfig.css b/emhttp/plugins/dynamix/sheets/NewConfig.css deleted file mode 100644 index d80930363..000000000 --- a/emhttp/plugins/dynamix/sheets/NewConfig.css +++ /dev/null @@ -1,5 +0,0 @@ -span.indent { - display: inline-block; - width: 240px; - margin-top: 30px; -} From b800fe6743358d933a227810da70640cd79ae967 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Tue, 20 May 2025 17:42:47 -0700 Subject: [PATCH 083/103] fix: enhance layout consistency in NotificationsArchive.page - Wrapped the notifications table in a div for improved layout structure. - This change continues the effort to enhance visual consistency across the plugin. --- .../plugins/dynamix/NotificationsArchive.page | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/emhttp/plugins/dynamix/NotificationsArchive.page b/emhttp/plugins/dynamix/NotificationsArchive.page index 06cf7fb56..0ca457c94 100644 --- a/emhttp/plugins/dynamix/NotificationsArchive.page +++ b/emhttp/plugins/dynamix/NotificationsArchive.page @@ -101,8 +101,24 @@ $(function(){ // Adjust the width of thead cells when window resizes - - - -
_(Time)__(Event)__(Subject)__(Description)__(Importance)_
+ +
+ + + + + + + + + + + + + + + + +
_(Time)__(Event)__(Subject)__(Description)__(Importance)_
+
From 3387081317dc7bd08d6b3e72dcd2dd4013b5924c Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Tue, 20 May 2025 17:47:05 -0700 Subject: [PATCH 084/103] fix: enhance layout consistency in SysDrivers.page - Updated the form layout by wrapping elements in a div for improved visual structure. - This change continues the effort to enhance layout consistency across the plugin. --- emhttp/plugins/dynamix/SysDrivers.page | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/emhttp/plugins/dynamix/SysDrivers.page b/emhttp/plugins/dynamix/SysDrivers.page index 089a52313..db59386d1 100644 --- a/emhttp/plugins/dynamix/SysDrivers.page +++ b/emhttp/plugins/dynamix/SysDrivers.page @@ -118,6 +118,20 @@ showDrivers("all",true); :sysdrivers_intro_help: -
-

- +
+ +
+
+
+ + + + +
+
+
+
+
+ + +
From b8a01225e17f531c725ee10a11aed22e099dc605 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Tue, 20 May 2025 18:51:21 -0700 Subject: [PATCH 085/103] fix: enhance layout consistency in UserAdd.page - Wrapped input elements in spans for improved visual structure. - This change continues the effort to enhance layout consistency across the plugin. --- emhttp/plugins/dynamix/UserAdd.page | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/emhttp/plugins/dynamix/UserAdd.page b/emhttp/plugins/dynamix/UserAdd.page index cae11eef4..3e542e540 100644 --- a/emhttp/plugins/dynamix/UserAdd.page +++ b/emhttp/plugins/dynamix/UserAdd.page @@ -156,20 +156,24 @@ _(Description)_: :user_add_description_help: _(Custom image)_: -: _(Drag-n-drop a PNG file or click the image at the left)_ +: + + _(Drag-n-drop a PNG file or click the image at the left)_ + + :user_add_custom_image_help: _(Password)_: - -: +: + :user_password_help: _(Retype password)_: - -: +: +   : From d5c38ea14da3e1173169ab0411ab8c53d2949396 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Tue, 20 May 2025 18:51:26 -0700 Subject: [PATCH 086/103] fix: enhance layout consistency in OpenDevices.page - Wrapped the devices table in a div for improved layout structure. - This change continues the effort to enhance visual consistency across the plugin. --- emhttp/plugins/dynamix/OpenDevices.page | 35 ++++++++++++++++++------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/emhttp/plugins/dynamix/OpenDevices.page b/emhttp/plugins/dynamix/OpenDevices.page index f187aeb49..a341465b1 100644 --- a/emhttp/plugins/dynamix/OpenDevices.page +++ b/emhttp/plugins/dynamix/OpenDevices.page @@ -25,15 +25,30 @@ $('').bind({click:function() {$('i.toggle').show('slow');}}); - - - -"; -endforeach; -?> - -
_(Device)__(Identification)__(Temp)__(Reads)__(Writes)__(Errors)__(FS)__(Size)__(Used)__(Free)_
+
+ + + + + + + + + + + + + + + + + "; + endforeach; + ?> + +
_(Device)__(Identification)__(Temp)__(Reads)__(Writes)__(Errors)__(FS)__(Size)__(Used)__(Free)_
+
:open_devices_help: From 9f6a91badfa4060a55f9638f0f0f0d789851149a Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Wed, 21 May 2025 10:23:38 -0700 Subject: [PATCH 087/103] fix: enhance layout consistency in DateTime.page - Removed unnecessary 'class="narrow"' from input elements for improved layout consistency. - This change continues the effort to enhance visual structure across the plugin. --- emhttp/plugins/dynamix/DateTime.page | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/emhttp/plugins/dynamix/DateTime.page b/emhttp/plugins/dynamix/DateTime.page index 95dfa85d2..bcfa41d24 100644 --- a/emhttp/plugins/dynamix/DateTime.page +++ b/emhttp/plugins/dynamix/DateTime.page @@ -102,17 +102,17 @@ _(NTP interval)_: _(Use DEFAULT setting when public NTP servers are defined)_ _(NTP server)_ 1: -: +: _(Input a NTP server name, NTP pool name or IP address)_ _(NTP server)_ 2: -: +: _(NTP server)_ 3: -: +: _(NTP server)_ 4: -: +:
@@ -134,17 +134,17 @@ _(PTP mode)_:
_(PTP server)_ 1: -: +: _(Input a IPv4 address)__(Input a IPv6 address)__(Input a MAC address)_ _(PTP server)_ 2: -: +: _(PTP server)_ 3: -: +: _(PTP server)_ 4: -: +:
_(PTP interface)_: @@ -164,7 +164,7 @@ _(PTP clock)_:
_(New date and time)_: -: "> +: "> _(Input the correct date and time manually)_ :current_time_help: From 2766371e3fddb2f6e7a6f68f18ce2eca12c4b5c1 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Wed, 21 May 2025 10:23:44 -0700 Subject: [PATCH 088/103] fix: enhance layout consistency in CacheDevices.page and DeviceInfo.page - Added missing line breaks in form elements for improved layout consistency. - This change continues the effort to enhance visual structure across the plugin. --- emhttp/plugins/dynamix/CacheDevices.page | 2 ++ emhttp/plugins/dynamix/DeviceInfo.page | 29 ++++++++++++------------ 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/emhttp/plugins/dynamix/CacheDevices.page b/emhttp/plugins/dynamix/CacheDevices.page index 307b2d3c7..39b326fa8 100644 --- a/emhttp/plugins/dynamix/CacheDevices.page +++ b/emhttp/plugins/dynamix/CacheDevices.page @@ -167,6 +167,7 @@ $root = explode($_tilde_,$pool)[0];
+ _(Name)_: : @@ -184,6 +185,7 @@ _(Slots)_: + _(Name)_: : disabled> +: disabled> _(Calculated free space value)_ :info_free_space_help: @@ -830,12 +830,12 @@ _(Minimum free space)_: _(Warning disk utilization threshold)_ (%): -: +: :info_warning_utilization_help: _(Critical disk utilization threshold)_ (%): -: +: :info_critical_utilization_help: @@ -971,12 +971,12 @@ _(Day of the month)_: _(Time of the day)_: -: _(Block group usage)_ (%): -: +:   : @@ -1067,12 +1067,12 @@ _(Day of the month)_: _(Time of the day)_: -: