74 lines
2.8 KiB
TypeScript
Raw Normal View History

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;
};