From f33e5323c66e789d1834f3abfcfd64e5756325f5 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Fri, 21 Jun 2024 10:56:20 +0800 Subject: [PATCH 1/5] 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 { )} - {/* */} - {props.homeItem.canArchive && ( )} {props.homeItem.canShare && ( - )} From b7ebb091d9f4667ca673b78b7ad8a77da830ab1c Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Fri, 21 Jun 2024 11:06:21 +0800 Subject: [PATCH 3/5] Prevent shift when unsubscribe button is presented on hover cards --- packages/web/components/nav-containers/home.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/web/components/nav-containers/home.tsx b/packages/web/components/nav-containers/home.tsx index b5069f2bb..2930b0a19 100644 --- a/packages/web/components/nav-containers/home.tsx +++ b/packages/web/components/nav-containers/home.tsx @@ -853,7 +853,7 @@ const SubscriptionSourceHoverContent = ( {props.source.icon && } {subscription && subscription.status == 'ACTIVE' && ( )} From 07e78c9c60a41ff91354207a34b1e70c35d3ecad Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Fri, 21 Jun 2024 11:21:53 +0800 Subject: [PATCH 4/5] Show ten top picks at once --- packages/web/components/nav-containers/home.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/web/components/nav-containers/home.tsx b/packages/web/components/nav-containers/home.tsx index 2930b0a19..8c4a3d6b6 100644 --- a/packages/web/components/nav-containers/home.tsx +++ b/packages/web/components/nav-containers/home.tsx @@ -273,7 +273,7 @@ const TopPicksHomeSection = (props: HomeSectionProps): JSX.Element => { ( Date: Fri, 21 Jun 2024 11:22:06 +0800 Subject: [PATCH 5/5] Make the display settings respect theme --- packages/web/components/elements/ModalPrimitives.tsx | 1 + packages/web/components/elements/TickedRangeSlider.tsx | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/web/components/elements/ModalPrimitives.tsx b/packages/web/components/elements/ModalPrimitives.tsx index 465a97c9c..2b8a8deeb 100644 --- a/packages/web/components/elements/ModalPrimitives.tsx +++ b/packages/web/components/elements/ModalPrimitives.tsx @@ -35,6 +35,7 @@ const Modal = styled(Content, { export const ModalContent = styled(Modal, { top: '50%', left: '50%', + bg: '$readerBg', transform: 'translate(-50%, -50%)', width: '90vw', maxWidth: '450px', diff --git a/packages/web/components/elements/TickedRangeSlider.tsx b/packages/web/components/elements/TickedRangeSlider.tsx index da7696569..b4119e1ce 100644 --- a/packages/web/components/elements/TickedRangeSlider.tsx +++ b/packages/web/components/elements/TickedRangeSlider.tsx @@ -22,14 +22,14 @@ const StyledSlider = styled(Slider, { height: '8px', width: '225px', borderRadius: '10px', - backgroundColor: '#F2F2F2', + backgroundColor: '$thTextSubtle2', }, '.SliderThumb': { display: 'block', - width: '20px', - height: '20px', + width: '15px', + height: '15px', borderRadius: '50%', - border: '4px solid white', + border: '2px solid $thTextSubtle2', backgroundColor: '#FFD234', boxShadow: '0px 0px 20px rgba(19, 56, 77, 0.2)', },