diff --git a/emhttp/plugins/dynamix.vm.manager/AddVM.page b/emhttp/plugins/dynamix.vm.manager/AddVM.page index 2e099b6b5..5da8dc9cf 100644 --- a/emhttp/plugins/dynamix.vm.manager/AddVM.page +++ b/emhttp/plugins/dynamix.vm.manager/AddVM.page @@ -2,6 +2,7 @@ Title="Add VM" Tag="clipboard" Cond="(pgrep('libvirtd')!==false)" Markdown="false" +ResponsiveLayout="false" --- "> -
+
diff --git a/emhttp/plugins/dynamix/DisplaySettings.page b/emhttp/plugins/dynamix/DisplaySettings.page index 1def58c8b..10f6d08bc 100644 --- a/emhttp/plugins/dynamix/DisplaySettings.page +++ b/emhttp/plugins/dynamix/DisplaySettings.page @@ -278,15 +278,15 @@ _(Used / Free columns)_: _(Header custom text color)_: -: +: :display_custom_text_color_help: _(Header custom secondary text color)_: -: +: _(Header custom background color)_: -: +: :display_custom_background_color_help: diff --git a/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContent.php b/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContent.php index 81789a9a4..28d7e3266 100644 --- a/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContent.php +++ b/emhttp/plugins/dynamix/include/DefaultPageLayout/MainContent.php @@ -115,17 +115,26 @@ function generatePanels($page, $path, $defaultIcon, $docroot, $useTabCookie = fa /** * Generates the content for a page * - * @param array $page Page data array containing text and Markdown flag + * @param array $page Page data array containing text, Markdown flag, and ResponsiveLayout flag * @return string Parsed text ready for eval * * Usage example: * '.generateContent($page)); ?> */ function generateContent($page) { + $content = ''; if (empty($page['Markdown']) || $page['Markdown'] == 'true') { - return Markdown(parse_text($page['text'])); + $content = Markdown(parse_text($page['text'])); + } else { + $content = parse_text($page['text']); } - return parse_text($page['text']); + + // Wrap in non-responsive div if specified + if (isset($page['ResponsiveLayout']) && $page['ResponsiveLayout'] === 'false') { + $content = '
' . $content . '
'; + } + + return $content; } ?> diff --git a/emhttp/plugins/dynamix/styles/default-base.css b/emhttp/plugins/dynamix/styles/default-base.css index a92688204..1b5661f7f 100644 --- a/emhttp/plugins/dynamix/styles/default-base.css +++ b/emhttp/plugins/dynamix/styles/default-base.css @@ -1312,11 +1312,6 @@ a.list { } } -/* Necessary evil to prevent rewrites of complex page templates for responsive layout - i.e. VMedit.php */ -.Content--non-responsive { - min-width: 1200px; -} - .tabs { display: flex; align-items: center; @@ -1576,6 +1571,49 @@ dd { } } +/* Necessary evil to prevent rewrites of complex page templates for responsive layout - i.e. VMedit.php */ +.content--non-responsive { + min-width: 1200px; + + /* override the dl > dt + dd responsive styles, inheriting the "desktop" styles defined below */ + dl { + grid-template-columns: 35% 1fr; + gap: 1.5rem 2rem; + } + dt { + text-align: right; + } + dd { + display: flex; + flex-direction: column; + gap: 0.5rem; + /* white-space: nowrap; */ + + input[type="text"], + input[type="password"], + input[type="number"], + input[type="url"], + input[type="email"], + input[type="date"], + input[type="file"], + input:not([type="submit"]), + input:not([type="button"]), + input:not([type="checkbox"]), + input:not([type="radio"]), + input:not([class*="narrow"]), + textarea, + .textarea, + select, + .ui-dropdownchecklist-selector-wrapper { + max-width: 400px; + } + + .narrow { + max-width: 150px !important; + } + } +} + /* Responsive styles for definition lists */ @media (min-width: 769px) { dl {