Webatrice: KnownHosts component (#4456)

* refactor dexie services for future schema updates

Co-authored-by: Jeremy Letto <jeremy.letto@datasite.com>
This commit is contained in:
Jeremy Letto 2021-11-25 21:12:23 -06:00 committed by GitHub
parent 37879c4255
commit 6ce346af4a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
54 changed files with 1381 additions and 1291 deletions

View file

@ -0,0 +1,40 @@
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(onChange: OnChange) {
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();
onChange();
}
}, [setting, autoConnect]);
return [autoConnect, setAutoConnect];
}