[Refactor] Separate 'useReceiveRoutes' function that is control the received path from Python and send to the specific function, React.
This commit is contained in:
29
src-ui/logics/useReceiveRoutes.js
Normal file
29
src-ui/logics/useReceiveRoutes.js
Normal 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 };
|
||||||
|
};
|
||||||
@@ -1,34 +1,8 @@
|
|||||||
import { Command } from "@tauri-apps/api/shell";
|
import { Command } from "@tauri-apps/api/shell";
|
||||||
import { store } from "@store";
|
import { store } from "@store";
|
||||||
|
import { useReceiveRoutes } from "./useReceiveRoutes";
|
||||||
import { useMainFunction } from "./useMainFunction";
|
|
||||||
|
|
||||||
export const useStartPython = () => {
|
export const useStartPython = () => {
|
||||||
const {
|
const { receiveRoutes } = useReceiveRoutes();
|
||||||
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 asyncStartPython = async () => {
|
const asyncStartPython = async () => {
|
||||||
const command = Command.sidecar("bin/test");
|
const command = Command.sidecar("bin/test");
|
||||||
|
|||||||
Reference in New Issue
Block a user