From 496e3d651dbd095f747068c78f201ca9632bf8fd Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Thu, 11 Aug 2022 17:31:09 +0800 Subject: [PATCH] Move the menu off the homefeedgrid into new library layout --- .../templates/homeFeed/HomeFeedContainer.tsx | 89 +++++++++++++++---- .../templates/homeFeed/LibrarySearchBar.tsx | 9 +- packages/web/pages/home.tsx | 24 ++--- 3 files changed, 84 insertions(+), 38 deletions(-) diff --git a/packages/web/components/templates/homeFeed/HomeFeedContainer.tsx b/packages/web/components/templates/homeFeed/HomeFeedContainer.tsx index 3bb8cc751..e500d2db7 100644 --- a/packages/web/components/templates/homeFeed/HomeFeedContainer.tsx +++ b/packages/web/components/templates/homeFeed/HomeFeedContainer.tsx @@ -53,6 +53,20 @@ import { export type LayoutType = 'LIST_LAYOUT' | 'GRID_LAYOUT' +const timeZoneHourDiff = -new Date().getTimezoneOffset() / 60 + +const SAVED_SEARCHES: Record = { + Inbox: `in:inbox`, + 'Read Later': `in:inbox -label:Newsletter`, + Highlights: `type:highlights`, + Today: `in:inbox saved:${ + new Date(new Date().getTime() - 24 * 3600000).toISOString().split('T')[0] + }Z${timeZoneHourDiff.toLocaleString('en-US', { + signDisplay: 'always', + })}..*`, + Newsletters: `in:inbox label:Newsletter`, +} + const fetchSearchResults = async (query: string, cb: any) => { if (!query.startsWith('#')) return const res = await typeaheadSearchQuery({ @@ -82,14 +96,17 @@ export function HomeFeedContainer(): JSX.Element { const gridContainerRef = useRef(null) - const [shareTarget, setShareTarget] = - useState(undefined) + const [shareTarget, setShareTarget] = useState( + undefined + ) - const [snoozeTarget, setSnoozeTarget] = - useState(undefined) + const [snoozeTarget, setSnoozeTarget] = useState( + undefined + ) - const [labelsTarget, setLabelsTarget] = - useState(undefined) + const [labelsTarget, setLabelsTarget] = useState( + undefined + ) const [showAddLinkModal, setShowAddLinkModal] = useState(false) const [showEditTitleModal, setShowEditTitleModal] = useState(false) @@ -656,8 +673,7 @@ function HomeFeedGrid(props: HomeFeedContentProps): JSX.Element { alignment="center" css={{ px: '$3', - width: '75%', - display: 'inline-flex', + width: '100%', '@smDown': { px: '$2', }, @@ -665,16 +681,7 @@ function HomeFeedGrid(props: HomeFeedContentProps): JSX.Element { > {props.isValidating && props.items.length == 0 && } - + + {viewerData?.me && ( + + {Object.keys(SAVED_SEARCHES).map((key) => { + const isInboxTerm = (term: string) => { + return !term || term === 'in:inbox' + } + const searchQuery = SAVED_SEARCHES[key] + const style = + searchQuery === props.searchTerm || + (!props.searchTerm && isInboxTerm(searchQuery)) + ? 'ctaDarkYellow' + : 'ctaLightGray' + return ( + + ) + })} + + )} {!props.isValidating && props.items.length == 0 ? ( { diff --git a/packages/web/components/templates/homeFeed/LibrarySearchBar.tsx b/packages/web/components/templates/homeFeed/LibrarySearchBar.tsx index 4d0c1fc96..e9127e0cd 100644 --- a/packages/web/components/templates/homeFeed/LibrarySearchBar.tsx +++ b/packages/web/components/templates/homeFeed/LibrarySearchBar.tsx @@ -49,14 +49,7 @@ export function LibrarySearchBar(props: LibrarySearchBarProps): JSX.Element { ) return ( - + @@ -8,17 +9,16 @@ export default function Home(): JSX.Element { function LoadedContent(): JSX.Element { return ( - <> - - + + - - + + ) }