Skip to content

Commit f0b3429

Browse files
committed
New changes to laura
2 parents f12418a + f44a81b commit f0b3429

File tree

7 files changed

+55
-22
lines changed

7 files changed

+55
-22
lines changed

app/src/components/bottom/StylesEditor.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import Fab from '@mui/material/Fab';
1212
import { RootState } from '../../redux/store';
1313
import SaveIcon from '@mui/icons-material/Save';
1414
import { updateStylesheet } from '../../redux/reducers/slice/appStateSlice';
15+
import { emitEvent } from '../../helperFunctions/socket';
1516

1617
const StylesEditor: React.FC<{
1718
theme: string | null;
@@ -21,6 +22,8 @@ const StylesEditor: React.FC<{
2122
const stylesheet = useSelector(
2223
(state: RootState) => state.appState.stylesheet
2324
);
25+
const roomCode = useSelector((store: RootState) => store.roomSlice.roomCode);
26+
2427
//sets state for what text is currently in the csseditor
2528
const [css, setCss] = useState(stylesheet);
2629

@@ -30,6 +33,10 @@ const StylesEditor: React.FC<{
3033
const saveCss = (e) => {
3134
e.preventDefault();
3235
dispatch(updateStylesheet(css));
36+
if (roomCode) {
37+
emitEvent('updateCSSAction', roomCode, css);
38+
console.log('emit updateCSSAction event is triggered in StylesEditor.tsx');
39+
}
3340
};
3441

3542
//handles changes in the ace editor

app/src/components/left/DragDropPanel.tsx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import HTMLItem from './HTMLItem';
44
import React from 'react';
55
import { RootState } from '../../redux/store';
66
import { deleteElement } from '../../redux/reducers/slice/appStateSlice';
7+
import { emitEvent } from '../../helperFunctions/socket';
78

89
/*
910
DESCRIPTION: This is the top half of the left panel, starting from the 'HTML
@@ -23,10 +24,18 @@ const DragDropPanel = (props): JSX.Element => {
2324

2425
const state = useSelector((store: RootState) => store.appState);
2526
const contextParam = useSelector((store: RootState) => store.contextSlice);
27+
const roomCode = useSelector((store: RootState) => store.roomSlice.roomCode);
2628

2729
const handleDelete = (id: number): void => {
2830
dispatch(deleteElement({ id: id, contextParam: contextParam }));
31+
if (roomCode) {
32+
emitEvent('deleteElementAction', roomCode, {
33+
id,
34+
contextParam
35+
});
36+
}
2937
};
38+
3039
// filter out separator so that it will not appear on the html panel
3140
const htmlTypesToRender = state.HTMLTypes.filter(
3241
(type) => type.name !== 'separator'

app/src/components/left/ElementsContainer.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,23 @@ import DragDropPanel from './DragDropPanel';
77

88
import { deleteChild } from '../../redux/reducers/slice/appStateSlice';
99
import { RootState } from '../../redux/store';
10+
import { emitEvent } from '../../helperFunctions/socket';
1011

1112
// Left-hand portion of the app, where predefined component options are displayed
1213
const ElementsContainer = (props): JSX.Element => {
1314
const contextParam = useSelector((store: RootState) => store.contextSlice);
15+
const roomCode = useSelector((store: RootState) => store.roomSlice.roomCode);
1416

1517
const dispatch = useDispatch();
1618

1719
const handleDelete = () => {
1820
dispatch(deleteChild({ id: {}, contextParam: contextParam }));
21+
// if (roomCode) {
22+
// emitEvent('deleteChildAction', roomCode, {
23+
// id,
24+
// contextParam
25+
// });
26+
// }
1927
};
2028

2129
const keyBindedFunc = useCallback((e) => {

app/src/components/left/RoomsContainer.tsx

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ import {
2727
deleteState,
2828
addPassedInProps,
2929
deletePassedInProps,
30-
deleteElement
30+
deleteElement,
31+
updateStylesheet
3132
} from '../../redux/reducers/slice/appStateSlice';
3233
import {
3334
addContext,
@@ -126,24 +127,27 @@ const RoomsContainer = () => {
126127
});
127128

128129
socket.on('child data from server', (childData: object) => {
129-
console.log(`child data received by socket ${socket.id}`, childData);
130-
console.log(socket);
130+
// console.log('child data received by users', childData);
131131
store.dispatch(addChild(childData));
132132
});
133133

134134
socket.on('focus data from server', (focusData: object) => {
135-
console.log('focus data received from server', focusData);
135+
// console.log('focus data received from server', focusData);
136136
store.dispatch(changeFocus(focusData));
137137
});
138138

139139
socket.on('delete data from server', (deleteData: object) => {
140-
console.log('delete data received from server', deleteData);
140+
// console.log('delete data received from server', deleteData);
141141
store.dispatch(deleteChild(deleteData));
142142
});
143143

144-
//write out emitters for reach function inside of CusomizationPanel HandleSave//no need to pull the function into RoomsContainer
144+
socket.on('delete element data from server', (deleteElementData: object) => {
145+
// console.log('delete element data received from server', deleteElementData);
146+
store.dispatch(deleteElement(deleteElementData));
147+
});
148+
145149
socket.on('update data from server', (updateData: BottomPanelObj) => {
146-
console.log('update data received from server', updateData);
150+
// console.log('update data received from server', updateData);
147151
store.dispatch(
148152
updateStateUsed({
149153
stateUsedObj: updateData.stateUsedObj,
@@ -176,6 +180,11 @@ const RoomsContainer = () => {
176180
);
177181
});
178182

183+
socket.on('update css data from server', (cssData: object) => {
184+
// console.log('CSS data received from server', cssData);
185+
store.dispatch(updateStylesheet(cssData));
186+
});
187+
179188
socket.on(
180189
'item position data from server',
181190
(itemPositionData: object) => {

app/src/components/main/Canvas.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ import { RootState } from '../../redux/store';
1515
import { combineStyles } from '../../helperFunctions/combineStyles';
1616
import renderChildren from '../../helperFunctions/renderChildren';
1717
import { emitEvent, getSocket } from '../../helperFunctions/socket';
18-
import { GiBoba } from 'react-icons/gi';
18+
import { FaMousePointer } from 'react-icons/fa';
19+
import { Console } from 'console';
1920

2021
function Canvas(props: {}): JSX.Element {
2122
const state = useSelector((store: RootState) => store.appState);
@@ -191,7 +192,7 @@ function Canvas(props: {}): JSX.Element {
191192
childId: childId
192193
});
193194
}
194-
console.log('emit changeFocusAction event is triggered in canvas');
195+
// console.log('emit changeFocusAction event is triggered in canvas');
195196
};
196197

197198
// onClickHandler is responsible for changing the focused component and child component
@@ -359,7 +360,7 @@ function Canvas(props: {}): JSX.Element {
359360
color: userColors[userList.indexOf(cursor.remoteUserName)]
360361
}}
361362
>
362-
{<GiBoba />}
363+
{<FaMousePointer />}
363364
{cursor.remoteUserName}
364365
</div>
365366
)

app/src/containers/CustomizationPanel.tsx

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -585,16 +585,7 @@ const CustomizationPanel = ({ isThemeLight }): JSX.Element => {
585585
? ' component'
586586
: ' element'}{' '}
587587
<br />
588-
<br />
589-
<span
590-
className={
591-
isThemeLight
592-
? `${classes.compName} ${classes.lightThemeFontColor}`
593-
: `${classes.compName} ${classes.darkThemeFontColor}`
594-
}
595-
>
596588
{configTarget.child.name}
597-
</span>
598589
</h4>
599590
</div>
600591
<section className={'customization-section'}>
@@ -891,7 +882,7 @@ const CustomizationPanel = ({ isThemeLight }): JSX.Element => {
891882
SAVE
892883
</Button>
893884
</div>
894-
<div className={classes.buttonRow}>
885+
{/* <div className={classes.buttonRow}>
895886
<Button
896887
variant="contained"
897888
color="primary"
@@ -926,7 +917,7 @@ const CustomizationPanel = ({ isThemeLight }): JSX.Element => {
926917
>
927918
Tailwind
928919
</Button>
929-
</div>
920+
</div> */}
930921
{configTarget.child ? (
931922
<div className={classes.buttonRow}>
932923
<Button

server/server.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,9 +198,17 @@ io.on('connection', (client) => {
198198
client.to(roomCode).emit('delete data from server', deleteData);
199199
});
200200

201+
client.on('deleteElementAction', (roomCode: string, deleteElementData: object) => {
202+
client.to(roomCode).emit('delete element data from server', deleteElementData);
203+
});
204+
201205
client.on('updateChildAction', (roomCode: string, updateData: object) => {
202206
client.to(roomCode).emit('update data from server', updateData);
203-
console.log('client received update from server!');
207+
});
208+
209+
client.on('updateCSSAction', (roomCode: string, cssData: object) => {
210+
client.to(roomCode).emit('update css data from server', cssData);
211+
console.log('client received css update from server!')
204212
});
205213

206214
client.on(

0 commit comments

Comments
 (0)