refactor(web): camera view + bugfixes

This commit is contained in:
Paul Armstrong
2021-02-04 15:19:47 -08:00
committed by Blake Blackshear
parent b422a83b57
commit 96f87caff0
15 changed files with 156 additions and 63 deletions

View File

@@ -80,3 +80,37 @@ export function DrawerProvider({ children }) {
export function useDrawer() {
return useContext(Drawer);
}
export function usePersistence(key, defaultValue = undefined) {
const [value, setInternalValue] = useState(defaultValue);
const [loaded, setLoaded] = useState(false);
const setValue = useCallback(
(value) => {
setInternalValue(value);
async function update() {
await setData(key, value);
}
update();
},
[key]
);
useEffect(() => {
setLoaded(false);
setInternalValue(defaultValue);
async function load() {
const value = await getData(key);
if (typeof value !== 'undefined') {
setValue(value);
}
setLoaded(true);
}
load();
}, [key]);
return [value, setValue, loaded];
}