[Refactor] Change aliases and move test_data.js.
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
export const generateTestData = (num) => {
|
export const generateTestConversationData = (num) => {
|
||||||
const testDataArray = [];
|
const testDataArray = [];
|
||||||
const messagesJa = [
|
const messagesJa = [
|
||||||
"今日はとてもいい天気ですね。",
|
"今日はとてもいい天気ですね。",
|
||||||
@@ -1,11 +1,16 @@
|
|||||||
import { invoke } from "@tauri-apps/api/core";
|
import { invoke } from "@tauri-apps/api/core";
|
||||||
|
import { Command } from "@tauri-apps/plugin-shell";
|
||||||
import { useEffect, useRef } from "react";
|
import { useEffect, useRef } from "react";
|
||||||
import { useStartPython } from "@logics/useStartPython";
|
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
|
||||||
|
|
||||||
import { useStore_SelectableFontFamilyList } from "@store";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
import { useReceiveRoutes } from "@useReceiveRoutes";
|
||||||
|
import { store, useStore_SelectableFontFamilyList } from "@store";
|
||||||
import { arrayToObject } from "@utils";
|
import { arrayToObject } from "@utils";
|
||||||
|
|
||||||
|
import {
|
||||||
|
useNotificationStatus,
|
||||||
|
} from "@logics_common";
|
||||||
|
|
||||||
export const StartPythonController = () => {
|
export const StartPythonController = () => {
|
||||||
const { asyncStartPython } = useStartPython();
|
const { asyncStartPython } = useStartPython();
|
||||||
const hasRunRef = useRef(false);
|
const hasRunRef = useRef(false);
|
||||||
@@ -26,6 +31,34 @@ export const StartPythonController = () => {
|
|||||||
return null;
|
return null;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const useStartPython = () => {
|
||||||
|
const { receiveRoutes } = useReceiveRoutes();
|
||||||
|
const { showNotification_Success, showNotification_Error } = useNotificationStatus();
|
||||||
|
|
||||||
|
const asyncStartPython = async () => {
|
||||||
|
const command = Command.sidecar("bin/VRCT-sidecar");
|
||||||
|
command.on("error", error => console.error(`error: "${error}"`));
|
||||||
|
command.stdout.on("data", (line) => {
|
||||||
|
let parsed_data = "";
|
||||||
|
try {
|
||||||
|
parsed_data = JSON.parse(line);
|
||||||
|
receiveRoutes(parsed_data);
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error, line);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
command.stderr.on("data", line => {
|
||||||
|
showNotification_Error(
|
||||||
|
`An error occurred. Please restart VRCT or contact the developers. The last line:${JSON.stringify(line)}`, { hide_duration: null });
|
||||||
|
console.error("stderr", line);
|
||||||
|
});
|
||||||
|
const backend_subprocess = await command.spawn();
|
||||||
|
store.backend_subprocess = backend_subprocess;
|
||||||
|
};
|
||||||
|
|
||||||
|
return { asyncStartPython };
|
||||||
|
};
|
||||||
|
|
||||||
const useAsyncFetchFonts = () => {
|
const useAsyncFetchFonts = () => {
|
||||||
const { updateSelectableFontFamilyList } = useStore_SelectableFontFamilyList();
|
const { updateSelectableFontFamilyList } = useStore_SelectableFontFamilyList();
|
||||||
const asyncFetchFonts = async () => {
|
const asyncFetchFonts = async () => {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import {
|
|||||||
useStore_MessageInputValue,
|
useStore_MessageInputValue,
|
||||||
} from "@store";
|
} from "@store";
|
||||||
|
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useMessage = () => {
|
export const useMessage = () => {
|
||||||
const { currentMessageLogs, addMessageLogs, updateMessageLogs } = useStore_MessageLogs();
|
const { currentMessageLogs, addMessageLogs, updateMessageLogs } = useStore_MessageLogs();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useOpenFolder = () => {
|
export const useOpenFolder = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import semver from "semver";
|
import semver from "semver";
|
||||||
|
|
||||||
import { useStore_SoftwareVersion, useStore_LatestSoftwareVersionInfo } from "@store";
|
import { useStore_SoftwareVersion, useStore_LatestSoftwareVersionInfo } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useSoftwareVersion = () => {
|
export const useSoftwareVersion = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useUpdateSoftware = () => {
|
export const useUpdateSoftware = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import {
|
|||||||
useStore_SpeakerThresholdCheckStatus,
|
useStore_SpeakerThresholdCheckStatus,
|
||||||
} from "@store";
|
} from "@store";
|
||||||
|
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useVolume = () => {
|
export const useVolume = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { useEffect, useRef } from "react";
|
import { useEffect, useRef } from "react";
|
||||||
import { currentMonitor, availableMonitors, PhysicalPosition, PhysicalSize } from "@tauri-apps/api/window";
|
import { currentMonitor, availableMonitors, PhysicalPosition, PhysicalSize } from "@tauri-apps/api/window";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
import { useStore_IsBreakPoint } from "@store";
|
import { useStore_IsBreakPoint } from "@store";
|
||||||
import { useUiScaling } from "@logics_configs";
|
import { useUiScaling } from "@logics_configs";
|
||||||
import { store } from "@store";
|
import { store } from "@store";
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_OscIpAddress } from "@store";
|
import { useStore_OscIpAddress } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useOscIpAddress = () => {
|
export const useOscIpAddress = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_OscPort } from "@store";
|
import { useStore_OscPort } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
import { useNotificationStatus } from "@logics_common";
|
import { useNotificationStatus } from "@logics_common";
|
||||||
|
|
||||||
export const useOscPort = () => {
|
export const useOscPort = () => {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import {
|
|||||||
useStore_WebsocketHost,
|
useStore_WebsocketHost,
|
||||||
useStore_WebsocketPort,
|
useStore_WebsocketPort,
|
||||||
} from "@store";
|
} from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useWebsocket = () => {
|
export const useWebsocket = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_MessageLogUiScaling } from "@store";
|
import { useStore_MessageLogUiScaling } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useMessageLogUiScaling = () => {
|
export const useMessageLogUiScaling = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// import { useStore_RestoreWindowGeometry } from "@store";
|
// import { useStore_RestoreWindowGeometry } from "@store";
|
||||||
// import { useStdoutToPython } from "@logics/useStdoutToPython";
|
// import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
// export const useRestoreWindowGeometry = () => {
|
// export const useRestoreWindowGeometry = () => {
|
||||||
// const { asyncStdoutToPython } = useStdoutToPython();
|
// const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_SelectedFontFamily } from "@store";
|
import { useStore_SelectedFontFamily } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useSelectedFontFamily = () => {
|
export const useSelectedFontFamily = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_SendMessageButtonType } from "@store";
|
import { useStore_SendMessageButtonType } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useSendMessageButtonType = () => {
|
export const useSendMessageButtonType = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_Transparency } from "@store";
|
import { useStore_Transparency } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useTransparency = () => {
|
export const useTransparency = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_UiLanguage } from "@store";
|
import { useStore_UiLanguage } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useUiLanguage = () => {
|
export const useUiLanguage = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_UiScaling } from "@store";
|
import { useStore_UiScaling } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useUiScaling = () => {
|
export const useUiScaling = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_EnableAutoMicSelect } from "@store";
|
import { useStore_EnableAutoMicSelect } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useEnableAutoMicSelect = () => {
|
export const useEnableAutoMicSelect = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_EnableAutoSpeakerSelect } from "@store";
|
import { useStore_EnableAutoSpeakerSelect } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useEnableAutoSpeakerSelect = () => {
|
export const useEnableAutoSpeakerSelect = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_MicDeviceList } from "@store";
|
import { useStore_MicDeviceList } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useMicDeviceList = () => {
|
export const useMicDeviceList = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_MicHostList } from "@store";
|
import { useStore_MicHostList } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useMicHostList = () => {
|
export const useMicHostList = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_MicThreshold, useStore_EnableAutomaticMicThreshold } from "@store";
|
import { useStore_MicThreshold, useStore_EnableAutomaticMicThreshold } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useMicThreshold = () => {
|
export const useMicThreshold = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_SelectedMicDevice } from "@store";
|
import { useStore_SelectedMicDevice } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useSelectedMicDevice = () => {
|
export const useSelectedMicDevice = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_SelectedMicHost } from "@store";
|
import { useStore_SelectedMicHost } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useSelectedMicHost = () => {
|
export const useSelectedMicHost = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_SelectedSpeakerDevice } from "@store";
|
import { useStore_SelectedSpeakerDevice } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useSelectedSpeakerDevice = () => {
|
export const useSelectedSpeakerDevice = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_SpeakerDeviceList } from "@store";
|
import { useStore_SpeakerDeviceList } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useSpeakerDeviceList = () => {
|
export const useSpeakerDeviceList = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_SpeakerThreshold, useStore_EnableAutomaticSpeakerThreshold } from "@store";
|
import { useStore_SpeakerThreshold, useStore_EnableAutomaticSpeakerThreshold } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useSpeakerThreshold = () => {
|
export const useSpeakerThreshold = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { store, useStore_Hotkeys } from "@store";
|
import { store, useStore_Hotkeys } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
import { useNotificationStatus } from "@logics_common";
|
import { useNotificationStatus } from "@logics_common";
|
||||||
import { useMainFunction } from "@logics_main";
|
import { useMainFunction } from "@logics_main";
|
||||||
import { register, unregisterAll, isRegistered } from "@tauri-apps/plugin-global-shortcut";
|
import { register, unregisterAll, isRegistered } from "@tauri-apps/plugin-global-shortcut";
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_EnableAutoClearMessageInputBox } from "@store";
|
import { useStore_EnableAutoClearMessageInputBox } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useEnableAutoClearMessageInputBox = () => {
|
export const useEnableAutoClearMessageInputBox = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_EnableAutoExportMessageLogs } from "@store";
|
import { useStore_EnableAutoExportMessageLogs } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useEnableAutoExportMessageLogs = () => {
|
export const useEnableAutoExportMessageLogs = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_EnableNotificationVrcSfx } from "@store";
|
import { useStore_EnableNotificationVrcSfx } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useEnableNotificationVrcSfx = () => {
|
export const useEnableNotificationVrcSfx = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_EnableSendMessageToVrc } from "@store";
|
import { useStore_EnableSendMessageToVrc } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useEnableSendMessageToVrc = () => {
|
export const useEnableSendMessageToVrc = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_EnableSendOnlyTranslatedMessages } from "@store";
|
import { useStore_EnableSendOnlyTranslatedMessages } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useEnableSendOnlyTranslatedMessages = () => {
|
export const useEnableSendOnlyTranslatedMessages = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_EnableSendReceivedMessageToVrc } from "@store";
|
import { useStore_EnableSendReceivedMessageToVrc } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useEnableSendReceivedMessageToVrc = () => {
|
export const useEnableSendReceivedMessageToVrc = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_EnableVrcMicMuteSync } from "@store";
|
import { useStore_EnableVrcMicMuteSync } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useEnableVrcMicMuteSync = () => {
|
export const useEnableVrcMicMuteSync = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_SendMessageButtonType } from "@store";
|
import { useStore_SendMessageButtonType } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useSendMessageButtonType = () => {
|
export const useSendMessageButtonType = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import {
|
|||||||
useStore_FetchedPluginsInfo,
|
useStore_FetchedPluginsInfo,
|
||||||
useStore_LoadedPlugins,
|
useStore_LoadedPlugins,
|
||||||
} from "@store";
|
} from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
import { transform } from "@babel/standalone";
|
import { transform } from "@babel/standalone";
|
||||||
import { writeFile, mkdir, exists, remove, readDir, BaseDirectory, readTextFile } from "@tauri-apps/plugin-fs";
|
import { writeFile, mkdir, exists, remove, readDir, BaseDirectory, readTextFile } from "@tauri-apps/plugin-fs";
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_MicMaxWords } from "@store";
|
import { useStore_MicMaxWords } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useMicMaxWords = () => {
|
export const useMicMaxWords = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_MicPhraseTimeout } from "@store";
|
import { useStore_MicPhraseTimeout } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useMicPhraseTimeout = () => {
|
export const useMicPhraseTimeout = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_MicRecordTimeout } from "@store";
|
import { useStore_MicRecordTimeout } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useMicRecordTimeout = () => {
|
export const useMicRecordTimeout = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_MicWordFilterList } from "@store";
|
import { useStore_MicWordFilterList } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useMicWordFilterList = () => {
|
export const useMicWordFilterList = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_SelectableWhisperComputeDeviceList } from "@store";
|
import { useStore_SelectableWhisperComputeDeviceList } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useSelectableWhisperComputeDeviceList = () => {
|
export const useSelectableWhisperComputeDeviceList = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_SelectedTranscriptionEngine } from "@store";
|
import { useStore_SelectedTranscriptionEngine } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useSelectedTranscriptionEngine = () => {
|
export const useSelectedTranscriptionEngine = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_SelectedWhisperComputeDevice } from "@store";
|
import { useStore_SelectedWhisperComputeDevice } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useSelectedWhisperComputeDevice = () => {
|
export const useSelectedWhisperComputeDevice = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_SelectedWhisperWeightType } from "@store";
|
import { useStore_SelectedWhisperWeightType } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useSelectedWhisperWeightType = () => {
|
export const useSelectedWhisperWeightType = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_SpeakerMaxWords } from "@store";
|
import { useStore_SpeakerMaxWords } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useSpeakerMaxWords = () => {
|
export const useSpeakerMaxWords = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_SpeakerPhraseTimeout } from "@store";
|
import { useStore_SpeakerPhraseTimeout } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useSpeakerPhraseTimeout = () => {
|
export const useSpeakerPhraseTimeout = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_SpeakerRecordTimeout } from "@store";
|
import { useStore_SpeakerRecordTimeout } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useSpeakerRecordTimeout = () => {
|
export const useSpeakerRecordTimeout = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_WhisperWeightTypeStatus } from "@store";
|
import { useStore_WhisperWeightTypeStatus } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useWhisperWeightTypeStatus = () => {
|
export const useWhisperWeightTypeStatus = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_CTranslate2WeightTypeStatus } from "@store";
|
import { useStore_CTranslate2WeightTypeStatus } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useCTranslate2WeightTypeStatus = () => {
|
export const useCTranslate2WeightTypeStatus = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_DeepLAuthKey } from "@store";
|
import { useStore_DeepLAuthKey } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import { useNotificationStatus } from "@logics_common";
|
import { useNotificationStatus } from "@logics_common";
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_SelectableCTranslate2ComputeDeviceList } from "@store";
|
import { useStore_SelectableCTranslate2ComputeDeviceList } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useSelectableCTranslate2ComputeDeviceList = () => {
|
export const useSelectableCTranslate2ComputeDeviceList = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_SelectedCTranslate2ComputeDevice } from "@store";
|
import { useStore_SelectedCTranslate2ComputeDevice } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useSelectedCTranslate2ComputeDevice = () => {
|
export const useSelectedCTranslate2ComputeDevice = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_SelectedCTranslate2WeightType } from "@store";
|
import { useStore_SelectedCTranslate2WeightType } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useSelectedCTranslate2WeightType = () => {
|
export const useSelectedCTranslate2WeightType = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_IsEnabledOverlayLargeLog } from "@store";
|
import { useStore_IsEnabledOverlayLargeLog } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useIsEnabledOverlayLargeLog = () => {
|
export const useIsEnabledOverlayLargeLog = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_IsEnabledOverlaySmallLog } from "@store";
|
import { useStore_IsEnabledOverlaySmallLog } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useIsEnabledOverlaySmallLog = () => {
|
export const useIsEnabledOverlaySmallLog = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_OverlayLargeLogSettings } from "@store";
|
import { useStore_OverlayLargeLogSettings } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useOverlayLargeLogSettings = () => {
|
export const useOverlayLargeLogSettings = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_OverlayShowOnlyTranslatedMessages } from "@store";
|
import { useStore_OverlayShowOnlyTranslatedMessages } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useOverlayShowOnlyTranslatedMessages = () => {
|
export const useOverlayShowOnlyTranslatedMessages = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_OverlaySmallLogSettings } from "@store";
|
import { useStore_OverlaySmallLogSettings } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useOverlaySmallLogSettings = () => {
|
export const useOverlaySmallLogSettings = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useSendTextToOverlay = () => {
|
export const useSendTextToOverlay = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_IsMainPageCompactMode } from "@store";
|
import { useStore_IsMainPageCompactMode } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useIsMainPageCompactMode = () => {
|
export const useIsMainPageCompactMode = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_SelectedPresetTabNumber, useStore_EnableMultiTranslation, useStore_SelectedYourLanguages, useStore_SelectedTargetLanguages, useStore_TranslationEngines, useStore_SelectedTranslationEngines } from "@store";
|
import { useStore_SelectedPresetTabNumber, useStore_EnableMultiTranslation, useStore_SelectedYourLanguages, useStore_SelectedTargetLanguages, useStore_TranslationEngines, useStore_SelectedTranslationEngines } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useLanguageSettings = () => {
|
export const useLanguageSettings = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import {
|
|||||||
useStore_TranscriptionReceiveStatus,
|
useStore_TranscriptionReceiveStatus,
|
||||||
useStore_ForegroundStatus,
|
useStore_ForegroundStatus,
|
||||||
} from "@store";
|
} from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useMainFunction = () => {
|
export const useMainFunction = () => {
|
||||||
const appWindow = store.appWindow;
|
const appWindow = store.appWindow;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { store } from "@store";
|
import { store } from "@store";
|
||||||
import { useStore_MessageInputBoxRatio } from "@store";
|
import { useStore_MessageInputBoxRatio } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
import { clampMinMax } from "@utils";
|
import { clampMinMax } from "@utils";
|
||||||
export const useMessageInputBoxRatio = () => {
|
export const useMessageInputBoxRatio = () => {
|
||||||
const appWindow = store.appWindow;
|
const appWindow = store.appWindow;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useStore_SelectableLanguageList } from "@store";
|
import { useStore_SelectableLanguageList } from "@store";
|
||||||
import { useStdoutToPython } from "@logics/useStdoutToPython";
|
import { useStdoutToPython } from "@useStdoutToPython";
|
||||||
|
|
||||||
export const useSelectableLanguageList = () => {
|
export const useSelectableLanguageList = () => {
|
||||||
const { asyncStdoutToPython } = useStdoutToPython();
|
const { asyncStdoutToPython } = useStdoutToPython();
|
||||||
|
|||||||
@@ -1,34 +0,0 @@
|
|||||||
import { Command } from "@tauri-apps/plugin-shell";
|
|
||||||
import { store } from "@store";
|
|
||||||
import { useReceiveRoutes } from "./useReceiveRoutes";
|
|
||||||
import {
|
|
||||||
useNotificationStatus,
|
|
||||||
} from "@logics_common";
|
|
||||||
|
|
||||||
export const useStartPython = () => {
|
|
||||||
const { receiveRoutes } = useReceiveRoutes();
|
|
||||||
const { showNotification_Success, showNotification_Error } = useNotificationStatus();
|
|
||||||
|
|
||||||
const asyncStartPython = async () => {
|
|
||||||
const command = Command.sidecar("bin/VRCT-sidecar");
|
|
||||||
command.on("error", error => console.error(`error: "${error}"`));
|
|
||||||
command.stdout.on("data", (line) => {
|
|
||||||
let parsed_data = "";
|
|
||||||
try {
|
|
||||||
parsed_data = JSON.parse(line);
|
|
||||||
receiveRoutes(parsed_data);
|
|
||||||
} catch (error) {
|
|
||||||
console.log(error, line);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
command.stderr.on("data", line => {
|
|
||||||
showNotification_Error(
|
|
||||||
`An error occurred. Please restart VRCT or contact the developers. The last line:${JSON.stringify(line)}`, { hide_duration: null });
|
|
||||||
console.error("stderr", line)
|
|
||||||
});
|
|
||||||
const backend_subprocess = await command.spawn();
|
|
||||||
store.backend_subprocess = backend_subprocess;
|
|
||||||
};
|
|
||||||
|
|
||||||
return { asyncStartPython };
|
|
||||||
};
|
|
||||||
@@ -5,8 +5,9 @@ import {
|
|||||||
} from "jotai";
|
} from "jotai";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
generateTestData,
|
generateTestConversationData,
|
||||||
} from "@test_data";
|
} from "./_test_data.js"
|
||||||
|
|
||||||
import {
|
import {
|
||||||
translator_status,
|
translator_status,
|
||||||
ctranslate2_weight_type_status,
|
ctranslate2_weight_type_status,
|
||||||
@@ -169,7 +170,7 @@ export const { atomInstance: Atom_SelectableLanguageList, useHook: useStore_Sele
|
|||||||
|
|
||||||
// Message Container
|
// Message Container
|
||||||
export const { atomInstance: Atom_MessageLogs, useHook: useStore_MessageLogs } = createAtomWithHook([], "MessageLogs");
|
export const { atomInstance: Atom_MessageLogs, useHook: useStore_MessageLogs } = createAtomWithHook([], "MessageLogs");
|
||||||
// export const { atomInstance: Atom_MessageLogs, useHook: useStore_MessageLogs } = createAtomWithHook(generateTestData(20), "MessageLogs"); // For testing
|
// export const { atomInstance: Atom_MessageLogs, useHook: useStore_MessageLogs } = createAtomWithHook(generateTestConversationData(20), "MessageLogs"); // For testing
|
||||||
export const { atomInstance: Atom_MessageInputBoxRatio, useHook: useStore_MessageInputBoxRatio } = createAtomWithHook(20, "MessageInputBoxRatio");
|
export const { atomInstance: Atom_MessageInputBoxRatio, useHook: useStore_MessageInputBoxRatio } = createAtomWithHook(20, "MessageInputBoxRatio");
|
||||||
export const { atomInstance: Atom_MessageInputValue, useHook: useStore_MessageInputValue } = createAtomWithHook("", "MessageInputValue");
|
export const { atomInstance: Atom_MessageInputValue, useHook: useStore_MessageInputValue } = createAtomWithHook("", "MessageInputValue");
|
||||||
export const { atomInstance: Atom_IsVisibleResendButton, useHook: useStore_IsVisibleResendButton } = createAtomWithHook(false, "IsVisibleResendButton", {is_state_ok: true});
|
export const { atomInstance: Atom_IsVisibleResendButton, useHook: useStore_IsVisibleResendButton } = createAtomWithHook(false, "IsVisibleResendButton", {is_state_ok: true});
|
||||||
|
|||||||
@@ -56,7 +56,9 @@ export default defineConfig(async () => {
|
|||||||
resolve: {
|
resolve: {
|
||||||
alias: {
|
alias: {
|
||||||
"@root": path.resolve(__dirname),
|
"@root": path.resolve(__dirname),
|
||||||
"@test_data": path.resolve(__dirname, "./test_data.js"),
|
|
||||||
|
"@useReceiveRoutes": path.resolve(__dirname, "src-ui/logics/useReceiveRoutes.js"),
|
||||||
|
"@useStdoutToPython": path.resolve(__dirname, "src-ui/logics/useStdoutToPython.js"),
|
||||||
|
|
||||||
"@ui_configs": path.resolve(__dirname, "src-ui/ui_configs.js"),
|
"@ui_configs": path.resolve(__dirname, "src-ui/ui_configs.js"),
|
||||||
"@scss_mixins": path.resolve(__dirname, "src-ui/common_css/mixins.scss"),
|
"@scss_mixins": path.resolve(__dirname, "src-ui/common_css/mixins.scss"),
|
||||||
|
|||||||
Reference in New Issue
Block a user