From 2e364dc0169e015269316e0cd0abe193b334bacf Mon Sep 17 00:00:00 2001 From: Aman Harwara Date: Fri, 8 Sep 2023 18:35:51 +0530 Subject: [PATCH] chore: show preferences notification count bubble on mobile --- .../src/Domain/Status/StatusService.ts | 2 +- .../Components/Footer/PreferencesButton.tsx | 17 ++++++++ .../NavigationMenu/NavigationMenu.tsx | 41 ++++++++++++++----- .../Components/Tags/Navigation.tsx | 10 +---- 4 files changed, 51 insertions(+), 19 deletions(-) diff --git a/packages/services/src/Domain/Status/StatusService.ts b/packages/services/src/Domain/Status/StatusService.ts index a8a822450..d795b094e 100644 --- a/packages/services/src/Domain/Status/StatusService.ts +++ b/packages/services/src/Domain/Status/StatusService.ts @@ -7,7 +7,7 @@ import { PreferencePaneId } from '../Preferences/PreferenceId' export class StatusService extends AbstractService implements StatusServiceInterface { private preferencesBubbleCounts: Record = { - general: 0, + general: 1, account: 0, security: 0, 'home-server': 0, diff --git a/packages/web/src/javascripts/Components/Footer/PreferencesButton.tsx b/packages/web/src/javascripts/Components/Footer/PreferencesButton.tsx index cf3a543be..3053c718d 100644 --- a/packages/web/src/javascripts/Components/Footer/PreferencesButton.tsx +++ b/packages/web/src/javascripts/Components/Footer/PreferencesButton.tsx @@ -5,6 +5,8 @@ import { useApplication } from '../ApplicationProvider' import { useCommandService } from '../CommandProvider' import Icon from '../Icon/Icon' import StyledTooltip from '../StyledTooltip/StyledTooltip' +import { MutuallyExclusiveMediaQueryBreakpoints, useMediaQuery } from '@/Hooks/useMediaQuery' +import RoundIconButton from '../Button/RoundIconButton' type Props = { openPreferences: (openWhatsNew: boolean) => void @@ -46,6 +48,21 @@ const PreferencesButton = ({ openPreferences }: Props) => { }) }, [application.status]) + const isMobileScreen = useMediaQuery(MutuallyExclusiveMediaQueryBreakpoints.sm) + + if (isMobileScreen) { + return ( +
+ + {bubbleCount && ( +
+ {bubbleCount} +
+ )} +
+ ) + } + return (