Skip to content

Commit c9f5866

Browse files
authored
Merge pull request #9 from oslabs-beta/Rick/backend
Rick/backend
2 parents 1a86086 + 069c0c1 commit c9f5866

File tree

16 files changed

+75
-193
lines changed

16 files changed

+75
-193
lines changed

app/src/Dashboard/ProjectContainer.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import { theme1, theme2 } from '../public/styles/theme';
1313

1414

1515
declare module '@mui/styles/defaultTheme' {
16-
// eslint-disable-next-line @typescript-eslint/no-empty-interface
1716
interface DefaultTheme extends Theme {}
1817
}
1918

app/src/components/App.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import {
55
setInitialState,
66
toggleLoggedIn
77
} from '../redux/reducers/slice/appStateSlice';
8-
//redux toolkit addition
98
import { useDispatch, useSelector } from 'react-redux';
109

1110
import AppContainer from '../containers/AppContainer';
@@ -20,16 +19,16 @@ import { saveProject } from '../helperFunctions/projectGetSaveDel';
2019
export const App = (): JSX.Element => {
2120
const state = useSelector((store: RootState) => store.appState);
2221

23-
const [toggleAttempt, setToggleAttempt] = useState(false);
2422
const dispatch = useDispatch();
2523
// checks if user is signed in as guest or actual user and changes loggedIn boolean accordingly
2624
useEffect(() => {
2725
if (window.localStorage.getItem('ssid') !== 'guest') {
2826
dispatch(toggleLoggedIn(true));
2927
}
30-
//setToggleAttempt(!toggleAttempt);
3128
}, []);
3229

30+
// FOR LOCAL FORAGE: still trying to get this to work
31+
3332
// following useEffect runs on first mount
3433
// useEffect(() => {
3534
// // console.log('cookies.get in App', Cookies.get())
@@ -95,7 +94,7 @@ export const App = (): JSX.Element => {
9594
// }, 15000);
9695
// }
9796
// }, [state]);
98-
// uncomment below to log state
97+
9998

10099
return (
101100
<div className="app">

app/src/components/ContextAPIManager/AssignTab/components/ContextDropDown.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ import React, { Fragment, useState, useEffect } from 'react';
22
import TextField from '@mui/material/TextField';
33
import Autocomplete, { createFilterOptions } from '@mui/material/Autocomplete';
44
import Box from '@mui/material/Box';
5-
import { useSelector } from 'react-redux';
6-
import { RootState } from '../../../../redux/store';
5+
76

87
const filter = createFilterOptions();
98

app/src/components/left/RoomsContainer.tsx

Lines changed: 23 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ 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';
9-
import { changeRoom } from '../../redux/reducers/slice/roomCodeSlice';
9+
import { setRoomCode, setUserName, setUserJoined, setUserList } from '../../redux/reducers/slice/roomSlice';
1010
import { codePreviewCooperative } from '../../redux/reducers/slice/codePreviewSlice';
1111
import config from '../../../../config';
1212
import { cooperativeStyle } from '../../redux/reducers/slice/styleSlice';
@@ -21,21 +21,18 @@ import debounce from '../../../../node_modules/lodash/debounce.js';
2121
let socket;
2222
const { API_BASE_URL } = config;
2323
const RoomsContainer = () => {
24-
const [roomCode, setRoomCode] = useState('');
25-
const [userName, setUserName] = useState('');
26-
const [userList, setUserList] = useState(new Map());
27-
// const [confirmRoom, setConfirmRoom] = useState('');
28-
const [userJoined, setUserJoined] = useState(false); //setting up state for joinning a room
29-
const [emptyInput, setEmptyInput] = useState(false);
30-
24+
3125
const dispatch = useDispatch();
32-
const { state, joinedRoom } = useSelector((store: RootState) => ({
26+
const { state, roomCode, userName, userList, userJoined } = useSelector((store: RootState) => ({
3327
state: store.appState,
34-
joinedRoom: store.roomCodeSlice.roomCode
28+
roomCode: store.roomSlice.roomCode,
29+
userName: store.roomSlice.userName,
30+
userList: store.roomSlice.userList,
31+
userJoined: store.roomSlice.userJoined,
3532
}));
3633
React.useEffect(() => {
37-
console.log('You Joined Room: ', joinedRoom);
38-
}, [joinedRoom]);
34+
console.log('You Joined Room---front end:', roomCode);
35+
}, [roomCode]);
3936

4037
function initSocketConnection(roomCode) {
4138
if (socket) {
@@ -88,23 +85,20 @@ const RoomsContainer = () => {
8885
}
8986

9087
let previousState = store.getState();
91-
// console.log('Store States: ', store.getState);
9288
// sending info to backend whenever the redux store changes
93-
//working!
9489
const handleStoreChange = debounce(() => {
9590
const newState = store.getState();
96-
const roomCode = newState.roomCodeSlice.roomCode;
91+
const roomCode = newState.roomSlice.roomCode;
9792

98-
if (roomCode !== '') {
99-
//why emitting room code every 100 milisecond
100-
// Emit the current room code
101-
socket.emit('room-code', roomCode);
102-
}
93+
//why emitting room code every 100 milisecond?
94+
// if (roomCode !== '') {
95+
// // Emit the current room code
96+
// socket.emit('room-code', roomCode);
97+
// }
10398
if (newState !== previousState) {
10499
// Send the current state to the server
105100
socket.emit(
106101
'custom-event',
107-
'sent from front-end',
108102
JSON.stringify(newState),
109103
roomCode
110104
);
@@ -121,17 +115,15 @@ const RoomsContainer = () => {
121115
function joinRoom() {
122116
// Call handleUserEnteredRoom when joining a room
123117
handleUserEnteredRoom(roomCode);
124-
dispatch(changeRoom(roomCode));
125-
// setConfirmRoom((confirmRoom) => roomCode);
126-
setUserJoined(true); //setting joined room to true for rendering leave room button
118+
dispatch(setRoomCode(roomCode));
119+
dispatch(setUserJoined(true)); //setting joined room to true for rendering leave room button
127120
}
128121

129122
function leaveRoom() {
130123
if (socket) socket.disconnect(); //disconnecting socket
131-
dispatch(changeRoom(''));
132-
setRoomCode('');
133-
setUserName('');
134-
setUserJoined(false); //setting joined to false so join button appear
124+
dispatch(setRoomCode(''));
125+
dispatch(setUserName(''));
126+
dispatch(setUserJoined(false)); //setting joined to false so join button appear
135127
}
136128

137129
//checking if both text field have any input (not including spaces)
@@ -159,7 +151,7 @@ const RoomsContainer = () => {
159151
{' '}
160152
{/* live room display */}
161153
<Typography variant="h6" color={'white'}>
162-
Live Room: {joinedRoom}
154+
Live Room: {roomCode}
163155
</Typography>
164156
{/* Set up condition rendering depends on if user joined a room then render leave button if not render join button */}
165157
{userJoined ? (
@@ -187,7 +179,7 @@ const RoomsContainer = () => {
187179
size="small"
188180
value={userName}
189181
placeholder="Input nickname"
190-
onChange={(e) => setUserName(e.target.value)}
182+
onChange={(e) => dispatch(setUserName(e.target.value))}
191183
/>
192184
<TextField
193185
hiddenLabel={true}
@@ -196,7 +188,7 @@ const RoomsContainer = () => {
196188
size="small"
197189
value={roomCode}
198190
placeholder="Input Room Number"
199-
onChange={(e) => setRoomCode(e.target.value)}
191+
onChange={(e) => dispatch(setRoomCode(e.target.value))}
200192
/>
201193

202194
<Button

app/src/components/main/Canvas.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import {
55
addChild,
66
changeFocus,
77
snapShotAction
8-
// toggleCodePreview
98
} from '../../redux/reducers/slice/appStateSlice';
109
import { useDispatch, useSelector } from 'react-redux';
1110

app/src/components/right/ContextMenu.tsx

Lines changed: 0 additions & 14 deletions
This file was deleted.

app/src/components/right/DeleteProjects.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ function ProjectsDialog(props: ProjectDialogProps) {
4747
deleteProject(selectedProject);
4848
// localforage.removeItem(window.localStorage.getItem('ssid'));
4949
dispatch(setInitialState(initialState))
50-
// handleAlertOpen()
5150
deleteAlert()
5251
onClose()
5352
};

app/src/components/top/NavBarButtons.tsx

Lines changed: 0 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import React, { Ref, useEffect, useRef } from 'react';
22
import { useDispatch, useSelector } from 'react-redux';
3-
43
import { Button } from '@mui/material';
54
import DeleteProjects from '../right/DeleteProjects';
65
import ExportButton from '../right/ExportButton';
@@ -14,17 +13,9 @@ import MenuItem from '@mui/material/MenuItem';
1413
import ProjectsFolder from '../right/OpenProjects';
1514
import { RootState } from '../../redux/store';
1615
import SaveProjectButton from '../right/SaveProjectButton';
17-
import { allCooperativeState } from '../../redux/reducers/slice/appStateSlice';
18-
import { changeRoom } from '../../redux/reducers/slice/roomCodeSlice';
19-
import { codePreviewCooperative } from '../../redux/reducers/slice/codePreviewSlice';
2016
import config from '../../../../config';
21-
import { cooperativeStyle } from '../../redux/reducers/slice/styleSlice';
2217
import createModal from '../right/createModal';
2318
import createStyles from '@mui/styles/createStyles';
24-
// for websockets
25-
import debounce from 'lodash/debounce';
26-
// websocket front end starts here
27-
import { io } from 'socket.io-client';
2819
import makeStyles from '@mui/styles/makeStyles';
2920
import { resetAllState } from '../../redux/reducers/slice/appStateSlice';
3021
import { setStyle } from '../../redux/reducers/slice/styleSlice';
@@ -33,90 +24,6 @@ import withStyles from '@mui/styles/withStyles';
3324

3425
const { API_BASE_URL } = config;
3526

36-
// Part - join room and room code functionality
37-
// let socket;
38-
39-
// function initSocketConnection(roomCode) {
40-
// if (socket) {
41-
// socket.disconnect();
42-
// }
43-
44-
// socket = io(API_BASE_URL, {
45-
// transports: ['websocket']
46-
// });
47-
48-
// socket.on('connect', () => {
49-
// console.log(`You connected with id: ${socket.id}`);
50-
// socket.emit('join-room', roomCode); // Join the room when connected
51-
// });
52-
53-
// // Receiving the room state from the backend
54-
// socket.on('room-state-update', (stateFromServer) => {
55-
// const newState = JSON.parse(stateFromServer);
56-
// // Dispatch actions to update your Redux store with the received state
57-
// store.dispatch(allCooperativeState(newState.appState));
58-
// store.dispatch(codePreviewCooperative(newState.codePreviewCooperative));
59-
// store.dispatch(cooperativeStyle(newState.styleSlice));
60-
// });
61-
62-
// // receiving the message from the back end
63-
// socket.on('receive message', (event) => {
64-
// // console.log('message from server: ', event);
65-
// let currentStore: any = JSON.stringify(store.getState());
66-
// if (currentStore !== event) {
67-
// currentStore = JSON.parse(currentStore);
68-
// event = JSON.parse(event);
69-
// if (currentStore.darkMode.isDarkMode !== event.darkMode.isDarkMode) {
70-
// store.dispatch(toggleDarkMode());
71-
// } else if (currentStore.appState !== event.appState) {
72-
// store.dispatch(allCooperativeState(event.appState));
73-
// } else if (
74-
// currentStore.codePreviewSlice !== event.codePreviewCooperative
75-
// ) {
76-
// store.dispatch(codePreviewCooperative(event.codePreviewCooperative));
77-
// } else if (currentStore.styleSlice !== event.styleSlice) {
78-
// store.dispatch(cooperativeStyle(event.styleSlice));
79-
// }
80-
// }
81-
// console.log('updated user Store from another user: ', store.getState());
82-
// });
83-
// }
84-
85-
// function handleUserEnteredRoom(roomCode) {
86-
// initSocketConnection(roomCode);
87-
// }
88-
89-
// console.log(store.getState());
90-
// let previousState = store.getState();
91-
92-
// // sending info to backend whenever the redux store changes
93-
// const handleStoreChange = debounce(() => {
94-
// const newState = store.getState();
95-
// const roomCode = newState.roomCodeSlice.roomCode;
96-
97-
// if (roomCode !== '') {
98-
// // Emit the current room code
99-
// socket.emit('room-code', roomCode);
100-
// }
101-
102-
// if (newState !== previousState) {
103-
// // Send the current state to the server
104-
// socket.emit(
105-
// 'custom-event',
106-
// 'sent from front-end',
107-
// JSON.stringify(newState),
108-
// roomCode
109-
// );
110-
// previousState = newState;
111-
// }
112-
// }, 100);
113-
114-
// store.subscribe(() => {
115-
// if (socket) {
116-
// handleStoreChange();
117-
// }
118-
// });
119-
12027
const useStyles = makeStyles((theme) =>
12128
createStyles({
12229
root: {
@@ -184,13 +91,10 @@ function navbarDropDown(props) {
18491

18592
const [modal, setModal] = React.useState(null);
18693
const [anchorEl, setAnchorEl] = React.useState(null);
187-
// const [roomCode, setRoomCode] = React.useState('');
188-
// const [confirmRoom, setConfirmRoom] = React.useState('');
18994
const classes = useStyles();
19095

19196
const { state } = useSelector((store: RootState) => ({
19297
state: store.appState,
193-
// joinedRoom: store.roomCodeSlice.roomCode
19498
}));
19599
const closeModal = () => setModal('');
196100
const handleClick = (event) => {
@@ -243,18 +147,6 @@ function navbarDropDown(props) {
243147
props.setDropMenu(false);
244148
};
245149

246-
// React.useEffect(() => {
247-
// console.log('joinedRoom: ', joinedRoom);
248-
// }, [joinedRoom]);
249-
250-
// function joinRoom() {
251-
// dispatch(changeRoom(roomCode));
252-
// setConfirmRoom((confirmRoom) => roomCode);
253-
254-
// // Call handleUserEnteredRoom when joining a room
255-
// handleUserEnteredRoom(roomCode);
256-
// }
257-
258150
let showMenu = props.dropMenu ? 'navDropDown' : 'hideNavDropDown';
259151

260152
//for closing the menu on clicks outside of it.

app/src/containers/AppContainer.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import {
55
ThemeProvider
66
} from '@mui/material/styles';
77
import { theme1, theme2 } from '../public/styles/theme';
8-
// Imports for redux toolkit usage
98
import { useDispatch, useSelector } from 'react-redux';
109

1110
import LeftContainer from './LeftContainer';
@@ -18,7 +17,6 @@ import { RootState } from '../redux/store';
1817
import { setStyle } from '../redux/reducers/slice/styleSlice';
1918
import { useHistory } from 'react-router-dom';
2019
declare module '@mui/styles/defaultTheme' {
21-
// eslint-disable-next-line @typescript-eslint/no-empty-interface
2220
interface DefaultTheme extends Theme {}
2321
}
2422

app/src/containers/LeftContainer.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import React, { useState, useEffect } from 'react';
2-
32
import ContentArea from '../components/left/ContentArea';
43
import Sidebar from '../components/left/Sidebar';
54

app/src/helperFunctions/cssRefresh.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
const cssRefresher = () => {
44
const oldStylesheet = document.getElementById('stylesheet');
55
if (oldStylesheet !== null) oldStylesheet.remove();
6-
// const rando = Math.random() * 100000;
76
const newStylesheet = document.createElement('LINK');
87
newStylesheet.setAttribute('rel', 'stylesheet');
98
newStylesheet.setAttribute('type', 'text/css');

0 commit comments

Comments
 (0)