diff --git a/packages/services/src/Domain/Status/StatusService.ts b/packages/services/src/Domain/Status/StatusService.ts index a8a822450..e7f1bab0e 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: 2, 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 3053c718d..e4146eabc 100644 --- a/packages/web/src/javascripts/Components/Footer/PreferencesButton.tsx +++ b/packages/web/src/javascripts/Components/Footer/PreferencesButton.tsx @@ -7,6 +7,7 @@ import Icon from '../Icon/Icon' import StyledTooltip from '../StyledTooltip/StyledTooltip' import { MutuallyExclusiveMediaQueryBreakpoints, useMediaQuery } from '@/Hooks/useMediaQuery' import RoundIconButton from '../Button/RoundIconButton' +import CountBubble from '../Preferences/PreferencesComponents/CountBubble' type Props = { openPreferences: (openWhatsNew: boolean) => void @@ -54,11 +55,7 @@ const PreferencesButton = ({ openPreferences }: Props) => { return (
- {bubbleCount && ( -
- {bubbleCount} -
- )} +
) } @@ -68,11 +65,7 @@ const PreferencesButton = ({ openPreferences }: Props) => { diff --git a/packages/web/src/javascripts/Components/NavigationMenu/NavigationMenu.tsx b/packages/web/src/javascripts/Components/NavigationMenu/NavigationMenu.tsx index 304d9397f..0109d1327 100644 --- a/packages/web/src/javascripts/Components/NavigationMenu/NavigationMenu.tsx +++ b/packages/web/src/javascripts/Components/NavigationMenu/NavigationMenu.tsx @@ -5,6 +5,7 @@ import RoundIconButton from '../Button/RoundIconButton' import { useResponsiveAppPane } from '../Panes/ResponsivePaneProvider' import { useState, useEffect } from 'react' import { useApplication } from '../ApplicationProvider' +import CountBubble from '../Preferences/PreferencesComponents/CountBubble' /** This button is displayed in the items list header */ export const NavigationMenuButton = () => { @@ -35,11 +36,7 @@ export const NavigationMenuButton = () => { label="Open navigation menu" icon="menu-variant" /> - {isMobile && bubbleCount && ( -
- {bubbleCount} -
- )} + {isMobile && bubbleCount && } ) } diff --git a/packages/web/src/javascripts/Components/Preferences/PreferencesComponents/CountBubble.tsx b/packages/web/src/javascripts/Components/Preferences/PreferencesComponents/CountBubble.tsx new file mode 100644 index 000000000..c0a328247 --- /dev/null +++ b/packages/web/src/javascripts/Components/Preferences/PreferencesComponents/CountBubble.tsx @@ -0,0 +1,28 @@ +import { classNames } from '@standardnotes/snjs' + +type Props = { + count: string | number | undefined + position: 'left' | 'right' + className?: string +} + +const CountBubble = ({ count, position, className }: Props) => { + if (!count) { + return null + } + + return ( +
+ {count} +
+ ) +} + +export default CountBubble diff --git a/packages/web/src/javascripts/Components/Preferences/PreferencesComponents/MenuItem.tsx b/packages/web/src/javascripts/Components/Preferences/PreferencesComponents/MenuItem.tsx index 94399e6c7..7da7c91f4 100644 --- a/packages/web/src/javascripts/Components/Preferences/PreferencesComponents/MenuItem.tsx +++ b/packages/web/src/javascripts/Components/Preferences/PreferencesComponents/MenuItem.tsx @@ -2,6 +2,7 @@ import Icon from '@/Components/Icon/Icon' import { FunctionComponent } from 'react' import { IconType, classNames } from '@standardnotes/snjs' import { ErrorCircle } from '@/Components/UIElements/ErrorCircle' +import CountBubble from './CountBubble' interface Props { iconType: IconType @@ -31,11 +32,7 @@ const PreferencesMenuItem: FunctionComponent = ({ >
- {bubbleCount ? ( -
- {bubbleCount} -
- ) : null} +
{label}