init backend

This commit is contained in:
qvalentin 2023-01-15 16:38:57 +01:00
parent 3690de9fe0
commit 54701c196a
Signed by: qvalentin
GPG key ID: C979FA1EAFCABF1C
38 changed files with 480 additions and 0 deletions

View file

@ -0,0 +1,45 @@
import { useCallback, useState } from "react";
function useRoomName() {
const [roomName, setRoomName] = useState(getRoomNameFromUrl());
const updateRoomName = useCallback(
(newName: string) => {
setRoomName(newName);
console.log("[Rooms] update room name", newName);
},
[setRoomName]
);
const submitRoomName = useCallback(
() => {
setRoomNameInUrl(roomName);
setRoomNameInTitle(roomName);
},
[roomName]
);
return { roomName, updateRoomName, submitRoomName };
}
function getRoomNameFromUrl(): string {
const pathName = location.pathname;
const roomName = pathName
.substring(pathName.lastIndexOf("/"), pathName.length)
.replace("/", "");
console.log("[Rooms] Got roomName from url", roomName);
setRoomNameInTitle(roomName);
return roomName;
}
function setRoomNameInUrl(roomName: string) {
history.pushState(history.state, "_", roomName);
}
function setRoomNameInTitle(roomName: string) {
if (!!roomName) {
document.title = roomName;
}
}
export { useRoomName };