From 30bfc6e7631afb9d5c251e815446d72f268d894d Mon Sep 17 00:00:00 2001 From: qvalentin Date: Fri, 7 Apr 2023 16:21:15 +0200 Subject: [PATCH] Join room via sidebar --- frontend/src/App.tsx | 16 +++++++++++++++- frontend/src/background/constants.ts | 4 +--- frontend/src/components/meeting/Meeting.tsx | 7 ++++--- frontend/src/components/sidebar/Sidebar.tsx | 21 ++++++++++++++------- frontend/src/hooks/useRoomName.ts | 12 +++++++++++- 5 files changed, 45 insertions(+), 15 deletions(-) diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index f21b806..5901c6c 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -1,28 +1,42 @@ +import { useState } from "react"; import "./App.css"; import Meeting from "./components/meeting/Meeting"; import Sidebar from "./components/sidebar/Sidebar"; import useBackendData from "./hooks/useBackendData"; import useConferenceData from "./hooks/useConferenceData"; import useLocalUser from "./hooks/useLocalUser"; +import { useRoomName } from "./hooks/useRoomName"; function App() { const { userInfo, setUserInfo } = useLocalUser(); + const { roomName, updateRoomName, updateAndSubmitRoomName, submitRoomName } = useRoomName(); const { roomData, sendMessage } = useBackendData(userInfo); const { conferenceData, setConferenceData } = useConferenceData( sendMessage, setUserInfo ); + const [meetingStarted, setMeetingStarted] = useState(false); console.log(roomData); if (roomData && userInfo) { return (
- + { + updateAndSubmitRoomName(roomName) + setMeetingStarted(true) + }} + />
); diff --git a/frontend/src/background/constants.ts b/frontend/src/background/constants.ts index 01ea4ca..e0f8da1 100644 --- a/frontend/src/background/constants.ts +++ b/frontend/src/background/constants.ts @@ -1,7 +1,5 @@ const ISPROD = window.location.protocol == "https:"; -const JITSI_DOMAIN = ISPROD - ? "thisisnotajitsi.filefighter.de" - : "localhost:8443"; +const JITSI_DOMAIN = "thisisnotajitsi.filefighter.de"; const WEBSOCKET_URL = "ws" + (ISPROD ? "s" : "") + diff --git a/frontend/src/components/meeting/Meeting.tsx b/frontend/src/components/meeting/Meeting.tsx index e6cb556..f767894 100644 --- a/frontend/src/components/meeting/Meeting.tsx +++ b/frontend/src/components/meeting/Meeting.tsx @@ -9,11 +9,12 @@ interface Props { conferenceData: ConferenceData | undefined; setConferenceData: (newData: ConferenceData) => void; userInfo: UserInfo; + //@ts-ignore + roomName, updateRoomName, submitRoomName + meetingStarted: Boolean, setMeetingStarted: Function } -function Meeting({ conferenceData, setConferenceData, userInfo }: Props) { - const { roomName, updateRoomName, submitRoomName } = useRoomName(); - const [meetingStarted, setMeetingStarted] = useState(false); +function Meeting({ conferenceData, setConferenceData, userInfo, roomName, updateRoomName, submitRoomName, meetingStarted, setMeetingStarted }: Props) { const startMeeting = useCallback(() => { submitRoomName(); diff --git a/frontend/src/components/sidebar/Sidebar.tsx b/frontend/src/components/sidebar/Sidebar.tsx index 7e2479d..17d5414 100644 --- a/frontend/src/components/sidebar/Sidebar.tsx +++ b/frontend/src/components/sidebar/Sidebar.tsx @@ -5,6 +5,7 @@ import { UsersData } from "../../background/types/roomData"; interface Props { usersData: UsersData; + updateAndSubmitRoomName: Function } function Sidebar(props: Props) { @@ -14,17 +15,17 @@ function Sidebar(props: Props) { return (
-
-

No room

- {props.usersData.usersWithOutRoom.map((username) => ( -
{username}
- ))} -
{props.usersData.roomsData.map((roomData) => { return ( <> -

{roomData.roomName}

+

+ { + props.updateAndSubmitRoomName(roomData.roomName) + }}> + {roomData.roomName} + +

{roomData.participants.map((participant) => (
{participant.displayName}
))} @@ -32,6 +33,12 @@ function Sidebar(props: Props) { ); })}
+
+

No room

+ {props.usersData.usersWithOutRoom.map((username) => ( +
{username}
+ ))} +
diff --git a/frontend/src/hooks/useRoomName.ts b/frontend/src/hooks/useRoomName.ts index 2e352d9..1639237 100644 --- a/frontend/src/hooks/useRoomName.ts +++ b/frontend/src/hooks/useRoomName.ts @@ -11,12 +11,22 @@ function useRoomName() { [setRoomName] ); + const updateAndSubmitRoomName = useCallback( + (newName: string) => { + setRoomName(newName); + setRoomNameInUrl(newName); + setRoomNameInTitle(newName); + console.log("[Rooms] update and submit room name", newName); + }, + [setRoomName] + ) + const submitRoomName = useCallback(() => { setRoomNameInUrl(roomName); setRoomNameInTitle(roomName); }, [roomName]); - return { roomName, updateRoomName, submitRoomName }; + return { roomName, updateRoomName, updateAndSubmitRoomName, submitRoomName }; } function getRoomNameFromUrl(): string {