import { t, Trans } from "@lingui/macro" import { Box, Center, Kbd, TextInput } from "@mantine/core" import { useOs } from "@mantine/hooks" import { Spotlight, spotlight, type SpotlightActionData } from "@mantine/spotlight" import { redirectToFeed } from "app/redirect/thunks" import { useAppDispatch } from "app/store" import { type Subscription } from "app/types" import { FeedFavicon } from "components/content/FeedFavicon" import { useMousetrap } from "hooks/useMousetrap" import { TbSearch } from "react-icons/tb" export interface TreeSearchProps { feeds: Subscription[] } export function TreeSearch(props: TreeSearchProps) { const dispatch = useAppDispatch() const isMacOS = useOs() === "macos" const actions: SpotlightActionData[] = props.feeds .map(f => ({ id: `${f.id}`, label: f.name, leftSection: , onClick: async () => await dispatch(redirectToFeed(f.id)), })) .sort((f1, f2) => f1.label.localeCompare(f2.label)) const searchIcon = const rightSection = (
spotlight.open()}> {isMacOS ? "Cmd" : "Ctrl"} + K
) // additional keyboard shortcut used by commafeed v1 useMousetrap("g u", () => spotlight.open()) return ( <> spotlight.open()} // prevent focus onFocus={e => e.target.blur()} readOnly /> Nothing found} > ) }