diff --git a/components/filters/SortButton.tsx b/components/filters/SortButton.tsx new file mode 100644 index 00000000..bff476a0 --- /dev/null +++ b/components/filters/SortButton.tsx @@ -0,0 +1,93 @@ +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"; +import { + sortByAtom, + sortOptions, + sortOrderAtom, + sortOrderOptions, +} from "@/utils/atoms/filters"; + +interface Props extends ViewProps { + title: string; +} + +export const SortButton: React.FC = ({ title, ...props }) => { + const [api] = useAtom(apiAtom); + const [user] = useAtom(userAtom); + + const [sortBy, setSortBy] = useAtom(sortByAtom); + const [sortOrder, setSortOrder] = useAtom(sortOrderAtom); + + return ( + + + + + Sort by + + + + + + {sortOptions?.map((g) => ( + { + if (next === "on") { + setSortBy(g); + } else { + setSortBy(sortOptions[0]); + } + }} + key={g.key} + textValue={g.value} + > + + + ))} + + + {sortOrderOptions.map((g) => ( + { + if (next === "on") { + setSortOrder(g); + } else { + setSortOrder(sortOrderOptions[0]); + } + }} + key={g.key} + textValue={g.value} + > + + + ))} + + + + ); +};