From df0f96c3a906a05fff808b92d084f36974d79a39 Mon Sep 17 00:00:00 2001
From: shamoon <4887959+shamoon@users.noreply.github.com>
Date: Fri, 6 Feb 2026 22:42:35 -0800
Subject: [PATCH] Attributes submenu
---
.../app-frame/app-frame.component.html | 55 +++++++++++++++++--
.../app-frame/app-frame.component.scss | 9 +++
.../app-frame/app-frame.component.ts | 11 ++++
3 files changed, 70 insertions(+), 5 deletions(-)
diff --git a/src-ui/src/app/components/app-frame/app-frame.component.html b/src-ui/src/app/components/app-frame/app-frame.component.html
index 0257c9bab..1f3316a6c 100644
--- a/src-ui/src/app/components/app-frame/app-frame.component.html
+++ b/src-ui/src/app/components/app-frame/app-frame.component.html
@@ -177,11 +177,56 @@
@if (canManageAttributes) {
-
-
- Attributes
-
+
+
}
-
diff --git a/src-ui/src/app/components/app-frame/app-frame.component.scss b/src-ui/src/app/components/app-frame/app-frame.component.scss
index ad645c683..31fda990a 100644
--- a/src-ui/src/app/components/app-frame/app-frame.component.scss
+++ b/src-ui/src/app/components/app-frame/app-frame.component.scss
@@ -177,6 +177,15 @@ main {
}
}
+.attributes-row .attributes-expand-btn {
+ opacity: 0.2;
+ transition: opacity 0.15s ease-in-out;
+}
+
+.attributes-row:hover .attributes-expand-btn {
+ opacity: 1;
+}
+
.sidebar-heading {
font-size: 0.75rem;
text-transform: uppercase;
diff --git a/src-ui/src/app/components/app-frame/app-frame.component.ts b/src-ui/src/app/components/app-frame/app-frame.component.ts
index d9bc7d7ee..dcea154a4 100644
--- a/src-ui/src/app/components/app-frame/app-frame.component.ts
+++ b/src-ui/src/app/components/app-frame/app-frame.component.ts
@@ -94,6 +94,8 @@ export class AppFrameComponent
slimSidebarAnimating: boolean = false
+ attributesSectionsCollapsed: boolean = true
+
constructor() {
super()
const permissionsService = this.permissionsService
@@ -141,11 +143,20 @@ export class AppFrameComponent
toggleSlimSidebar(): void {
this.slimSidebarAnimating = true
this.slimSidebarEnabled = !this.slimSidebarEnabled
+ if (this.slimSidebarEnabled) {
+ this.attributesSectionsCollapsed = true
+ }
setTimeout(() => {
this.slimSidebarAnimating = false
}, 200) // slightly longer than css animation for slim sidebar
}
+ toggleAttributesSections(event?: Event): void {
+ event?.preventDefault()
+ event?.stopPropagation()
+ this.attributesSectionsCollapsed = !this.attributesSectionsCollapsed
+ }
+
get versionString(): string {
return `${environment.appTitle} v${this.settingsService.get(SETTINGS_KEYS.VERSION)}${environment.tag === 'prod' ? '' : ` #${environment.tag}`}`
}