Files
VRCT/src-ui/logics/main/useMainFunction.js

87 lines
2.6 KiB
JavaScript

import { getCurrent } from "@tauri-apps/api/window";
import {
useStore_TranslationStatus,
useStore_TranscriptionSendStatus,
useStore_TranscriptionReceiveStatus,
useStore_ForegroundStatus,
} from "@store";
import { useStdoutToPython } from "@logics/useStdoutToPython";
export const useMainFunction = () => {
const {
currentTranslationStatus,
updateTranslationStatus,
pendingTranslationStatus,
} = useStore_TranslationStatus();
const {
currentTranscriptionSendStatus,
updateTranscriptionSendStatus,
pendingTranscriptionSendStatus,
} = useStore_TranscriptionSendStatus();
const {
currentTranscriptionReceiveStatus,
updateTranscriptionReceiveStatus,
pendingTranscriptionReceiveStatus,
} = useStore_TranscriptionReceiveStatus();
const {
currentForegroundStatus,
updateForegroundStatus,
} = useStore_ForegroundStatus();
const { asyncStdoutToPython } = useStdoutToPython();
const toggleTranslation = () => {
pendingTranslationStatus();
if (currentTranslationStatus.data) {
asyncStdoutToPython("/set/disable_translation");
} else {
asyncStdoutToPython("/set/enable_translation");
}
};
const toggleTranscriptionSend = () => {
pendingTranscriptionSendStatus();
if (currentTranscriptionSendStatus.data) {
asyncStdoutToPython("/set/disable_transcription_send");
} else {
asyncStdoutToPython("/set/enable_transcription_send");
}
};
const toggleTranscriptionReceive = () => {
pendingTranscriptionReceiveStatus();
if (currentTranscriptionReceiveStatus.data) {
asyncStdoutToPython("/set/disable_transcription_receive");
} else {
asyncStdoutToPython("/set/enable_transcription_receive");
}
};
const toggleForeground = () => {
const main_page = getCurrent();
const is_foreground_enabled = !currentForegroundStatus.data;
main_page.setAlwaysOnTop(is_foreground_enabled);
updateForegroundStatus(is_foreground_enabled);
};
return {
currentTranslationStatus,
toggleTranslation,
updateTranslationStatus,
currentTranscriptionSendStatus,
toggleTranscriptionSend,
updateTranscriptionSendStatus,
currentTranscriptionReceiveStatus,
toggleTranscriptionReceive,
updateTranscriptionReceiveStatus,
currentForegroundStatus,
toggleForeground,
updateForegroundStatus,
};
};