import { ReactNative as RN } from "@metro/common"; import { useProxy } from "@lib/storage"; import { HelpMessage, ErrorBoundary, Search } from "@ui/components"; import { CardWrapper } from "@ui/settings/components/Card"; import settings from "@lib/settings"; interface AddonPageProps { items: Record; safeModeMessage: string; safeModeExtras?: JSX.Element | JSX.Element[]; card: React.ComponentType>; } export default function AddonPage({ items, safeModeMessage, safeModeExtras, card: CardComponent }: AddonPageProps) { useProxy(settings) useProxy(items); const [search, setSearch] = React.useState(""); return ( {settings.safeMode?.enabled && {safeModeMessage} {safeModeExtras} } setSearch(v.toLowerCase())} placeholder="Search" /> {/* TODO: When I am more awake, implement better searching than just by ID */} {/* TODO: Also when I am more awake, make the search bar not scroll with the cards */} {Object.values(items).filter(i => i.id?.toLowerCase().includes(search)).map((i, id) => )} ) }