From 586aaf0091f5d391ce2dd1eead0155e53ef88e1a Mon Sep 17 00:00:00 2001 From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com> Date: Sun, 22 Sep 2024 12:02:50 +0900 Subject: [PATCH] [Update] Main Page: Language Settings. Translation Engines. To selectable. --- data.js | 19 ++++------ src-ui/app/App.jsx | 11 +++++- .../TranslatorSelectorOpenButton.jsx | 38 ++++++++++++++----- .../TranslatorSelector.jsx | 22 ++++++----- src-ui/logics/main/useLanguageSettings.js | 34 ++++++++++++++++- src-ui/logics/useReceiveRoutes.js | 23 ++++++++++- src-ui/store.js | 8 ++-- 7 files changed, 116 insertions(+), 39 deletions(-) diff --git a/data.js b/data.js index 800931a6..183a62fd 100644 --- a/data.js +++ b/data.js @@ -1,17 +1,12 @@ -export const translator_list = [ - { translator_key: "DeepL", translator_name: "DeepL", is_available: true }, - { translator_key: "DeepL_API", translator_name: `DeepL\nAPI`, is_available: false }, - { translator_key: "Google", translator_name: "Google", is_available: true }, - { translator_key: "Bing", translator_name: "Bing", is_available: true }, - { translator_key: "Papago", translator_name: "Papago", is_available: true }, - { translator_key: "CTranslate2", translator_name: `Internal\n(Default)`, is_available: true }, +export const translator_status = [ + { translator_id: "DeepL", translator_name: "DeepL", is_available: true }, + { translator_id: "DeepL_API", translator_name: `DeepL\nAPI`, is_available: false }, + { translator_id: "Google", translator_name: "Google", is_available: true }, + { translator_id: "Bing", translator_name: "Bing", is_available: true }, + { translator_id: "Papago", translator_name: "Papago", is_available: true }, + { translator_id: "CTranslate2", translator_name: `Internal\n(Default)`, is_available: true }, ]; -export const test_device_list = { - a: "Device A", - "device b": "Device B", -}; - export const generateTestData = (num) => { const testDataArray = []; diff --git a/src-ui/app/App.jsx b/src-ui/app/App.jsx index eee25022..53e35107 100644 --- a/src-ui/app/App.jsx +++ b/src-ui/app/App.jsx @@ -51,7 +51,14 @@ const StartPythonFacadeComponent = () => { const { getSendMessageButtonType } = useSendMessageButtonType(); const { getUiLanguage } = useUiLanguage(); - const { getSelectedPresetTabNumber, getEnableMultiTranslation, getSelectedYourLanguages, getSelectedTargetLanguages } = useLanguageSettings(); + const { + getSelectedPresetTabNumber, + getEnableMultiTranslation, + getSelectedYourLanguages, + getSelectedTargetLanguages, + getTranslationEngines, + getSelectedTranslationEngines, + } = useLanguageSettings(); const { getSelectableLanguageList } = useSelectableLanguageList(); @@ -68,6 +75,8 @@ const StartPythonFacadeComponent = () => { getSelectedYourLanguages(); getSelectedTargetLanguages(); getSelectableLanguageList(); + getTranslationEngines(); + getSelectedTranslationEngines(); getEnableAutoMicSelect(); getEnableAutoSpeakerSelect(); diff --git a/src-ui/app/main_page/sidebar_section/language_settings/translator_selector_open_button/TranslatorSelectorOpenButton.jsx b/src-ui/app/main_page/sidebar_section/language_settings/translator_selector_open_button/TranslatorSelectorOpenButton.jsx index 2a76b220..e0d89d5f 100644 --- a/src-ui/app/main_page/sidebar_section/language_settings/translator_selector_open_button/TranslatorSelectorOpenButton.jsx +++ b/src-ui/app/main_page/sidebar_section/language_settings/translator_selector_open_button/TranslatorSelectorOpenButton.jsx @@ -2,27 +2,45 @@ import { useTranslation } from "react-i18next"; import styles from "./TranslatorSelectorOpenButton.module.scss"; import { TranslatorSelector } from "./translator_selector/TranslatorSelector"; -import { useStore_TranslatorList, useStore_SelectedTranslatorId, useStore_IsOpenedTranslatorSelector } from "@store"; +import { useStore_IsOpenedTranslatorSelector } from "@store"; +import { useLanguageSettings } from "@logics_main/useLanguageSettings"; export const TranslatorSelectorOpenButton = () => { const { t } = useTranslation(); - const { currentSelectedTranslatorId } = useStore_SelectedTranslatorId(); - const { currentTranslatorList } = useStore_TranslatorList(); - const currentTranslator = currentTranslatorList.find( - translator_data => translator_data.translator_key === currentSelectedTranslatorId - ); + const { + currentSelectedPresetTabNumber, + currentTranslationEngines, + getTranslationEngines, + currentSelectedTranslationEngines, + } = useLanguageSettings(); + + // console.log(currentTranslationEngines, currentSelectedTranslationEngines); + const selected_translator_name = (currentTranslationEngines.state === "loading") + ? "Loading..." + : currentTranslationEngines.data.find( + translator_data => translator_data.translator_id === currentSelectedTranslationEngines[currentSelectedPresetTabNumber.data] + )?.translator_name; + const { currentIsOpenedTranslatorSelector, updateIsOpenedTranslatorSelector} = useStore_IsOpenedTranslatorSelector(); - const openTranslatorSelector = () => updateIsOpenedTranslatorSelector(!currentIsOpenedTranslatorSelector); + const openTranslatorSelector = () => { + getTranslationEngines(); + updateIsOpenedTranslatorSelector(!currentIsOpenedTranslatorSelector); + }; return (
{t("main_page.translator")}
-{currentTranslator?.translator_name}
+{t("main_page.translator")}:
+{selected_translator_name}