update for event emitter
This commit is contained in:
parent
51d541b5e7
commit
419ae7600a
@ -29,35 +29,32 @@ const MancalaApp: FunctionComponent = () => {
|
|||||||
setConnetionState("connected");
|
setConnetionState("connected");
|
||||||
};
|
};
|
||||||
const onConnectionLost = () => {
|
const onConnectionLost = () => {
|
||||||
connectToServer("reconnecting");
|
setConnetionState("reconnecting");
|
||||||
|
connectToServer();
|
||||||
};
|
};
|
||||||
const onConnectionError = (event: Event) => {
|
const onConnectionError = (event: Event) => {
|
||||||
setConnetionState("error");
|
setConnetionState("error");
|
||||||
|
connectToServer();
|
||||||
};
|
};
|
||||||
const connectToServer = async (connectionState: ConnectionState) => {
|
const onThemeChange = (theme: Theme) => {
|
||||||
setConnetionState(connectionState);
|
setTheme(theme)
|
||||||
|
}
|
||||||
|
const connectToServer = async () => {
|
||||||
const userKey = await context.userKeyStore.getUserKey();
|
const userKey = await context.userKeyStore.getUserKey();
|
||||||
setUserKey(userKey);
|
setUserKey(userKey);
|
||||||
const rtmtws = context.rtmt as RTMTWS;
|
(context.rtmt as RTMTWS).initWebSocket(userKey);
|
||||||
if (rtmtws) {
|
|
||||||
rtmtws.initWebSocket(
|
|
||||||
userKey,
|
|
||||||
onConnectionDone,
|
|
||||||
onConnectionLost,
|
|
||||||
onConnectionError
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
console.error("context.rtmt is not RTMTWS");
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
React.useEffect(() => {
|
React.useEffect(() => {
|
||||||
connectToServer("connecting");
|
context.rtmt.on("open", onConnectionDone);
|
||||||
context.themeManager.onThemeChange = (theme: Theme) => {
|
context.rtmt.on("close", onConnectionLost);
|
||||||
setTheme(theme);
|
context.rtmt.on("error", onConnectionError);
|
||||||
}
|
context.themeManager.on("themechange", onThemeChange);
|
||||||
|
setConnetionState("connecting");
|
||||||
|
connectToServer();
|
||||||
return () => {
|
return () => {
|
||||||
// todo: dispose rtmt.dispose
|
context.rtmt.dispose();
|
||||||
//context.rtmt.dispose();
|
context.themeManager.on("themechange", onThemeChange);
|
||||||
};
|
};
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
@ -77,7 +74,7 @@ const MancalaApp: FunctionComponent = () => {
|
|||||||
context.themeManager.theme.textColor,
|
context.themeManager.theme.textColor,
|
||||||
context.themeManager.theme.textLightColor
|
context.themeManager.theme.textLightColor
|
||||||
);
|
);
|
||||||
if(!userKey) return <></>;
|
if (!userKey) return <></>;
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<BrowserRouter>
|
<BrowserRouter>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user