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 { useTranslation } from "react-i18next"; 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 { t } = useTranslation(); const allDisabled = useMemo( () => pluginSettings?.downloadMethod?.locked === true && pluginSettings?.remuxConcurrentLimit?.locked === true && pluginSettings?.autoDownload.locked === true, [pluginSettings] ); if (!settings) return null; return ( {settings.downloadMethod === DownloadMethod.Remux ? t("home.settings.downloads.default") : t("home.settings.downloads.optimized")} {t("home.settings.downloads.methods")} { updateSettings({ downloadMethod: DownloadMethod.Remux }); setProcesses([]); }} > {t("home.settings.downloads.default")} { updateSettings({ downloadMethod: DownloadMethod.Optimized }); setProcesses([]); queryClient.invalidateQueries({ queryKey: ["search"] }); }} > {t("home.settings.downloads.optimized")} updateSettings({ remuxConcurrentLimit: value as Settings["remuxConcurrentLimit"], }) } /> updateSettings({ autoDownload: value })} /> router.push("/settings/optimized-server/page")} showArrow title={t("home.settings.downloads.optimized_versions_server")} > ); };