mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-04-27 07:48:01 -07:00
38 lines
862 B
TypeScript
38 lines
862 B
TypeScript
import { useEffect, useState } from 'react';
|
|
import { debounce, DebouncedFunc } from 'lodash';
|
|
|
|
import { SettingDTO } from 'services';
|
|
import { APP_USER } from 'types';
|
|
|
|
type OnChange = () => void;
|
|
|
|
export function useAutoConnect() {
|
|
const [setting, setSetting] = useState(undefined);
|
|
const [autoConnect, setAutoConnect] = useState(undefined);
|
|
|
|
useEffect(() => {
|
|
SettingDTO.get(APP_USER).then((setting: SettingDTO) => {
|
|
if (!setting) {
|
|
setting = new SettingDTO(APP_USER);
|
|
setting.save();
|
|
}
|
|
|
|
setSetting(setting);
|
|
});
|
|
}, []);
|
|
|
|
useEffect(() => {
|
|
if (setting) {
|
|
setAutoConnect(setting.autoConnect);
|
|
}
|
|
}, [setting]);
|
|
|
|
useEffect(() => {
|
|
if (setting) {
|
|
setting.autoConnect = autoConnect;
|
|
setting.save();
|
|
}
|
|
}, [setting, autoConnect]);
|
|
|
|
return [autoConnect, setAutoConnect];
|
|
}
|