import { Stack, Text, Flex, Button, Radio, Grid, Container } from "@sanity/ui"; import { useState } from "react"; const LANGUAGES = [ { code: "en", label: "English" }, { code: "fr", label: "Français" }, { code: "de", label: "Deutsch" }, { code: "it", label: "Italiano" }, { code: "es", label: "Español" }, { code: "ko", label: "한국어" }, ]; type LanguageRadioProps = { language: { code: string; label: string; }; name: string; selectedValue: string; onChange: (value: string) => void; disabled: boolean; }; function LanguageRadio({ language, name, selectedValue, onChange, disabled, }: LanguageRadioProps) { return ( onChange(event.currentTarget.value)} disabled={disabled} /> {language.label} ); } export function Translate() { const [fromLanguage, setFromLanguage] = useState(LANGUAGES[0].code); const [toLanguage, setToLanguage] = useState(LANGUAGES[1].code); const fromLanguageLabel = LANGUAGES.find( (language) => language.code === fromLanguage )?.label; const toLanguageLabel = LANGUAGES.find( (language) => language.code === toLanguage )?.label; const handleTranslate = () => { console.log("translate", { fromLanguage, toLanguage }); }; return ( Translate from {fromLanguageLabel} to {toLanguageLabel} {/* From Section */} From: {LANGUAGES.map((language) => ( ))} {/* To Section */} To: {LANGUAGES.map((language) => ( ))} {/* Action Buttons */}