From 36ab4e19f70022698d7fdb1d25a2a67d70fc87ed Mon Sep 17 00:00:00 2001 From: Titouan Rigoudy Date: Tue, 24 Aug 2021 13:59:37 +0200 Subject: [PATCH] Fix TypeScript errors. --- src/components/SearchableList.tsx | 18 ++++++++++++------ src/modules/room/RoomDetails.tsx | 2 +- src/modules/room/RoomUserList.js | 23 ----------------------- src/modules/room/message.ts | 17 ++++++++++++----- src/modules/room/slice.ts | 2 +- src/modules/user/slice.ts | 8 ++++---- 6 files changed, 30 insertions(+), 40 deletions(-) delete mode 100644 src/modules/room/RoomUserList.js diff --git a/src/components/SearchableList.tsx b/src/components/SearchableList.tsx index 9f10599..bda40c5 100644 --- a/src/components/SearchableList.tsx +++ b/src/components/SearchableList.tsx @@ -1,4 +1,10 @@ -import { Component, FC, ReactEventHandler, useState } from "react"; +import { + ChangeEvent, + FC, + ReactElement, + ReactEventHandler, + useState, +} from "react"; interface ItemProps { name: string; @@ -8,19 +14,19 @@ interface ItemProps { interface ListProps { title: string; onRefresh: ReactEventHandler; - component: Component>; + component: FC>; map: { [key: string]: Item }; } -const SearchableList: FC> = ({ +function SearchableList({ title, onRefresh, component, map, -}) => { +}: ListProps): ReactElement { const [filter, setFilter] = useState(""); - const onChange: ReactEventHandler = (event) => { + const onChange = (event: ChangeEvent) => { setFilter(event.target.value); }; @@ -56,6 +62,6 @@ const SearchableList: FC> = ({
    {children}
); -}; +} export default SearchableList; diff --git a/src/modules/room/RoomDetails.tsx b/src/modules/room/RoomDetails.tsx index d8dcf8b..8905433 100644 --- a/src/modules/room/RoomDetails.tsx +++ b/src/modules/room/RoomDetails.tsx @@ -1,6 +1,6 @@ import { FC } from "react"; -import { RoomState, RoomMembership } from "modules/room/slice"; +import { RoomState } from "modules/room/slice"; const Members: FC = ({ room }) => { const children = []; diff --git a/src/modules/room/RoomUserList.js b/src/modules/room/RoomUserList.js deleted file mode 100644 index 219c8c4..0000000 --- a/src/modules/room/RoomUserList.js +++ /dev/null @@ -1,23 +0,0 @@ -import { FC } from "react"; - -interface Props { - users: string[]; -} - -const RoomUserList: FC = ({ users }) => { - // Append all users - const children = []; - let i = 0; - for (const user of users) { - children.push( -
  • - {user} -
  • - ); - i++; - } - - return
      {children}
    ; -}; - -export default RoomUserList; diff --git a/src/modules/room/message.ts b/src/modules/room/message.ts index c06e26f..6aabf28 100644 --- a/src/modules/room/message.ts +++ b/src/modules/room/message.ts @@ -1,6 +1,7 @@ import { AppDispatch } from "app/store"; import { RoomMembership, + RoomMessage, RoomMessagePayload, RoomState, roomGetAll, @@ -10,7 +11,11 @@ import { roomSetAll, roomSetState, } from "modules/room/slice"; -import { SocketMessage, SocketMessageMiddleware } from "modules/socket/message"; +import { + SocketMessage, + SocketMessageMiddleware, + SocketMessageSender, +} from "modules/socket/message"; function convertMembership(membership: string): RoomMembership { switch (membership) { @@ -22,6 +27,8 @@ function convertMembership(membership: string): RoomMembership { return RoomMembership.Joined; case "Leaving": return RoomMembership.Leaving; + default: + throw new TypeError(`invalid membership string: ${membership}`); } } @@ -51,7 +58,7 @@ function convertRoomListEntry(name: string, room: any): RoomState { }; } -function handleRoomListResponse(dispatch: AppDispatch, response): void { +function handleRoomListResponse(dispatch: AppDispatch, response: any): void { const { rooms } = response; if (rooms === undefined) { console.log("RoomListResponse has wrong shape:", response); @@ -66,7 +73,7 @@ function handleRoomListResponse(dispatch: AppDispatch, response): void { dispatch(roomSetAll(payload)); } -function handleRoomMessageResponse(dispatch: AppDispatch, response): void { +function handleRoomMessageResponse(dispatch: AppDispatch, response: any): void { dispatch( roomReceiveMessage({ roomName: response.room_name, @@ -76,12 +83,12 @@ function handleRoomMessageResponse(dispatch: AppDispatch, response): void { ); } -function handleRoomJoinResponse(dispatch: AppDispatch, response): void { +function handleRoomJoinResponse(dispatch: AppDispatch, response: any): void { const room = convertRoomListEntry(response.room_name, response.room); dispatch(roomSetState(room)); } -function handleRoomLeaveResponse(dispatch: AppDispatch, response): void { +function handleRoomLeaveResponse(dispatch: AppDispatch, response: any): void { dispatch(roomSetMembership([response.room_name, RoomMembership.Left])); } diff --git a/src/modules/room/slice.ts b/src/modules/room/slice.ts index 49c7c21..ea235b2 100644 --- a/src/modules/room/slice.ts +++ b/src/modules/room/slice.ts @@ -97,7 +97,7 @@ export const roomSlice = createSlice({ room.messages.push({ userName, message }); }, - roomSetAll: (state: RoomSliceState, action: PayloadAction) => { + roomSetAll: (state: RoomSliceState, action: PayloadAction) => { state.rooms = {}; for (const room of action.payload) { state.rooms[room.name] = room; diff --git a/src/modules/user/slice.ts b/src/modules/user/slice.ts index 0088ce8..fddebe8 100644 --- a/src/modules/user/slice.ts +++ b/src/modules/user/slice.ts @@ -23,7 +23,7 @@ export interface UserMap { [name: string]: UserState; } -export interface RoomSliceState { +export interface UserSliceState { users: UserMap; } @@ -39,17 +39,17 @@ const initialState: UserSliceState = { numFiles: 3, numFolders: 4, numFreeSlots: 5, - country: 6, + country: "US", }, bob: { - name: "bob", + name: "karandeep", status: UserStatus.Offline, averageSpeed: 1, numDownloads: 2, numFiles: 3, numFolders: 4, numFreeSlots: 5, - country: 6, + country: "IN", }, }, };