import * as DropdownMenu from "zeego/dropdown-menu"; import { Text } from "@/components/common/Text"; import { apiAtom, userAtom } from "@/providers/JellyfinProvider"; import { Ionicons } from "@expo/vector-icons"; import { useQuery } from "@tanstack/react-query"; import { useAtom } from "jotai"; import { TouchableOpacity, View, ViewProps } from "react-native"; interface Props extends ViewProps { collectionId: string; queryFn: (params: any) => Promise; queryKey: string; set: (value: string[]) => void; values: string[]; title: string; } export const FilterButton: React.FC = ({ collectionId, queryFn, queryKey, set, values, title, ...props }) => { const [api] = useAtom(apiAtom); const [user] = useAtom(userAtom); const { data: filters } = useQuery({ queryKey: [queryKey, collectionId], queryFn, staleTime: 0, }); return ( 0 ? "bg-purple-600" : "bg-neutral-900"} `} {...props} > {title} {filters?.map((g) => ( { if (next === "on") { set([...values, g]); } else { set(values.filter((v) => v !== g)); } }} key={g} textValue={g} > ))} ); };