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',
}}
/>
-
+
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)
}}
/>
+
)
}