|
@@ -47,8 +47,8 @@ import {
|
|
saveToFirebase,
|
|
saveToFirebase,
|
|
} from "../data/firebase";
|
|
} from "../data/firebase";
|
|
import {
|
|
import {
|
|
- importUsernameFromLocalStorage,
|
|
|
|
- saveUsernameToLocalStorage,
|
|
|
|
|
|
+ importUsernameAndIdFromLocalStorage,
|
|
|
|
+ saveUsernameAndIdToLocalStorage,
|
|
} from "../data/localStorage";
|
|
} from "../data/localStorage";
|
|
import Portal from "./Portal";
|
|
import Portal from "./Portal";
|
|
import RoomDialog from "./RoomDialog";
|
|
import RoomDialog from "./RoomDialog";
|
|
@@ -124,11 +124,14 @@ class Collab extends PureComponent<Props, CollabState> {
|
|
|
|
|
|
constructor(props: Props) {
|
|
constructor(props: Props) {
|
|
super(props);
|
|
super(props);
|
|
|
|
+
|
|
|
|
+ const { username, userId } = importUsernameAndIdFromLocalStorage() || {};
|
|
|
|
+
|
|
this.state = {
|
|
this.state = {
|
|
errorMessage: "",
|
|
errorMessage: "",
|
|
- username: importUsernameFromLocalStorage() || "",
|
|
|
|
|
|
+ username: username || "",
|
|
|
|
+ userId: userId || "",
|
|
activeRoomLink: "",
|
|
activeRoomLink: "",
|
|
- userId: nanoid(),
|
|
|
|
};
|
|
};
|
|
this.portal = new Portal(this);
|
|
this.portal = new Portal(this);
|
|
this.fileManager = new FileManager({
|
|
this.fileManager = new FileManager({
|
|
@@ -524,6 +527,11 @@ class Collab extends PureComponent<Props, CollabState> {
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (!this.state.userId) {
|
|
|
|
+ const userId = nanoid();
|
|
|
|
+ this.onUserIdChange(userId);
|
|
|
|
+ }
|
|
|
|
+
|
|
if (this.portal.socket) {
|
|
if (this.portal.socket) {
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
@@ -970,7 +978,12 @@ class Collab extends PureComponent<Props, CollabState> {
|
|
|
|
|
|
onUsernameChange = (username: string) => {
|
|
onUsernameChange = (username: string) => {
|
|
this.setUsername(username);
|
|
this.setUsername(username);
|
|
- saveUsernameToLocalStorage(username);
|
|
|
|
|
|
+ saveUsernameAndIdToLocalStorage(username, this.state.userId);
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ onUserIdChange = (userId: string) => {
|
|
|
|
+ this.setState({ userId });
|
|
|
|
+ saveUsernameAndIdToLocalStorage(this.state.username, userId);
|
|
};
|
|
};
|
|
|
|
|
|
render() {
|
|
render() {
|