import {Stepper} from "@/components/inputs/Stepper"; import {useDownload} from "@/providers/DownloadProvider"; import {DownloadMethod, Settings, useSettings} from "@/utils/atoms/settings"; import {Ionicons} from "@expo/vector-icons"; import {useQueryClient} from "@tanstack/react-query"; import {useRouter} from "expo-router"; import React, {useMemo} from "react"; import {Switch, TouchableOpacity} from "react-native"; import * as DropdownMenu from "zeego/dropdown-menu"; import {Text} from "../common/Text"; import {ListGroup} from "../list/ListGroup"; import {ListItem} from "../list/ListItem"; import DisabledSetting from "@/components/settings/DisabledSetting"; export const DownloadSettings: React.FC = ({ ...props }) => { const [settings, updateSettings, pluginSettings] = useSettings(); const { setProcesses } = useDownload(); const router = useRouter(); const queryClient = useQueryClient(); const disabled = useMemo(() => ( pluginSettings?.downloadMethod?.locked === true && pluginSettings?.remuxConcurrentLimit?.locked === true && pluginSettings?.autoDownload.locked === true ), [pluginSettings]) if (!settings) return null; return ( {settings.downloadMethod === DownloadMethod.Remux ? "Default" : "Optimized"} Methods { updateSettings({ downloadMethod: DownloadMethod.Remux }); setProcesses([]); }} > Default { updateSettings({ downloadMethod: DownloadMethod.Optimized }); setProcesses([]); queryClient.invalidateQueries({ queryKey: ["search"] }); }} > Optimized updateSettings({ remuxConcurrentLimit: value as Settings["remuxConcurrentLimit"], }) } /> updateSettings({ autoDownload: value })} /> router.push("/settings/optimized-server/page")} showArrow title="Optimized Versions Server" > ); };