From dc9dc104c9670c3412673bbc150f2ab94d41efd3 Mon Sep 17 00:00:00 2001 From: Aman Harwara Date: Wed, 8 Dec 2021 20:40:56 +0530 Subject: [PATCH] feat: Always show quick settings menu (#765) --- .../QuickSettingsMenu/QuickSettingsMenu.tsx | 111 +++++++++--------- .../javascripts/views/footer/footer_view.ts | 35 +----- 2 files changed, 58 insertions(+), 88 deletions(-) diff --git a/app/assets/javascripts/components/QuickSettingsMenu/QuickSettingsMenu.tsx b/app/assets/javascripts/components/QuickSettingsMenu/QuickSettingsMenu.tsx index 003aa8e1d..c9d0fc86d 100644 --- a/app/assets/javascripts/components/QuickSettingsMenu/QuickSettingsMenu.tsx +++ b/app/assets/javascripts/components/QuickSettingsMenu/QuickSettingsMenu.tsx @@ -180,15 +180,16 @@ const QuickSettingsMenu: FunctionComponent = observer( } }; - const handleQuickSettingsKeyDown: JSXInternal.KeyboardEventHandler = - (event) => { - quickSettingsKeyDownHandler( - closeQuickSettingsMenu, - event, - quickSettingsMenuRef, - themesMenuOpen - ); - }; + const handleQuickSettingsKeyDown: JSXInternal.KeyboardEventHandler< + HTMLDivElement + > = (event) => { + quickSettingsKeyDownHandler( + closeQuickSettingsMenu, + event, + quickSettingsMenuRef, + themesMenuOpen + ); + }; const handlePanelKeyDown: React.KeyboardEventHandler = ( event @@ -222,54 +223,56 @@ const QuickSettingsMenu: FunctionComponent = observer(
Quick Settings
- - -
- - Themes -
- -
- -
- Themes -
- - {themes.map((theme) => ( - + + Themes + + + + +
+ Themes +
+ + {themes.map((theme) => ( + + ))} +
+
+ ) : null} {toggleableComponents.map((component) => ( { private $rootScope: ng.IRootScopeService; - private themes: SNTheme[] = []; - private toggleableComponents: SNComponent[] = []; private showSyncResolution = false; private unregisterComponent: any; private rootScopeListener2: any; @@ -76,8 +73,6 @@ class FooterViewCtrl extends PureViewCtrl< deinit() { for (const remove of this.observerRemovers) remove(); this.observerRemovers.length = 0; - this.themes.length = 0; - this.toggleableComponents.length = 0; this.unregisterComponent(); this.unregisterComponent = undefined; this.rootScopeListener2(); @@ -276,30 +271,6 @@ class FooterViewCtrl extends PureViewCtrl< return !theme.errorDecrypting; } ); - - this.observerRemovers.push( - this.application.streamItems(ContentType.Theme, async () => { - const themes = this.application.getDisplayableItems( - ContentType.Theme - ) as SNTheme[]; - this.themes = themes; - }) - ); - - this.observerRemovers.push( - this.application.streamItems(ContentType.Component, async () => { - const toggleableComponents = ( - this.application.getDisplayableItems( - ContentType.Component - ) as SNComponent[] - ).filter((component) => - [ComponentArea.EditorStack, ComponentArea.TagsList].includes( - component.area - ) - ); - this.toggleableComponents = toggleableComponents; - }) - ); } registerComponentHandler() { @@ -400,11 +371,7 @@ class FooterViewCtrl extends PureViewCtrl< quickSettingsPressed() { this.appState.accountMenu.closeAccountMenu(); - if (this.themes.length > 0 || this.toggleableComponents.length > 0) { - this.appState.quickSettingsMenu.toggle(); - } else { - this.appState.preferences.openPreferences(); - } + this.appState.quickSettingsMenu.toggle(); } toggleSyncResolutionMenu() {