From 9802ea80962af980233ce9ae9922306ca91761d0 Mon Sep 17 00:00:00 2001 From: Nicholas Pease Date: Sun, 10 Mar 2024 06:27:31 +0000 Subject: [PATCH] Final myRooms Fix --- frontend-next/src/app/app/page.js | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/frontend-next/src/app/app/page.js b/frontend-next/src/app/app/page.js index ad656e7..474e434 100644 --- a/frontend-next/src/app/app/page.js +++ b/frontend-next/src/app/app/page.js @@ -67,7 +67,7 @@ function Member({memberObj}) { function ChatRoomSidebar({roomObj, click}) { // TODO: Gross fix but it works function clicker() { - click(roomObj.name, roomObj) + click(roomObj.name+"-"+roomObj.timestamp, roomObj) } return (
@@ -201,6 +201,7 @@ function Home() { const [mainTab, setMainTab] = useState("home") // Primary tab const [tab, setTab] = useState("nearby") // Sidebar Tab const [chatRoomObj, setChatRoomObj] = useState(null) // Current chatroom object + const [myRoomsObj, setMyRoomsObj] = useState(null) // My Rooms Object const [myRooms, setRoomData] = useState(null) // Current user saved rooms list const [isRoomLoading, setRoomLoading] = useState(true) // myRooms loading variable, true = myRooms loading, false = finished loading const [isMyRoom, setIsMyRoom] = useState(false) // Is current room in myRooms? true, false @@ -219,6 +220,7 @@ function Home() { .then((user) => { get(ref(database, '/users/'+user.uid+'/rooms')).then((snapshot) => { var rooms = snapshot.val() + setMyRoomsObj(rooms) var roomArr = [] for (var room in rooms) { var newRoom = @@ -263,6 +265,19 @@ function Home() { }, []); + useEffect(() => { + if (myRoomsObj && chatRoomObj) { + var roomName = chatRoomObj.name+"-"+chatRoomObj.timestamp + if (myRooms != null && roomName in myRoomsObj) { + // its in there + setIsMyRoom(true) + } else { + // its not in there + setIsMyRoom(false) + } + } + }, [chatRoomObj]) + // CreateRoom Module for Sidebar Create Tab function CreateRoom({loc}) { var { register, control, reset, handleSubmit} = useForm() @@ -303,15 +318,6 @@ function Home() { // Path of chatroom var path = roomObj.path+"/"+roomObj.name+"-"+roomObj.timestamp - // Test if Room is in myRooms - if (myRooms != null && roomName in myRooms.keys) { - // its in there - setIsMyRoom(true) - } else { - // its not in there - setIsMyRoom(false) - } - setChatRoomObj(roomObj) // Send entered message