From 8d201dd1a9326a59f8c4339cbcd2f548dbac8c90 Mon Sep 17 00:00:00 2001 From: Julian Stirling Date: Thu, 25 Jun 2026 17:00:03 +0100 Subject: [PATCH] Add sidebar to gallery for filtering and bulk actions --- webapp/src/assets/less/variables.less | 57 +++++++ webapp/src/components/appContent.vue | 1 - .../genericComponents/multiSelectDropdown.vue | 3 +- .../genericComponents/tabContent.vue | 2 +- .../tabContentComponents/galleryContent.vue | 157 +++++++++++------- 5 files changed, 154 insertions(+), 66 deletions(-) diff --git a/webapp/src/assets/less/variables.less b/webapp/src/assets/less/variables.less index ead4c33a..1a1491fb 100644 --- a/webapp/src/assets/less/variables.less +++ b/webapp/src/assets/less/variables.less @@ -198,6 +198,63 @@ } } +.ofm-tab { + --ofm-navbar-height: 50px; +} + +.ofm-tab-navbar { + position: sticky; + top: 0; + z-index: 1000; + display: flex; + justify-content: flex-end; + height: var(--ofm-navbar-height); + border-width: 0 0 1px; + border-style: solid; + border-color: rgba(180, 180, 180, 0.25); + padding-right: 20px; + background: #fff; +} +.hook-inverse() { + .ofm-tab-navbar { + background: #252525; + } +} + +/* + * Sidebar + */ +.ofm-container-with-sidebar +{ + display: grid; + grid-template-columns: 1fr 0; + height: 100%; +} + +.ofm-container-with-sidebar.sidebar-open { + grid-template-columns: 1fr 250px; +} + +.ofm-sidebar { + padding: 10px; + overflow: hidden; + border-left: none; + display: none; + background:#f5f5f5; +} + +.ofm-sidebar.open { + border-left: 1px solid rgba(180, 180, 180, 0.25); + display: block; +} + +.hook-inverse() { + .ofm-sidebar{ + background: #282626; + } +} + + /* * Links */ diff --git a/webapp/src/components/appContent.vue b/webapp/src/components/appContent.vue index 61051a6c..d5fac1a0 100644 --- a/webapp/src/components/appContent.vue +++ b/webapp/src/components/appContent.vue @@ -267,7 +267,6 @@ export default { #container-left { overflow: auto; - scrollbar-gutter: stable; background-color: rgba(180, 180, 180, 0.025); width: 100%; height: 100%; diff --git a/webapp/src/components/genericComponents/multiSelectDropdown.vue b/webapp/src/components/genericComponents/multiSelectDropdown.vue index 6f89e866..a8294895 100644 --- a/webapp/src/components/genericComponents/multiSelectDropdown.vue +++ b/webapp/src/components/genericComponents/multiSelectDropdown.vue @@ -104,7 +104,8 @@ export default { .multi-select { position: relative; - width: 250px; + width: 100%; + max-width: 250px; } .dropdown-top { diff --git a/webapp/src/components/genericComponents/tabContent.vue b/webapp/src/components/genericComponents/tabContent.vue index 156e28d1..15e38d57 100644 --- a/webapp/src/components/genericComponents/tabContent.vue +++ b/webapp/src/components/genericComponents/tabContent.vue @@ -2,7 +2,7 @@
diff --git a/webapp/src/components/tabContentComponents/galleryContent.vue b/webapp/src/components/tabContentComponents/galleryContent.vue index 65da50bd..366da1b0 100644 --- a/webapp/src/components/tabContentComponents/galleryContent.vue +++ b/webapp/src/components/tabContentComponents/galleryContent.vue @@ -1,47 +1,10 @@