diff --git a/packages/web/components/templates/homeFeed/LibraryFilterMenu.tsx b/packages/web/components/templates/homeFeed/LibraryFilterMenu.tsx index 564f202d7..602b33f2b 100644 --- a/packages/web/components/templates/homeFeed/LibraryFilterMenu.tsx +++ b/packages/web/components/templates/homeFeed/LibraryFilterMenu.tsx @@ -10,6 +10,7 @@ import { Label } from '../../../lib/networking/fragments/labelFragment' import { theme } from '../../tokens/stitches.config' import { currentThemeName } from '../../../lib/themeUpdater' import { MOBILE_HEADER_HEIGHT } from './HeaderSpacer' +import { useRegisterActions } from 'kbar' export const LIBRARY_LEFT_MENU_WIDTH = '300px' @@ -73,18 +74,60 @@ export function LibraryFilterMenu(props: LibraryFilterMenuProps): JSX.Element { } function SavedSearches(props: LibraryFilterMenuProps): JSX.Element { + const items = [ + { + name: 'Inbox', + term: 'in:inbox', + }, + { + name: 'Read Later', + term: 'in:inbox -label:Newsletter', + }, + { + name: 'Highlights', + term: 'has:highlights', + }, + { + name: 'Unlabeled', + term: 'no:label', + }, + { + name: 'Files', + term: 'type:file', + }, + { + name: 'Archived', + term: 'in:archive', + }, + ] + + useRegisterActions( + items.map((item, idx) => { + const key = String(idx + 1) + return { + id: `saved_search_${key}`, + section: 'Saved Searches', + name: item.name, + keywords: '?' + item.name, + perform: () => { + props.applySearchQuery(item.term) + }, + } + }), + [props] + ) + return ( - - - - - - + {items.map((item) => ( + + ))} + )