mirror of
https://github.com/excalidraw/excalidraw.git
synced 2025-05-03 10:00:07 -04:00
Store username for every room (#1381)
* store username for every room * add missing fun
This commit is contained in:
parent
5e2f164026
commit
7b3816d0d3
4 changed files with 56 additions and 7 deletions
|
@ -113,6 +113,10 @@ import { unstable_batchedUpdates } from "react-dom";
|
|||
import { SceneStateCallbackRemover } from "../scene/globalScene";
|
||||
import { isLinearElement } from "../element/typeChecks";
|
||||
import { actionFinalize } from "../actions";
|
||||
import {
|
||||
restoreUsernameFromLocalStorage,
|
||||
saveUsernameToLocalStorage,
|
||||
} from "../data/localStorage";
|
||||
|
||||
/**
|
||||
* @param func handler taking at most single parameter (event).
|
||||
|
@ -239,6 +243,14 @@ export class App extends React.Component<any, AppState> {
|
|||
elements={globalSceneState.getElements()}
|
||||
onRoomCreate={this.openPortal}
|
||||
onRoomDestroy={this.closePortal}
|
||||
onUsernameChange={(username) => {
|
||||
if (this.portal.socket && this.portal.roomID && username) {
|
||||
saveUsernameToLocalStorage(this.portal.roomID, username);
|
||||
}
|
||||
this.setState({
|
||||
username,
|
||||
});
|
||||
}}
|
||||
onLockToggle={this.toggleLock}
|
||||
/>
|
||||
<main>
|
||||
|
@ -909,8 +921,17 @@ export class App extends React.Component<any, AppState> {
|
|||
);
|
||||
|
||||
this.portal.socket!.on("init-room", () => {
|
||||
this.portal.socket &&
|
||||
if (this.portal.socket && this.portal.roomID) {
|
||||
const username = restoreUsernameFromLocalStorage(this.portal.roomID);
|
||||
|
||||
this.portal.socket.emit("join-room", this.portal.roomID);
|
||||
|
||||
if (username) {
|
||||
this.setState({
|
||||
username,
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
this.portal.socket!.on(
|
||||
"client-broadcast",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue