Skip to content

Commit

Permalink
Merge pull request #19 from adarshaacharya/develop👷
Browse files Browse the repository at this point in the history
refactor: constants value separated
  • Loading branch information
adarshaacharya authored Aug 7, 2021
2 parents 0fd59cf + 35230cd commit fcef9e1
Show file tree
Hide file tree
Showing 18 changed files with 18,706 additions and 362 deletions.
18,793 changes: 18,523 additions & 270 deletions client/package-lock.json

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions client/src/_context/code/code.state.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ const CodeState: React.FC = ({ children }) => {
payload: res.data,
});
} catch (error) {
console.log(error);
console.error(error);
}
};

Expand All @@ -65,7 +65,7 @@ const CodeState: React.FC = ({ children }) => {
payload: res.data,
});
} catch (error) {
console.log(error);
console.error(error);
}
};

Expand Down
12 changes: 6 additions & 6 deletions client/src/_context/room/room.state.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import RoomContext from './room.context';
import roomReducer, { initialState as initialValues } from './room.reducer';
import { IOutput, IRoom, State, IMessages } from './room.type';
import history from 'utils/history';
import { SOCKETS_EVENT_CREATE_ROOM, SOCKETS_EVENT_UPDATE_ROOM, SOCKETS_EVENT_USER_JOINED } from 'constants/sockets';

const RoomState: React.FC = ({ children }) => {
const initialState: State = {
Expand All @@ -33,9 +34,9 @@ const RoomState: React.FC = ({ children }) => {
username,
roomName,
};
socket.emit('create:room', body);
socket.emit(SOCKETS_EVENT_CREATE_ROOM, body);

socket.on('update:room', (room: IRoom) => {
socket.on(SOCKETS_EVENT_UPDATE_ROOM, (room: IRoom) => {
dispatch({
type: CREATE_ROOM,
payload: room,
Expand All @@ -44,7 +45,7 @@ const RoomState: React.FC = ({ children }) => {
});
setRoomUser(username); // set username in state
} catch (error) {
console.log(error);
console.error(error);
}
};

Expand All @@ -56,7 +57,7 @@ const RoomState: React.FC = ({ children }) => {
username,
roomID,
};
socket.emit('join:room', body, (error: any) => {
socket.emit(SOCKETS_EVENT_USER_JOINED, body, (error: any) => {
//callback fun
if (error) {
return message.error(error.msg);
Expand All @@ -65,7 +66,7 @@ const RoomState: React.FC = ({ children }) => {

setRoomUser(username); // set username in state

socket.on('update:room', (room: IRoom) => {
socket.on(SOCKETS_EVENT_UPDATE_ROOM, (room: IRoom) => {
dispatch({
type: JOIN_ROOM,
payload: room,
Expand All @@ -79,7 +80,6 @@ const RoomState: React.FC = ({ children }) => {

// update room code
const updateRoomCode = (code: string) => {
console.log('update room code');
dispatch({
type: UPDATE_ROOM_CODE,
payload: code,
Expand Down
4 changes: 2 additions & 2 deletions client/src/_context/snippet/snippet.state.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ const SnippetState: React.FC = ({ children }) => {
payload: res.data,
});
} catch (error) {
console.log(error);
console.error(error);
}
};

Expand All @@ -39,7 +39,7 @@ const SnippetState: React.FC = ({ children }) => {
// programmatic navigation from custom history obj
history.push('/snippets');
} catch (error) {
console.log(error);
console.error(error);
}
};

Expand Down
3 changes: 2 additions & 1 deletion client/src/components/Room/Chatbox/ChatInput.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { Input } from 'antd';
import socket from 'config/socket/socket';
import { SOCKETS_EVENTS_REALTIME_MESSAGE } from 'constants/sockets';
import { useSfx } from 'hooks';
import React from 'react';
import { useRoomContext } from '_context/room/room.context';
Expand Down Expand Up @@ -30,7 +31,7 @@ const ChatInput: React.FC = () => {
};

// send msg to server
socket.emit('realtime:message', body, () => setMessage(''));
socket.emit(SOCKETS_EVENTS_REALTIME_MESSAGE, body, () => setMessage(''));
playPop();
};

Expand Down
3 changes: 2 additions & 1 deletion client/src/components/Room/Chatbox/Chatbox.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { SendOutlined } from '@ant-design/icons';
import { Badge, Button } from 'antd';
import socket from 'config/socket/socket';
import { SOCKETS_EVENT_UPDATE_MESSAGE } from 'constants/sockets';
import React from 'react';
import { useRoomContext } from '_context/room/room.context';
import { IUser } from '_context/room/room.type';
Expand All @@ -18,7 +19,7 @@ const Chatbox = () => {

React.useEffect(() => {
// receive msg from server
socket.on('update:message', (message: IMessages) => {
socket.on(SOCKETS_EVENT_UPDATE_MESSAGE, (message: IMessages) => {
updateMessages(message);
});

Expand Down
3 changes: 2 additions & 1 deletion client/src/components/Room/LeaveRoom/LeaveRoom.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { PoweroffOutlined } from '@ant-design/icons';
import { Button, message, Popconfirm } from 'antd';
import socket from 'config/socket/socket';
import { SOCKETS_EVENT_USER_LEFT } from 'constants/sockets';
import React from 'react';
import { useRoomContext } from '_context/room/room.context';

Expand All @@ -12,7 +13,7 @@ const LeaveRoom = () => {
roomID: _id,
username: currentUser,
};
socket.emit('leave:room', body);
socket.emit(SOCKETS_EVENT_USER_LEFT, body);
leaveRoom();
};

Expand Down
14 changes: 10 additions & 4 deletions client/src/components/Room/RoomCodeExec/RoomCodeExec.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
import { CaretRightOutlined } from '@ant-design/icons';
import { Button } from 'antd';
import socket from 'config/socket/socket';
import {
SOCKETS_EVENTS_REALTIME_LOADING,
SOCKETS_EVENTS_REALTIME_RUN,
SOCKETS_EVENTS_UPDATE_LOADING,
SOCKETS_EVENTS_UPDATE_OUTPUT,
} from 'constants/sockets';
import React from 'react';
import { useRoomContext } from '_context/room/room.context';
import { IOutput } from '_context/room/room.type';
Expand All @@ -11,26 +17,26 @@ const RoomCodeExec = () => {
// initialize socket once using lifecycle method so that it will listen from next time
// here both output and loading of output is decided so both are initialized
React.useEffect(() => {
socket.on('update:output', (output: IOutput) => {
socket.on(SOCKETS_EVENTS_UPDATE_OUTPUT, (output: IOutput) => {
updateRoomOutput(output);
});

socket.on('update:loading', () => {
socket.on(SOCKETS_EVENTS_UPDATE_LOADING, () => {
setLoading(_id);
});
//eslint-disable-next-line
}, []);

const onCodeSubmit = (code: string, language: string, input: string) => {
socket.emit('realtime:loading', _id);
socket.emit(SOCKETS_EVENTS_REALTIME_LOADING, _id);

const payload = {
language,
sourceCode: code,
userInput: input,
roomID: _id,
};
socket.emit('realtime:run', payload);
socket.emit(SOCKETS_EVENTS_REALTIME_RUN, payload);
};

return (
Expand Down
5 changes: 3 additions & 2 deletions client/src/components/Room/RoomEditor/RoomEditor.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { ControlledEditor } from '@monaco-editor/react';
import { editorOptions } from 'config/editor/options';
import socket from 'config/socket/socket';
import { SOCKETS_EVENT_REALTIME_CODE, SOCKETS_EVENT_UPDATE_CODE } from 'constants/sockets';
import { Spinner } from 'layout';
import React from 'react';
import { useRoomContext } from '_context/room/room.context';
Expand All @@ -11,7 +12,7 @@ const RoomEditor: React.FC = () => {
const { theme } = useThemeContext();

React.useEffect(() => {
socket.on('update:code', (code: string) => {
socket.on(SOCKETS_EVENT_UPDATE_CODE, (code: string) => {
updateRoomCode(code);
});
return () => {
Expand All @@ -27,7 +28,7 @@ const RoomEditor: React.FC = () => {
value,
roomID: _id,
};
socket.emit('realtime:code', body);
socket.emit(SOCKETS_EVENT_REALTIME_CODE, body);
};

return (
Expand Down
6 changes: 4 additions & 2 deletions client/src/components/Room/RoomInput/RoomInput.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import { ExclamationCircleOutlined } from '@ant-design/icons';
import { Divider, Input, Tooltip } from 'antd';
import socket from 'config/socket/socket';
import { SOCKETS_EVENT_REALTIME_INPUT } from 'constants/sockets';
import React from 'react';
import { useRoomContext } from '_context/room/room.context';
import { UPDATE_ROOM_INPUT } from '_context/types';

const INPUT_TOOLTIP =
"Only provide input if you ask user for input, else leave empty. Some browser based language like Javascript, Typescipt doesn't accept terminal inputs.";
Expand All @@ -12,7 +14,7 @@ const RoomInput = () => {
const { updateRoomInput, _id, roomInput } = useRoomContext();

React.useEffect(() => {
socket.on('update:input', (input: string) => {
socket.on(UPDATE_ROOM_INPUT, (input: string) => {
updateRoomInput(input);
});
//eslint-disable-next-line
Expand All @@ -27,7 +29,7 @@ const RoomInput = () => {
value,
};

socket.emit('realtime:input', body);
socket.emit(SOCKETS_EVENT_REALTIME_INPUT, body);
};
return (
<>
Expand Down
5 changes: 3 additions & 2 deletions client/src/components/Room/RoomLang/RoomLang.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { Divider, Select } from 'antd';
import languages from 'config/editor/languages';
import socket from 'config/socket/socket';
import { SOCKETS_EVENT_REALTIME_LANGUAGE, SOCKETS_EVENT_UPDATE_LANGUAGE } from 'constants/sockets';
import React from 'react';
import { useRoomContext } from '_context/room/room.context';

Expand All @@ -9,7 +10,7 @@ const RoomLang = () => {
const { _id, roomLanguage, updateRoomLanguage } = useRoomContext();

React.useEffect(() => {
socket.on('update:lang', (lang: string) => {
socket.on(SOCKETS_EVENT_UPDATE_LANGUAGE, (lang: string) => {
updateRoomLanguage(lang);
});
//eslint-disable-next-line
Expand All @@ -21,7 +22,7 @@ const RoomLang = () => {
roomID: _id,
value,
};
socket.emit('realtime:lang', body);
socket.emit(SOCKETS_EVENT_REALTIME_LANGUAGE, body);
};

return (
Expand Down
1 change: 1 addition & 0 deletions client/src/components/Room/RoomOutput/RoomOutput.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ const RoomOutput = () => {
}

let value = roomOutput?.stderr || roomOutput?.stdout || '';
console.log(value);
return (
<>
<Divider orientation='left' plain>
Expand Down
2 changes: 1 addition & 1 deletion client/src/components/SaveSnippet/SaveSnippet.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ const SaveSnippet: React.FC = () => {
notify.dark('Code has been saved successfully 😎');
}, 2000);
} catch (error) {
console.log('Validate Failed:', error);
console.error('Validate Failed:', error);
}
};

Expand Down
26 changes: 26 additions & 0 deletions client/src/constants/sockets.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
export const SOCKETS_EVENT = `socket.event`;

export const SOCKETS_EVENT_CONNECTED = `${SOCKETS_EVENT}.connection`;
export const SOCKETS_EVENT_DISCONNECTED = `${SOCKETS_EVENT}.disconnect`;
export const SOCKETS_EVENT_CONNECTION_ERROR = `${SOCKETS_EVENT}.connection.error`;

export const SOCKETS_EVENT_USER_JOINED = `${SOCKETS_EVENT}.join.room`;
export const SOCKETS_EVENT_USER_LEFT = `${SOCKETS_EVENT}.leave.room`;

export const SOCKETS_EVENT_CREATE_ROOM = `${SOCKETS_EVENT}.create.room`;
export const SOCKETS_EVENT_UPDATE_ROOM = `${SOCKETS_EVENT}.update.room`;

export const SOCKETS_EVENT_REALTIME_LANGUAGE = `${SOCKETS_EVENT}.realtime.lang`;
export const SOCKETS_EVENT_REALTIME_CODE = `${SOCKETS_EVENT}.realtime.code`;
export const SOCKETS_EVENT_REALTIME_INPUT = `${SOCKETS_EVENT}.realtime.input`;
export const SOCKETS_EVENTS_REALTIME_OUTPUT = `${SOCKETS_EVENT}.realtime.output`;
export const SOCKETS_EVENTS_REALTIME_RUN = `${SOCKETS_EVENT}.realtime.run`;
export const SOCKETS_EVENTS_REALTIME_MESSAGE = `${SOCKETS_EVENT}.realtime.message`;
export const SOCKETS_EVENTS_REALTIME_LOADING = `${SOCKETS_EVENT}.realtime.loading`;

export const SOCKETS_EVENT_UPDATE_LANGUAGE = `${SOCKETS_EVENT}.update.lang`;
export const SOCKETS_EVENT_UPDATE_CODE = `${SOCKETS_EVENT}.update.code`;
export const SOCKETS_EVENT_UPDATE_INPUT = `${SOCKETS_EVENT}.update.input`;
export const SOCKETS_EVENTS_UPDATE_OUTPUT = `${SOCKETS_EVENT}.update.output`;
export const SOCKETS_EVENTS_UPDATE_LOADING = `${SOCKETS_EVENT}.update.loading`;
export const SOCKETS_EVENT_UPDATE_MESSAGE = `${SOCKETS_EVENT}.update.message`;
Loading

0 comments on commit fcef9e1

Please sign in to comment.