From 5ecf06463d0d9dc712557dcc42a66ee5d4d22e49 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue, 8 Sep 2026 12:09:59 -0700 Subject: [PATCH] Wiring up the toggles --- .../admin/settings/settings.component.spec.ts | 10 ++++++ .../admin/settings/settings.component.ts | 6 +++- .../app-frame/app-frame.component.html | 36 +++++++++++++------ .../app-frame/app-frame.component.scss | 20 +++++++++++ .../app-frame/app-frame.component.spec.ts | 19 ++++++++++ .../app-frame/app-frame.component.ts | 23 ++++++++++++ .../src/app/services/settings.service.spec.ts | 12 ++++--- src-ui/src/app/services/settings.service.ts | 15 ++++++++ 8 files changed, 126 insertions(+), 15 deletions(-) diff --git a/src-ui/src/app/components/admin/settings/settings.component.spec.ts b/src-ui/src/app/components/admin/settings/settings.component.spec.ts index 08ff5c445..f5743e550 100644 --- a/src-ui/src/app/components/admin/settings/settings.component.spec.ts +++ b/src-ui/src/app/components/admin/settings/settings.component.spec.ts @@ -226,6 +226,16 @@ describe('SettingsComponent', () => { ) }) + it('enables sidebar item controls on general settings until destroyed', () => { + completeSetup() + + expect(settingsService.organizingSidebarItems()).toBe(true) + + component.ngOnDestroy() + + expect(settingsService.organizingSidebarItems()).toBe(false) + }) + it('should support tabbed settings & change URL, prevent navigation if dirty confirmation rejected', async () => { completeSetup() const navigateSpy = jest.spyOn(router, 'navigate') diff --git a/src-ui/src/app/components/admin/settings/settings.component.ts b/src-ui/src/app/components/admin/settings/settings.component.ts index 583b10c38..09fd12ddb 100644 --- a/src-ui/src/app/components/admin/settings/settings.component.ts +++ b/src-ui/src/app/components/admin/settings/settings.component.ts @@ -297,14 +297,17 @@ export class SettingsComponent this.activatedRoute.paramMap.subscribe((paramMap) => { const section = paramMap.get('section') + let navID = SettingsNavIDs.General if (section) { const navIDKey: string = Object.keys(SettingsNavIDs).find( (navID) => navID.toLowerCase() == section ) if (navIDKey) { - this.activeNavID.set(SettingsNavIDs[navIDKey]) + navID = SettingsNavIDs[navIDKey] } } + this.activeNavID.set(navID) + this.settings.organizingSidebarItems.set(navID === SettingsNavIDs.General) }) } @@ -463,6 +466,7 @@ export class SettingsComponent } ngOnDestroy() { + this.settings.organizingSidebarItems.set(false) if (this.isDirty) this.settings.updateAppearanceSettings() // in case user changed appearance but didn't save this.storeSub && this.storeSub.unsubscribe() } 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 df3a35710..737528363 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 @@ -74,6 +74,7 @@