From 4346322f747cfcfd0ce313ed0c5cde0f8a9c925b Mon Sep 17 00:00:00 2001 From: BlasenhauerJ Date: Sat, 3 Dec 2022 16:10:38 +0100 Subject: [PATCH 1/2] fix services settings on modal open --- src/ui/static/js/services.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ui/static/js/services.js b/src/ui/static/js/services.js index 0f154a55f..10d444ffd 100644 --- a/src/ui/static/js/services.js +++ b/src/ui/static/js/services.js @@ -238,8 +238,8 @@ class ServiceModal { inpt.tagName === "INPUT" && inpt.getAttribute("type") === "checkbox" ) { - inpt.checked = defaultVal === "yes" ? true : false; - inpt.setAttribute("value", defaultVal); + inpt.checked = value === "yes" ? true : false; + inpt.setAttribute("value", value); } //for select if (inpt.tagName === "SELECT") { From 0e29d9f1f71ab16e91ded27ccbfd70d6a2426102 Mon Sep 17 00:00:00 2001 From: BlasenhauerJ Date: Sat, 3 Dec 2022 18:30:58 +0100 Subject: [PATCH 2/2] enhance and fix => add loader for login template => add loader message container => change default SERVER_NAME value => fix tabs popover z-index => add server name setting disabled/enabled and value depending actions on services --- src/ui/static/css/dashboard.css | 49 +++++++++++++++----------- src/ui/static/js/services.js | 19 ++++++++++ src/ui/static/js/utils/settings.js | 12 +++++-- src/ui/templates/loading.html | 18 ++++++---- src/ui/templates/login.html | 49 ++++++++++++++++++++++++++ src/ui/templates/settings_plugins.html | 6 ++-- src/ui/templates/settings_tabs.html | 4 +-- 7 files changed, 123 insertions(+), 34 deletions(-) diff --git a/src/ui/static/css/dashboard.css b/src/ui/static/css/dashboard.css index 7803e88f0..521e207bb 100644 --- a/src/ui/static/css/dashboard.css +++ b/src/ui/static/css/dashboard.css @@ -1030,6 +1030,10 @@ h6 { margin-left: 1.5rem; } +.mt-6 { + margin-top: 1.5rem; +} + .mb-8 { margin-bottom: 2rem; } @@ -1066,10 +1070,6 @@ h6 { margin-left: auto; } -.mt-6 { - margin-top: 1.5rem; -} - .mr-6 { margin-right: 1.5rem; } @@ -1366,10 +1366,6 @@ h6 { max-width: 100%; } -.max-w-\[350px\] { - max-width: 350px; -} - .max-w-screen-sm { max-width: 576px; } @@ -1547,10 +1543,6 @@ h6 { grid-template-columns: repeat(2, minmax(0, 1fr)); } -.flex-row { - flex-direction: row; -} - .flex-col { flex-direction: column; } @@ -2264,6 +2256,11 @@ h6 { line-height: 1rem; } +.text-2xl { + font-size: 1.5rem; + line-height: 2rem; +} + .text-xl { font-size: 1.25rem; line-height: 1.75rem; @@ -2384,6 +2381,11 @@ h6 { color: rgb(94 114 228 / var(--tw-text-opacity)); } +.text-gray-600 { + --tw-text-opacity: 1; + color: rgb(108 117 125 / var(--tw-text-opacity)); +} + .text-primary { --tw-text-opacity: 1; color: rgb(8 85 119 / var(--tw-text-opacity)); @@ -2404,11 +2406,6 @@ h6 { color: rgb(5 17 57 / var(--tw-text-opacity)); } -.text-gray-600 { - --tw-text-opacity: 1; - color: rgb(108 117 125 / var(--tw-text-opacity)); -} - .antialiased { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; @@ -2422,14 +2419,14 @@ h6 { opacity: 1; } -.opacity-60 { - opacity: 0.6; -} - .opacity-0 { opacity: 0; } +.opacity-60 { + opacity: 0.6; +} + .shadow-md { --tw-shadow: 0 4px 6px rgba(50,50,93,.1),0 1px 3px rgba(0,0,0,.08); --tw-shadow-colored: 0 4px 6px var(--tw-shadow-color), 0 1px 3px var(--tw-shadow-color); @@ -2487,6 +2484,16 @@ h6 { filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); } +.brightness-90 { + --tw-brightness: brightness(.9); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + +.brightness-95 { + --tw-brightness: brightness(.95); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + .filter { filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); } diff --git a/src/ui/static/js/services.js b/src/ui/static/js/services.js index 10d444ffd..e9a33fe5e 100644 --- a/src/ui/static/js/services.js +++ b/src/ui/static/js/services.js @@ -134,6 +134,20 @@ class ServiceModal { ) .click(); }); + //server name always enabled for default + this.setNameSetting("ui", ""); + } + + setNameSetting(method, value) { + const nameInp = document.querySelector('input[name="SERVER_NAME"]'); + + if (method === "ui" || method === "default") { + nameInp.removeAttribute("disabled"); + } else { + nameInp.setAttribute("disabled", ""); + } + + nameInp.value = value; } setDisabled(inp, method) { @@ -251,6 +265,11 @@ class ServiceModal { } } catch (err) {} } + //name setting value + this.setNameSetting( + settings["SERVER_NAME"]["method"], + settings["SERVER_NAME"]["value"] + ); } //UTILS diff --git a/src/ui/static/js/utils/settings.js b/src/ui/static/js/utils/settings.js index 9bf31024f..3125bb8a8 100644 --- a/src/ui/static/js/utils/settings.js +++ b/src/ui/static/js/utils/settings.js @@ -81,6 +81,14 @@ class Tabs { } initTabs() { + //show first element + window.addEventListener("load", () => { + try { + document.querySelector("button[services-item-handler]").click(); + document.querySelector("button[services-mobile-item-handler]").click(); + } catch (err) {} + }); + this.tabsContainer.addEventListener("click", (e) => { //MOBILE TABS LOGIC try { @@ -112,7 +120,7 @@ class Tabs { const tabAtt = tab.getAttribute(`${this.prefix}-item-handler`); //style this.resetDeskStyle(); - tab.classList.add("brightness-75"); + tab.classList.add("brightness-95", "z-10"); //show content this.showRightSetting(tabAtt); } @@ -122,7 +130,7 @@ class Tabs { resetDeskStyle() { this.desktopBtns.forEach((tab) => { - tab.classList.remove("brightness-75"); + tab.classList.remove("brightness-95", "z-10"); }); } diff --git a/src/ui/templates/loading.html b/src/ui/templates/loading.html index c325ec8d6..eb90945aa 100644 --- a/src/ui/templates/loading.html +++ b/src/ui/templates/loading.html @@ -13,13 +13,19 @@
- main logo +
+ main logo + {%if message %} +

+ {%endif%} +

+
diff --git a/src/ui/templates/settings_plugins.html b/src/ui/templates/settings_plugins.html index 468176d53..e767700e3 100644 --- a/src/ui/templates/settings_plugins.html +++ b/src/ui/templates/settings_plugins.html @@ -10,12 +10,12 @@ "settings": { "SERVER_NAME": { "context": "multisite", - "default": "www.example.com", + "default": "", "help": "List of the virtual hosts served by bunkerweb.", - "id": "server-name", + "id": "SERVER_NAME", "label": "Server name", "regex": ".*", - "type": "text" + "type": "text", } } }] + config["CONFIG"].get_plugins() %} diff --git a/src/ui/templates/settings_tabs.html b/src/ui/templates/settings_tabs.html index 3c809e729..c90615883 100644 --- a/src/ui/templates/settings_tabs.html +++ b/src/ui/templates/settings_tabs.html @@ -10,7 +10,7 @@ "settings": { "SERVER_NAME": { "context": "multisite", - "default": "www.example.com", + "default": "", "help": "List of the virtual hosts served by bunkerweb.", "id": "server-name", "label": "Server name", @@ -65,7 +65,7 @@