[Refactor] Separate 'useReceiveRoutes' function that is control the received path from Python and send to the specific function, React.

This commit is contained in:
Sakamoto Shiina
2024-07-29 22:16:12 +09:00
parent 3f499b243b
commit 080939a853
2 changed files with 31 additions and 28 deletions

View File

@@ -0,0 +1,29 @@
import { useMainFunction } from "./useMainFunction";
export const useReceiveRoutes = () => {
const {
updateTranslationStatus,
updateTranscriptionSendStatus,
updateTranscriptionReceiveStatus,
} = useMainFunction();
const routes = {
"/controller/callback_toggle_translation": updateTranslationStatus,
"/controller/callback_toggle_transcription_send": updateTranscriptionSendStatus,
"/controller/callback_toggle_transcription_receive": updateTranscriptionReceiveStatus,
};
const receiveRoutes = (parsed_data) => {
if (parsed_data.status === "ok") {
const route = routes[parsed_data.id];
if (route) {
route({ data: parsed_data.data });
} else {
console.error(`Invalid path: ${parsed_data.id}`);
}
} else {
console.log("Received data status is not 'ok'.", parsed_data);
}
};
return { receiveRoutes };
};

View File

@@ -1,34 +1,8 @@
import { Command } from "@tauri-apps/api/shell";
import { store } from "@store";
import { useMainFunction } from "./useMainFunction";
import { useReceiveRoutes } from "./useReceiveRoutes";
export const useStartPython = () => {
const {
updateTranslationStatus,
updateTranscriptionSendStatus,
updateTranscriptionReceiveStatus,
} = useMainFunction();
const routes = {
"/controller/callback_toggle_translation": updateTranslationStatus,
"/controller/callback_toggle_transcription_send": updateTranscriptionSendStatus,
"/controller/callback_toggle_transcription_receive": updateTranscriptionReceiveStatus,
};
const receiveRoutes = (parsed_data) => {
if (parsed_data.status === "ok") {
const route = routes[parsed_data.id];
if (route) {
route({ data: parsed_data.data });
} else {
console.error(`Invalid path: ${parsed_data.id}`);
}
} else {
console.log("Received data status is not 'ok'.", parsed_data);
}
};
const { receiveRoutes } = useReceiveRoutes();
const asyncStartPython = async () => {
const command = Command.sidecar("bin/test");