import { Button, ContextMenu, Host, Picker, Text as SwiftUIText, } from "@expo/ui/swift-ui"; import { buttonStyle, tag } from "@expo/ui/swift-ui/modifiers"; 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 ( { setJellyseerrOrderBy(value as unknown as JellyseerrSearchSort); }} > {sortOptions.map((item) => ( {t(`home.settings.plugins.jellyseerr.order_by.${item}`)} ))} { setJellyseerrSortOrder(value as "asc" | "desc"); }} > {orderOptions.map((item) => ( {t(`library.filters.${item}`)} ))} ); } // 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} /> ); };