2023-02-17 00:09:56 +09:00
|
|
|
|
2023-02-17 01:01:32 +09:00
|
|
|
import { useEffect, useState } from "react"
|
2023-02-17 00:09:56 +09:00
|
|
|
import { StateControlCheckbox, useStateControlCheckbox } from "../hooks/useStateControlCheckbox";
|
|
|
|
import { OpenAdvancedSettingCheckbox, OpenConverterSettingCheckbox, OpenDeviceSettingCheckbox, OpenModelSettingCheckbox, OpenQualityControlCheckbox, OpenServerControlCheckbox, OpenSpeakerSettingCheckbox } from "../const"
|
|
|
|
export type StateControls = {
|
|
|
|
openServerControlCheckbox: StateControlCheckbox
|
|
|
|
openModelSettingCheckbox: StateControlCheckbox
|
|
|
|
openDeviceSettingCheckbox: StateControlCheckbox
|
|
|
|
openQualityControlCheckbox: StateControlCheckbox
|
|
|
|
openSpeakerSettingCheckbox: StateControlCheckbox
|
|
|
|
openConverterSettingCheckbox: StateControlCheckbox
|
|
|
|
openAdvancedSettingCheckbox: StateControlCheckbox
|
2023-03-14 22:40:32 +09:00
|
|
|
|
|
|
|
showLicenseCheckbox: StateControlCheckbox
|
2023-02-17 00:09:56 +09:00
|
|
|
}
|
|
|
|
|
|
|
|
type FrontendManagerState = {
|
|
|
|
stateControls: StateControls
|
2023-02-17 03:03:21 +09:00
|
|
|
isConverting: boolean,
|
|
|
|
isAnalyzing: boolean
|
2023-02-17 00:09:56 +09:00
|
|
|
};
|
|
|
|
|
|
|
|
export type FrontendManagerStateAndMethod = FrontendManagerState & {
|
2023-02-17 03:03:21 +09:00
|
|
|
setIsConverting: (val: boolean) => void
|
|
|
|
setIsAnalyzing: (val: boolean) => void
|
2023-02-17 00:09:56 +09:00
|
|
|
}
|
|
|
|
|
|
|
|
export const useFrontendManager = (): FrontendManagerStateAndMethod => {
|
2023-02-17 03:03:21 +09:00
|
|
|
const [isConverting, setIsConverting] = useState<boolean>(false)
|
|
|
|
const [isAnalyzing, setIsAnalyzing] = useState<boolean>(false)
|
2023-02-17 00:09:56 +09:00
|
|
|
|
|
|
|
// (1) Controller Switch
|
|
|
|
const openServerControlCheckbox = useStateControlCheckbox(OpenServerControlCheckbox);
|
|
|
|
const openModelSettingCheckbox = useStateControlCheckbox(OpenModelSettingCheckbox);
|
|
|
|
const openDeviceSettingCheckbox = useStateControlCheckbox(OpenDeviceSettingCheckbox);
|
|
|
|
const openQualityControlCheckbox = useStateControlCheckbox(OpenQualityControlCheckbox);
|
|
|
|
const openSpeakerSettingCheckbox = useStateControlCheckbox(OpenSpeakerSettingCheckbox);
|
|
|
|
const openConverterSettingCheckbox = useStateControlCheckbox(OpenConverterSettingCheckbox);
|
|
|
|
const openAdvancedSettingCheckbox = useStateControlCheckbox(OpenAdvancedSettingCheckbox);
|
|
|
|
|
2023-03-14 22:40:32 +09:00
|
|
|
const showLicenseCheckbox = useStateControlCheckbox("leave-checkbox");
|
|
|
|
|
2023-02-17 01:01:32 +09:00
|
|
|
useEffect(() => {
|
|
|
|
openServerControlCheckbox.updateState(true)
|
|
|
|
openModelSettingCheckbox.updateState(true)
|
|
|
|
openDeviceSettingCheckbox.updateState(true)
|
|
|
|
openSpeakerSettingCheckbox.updateState(true)
|
|
|
|
openConverterSettingCheckbox.updateState(true)
|
|
|
|
|
2023-02-17 03:12:05 +09:00
|
|
|
// openQualityControlCheckbox.updateState(true)
|
2023-02-17 01:01:32 +09:00
|
|
|
|
|
|
|
}, [])
|
2023-02-17 00:09:56 +09:00
|
|
|
|
|
|
|
|
|
|
|
const returnValue = {
|
|
|
|
stateControls: {
|
|
|
|
openServerControlCheckbox,
|
|
|
|
openModelSettingCheckbox,
|
|
|
|
openDeviceSettingCheckbox,
|
|
|
|
openQualityControlCheckbox,
|
|
|
|
openSpeakerSettingCheckbox,
|
|
|
|
openConverterSettingCheckbox,
|
2023-03-14 22:40:32 +09:00
|
|
|
openAdvancedSettingCheckbox,
|
|
|
|
|
|
|
|
showLicenseCheckbox
|
2023-02-17 03:03:21 +09:00
|
|
|
},
|
|
|
|
isConverting,
|
|
|
|
setIsConverting,
|
|
|
|
isAnalyzing,
|
|
|
|
setIsAnalyzing
|
2023-02-17 00:09:56 +09:00
|
|
|
};
|
|
|
|
return returnValue;
|
|
|
|
};
|