diff --git a/src/ui/static/css/dashboard.css b/src/ui/static/css/dashboard.css index d63e7a7ad..cc519d729 100644 --- a/src/ui/static/css/dashboard.css +++ b/src/ui/static/css/dashboard.css @@ -811,6 +811,14 @@ h6 { z-index: 50; } +.z-\[1500\] { + z-index: 1500; +} + +.z-\[10000\] { + z-index: 10000; +} + .order-2 { order: 2; } @@ -1310,6 +1318,10 @@ h6 { width: 20rem; } +.w-40 { + width: 10rem; +} + .min-w-0 { min-width: 0px; } @@ -1523,6 +1535,10 @@ h6 { grid-template-columns: repeat(2, minmax(0, 1fr)); } +.grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); +} + .flex-col { flex-direction: column; } @@ -2393,6 +2409,10 @@ h6 { opacity: 0.6; } +.opacity-0 { + opacity: 0; +} + .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); @@ -2902,11 +2922,6 @@ h6 { border-color: rgb(58 65 111 / var(--tw-border-opacity)); } -.dark .dark\:border-slate-850 { - --tw-border-opacity: 1; - border-color: rgb(17 28 68 / var(--tw-border-opacity)); -} - .dark .dark\:border-gray-700 { --tw-border-opacity: 1; border-color: rgb(73 80 87 / var(--tw-border-opacity)); @@ -3127,6 +3142,10 @@ h6 { grid-column: span 1 / span 1; } + .sm\:col-span-2 { + grid-column: span 2 / span 2; + } + .sm\:col-start-5 { grid-column-start: 5; } @@ -3165,6 +3184,18 @@ h6 { height: 1.75rem; } + .sm\:h-16 { + height: 4rem; + } + + .sm\:h-20 { + height: 5rem; + } + + .sm\:h-14 { + height: 3.5rem; + } + .sm\:max-h-28 { max-height: 7rem; } @@ -3185,6 +3216,14 @@ h6 { width: 1.75rem; } + .sm\:w-60 { + width: 15rem; + } + + .sm\:w-50 { + width: 12.5rem; + } + .sm\:flex-row { flex-direction: row; } @@ -3283,6 +3322,14 @@ h6 { display: none; } + .md\:h-25 { + height: 6.25rem; + } + + .md\:h-16 { + height: 4rem; + } + .md\:max-h-160 { max-height: 40rem; } @@ -3295,6 +3342,14 @@ h6 { width: 50%; } + .md\:w-80 { + width: 20rem; + } + + .md\:w-60 { + width: 15rem; + } + .md\:justify-end { justify-content: flex-end; } @@ -3391,6 +3446,14 @@ h6 { height: 7.5rem; } + .lg\:h-20 { + height: 5rem; + } + + .lg\:h-24 { + height: 6rem; + } + .lg\:w-9 { width: 2.25rem; } @@ -3403,6 +3466,10 @@ h6 { width: 50%; } + .lg\:w-80 { + width: 20rem; + } + .lg\:flex-none { flex: none; } @@ -3454,6 +3521,10 @@ h6 { top: 0.75rem; } + .xl\:col-span-4 { + grid-column: span 4 / span 4; + } + .xl\:mx-4 { margin-left: 1rem; margin-right: 1rem; @@ -3514,6 +3585,10 @@ h6 { grid-column: span 4 / span 4; } + .\32xl\:col-span-6 { + grid-column: span 6 / span 6; + } + .\32xl\:my-2 { margin-top: 0.5rem; margin-bottom: 0.5rem; diff --git a/src/ui/static/js/dashboard.js b/src/ui/static/js/dashboard.js index 3861d6986..d05613685 100644 --- a/src/ui/static/js/dashboard.js +++ b/src/ui/static/js/dashboard.js @@ -1,4 +1,4 @@ -import { Checkbox } from "./utils.js"; +import { Checkbox, Loader } from "./utils.js"; class Menu { constructor() { @@ -97,6 +97,7 @@ class FlashMsg { } } +const setLoader = new Loader(); const setMenu = new Menu(); const setNews = new News(); const setDarkM = new darkMode(); diff --git a/src/ui/static/js/plugins.js b/src/ui/static/js/plugins.js index 82a80333e..2b7dccb3f 100644 --- a/src/ui/static/js/plugins.js +++ b/src/ui/static/js/plugins.js @@ -403,5 +403,5 @@ class Upload { } const setDropdown = new Dropdown("plugins"); -const setFilter = new Plugins("plugins"); +const setFilter = new Filter("plugins"); const setUpload = new Upload(); diff --git a/src/ui/static/js/utils.js b/src/ui/static/js/utils.js index d395ec80f..f71b067b9 100644 --- a/src/ui/static/js/utils.js +++ b/src/ui/static/js/utils.js @@ -911,6 +911,44 @@ class FormatValue { }); } } + +class Loader { + constructor() { + this.menuContainer = document.querySelector("[menu-container]"); + this.logoContainer = document.querySelector("[loader]"); + this.logoEl = document.querySelector("[loader-img]"); + this.isLoading = true; + this.init(); + } + + init() { + this.loading(); + window.addEventListener("load", (e) => { + setTimeout(() => { + this.logoContainer.classList.add("opacity-0"); + }, 350); + + setTimeout(() => { + this.isLoading = false; + this.logoContainer.classList.add("hidden"); + }, 650); + + setTimeout(() => { + this.logoContainer.remove(); + }, 800); + }); + } + + loading() { + if ((this.isLoading = true)) { + setTimeout(() => { + this.logoEl.classList.toggle("scale-105"); + this.loading(); + }, 300); + } + } +} + export { Checkbox, Popover, @@ -921,4 +959,5 @@ export { FolderEditor, FolderDropdown, FormatValue, + Loader, }; diff --git a/src/ui/templates/base.html b/src/ui/templates/base.html index d88aa8ee9..6d5c840a6 100644 --- a/src/ui/templates/base.html +++ b/src/ui/templates/base.html @@ -9,10 +9,17 @@ - - -
- +
+