Showing
4 changed files
with
19 additions
and
19 deletions
web/src/Message.ts
deleted
100644 → 0
1 | -export interface MessageResponse<T> { | ||
2 | - ok: boolean; | ||
3 | - reason?: string; | ||
4 | - result?: T; | ||
5 | -} | ||
6 | - | ||
7 | -export class MessageType { | ||
8 | - static readonly LOGIN = "login"; | ||
9 | - static readonly ROOM_LIST_REQUEST = "room_list_request"; | ||
10 | - static readonly ROOM_JOIN = "room_join"; | ||
11 | - static readonly ROOM_LEAVE = "room_leave"; | ||
12 | - static readonly ROOM_USER_UPDATE = "room_user_update"; | ||
13 | - static readonly ROOM_CHAT = "room_chat"; | ||
14 | -} |
web/src/components/common/types.ts
0 → 100644
1 | +export interface MessageResponse<T> { | ||
2 | + ok: boolean; | ||
3 | + reason?: string; | ||
4 | + result?: T; | ||
5 | +} | ||
6 | + | ||
7 | +export const MessageType = { | ||
8 | + LOGIN: "login", | ||
9 | + ROOM_LIST_REQUEST: "room_list_request", | ||
10 | + ROOM_JOIN: "room_join", | ||
11 | + ROOM_LEAVE: "room_leave", | ||
12 | + ROOM_USER_UPDATE: "room_user_update", | ||
13 | + ROOM_CHAT: "room_chat", | ||
14 | +} as const | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | import React, { useContext, useState } from 'react'; | 1 | import React, { useContext, useState } from 'react'; |
2 | import { RouteComponentProps } from 'react-router'; | 2 | import { RouteComponentProps } from 'react-router'; |
3 | import { Footer } from '../components/common/Footer'; | 3 | import { Footer } from '../components/common/Footer'; |
4 | -import type { MessageResponse } from '../components/common/types'; | 4 | +import { MessageResponse, MessageType } from '../components/common/types'; |
5 | -import SocketContext from '../SocketContext'; | 5 | +import SocketContext from '../contexts/SocketContext'; |
6 | 6 | ||
7 | export const Login: React.FC<RouteComponentProps> = ({ history }) => { | 7 | export const Login: React.FC<RouteComponentProps> = ({ history }) => { |
8 | const socket = useContext(SocketContext); | 8 | const socket = useContext(SocketContext); |
9 | const [ username, setUsername ] = useState(""); | 9 | const [ username, setUsername ] = useState(""); |
10 | 10 | ||
11 | const login = () => { | 11 | const login = () => { |
12 | - socket.emit('login', username, (response : MessageResponse<null>) => { | 12 | + socket.emit(MessageType.LOGIN, username, (response : MessageResponse<null>) => { |
13 | if (response.ok) { | 13 | if (response.ok) { |
14 | history.push('/rooms'); | 14 | history.push('/rooms'); |
15 | } else { | 15 | } else { | ... | ... |
1 | import React, { useContext, useEffect, useState } from 'react'; | 1 | import React, { useContext, useEffect, useState } from 'react'; |
2 | import { RouteComponentProps } from 'react-router'; | 2 | import { RouteComponentProps } from 'react-router'; |
3 | -import type { MessageResponse, MessageType } from '../components/common/types'; | 3 | +import { MessageResponse, MessageType } from '../components/common/types'; |
4 | import SocketContext from '../contexts/SocketContext'; | 4 | import SocketContext from '../contexts/SocketContext'; |
5 | 5 | ||
6 | interface Room { | 6 | interface Room { |
... | @@ -15,7 +15,7 @@ export const Rooms: React.FC<RouteComponentProps> = ({ history }) => { | ... | @@ -15,7 +15,7 @@ export const Rooms: React.FC<RouteComponentProps> = ({ history }) => { |
15 | const [ rooms, setRooms ] = useState<Room[]>([]); | 15 | const [ rooms, setRooms ] = useState<Room[]>([]); |
16 | 16 | ||
17 | const refreshRooms = () => { | 17 | const refreshRooms = () => { |
18 | - socket.emit("room_list_request", (response: MessageResponse<Room[]>) => { | 18 | + socket.emit(MessageType.ROOM_LIST_REQUEST, (response: MessageResponse<Room[]>) => { |
19 | if (response.ok) { | 19 | if (response.ok) { |
20 | setRooms(response.result!); | 20 | setRooms(response.result!); |
21 | } else { | 21 | } else { | ... | ... |
-
Please register or login to post a comment