Skip to content

Commit 1e957f4

Browse files
committed
merging
2 parents 254d062 + 8d96cbc commit 1e957f4

File tree

2 files changed

+63
-40
lines changed

2 files changed

+63
-40
lines changed

app/src/components/left/RoomsContainer.tsx

Lines changed: 62 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Stack, Typography } from '@mui/material';
22
import { useDispatch, useSelector } from 'react-redux';
33

44
import Button from '@mui/material/Button';
5-
import React from 'react';
5+
import React, { useState } from 'react';
66
import { RootState } from '../../redux/store';
77
import TextField from '@mui/material/TextField';
88
import { allCooperativeState } from '../../redux/reducers/slice/appStateSlice';
@@ -21,8 +21,10 @@ import debounce from '../../../../node_modules/lodash/debounce.js';
2121
let socket;
2222
const { API_BASE_URL } = config;
2323
const RoomsContainer = () => {
24-
const [roomCode, setRoomCode] = React.useState('');
25-
const [confirmRoom, setConfirmRoom] = React.useState('');
24+
const [roomCode, setRoomCode] = useState('');
25+
const [confirmRoom, setConfirmRoom] = useState('');
26+
const [userJoined, setUserJoined] = useState(false); //setting up state for joinning a room
27+
const [emptyInput, setEmptyInput] = useState(false);
2628
const dispatch = useDispatch();
2729
const { state, joinedRoom } = useSelector((store: RootState) => ({
2830
state: store.appState,
@@ -116,10 +118,19 @@ const RoomsContainer = () => {
116118
setConfirmRoom((confirmRoom) => roomCode);
117119
// Call handleUserEnteredRoom when joining a room
118120
handleUserEnteredRoom(roomCode);
121+
setUserJoined(true); //setting joined room to true for rendering leave room button
119122
}
123+
124+
function leaveRoom() {
125+
if (socket) socket.disconnect(); //disconnecting socket
126+
dispatch(changeRoom(''));
127+
setRoomCode('');
128+
setUserJoined(false); //setting joined to false so join button appear
129+
}
130+
120131
return (
121132
<div>
122-
<Stack
133+
<Stack //stack styling for container
123134
spacing={2}
124135
sx={{
125136
paddingTop: '20px',
@@ -129,44 +140,57 @@ const RoomsContainer = () => {
129140
}}
130141
>
131142
{' '}
143+
{/* live room display */}
132144
<Typography variant="h6" color={'white'}>
133145
Live Room: {joinedRoom}
134146
</Typography>
135-
<TextField
136-
hiddenLabel
137-
id="filled-hidden-label-small"
138-
variant="filled"
139-
size="small"
140-
onChange={(e) => setRoomCode(e.target.value)}
141-
/>
142-
{/* <input
143-
type="text"
144-
style={{
145-
margin: '3px 5%',
146-
borderRadius: '5px',
147-
padding: '3px',
148-
width: '90%'
149-
}}
150-
placeholder="Room Code"
151-
onChange={(e) => setRoomCode(e.target.value)}
152-
></input> */}
153-
<Button
154-
variant="contained"
155-
onClick={() => joinRoom()}
156-
sx={{
157-
backgroundColor: '#ffffff',
158-
color: '#000000',
159-
'&:hover': {
160-
backgroundColor: '#C6C6C6',
161-
borderColor: '#0062cc',
162-
boxShadow: 'none'
163-
}
164-
}}
165-
>
166-
Join Room
167-
</Button>
147+
{/* Set up condition rendering depends on if user joined a room then render leave button if not render join button */}
148+
{userJoined ? (
149+
<Button
150+
variant="contained"
151+
onClick={() => leaveRoom()}
152+
sx={{
153+
backgroundColor: '#ffffff',
154+
color: '#000000',
155+
'&:hover': {
156+
backgroundColor: '#C6C6C6',
157+
borderColor: '#0062cc'
158+
}
159+
}}
160+
>
161+
{' '}
162+
Leave Room{' '}
163+
</Button>
164+
) : (
165+
<>
166+
<TextField
167+
hiddenLabel={true}
168+
id="filled-hidden-label-small"
169+
variant="filled"
170+
size="small"
171+
value={roomCode}
172+
placeholder="Input Room Number"
173+
onChange={(e) => setRoomCode(e.target.value)}
174+
/>
175+
<Button
176+
variant="contained"
177+
disabled={roomCode.trim() === ''}
178+
onClick={() => joinRoom()}
179+
sx={{
180+
backgroundColor: '#ffffff',
181+
color: '#000000',
182+
'&:hover': {
183+
backgroundColor: '#C6C6C6',
184+
borderColor: '#0062cc'
185+
}
186+
}}
187+
>
188+
{' '}
189+
Join Room{' '}
190+
</Button>
191+
</>
192+
)}
168193
</Stack>
169-
{/* <button onClick={() => joinRoom()}>Join Room</button> */}
170194
</div>
171195
);
172196
};

server/server.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -183,8 +183,7 @@ app.post(
183183
cookieController.setSSIDCookie,
184184
sessionController.startSession,
185185
(req, res) => res.status(200).json({ sessionId: res.locals.ssid })
186-
);
187-
186+
);
188187
//confirming whether user is logged in for index.tsx rendering
189188
app.get('/loggedIn', sessionController.isLoggedIn, (req, res) =>
190189
res.status(200).json(res.locals.loggedIn)

0 commit comments

Comments
 (0)