diff --git a/packages/web/components/patterns/PrimaryHeader.tsx b/packages/web/components/patterns/PrimaryHeader.tsx deleted file mode 100644 index 9659158ac..000000000 --- a/packages/web/components/patterns/PrimaryHeader.tsx +++ /dev/null @@ -1,243 +0,0 @@ -import { Box, HStack, SpanBox } from '../elements/LayoutPrimitives' -import { OmnivoreNameLogo } from './../elements/images/OmnivoreNameLogo' -import { DropdownMenu, HeaderDropdownAction } from './../patterns/DropdownMenu' -import { updateTheme } from '../../lib/themeUpdater' -import { AvatarDropdown } from './../elements/AvatarDropdown' -import { ThemeId } from './../tokens/stitches.config' -import { useState } from 'react' -import { useRouter } from 'next/router' -import { UserBasicData } from '../../lib/networking/queries/useGetViewerQuery' - -type HeaderProps = { - user?: UserBasicData - userInitials: string - hideHeader?: boolean - profileImageURL?: string - isTransparent: boolean - toolbarControl?: JSX.Element - alwaysDisplayToolbar?: boolean - setShowLogoutConfirmation: (showShareModal: boolean) => void - setShowKeyboardCommandsModal: (showShareModal: boolean) => void -} - -export function PrimaryHeader(props: HeaderProps): JSX.Element { - const router = useRouter() - const [isScrolled, setIsScrolled] = useState(false) - - function headerDropdownActionHandler(action: HeaderDropdownAction): void { - switch (action) { - case 'apply-darker-theme': - updateTheme(ThemeId.Darker) - break - case 'apply-dark-theme': - updateTheme(ThemeId.Dark) - break - case 'apply-lighter-theme': - updateTheme(ThemeId.Lighter) - break - case 'apply-light-theme': - updateTheme(ThemeId.Light) - break - case 'increaseFontSize': - document.dispatchEvent(new Event('increaseFontSize')) - break - case 'decreaseFontSize': - document.dispatchEvent(new Event('decreaseFontSize')) - break - case 'navigate-to-install': - router.push('/settings/installation') - break - case 'navigate-to-emails': - router.push('/settings/emails') - break - case 'navigate-to-labels': - router.push('/settings/labels') - break - case 'navigate-to-profile': - if (props.user) { - router.push(`/${props.user.profile.username}`) - } - break - case 'navigate-to-subscriptions': - router.push('/settings/subscriptions') - break - case 'navigate-to-api': - router.push('/settings/api') - break - case 'navigate-to-integrations': - router.push('/settings/integrations') - break - case 'logout': - props.setShowLogoutConfirmation(true) - break - default: - break - } - } - - return ( - <> - - - - - - - - ) -} - -// Separating out component so we can extract to design system -type NavHeaderProps = { - username?: string - userInitials: string - actionHandler: (action: HeaderDropdownAction) => void - profileImageURL?: string - isDisplayingShadow?: boolean - isVisible?: boolean - isTransparent: boolean - toolbarControl?: JSX.Element - alwaysDisplayToolbar?: boolean -} - -function NavHeader(props: NavHeaderProps): JSX.Element { - return ( - - ) -} - -function FloatingNavHeader(props: NavHeaderProps): JSX.Element { - return ( - <> - - - - - - - {props.username && ( - - - } - actionHandler={props.actionHandler} - /> - - )} - - ) -} diff --git a/packages/web/components/templates/SettingsLayout.tsx b/packages/web/components/templates/SettingsLayout.tsx index 15d381bf3..84a898ced 100644 --- a/packages/web/components/templates/SettingsLayout.tsx +++ b/packages/web/components/templates/SettingsLayout.tsx @@ -1,6 +1,6 @@ -import { Box } from '../elements/LayoutPrimitives' +import { Box, VStack } from '../elements/LayoutPrimitives' import { useGetViewerQuery } from '../../lib/networking/queries/useGetViewerQuery' -import { PrimaryHeader } from '../patterns/PrimaryHeader' +import { SettingsHeader } from '../patterns/SettingsHeader' import { navigationCommands } from '../../lib/keyboardShortcuts/navigationShortcuts' import { useKeyboardShortcuts } from '../../lib/keyboardShortcuts/useKeyboardShortcuts' import { useRouter } from 'next/router' @@ -10,6 +10,7 @@ import { useState } from 'react' import { ConfirmationModal } from '../patterns/ConfirmationModal' import { KeyboardShortcutListModal } from './KeyboardShortcutListModal' import { PageMetaData } from '../patterns/PageMetaData' +import { HeaderSpacer, MOBILE_HEADER_HEIGHT } from './homeFeed/HeaderSpacer' type SettingsLayoutProps = { title?: string @@ -20,7 +21,8 @@ export function SettingsLayout(props: SettingsLayoutProps): JSX.Element { const { viewerData } = useGetViewerQuery() const router = useRouter() const [showLogoutConfirmation, setShowLogoutConfirmation] = useState(false) - const [showKeyboardCommandsModal, setShowKeyboardCommandsModal] = useState(false) + const [showKeyboardCommandsModal, setShowKeyboardCommandsModal] = + useState(false) useKeyboardShortcuts(navigationCommands(router)) applyStoredTheme(false) @@ -41,39 +43,30 @@ export function SettingsLayout(props: SettingsLayoutProps): JSX.Element { return ( <> - - + + + - {props.children} - {showLogoutConfirmation ? ( - setShowLogoutConfirmation(false)} - /> - ) : null} - {showKeyboardCommandsModal ? ( - setShowKeyboardCommandsModal(false)} - /> - ) : null} - + > + {props.children} + + + {showLogoutConfirmation ? ( + setShowLogoutConfirmation(false)} + /> + ) : null} + {showKeyboardCommandsModal ? ( + setShowKeyboardCommandsModal(false)} + /> + ) : null} ) } diff --git a/packages/web/pages/settings/integrations.tsx b/packages/web/pages/settings/integrations.tsx index ff4fb637a..02835e9b2 100644 --- a/packages/web/pages/settings/integrations.tsx +++ b/packages/web/pages/settings/integrations.tsx @@ -131,7 +131,7 @@ export default function Integrations(): JSX.Element { top: '5rem', }} /> -
Integrations
+
Integrations
Connect with other applications can help enhance and streamline your experience with Omnivore, below are some useful apps to connect your @@ -142,7 +142,7 @@ export default function Integrations(): JSX.Element { css={{ width: '80%', margin: '0 auto', - height: '500px', + height: '100%', '@smDown': { width: '100%', }, diff --git a/packages/web/pages/settings/webhooks.tsx b/packages/web/pages/settings/webhooks.tsx index 99d7ac7ba..48894f575 100644 --- a/packages/web/pages/settings/webhooks.tsx +++ b/packages/web/pages/settings/webhooks.tsx @@ -13,6 +13,7 @@ import { deleteWebhookMutation } from '../../lib/networking/mutations/deleteWebh import { FormModal } from '../../components/patterns/FormModal' import { setWebhookMutation } from '../../lib/networking/mutations/setWebhookMutation' import { FormInputProps } from '../../components/elements/FormElements' +import { Box } from '../../components/elements/LayoutPrimitives' interface Webhook { id?: string @@ -207,6 +208,7 @@ export default function Webhooks(): JSX.Element { setOnEditWebhook(webhook) }} /> + ) }