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 ( {/* TODO: Implement better searching than just by ID */} {settings.safeMode?.enabled && {safeModeMessage} {safeModeExtras} } setSearch(v.toLowerCase())} placeholder="Search" /> } style={{ paddingHorizontal: 10, paddingTop: 10 }} contentContainerStyle={{ paddingBottom: 20 }} data={Object.values(items).filter(i => i.id?.toLowerCase().includes(search))} renderItem={({ item, index }) => } /> ) }