/* * Vencord, a Discord client mod * Copyright (c) 2026 Vendicated and contributors * SPDX-License-Identifier: GPL-3.0-or-later */ import { BaseText } from "@components/BaseText"; import { Flex } from "@components/Flex"; import { RenderModalProps } from "@vencord/discord-types"; import { Modal, openModal, SearchableSelect, useState } from "@webpack/common"; import { LANGUAGES } from "../utils/languages"; import { TranscriptionModal } from "./TranscriptionModal"; type RadioGroup = React.ComponentType<{ options: { name: string; value: string; }[]; value: string; onChange: (v: string) => void; }>; let ManaBaseRadioGroup: RadioGroup; export function setManaBaseRadioGroup(component: RadioGroup) { ManaBaseRadioGroup = component; } export function LanguageSelectionModal(props: { modalProps: RenderModalProps, src: string; }) { const { modalProps, src } = props; const [language, setLanguage] = useState("auto"); const [task, setTask] = useState("transcribe"); const languageOptions = [ { label: "Auto Detect", value: "auto" }, ...Object.entries(LANGUAGES).map(([code, name]) => ({ label: name.charAt(0).toUpperCase() + name.slice(1), value: code })) ]; const start = () => { modalProps.onClose(); openModal(modalProps => ( )); }; return (
Audio Language o.value === language)?.value} onChange={setLanguage} />
Action setTask(v as string)} />
); }