From 59db63f05230168b20d6b2db2eaf1a4b99c02f50 Mon Sep 17 00:00:00 2001 From: Aman Harwara Date: Sat, 8 Oct 2022 01:08:54 +0530 Subject: [PATCH] feat: change quick settings menu layout (#1770) --- .../QuickSettingsMenu/FocusModeSwitch.tsx | 30 +++---------- .../PanelSettingsSection.tsx | 5 +-- .../QuickSettingsMenu/QuickSettingsMenu.tsx | 44 ++++++++++--------- .../QuickSettingsMenu/ThemesMenuButton.tsx | 4 +- 4 files changed, 31 insertions(+), 52 deletions(-) diff --git a/packages/web/src/javascripts/Components/QuickSettingsMenu/FocusModeSwitch.tsx b/packages/web/src/javascripts/Components/QuickSettingsMenu/FocusModeSwitch.tsx index c733f97d7..02eedc513 100644 --- a/packages/web/src/javascripts/Components/QuickSettingsMenu/FocusModeSwitch.tsx +++ b/packages/web/src/javascripts/Components/QuickSettingsMenu/FocusModeSwitch.tsx @@ -1,10 +1,6 @@ import { WebApplication } from '@/Application/Application' -import { FeatureStatus, FeatureIdentifier } from '@standardnotes/snjs' import { FunctionComponent, MouseEventHandler, useCallback } from 'react' -import Icon from '@/Components/Icon/Icon' -import { usePremiumModal } from '@/Hooks/usePremiumModal' import Switch from '@/Components/Switch/Switch' -import { PremiumFeatureIconClass, PremiumFeatureIconName } from '../Icon/PremiumFeatureIcon' import { isMobileScreen } from '@/Utils' type Props = { @@ -15,21 +11,14 @@ type Props = { } const FocusModeSwitch: FunctionComponent = ({ application, onToggle, onClose, isEnabled }) => { - const premiumModal = usePremiumModal() - const isEntitled = application.features.getFeatureStatus(FeatureIdentifier.FocusMode) === FeatureStatus.Entitled - const toggle: MouseEventHandler = useCallback( (e) => { e.preventDefault() - if (isEntitled) { - onToggle(!isEnabled) - onClose() - } else { - premiumModal.activate('Focused Writing') - } + onToggle(!isEnabled) + onClose() }, - [isEntitled, onToggle, isEnabled, onClose, premiumModal], + [onToggle, isEnabled, onClose], ) return ( @@ -39,17 +28,8 @@ const FocusModeSwitch: FunctionComponent = ({ application, onToggle, onCl onClick={toggle} disabled={application.isNativeMobileWeb() || isMobileScreen()} > -
- - Focused Writing -
- {isEntitled ? ( - - ) : ( -
- -
- )} +
Focused Writing
+ ) diff --git a/packages/web/src/javascripts/Components/QuickSettingsMenu/PanelSettingsSection.tsx b/packages/web/src/javascripts/Components/QuickSettingsMenu/PanelSettingsSection.tsx index 2ae4cac4b..68cb3b2db 100644 --- a/packages/web/src/javascripts/Components/QuickSettingsMenu/PanelSettingsSection.tsx +++ b/packages/web/src/javascripts/Components/QuickSettingsMenu/PanelSettingsSection.tsx @@ -4,7 +4,6 @@ import { ApplicationEvent, PrefKey } from '@standardnotes/snjs' import MenuItem from '../Menu/MenuItem' import { MenuItemType } from '../Menu/MenuItemType' import { PANEL_NAME_NAVIGATION, PANEL_NAME_NOTES } from '@/Constants/Constants' -import HorizontalSeparator from '../Shared/HorizontalSeparator' import { PrefDefaults } from '@/Constants/PrefDefaults' type Props = { @@ -55,8 +54,6 @@ const PanelSettingsSection = ({ application }: Props) => { return (
- -
Panel Settings
{ checked={currentItemsPanelWidth > WidthForCollapsedPanel} onChange={toggleItemsListPanel} > - Show items list panel + Show list panel
) diff --git a/packages/web/src/javascripts/Components/QuickSettingsMenu/QuickSettingsMenu.tsx b/packages/web/src/javascripts/Components/QuickSettingsMenu/QuickSettingsMenu.tsx index 01a954ef9..d45e0f1d3 100644 --- a/packages/web/src/javascripts/Components/QuickSettingsMenu/QuickSettingsMenu.tsx +++ b/packages/web/src/javascripts/Components/QuickSettingsMenu/QuickSettingsMenu.tsx @@ -70,8 +70,6 @@ const QuickSettingsMenu: FunctionComponent = ({ application, quickSet const prefsButtonRef = useRef(null) const defaultThemeButtonRef = useRef(null) - const mainRef = useRef(null) - useEffect(() => { toggleFocusMode(focusModeEnabled) }, [focusModeEnabled]) @@ -176,8 +174,29 @@ const QuickSettingsMenu: FunctionComponent = ({ application, quickSet }, [application, isDarkModeOn, deactivateAnyNonLayerableTheme]) return ( -
-
Themes
+
+ {toggleableComponents.length > 0 && ( + <> +
Tools
+ {toggleableComponents.map((component) => ( + + ))} + + + )} +
Appearance
- ))} = ({ application, item }) => { {item.component?.isLayerable() ? ( <>
- + {!canActivateTheme && } {item.name}
- {!canActivateTheme && } + ) : ( <>