diff --git a/frontend/components/TryOut/NMT.tsx b/frontend/components/TryOut/NMT.tsx index cc915d4..8d0c68c 100644 --- a/frontend/components/TryOut/NMT.tsx +++ b/frontend/components/TryOut/NMT.tsx @@ -11,7 +11,6 @@ import { Textarea, useToast, VStack, - Progress, CircularProgress, } from "@chakra-ui/react"; import axios from "axios"; @@ -50,10 +49,19 @@ interface LanguageCodeNames { } export default function NMT({ services }: { services: any }) { - const [service, setService] = useState(Object.keys(services)[0]); - const [sourceLanguage, setSourceLanguage] = useState( - services[Object.keys(services)[0]]["languageFilters"]["sourceLanguages"][0] + const languageOptions = Object.entries(services).flatMap( + ([serviceId, serviceData]) => + (serviceData as any).languageFilters.sourceLanguages.map( + (language: string) => ({ + serviceId, + language, + label: (LANGUAGE_CODE_NAMES as LanguageCodeNames)[language], + }) + ) ); + + const [service, setService] = useState(languageOptions[0].serviceId); + const [sourceLanguage, setSourceLanguage] = useState(languageOptions[0].language); const [targetLanguage, setTargetLanguage] = useState( services[Object.keys(services)[0]]["languageFilters"]["targetLanguages"][0] ); @@ -65,61 +73,44 @@ export default function NMT({ services }: { services: any }) { const toast = useToast(); + const handleLanguageChange = ( + event: React.ChangeEvent + ) => { + const selectedLanguage = event.target.value; + const selectedOption = languageOptions.find( + (option) => option.language === selectedLanguage + ); + if (selectedOption) { + setService(selectedOption.serviceId); + setSourceLanguage(selectedOption.language); + } + }; + return ( - Select Service: + Select Source Language: - - Select Source Language: - - - - Select Target Language: - + Select Target Language: - - Enable Transliteration: - + Enable Transliteration: setTransliteration(!transliteration)} diff --git a/frontend/components/TryOut/TTS.tsx b/frontend/components/TryOut/TTS.tsx index 74b9801..626dc93 100644 --- a/frontend/components/TryOut/TTS.tsx +++ b/frontend/components/TryOut/TTS.tsx @@ -71,66 +71,58 @@ export default function TTS({ services }: { services: any }) { const toast = useToast(); + const languageOptions = Object.entries(services).flatMap( + ([serviceId, serviceData]) => + (serviceData as any).languageFilters.sourceLanguages.map( + (language: string) => ({ + serviceId, + language, + label: (LANGUAGE_CODE_NAMES as LanguageCodeNames)[language], + }) + ) + ); + + const handleLanguageChange = ( + event: React.ChangeEvent + ) => { + const selectedLanguage = event.target.value; + const selectedOption = languageOptions.find( + (option) => option.language === selectedLanguage + ); + if (selectedOption) { + setService(selectedOption.serviceId); + setSourceLanguage(selectedOption.language); + } + }; + return ( - Select Service: + Select Language: - - - - Select Source Language: - - - - Enable Transliteration: - - setTransliteration(!transliteration)} - colorScheme={"orange"} - > - - + + + Enable Transliteration: + + setTransliteration(!transliteration)} + colorScheme={"orange"} + >