import React, {useState} from "react"; import {fetchVideoDownloadDefaults, getDownloaders, postDownload, putDownload} from "../api"; import { APIButton, DirectorySearch, InfoHeader, InfoPopup, mergeDeep, RequiredAsterisk, SimpleAccordion, Toggle, useLocalStorage, validURL, validURLs, } from "./Common"; import {Button, Group, Header, Icon, Message, MultiSelect, NumberInput, Select, Stack, TextInput, Textarea} from "./ui"; import {Link} from "react-router"; import {TagsSelector} from "../Tags"; import { commaSeparatedValidator, useForm, } from "../hooks/useForm"; import { channelFrequencyOptions, days30Option, defaultAudioFormatOption, defaultVideoFormatOption, defaultVideoResolutionOptions, downloadAudioFormatOptions, Downloaders, downloadFormatOptions, downloadOrderOptions, downloadResolutionOptions, extendedFrequencyOptions, frequencyOptions, weeklyOption } from "./Vars"; /* * Download.js was built around the old