import { Button, ContextMenu, Host } from "@expo/ui/swift-ui"; import { Platform, View } from "react-native"; import { FilterButton } from "@/components/filters/FilterButton"; import { JellyseerrSearchSort } from "@/components/jellyseerr/JellyseerrIndexPage"; interface DiscoverFiltersProps { searchFilterId: string; orderFilterId: string; jellyseerrOrderBy: JellyseerrSearchSort; setJellyseerrOrderBy: (value: JellyseerrSearchSort) => void; jellyseerrSortOrder: "asc" | "desc"; setJellyseerrSortOrder: (value: "asc" | "desc") => void; t: (key: string) => string; } const sortOptions = Object.keys(JellyseerrSearchSort).filter((v) => Number.isNaN(Number(v)), ); const orderOptions = ["asc", "desc"] as const; export const DiscoverFilters: React.FC = ({ searchFilterId, orderFilterId, jellyseerrOrderBy, setJellyseerrOrderBy, jellyseerrSortOrder, setJellyseerrSortOrder, t, }) => { if (Platform.OS === "ios") { return ( {sortOptions.map((item) => { const label = t( `home.settings.plugins.jellyseerr.order_by.${item}`, ); const isSelected = jellyseerrOrderBy === (item as unknown as JellyseerrSearchSort); return ( ); })} {orderOptions.map((item) => { const label = t(`library.filters.${item}`); const isSelected = jellyseerrSortOrder === item; return ( ); })} ); } // Android UI return ( Object.keys(JellyseerrSearchSort).filter((v) => Number.isNaN(Number(v)), ) } set={(value) => setJellyseerrOrderBy(value[0])} values={[jellyseerrOrderBy]} title={t("library.filters.sort_by")} renderItemLabel={(item) => t(`home.settings.plugins.jellyseerr.order_by.${item}`) } disableSearch={true} /> ["asc", "desc"]} set={(value) => setJellyseerrSortOrder(value[0])} values={[jellyseerrSortOrder]} title={t("library.filters.sort_order")} renderItemLabel={(item) => t(`library.filters.${item}`)} disableSearch={true} /> ); };