From 5cd68cae44f0b7770e991e9231ec54413c6d21e5 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Fri, 10 Mar 2023 09:10:49 +0800 Subject: [PATCH] When clicking the logo button to go back, use filter states --- .../elements/images/OmnivoreFullLogo.tsx | 106 +++++++++--------- .../elements/images/OmnivoreLogoBase.tsx | 42 +++++++ .../elements/images/OmnivoreNameLogo.tsx | 34 ++---- .../templates/reader/ReaderHeader.tsx | 2 +- 4 files changed, 105 insertions(+), 79 deletions(-) create mode 100644 packages/web/components/elements/images/OmnivoreLogoBase.tsx diff --git a/packages/web/components/elements/images/OmnivoreFullLogo.tsx b/packages/web/components/elements/images/OmnivoreFullLogo.tsx index 7dc9d805a..5aa52ff11 100644 --- a/packages/web/components/elements/images/OmnivoreFullLogo.tsx +++ b/packages/web/components/elements/images/OmnivoreFullLogo.tsx @@ -1,5 +1,8 @@ import Link from 'next/link' +import { useRouter } from 'next/router' +import { useEffect, useState } from 'react' import { config } from '../../tokens/stitches.config' +import { OmnivoreLogoBase } from './OmnivoreLogoBase' export type OmnivoreFullLogoProps = { color?: string @@ -9,64 +12,55 @@ export type OmnivoreFullLogoProps = { export function OmnivoreFullLogo(props: OmnivoreFullLogoProps): JSX.Element { const fillColor = props.color || config.theme.colors.graySolid - const href = props.href || '/home' return ( - - + - - - - - - - - - - - - - + + + + + + + + + + + ) } diff --git a/packages/web/components/elements/images/OmnivoreLogoBase.tsx b/packages/web/components/elements/images/OmnivoreLogoBase.tsx new file mode 100644 index 000000000..9b0c7215d --- /dev/null +++ b/packages/web/components/elements/images/OmnivoreLogoBase.tsx @@ -0,0 +1,42 @@ +import Link from 'next/link' +import { useRouter } from 'next/router' +import { ReactChildren } from 'react' +import { config } from '../../tokens/stitches.config' + +export type OmnivoreLogoBaseProps = { + color?: string + href?: string + showTitle?: boolean + children: React.ReactNode +} + +export function OmnivoreLogoBase(props: OmnivoreLogoBaseProps): JSX.Element { + const href = props.href || '/home' + const router = useRouter() + + return ( + + { + const query = window.sessionStorage.getItem('q') + if (query) { + console.log( + 'going to: ', + window.sessionStorage.getItem('q'), + props.href + ) + router.push(`/home?${query}`) + event.preventDefault() + } + }} + > + {props.children} + + + ) +} diff --git a/packages/web/components/elements/images/OmnivoreNameLogo.tsx b/packages/web/components/elements/images/OmnivoreNameLogo.tsx index 06e371390..cb43e1ab5 100644 --- a/packages/web/components/elements/images/OmnivoreNameLogo.tsx +++ b/packages/web/components/elements/images/OmnivoreNameLogo.tsx @@ -1,8 +1,7 @@ import { config } from '../../tokens/stitches.config' import Image from 'next/image' import { StyledText } from '../../elements/StyledText' -import Link from 'next/link' -import { SpanBox } from '../LayoutPrimitives' +import { OmnivoreLogoBase } from './OmnivoreLogoBase' export function OmnivoreNameLogoImage(): JSX.Element { return ( @@ -66,27 +65,18 @@ export type OmnivoreNameLogoProps = { export function OmnivoreNameLogo(props: OmnivoreNameLogoProps): JSX.Element { const fillColor = props.color || config.theme.colors.graySolid - const href = props.href || '/home' return ( - - - - {props.showTitle && ( - - Omnivore - - )} - - + + + {props.showTitle && ( + + Omnivore + + )} + ) } diff --git a/packages/web/components/templates/reader/ReaderHeader.tsx b/packages/web/components/templates/reader/ReaderHeader.tsx index e14e3a46c..e3345535f 100644 --- a/packages/web/components/templates/reader/ReaderHeader.tsx +++ b/packages/web/components/templates/reader/ReaderHeader.tsx @@ -1,4 +1,4 @@ -import { Box, HStack, SpanBox, VStack } from '../../elements/LayoutPrimitives' +import { HStack, SpanBox, VStack } from '../../elements/LayoutPrimitives' import { Button } from '../../elements/Button' import { DotsThreeOutline, TextAa } from 'phosphor-react' import { PrimaryDropdown } from '../PrimaryDropdown'