From 7dbf324e311ac9e00fcd76088548738a80b672a9 Mon Sep 17 00:00:00 2001
From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com>
Date: Mon, 23 Sep 2024 09:26:58 +0900
Subject: [PATCH] [Update] Main Page. Add Language swap button functionally.
---
.../language_swap_button/LanguageSwapButton.jsx | 3 +++
src-ui/logics/main/useLanguageSettings.js | 8 ++++++++
src-ui/logics/useReceiveRoutes.js | 5 +++++
3 files changed, 16 insertions(+)
diff --git a/src-ui/app/main_page/sidebar_section/language_settings/language_swap_button/LanguageSwapButton.jsx b/src-ui/app/main_page/sidebar_section/language_settings/language_swap_button/LanguageSwapButton.jsx
index 8174cea4..3a4d374d 100644
--- a/src-ui/app/main_page/sidebar_section/language_settings/language_swap_button/LanguageSwapButton.jsx
+++ b/src-ui/app/main_page/sidebar_section/language_settings/language_swap_button/LanguageSwapButton.jsx
@@ -5,10 +5,12 @@ import { useTranslation } from "react-i18next";
import styles from "./LanguageSwapButton.module.scss";
import NarrowArrowDownSvg from "@images/narrow_arrow_down.svg?react";
+import { useLanguageSettings } from "@logics_main/useLanguageSettings";
export const LanguageSwapButton = () => {
const [isHovered, setIsHovered] = useState(false);
const { t } = useTranslation();
+ const { runLanguageSwap } = useLanguageSettings();
const label = isHovered
? t("main_page.swap_button_label")
@@ -27,6 +29,7 @@ export const LanguageSwapButton = () => {
className={styles.swap_button_wrapper}
onMouseEnter={handleMouseEnter}
onMouseLeave={handleMouseLeave}
+ onClick={runLanguageSwap}
>
{label}
diff --git a/src-ui/logics/main/useLanguageSettings.js b/src-ui/logics/main/useLanguageSettings.js index 64d3213c..193ff972 100644 --- a/src-ui/logics/main/useLanguageSettings.js +++ b/src-ui/logics/main/useLanguageSettings.js @@ -104,6 +104,12 @@ export const useLanguageSettings = () => { asyncStdoutToPython("/set/selected_translator_engines", send_obj); }; + const runLanguageSwap = () => { + pendingSelectedYourLanguages(); + pendingSelectedTargetLanguages(); + asyncStdoutToPython("/run/swap_your_language_and_target_language"); + }; + return { currentSelectedPresetTabNumber, @@ -134,5 +140,7 @@ export const useLanguageSettings = () => { getSelectedTranslationEngines, updateSelectedTranslationEngines, setSelectedTranslationEngines, + + runLanguageSwap, }; }; \ No newline at end of file diff --git a/src-ui/logics/useReceiveRoutes.js b/src-ui/logics/useReceiveRoutes.js index 2b8c7eeb..5bf83b57 100644 --- a/src-ui/logics/useReceiveRoutes.js +++ b/src-ui/logics/useReceiveRoutes.js @@ -97,6 +97,11 @@ export const useReceiveRoutes = () => { "/get/selected_translator_engines": updateSelectedTranslationEngines, "/set/selected_translator_engines": updateSelectedTranslationEngines, + "/run/swap_your_language_and_target_language": (payload) => { + updateSelectedYourLanguages(payload.your); + updateSelectedTargetLanguages(payload.target); + }, + // Language Selector "/get/list_languages": updateSelectableLanguageList,