From f33e5323c66e789d1834f3abfcfd64e5756325f5 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Fri, 21 Jun 2024 10:56:20 +0800 Subject: [PATCH] Start to use nav return in most places to return to the previous library section --- packages/web/components/nav-containers/home.tsx | 2 +- .../patterns/LibraryCards/LibraryGridCard.tsx | 2 +- .../patterns/LibraryCards/LibraryListCard.tsx | 2 +- packages/web/components/templates/SettingsLayout.tsx | 2 +- .../templates/article/PdfArticleContainer.tsx | 11 +++++------ packages/web/pages/[username]/[slug]/index.tsx | 4 ++-- packages/web/pages/_app.tsx | 4 ++-- packages/web/pages/api/client/auth.ts | 2 +- packages/web/pages/index.tsx | 7 ++++++- packages/web/pages/tools/bulk.tsx | 2 +- packages/web/pages/tools/import/file.tsx | 2 +- packages/web/pages/tools/import/matter-archive.tsx | 2 +- 12 files changed, 23 insertions(+), 19 deletions(-) diff --git a/packages/web/components/nav-containers/home.tsx b/packages/web/components/nav-containers/home.tsx index 1174b3334..4ff835594 100644 --- a/packages/web/components/nav-containers/home.tsx +++ b/packages/web/components/nav-containers/home.tsx @@ -40,7 +40,7 @@ export function HomeContainer(): JSX.Element { }, [viewerData]) useEffect(() => { - window.sessionStorage.setItem('nav-return', router.asPath) + window.localStorage.setItem('nav-return', router.asPath) }, [router.asPath]) return ( diff --git a/packages/web/components/patterns/LibraryCards/LibraryGridCard.tsx b/packages/web/components/patterns/LibraryCards/LibraryGridCard.tsx index 857816954..8bba60f0b 100644 --- a/packages/web/components/patterns/LibraryCards/LibraryGridCard.tsx +++ b/packages/web/components/patterns/LibraryCards/LibraryGridCard.tsx @@ -95,7 +95,7 @@ export function LibraryGridCard(props: LinkedItemCardProps): JSX.Element { props.setIsChecked(props.item.id, !props.isChecked) return } - window.sessionStorage.setItem('nav-return', router.asPath) + window.localStorage.setItem('nav-return', router.asPath) if (event.metaKey || event.ctrlKey) { window.open( `/${props.viewer.profile.username}/${props.item.slug}`, diff --git a/packages/web/components/patterns/LibraryCards/LibraryListCard.tsx b/packages/web/components/patterns/LibraryCards/LibraryListCard.tsx index a7d277230..5fb5d00ab 100644 --- a/packages/web/components/patterns/LibraryCards/LibraryListCard.tsx +++ b/packages/web/components/patterns/LibraryCards/LibraryListCard.tsx @@ -100,7 +100,7 @@ export function LibraryListCard(props: LinkedItemCardProps): JSX.Element { props.setIsChecked(props.item.id, !props.isChecked) return } - window.sessionStorage.setItem('nav-return', router.asPath) + window.localStorage.setItem('nav-return', router.asPath) if (event.metaKey || event.ctrlKey) { window.open( `/${props.viewer.profile.username}/${props.item.slug}`, diff --git a/packages/web/components/templates/SettingsLayout.tsx b/packages/web/components/templates/SettingsLayout.tsx index a6716af9d..f1eb850cf 100644 --- a/packages/web/components/templates/SettingsLayout.tsx +++ b/packages/web/components/templates/SettingsLayout.tsx @@ -32,7 +32,7 @@ const ReturnButton = (): JSX.Element => { }, }} > - + (null) const [notebookKey, setNotebookKey] = useState(uuidv4()) const [noteTarget, setNoteTarget] = useState(undefined) - const [noteTargetPageIndex, setNoteTargetPageIndex] = useState< - number | undefined - >(undefined) + const [noteTargetPageIndex, setNoteTargetPageIndex] = + useState(undefined) const highlightsRef = useRef([]) const annotationOmnivoreId = (annotation: Annotation): string | undefined => { @@ -449,16 +448,16 @@ export default function PdfArticleContainer( document.dispatchEvent(new Event('openOriginalArticle')) break case 'u': - const navReturn = window.sessionStorage.getItem('nav-return') + const navReturn = window.localStorage.getItem('nav-return') if (navReturn) { window.location.assign(navReturn) return } const query = window.sessionStorage.getItem('q') if (query) { - window.location.assign(`/home?${query}`) + window.location.assign(`/l/home?${query}`) } else { - window.location.replace(`/home`) + window.location.replace(`/l/home`) } break case 'e': diff --git a/packages/web/pages/[username]/[slug]/index.tsx b/packages/web/pages/[username]/[slug]/index.tsx index 45d2f94c4..559f4f8d0 100644 --- a/packages/web/pages/[username]/[slug]/index.tsx +++ b/packages/web/pages/[username]/[slug]/index.tsx @@ -89,7 +89,7 @@ export default function Home(): JSX.Element { // return // } // } - const navReturn = window.sessionStorage.getItem('nav-return') + const navReturn = window.localStorage.getItem('nav-return') if (navReturn) { router.push(navReturn) return @@ -303,7 +303,7 @@ export default function Home(): JSX.Element { name: 'Return to library', shortcut: ['u'], perform: () => { - const navReturn = window.sessionStorage.getItem('nav-return') + const navReturn = window.localStorage.getItem('nav-return') if (navReturn) { router.push(navReturn) return diff --git a/packages/web/pages/_app.tsx b/packages/web/pages/_app.tsx index e81880576..86f82fcce 100644 --- a/packages/web/pages/_app.tsx +++ b/packages/web/pages/_app.tsx @@ -43,12 +43,12 @@ const generateActions = (router: NextRouter) => { shortcut: ['g', 'h'], keywords: 'go home', perform: () => { - const navReturn = window.sessionStorage.getItem('nav-return') + const navReturn = window.localStorage.getItem('nav-return') if (navReturn) { router.push(navReturn) return } - router?.push('/home') + router?.push('/l/home') }, }, { diff --git a/packages/web/pages/api/client/auth.ts b/packages/web/pages/api/client/auth.ts index ee1d2dc01..e63d81767 100644 --- a/packages/web/pages/api/client/auth.ts +++ b/packages/web/pages/api/client/auth.ts @@ -29,7 +29,7 @@ const requestHandler = (req: NextApiRequest, res: NextApiResponse): void => { }) } else { res.writeHead(302, { - Location: '/home', + Location: '/l/home', }) } diff --git a/packages/web/pages/index.tsx b/packages/web/pages/index.tsx index 199614dc2..51b2b3b14 100644 --- a/packages/web/pages/index.tsx +++ b/packages/web/pages/index.tsx @@ -9,7 +9,12 @@ export default function LandingPage(): JSX.Element { const { viewerData, isLoading } = useGetViewerQuery() if (!isLoading && router.isReady && viewerData?.me) { - router.push('/home') + const navReturn = window.localStorage.getItem('nav-return') + if (navReturn) { + router.push(navReturn) + } else { + router.push('/l/home') + } return <> } else if (isLoading || !router.isReady) { return ( diff --git a/packages/web/pages/tools/bulk.tsx b/packages/web/pages/tools/bulk.tsx index 24efa499f..f1142d20b 100644 --- a/packages/web/pages/tools/bulk.tsx +++ b/packages/web/pages/tools/bulk.tsx @@ -202,7 +202,7 @@ export default function BulkPerformer(): JSX.Element {