11import React , { Ref , useEffect , useRef } from 'react' ;
22import { useDispatch , useSelector } from 'react-redux' ;
3-
43import { Button } from '@mui/material' ;
54import DeleteProjects from '../right/DeleteProjects' ;
65import ExportButton from '../right/ExportButton' ;
@@ -14,17 +13,9 @@ import MenuItem from '@mui/material/MenuItem';
1413import ProjectsFolder from '../right/OpenProjects' ;
1514import { RootState } from '../../redux/store' ;
1615import 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' ;
2016import config from '../../../../config' ;
21- import { cooperativeStyle } from '../../redux/reducers/slice/styleSlice' ;
2217import createModal from '../right/createModal' ;
2318import 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' ;
2819import makeStyles from '@mui/styles/makeStyles' ;
2920import { resetAllState } from '../../redux/reducers/slice/appStateSlice' ;
3021import { setStyle } from '../../redux/reducers/slice/styleSlice' ;
@@ -33,90 +24,6 @@ import withStyles from '@mui/styles/withStyles';
3324
3425const { 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-
12027const 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.
0 commit comments