-
-
- {/*
*/}
+
);
-};
-
-
-// import { useTranslation } from "react-i18next";
-// import { useIsOpenedConfigPage } from "@store";
-// import { useWindow } from "@logics/useWindow";
-
-// export const MainPageCover = () => {
-// const { t } = useTranslation();
-// const { currentIsOpenedConfigPage } = useIsOpenedConfigPage();
-// const { closeConfigPage } = useWindow();
-// if ( currentIsOpenedConfigPage === false) return null;
-
-// const closeSettingsWindow = () => closeConfigPage();
-
-// return (
-//
-//
{t("main_page.cover_message")}
-//
-//
-// );
-// };
\ No newline at end of file
+};
\ No newline at end of file
diff --git a/src-ui/app/main_page/MainPage.module.scss b/src-ui/app/main_page/MainPage.module.scss
index 20dbe41c..5ebadd16 100644
--- a/src-ui/app/main_page/MainPage.module.scss
+++ b/src-ui/app/main_page/MainPage.module.scss
@@ -1,3 +1,22 @@
+.page {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
+ overflow: hidden;
+ transition: transform 0.5s ease;
+}
+
+.show_config.main_page {
+ transform: translateY(-100%);
+}
+
+.show_main.main_page {
+ transform: translateY(0);
+}
+
+
.container {
width: 100%;
height: 100%;
diff --git a/src-ui/logics/useReceiveRoutes.js b/src-ui/logics/useReceiveRoutes.js
index d3fee4b6..068838b4 100644
--- a/src-ui/logics/useReceiveRoutes.js
+++ b/src-ui/logics/useReceiveRoutes.js
@@ -1,6 +1,7 @@
import { useMainFunction } from "./useMainFunction";
import { useConfig } from "./useConfig";
import { useMessage } from "./useMessage";
+import { useVolume } from "./useVolume";
export const useReceiveRoutes = () => {
const {
@@ -25,9 +26,10 @@ export const useReceiveRoutes = () => {
updateSpeakerDeviceList,
updateSelectedSpeakerDevice,
-
} = useConfig();
+ const { updateVolumeVariable_Mic } = useVolume();
+
const routes = {
"/controller/callback_enable_translation": updateTranslationStatus,
"/controller/callback_disable_translation": updateTranslationStatus,
@@ -51,6 +53,8 @@ export const useReceiveRoutes = () => {
"/config/choice_speaker_device": updateSelectedSpeakerDevice,
"/controller/callback_set_speaker_device": updateSelectedSpeakerDevice,
+ "/action/check_mic_threshold_energy": updateVolumeVariable_Mic,
+
"/controller/callback_messagebox_send": updateSentMessageLog,
"/action/transcription_send_mic_message": addSentMessageLog,
diff --git a/src-ui/logics/useStdoutToPython.js b/src-ui/logics/useStdoutToPython.js
index 03dc39a7..3c852726 100644
--- a/src-ui/logics/useStdoutToPython.js
+++ b/src-ui/logics/useStdoutToPython.js
@@ -1,5 +1,5 @@
import { store } from "@store";
-import { encode } from 'js-base64'
+import { encode } from "js-base64";
export const useStdoutToPython = () => {
const asyncStdoutToPython = async (path, value) => {
diff --git a/src-ui/logics/useVolume.js b/src-ui/logics/useVolume.js
new file mode 100644
index 00000000..eb8d5846
--- /dev/null
+++ b/src-ui/logics/useVolume.js
@@ -0,0 +1,22 @@
+import {
+ useMicVolume,
+} from "@store";
+
+import { useStdoutToPython } from "./useStdoutToPython";
+
+
+export const useVolume = () => {
+ const { asyncStdoutToPython } = useStdoutToPython();
+ const { updateMicVolume } = useMicVolume();
+
+ // const asyncPending = () => new Promise(() => {});
+ return {
+ volumeCheckStart_Mic: () => asyncStdoutToPython("/controller/callback_enable_check_mic_threshold"),
+ volumeCheckStop_Mic: () => asyncStdoutToPython("/controller/callback_disable_check_mic_threshold"),
+ updateVolumeVariable_Mic: (payload) => {
+ updateMicVolume(payload.data);
+ }
+
+
+ };
+};
\ No newline at end of file
diff --git a/src-ui/store.js b/src-ui/store.js
index 553d2e75..0bafb5d0 100644
--- a/src-ui/store.js
+++ b/src-ui/store.js
@@ -124,6 +124,9 @@ export const { atomInstance: Atom_SelectedMicDevice, useHook: useSelectedMicDevi
export const { atomInstance: Atom_SpeakerDeviceList, useHook: useSpeakerDeviceList } = createAsyncAtomWithHook({}, "SpeakerDeviceList");
export const { atomInstance: Atom_SelectedSpeakerDevice, useHook: useSelectedSpeakerDevice } = createAsyncAtomWithHook("Nothing Selected", "SelectedSpeakerDevice");
+export const { atomInstance: Atom_MicVolume, useHook: useMicVolume } = createAsyncAtomWithHook(0, "MicVolume");
+export const { atomInstance: Atom_SpeakerVolume, useHook: useSpeakerVolume } = createAsyncAtomWithHook(0, "SpeakerVolume");
+
export const { atomInstance: Atom_SendMessageFormat, useHook: useSendMessageFormat } = createAtomWithHook({
before: "",
after: "",