mirror of
https://github.com/stoatchat/for-legacy-web.git
synced 2026-03-08 01:45:28 +00:00
Add client context.
This commit is contained in:
@@ -4,13 +4,6 @@ import { Provider } from "react-redux";
|
||||
import { Children } from "../types/Preact";
|
||||
import { useEffect, useState } from "preact/hooks";
|
||||
|
||||
async function loadState() {
|
||||
const state = await localForage.getItem("state");
|
||||
if (state) {
|
||||
store.dispatch({ type: "__INIT", state });
|
||||
}
|
||||
}
|
||||
|
||||
interface Props {
|
||||
children: Children;
|
||||
}
|
||||
@@ -19,10 +12,16 @@ export default function State(props: Props) {
|
||||
const [loaded, setLoaded] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
loadState().then(() => setLoaded(true));
|
||||
localForage.getItem("state")
|
||||
.then(state => {
|
||||
if (state !== null) {
|
||||
store.dispatch({ type: "__INIT", state });
|
||||
}
|
||||
|
||||
setLoaded(true);
|
||||
});
|
||||
}, []);
|
||||
|
||||
if (!loaded) return null;
|
||||
|
||||
return <Provider store={store}>{props.children}</Provider>;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user