diff --git a/src/components/RoomListHeader.js b/src/components/RoomListHeader.js
deleted file mode 100644
index 9826c2a..0000000
--- a/src/components/RoomListHeader.js
+++ /dev/null
@@ -1,20 +0,0 @@
-import React, { PropTypes } from "react";
-
-const RoomListHeader = ({ refresh }) => {
- return (
-
- );
-};
-
-RoomListHeader.propTypes = {
- refresh: PropTypes.func.isRequired,
-};
-
-export default RoomListHeader;
diff --git a/src/components/SolsticeApp.tsx b/src/components/SolsticeApp.tsx
index 91cd373..fc27a82 100644
--- a/src/components/SolsticeApp.tsx
+++ b/src/components/SolsticeApp.tsx
@@ -8,11 +8,11 @@ import {
useRouteMatch,
} from "react-router-dom";
-import { selectSocket, SocketState } from "../modules/websocket/slice";
import Header from "./Header";
import ConnectPage from "../containers/ConnectPage";
import Footer from "../containers/Footer";
-import RoomsPane from "../containers/RoomsPane";
+import RoomsPane from "../modules/room/RoomsPane";
+import { selectSocket, SocketState } from "../modules/websocket/slice";
const MainPane: FC = () => {
const { path } = useRouteMatch();
diff --git a/src/components/Room.tsx b/src/modules/room/Room.tsx
similarity index 84%
rename from src/components/Room.tsx
rename to src/modules/room/Room.tsx
index e9f2882..6082c51 100644
--- a/src/components/Room.tsx
+++ b/src/modules/room/Room.tsx
@@ -1,8 +1,8 @@
import { FC } from "react";
import { NavLink } from "react-router-dom";
-import { encode } from "../modules/base64";
-import { RoomMembership, Room as RoomState } from "../modules/room/slice";
+import { encode } from "modules/base64";
+import { RoomMembership, Room as RoomState } from "modules/room/slice";
interface Props {
name: string;
diff --git a/src/components/RoomChat.tsx b/src/modules/room/RoomChat.tsx
similarity index 76%
rename from src/components/RoomChat.tsx
rename to src/modules/room/RoomChat.tsx
index 7c93555..6de6d44 100644
--- a/src/components/RoomChat.tsx
+++ b/src/modules/room/RoomChat.tsx
@@ -1,10 +1,10 @@
import { FC, useEffect } from "react";
import { useDispatch } from "react-redux";
-import { Room, RoomMembership, roomSetMembership } from "../modules/room/slice";
-import RoomChatForm from "../components/RoomChatForm";
-import RoomChatHeader from "../components/RoomChatHeader";
-import RoomChatMessageList from "../components/RoomChatMessageList";
+import { Room, RoomMembership, roomSetMembership } from "modules/room/slice";
+import RoomChatForm from "modules/room/RoomChatForm";
+import RoomChatHeader from "modules/room/RoomChatHeader";
+import RoomChatMessageList from "modules/room/RoomChatMessageList";
interface Props {
loginUserName: string;
diff --git a/src/components/RoomChatForm.tsx b/src/modules/room/RoomChatForm.tsx
similarity index 95%
rename from src/components/RoomChatForm.tsx
rename to src/modules/room/RoomChatForm.tsx
index 3e518ce..d88e49d 100644
--- a/src/components/RoomChatForm.tsx
+++ b/src/modules/room/RoomChatForm.tsx
@@ -2,7 +2,7 @@ import { FC } from "react";
import { Form, Field } from "react-final-form";
import { useDispatch } from "react-redux";
-import { roomMessage } from "../modules/room/slice";
+import { roomMessage } from "modules/room/slice";
interface Props {
roomName: string;
diff --git a/src/components/RoomChatHeader.tsx b/src/modules/room/RoomChatHeader.tsx
similarity index 95%
rename from src/components/RoomChatHeader.tsx
rename to src/modules/room/RoomChatHeader.tsx
index f73c180..c80f2b1 100644
--- a/src/components/RoomChatHeader.tsx
+++ b/src/modules/room/RoomChatHeader.tsx
@@ -2,7 +2,7 @@ import { FC, ReactEventHandler } from "react";
import { useDispatch } from "react-redux";
import { useHistory } from "react-router";
-import { Room, RoomMembership, roomSetMembership } from "../modules/room/slice";
+import { Room, RoomMembership, roomSetMembership } from "modules/room/slice";
interface InnerProps {
title: string;
diff --git a/src/components/RoomChatMessageList.tsx b/src/modules/room/RoomChatMessageList.tsx
similarity index 94%
rename from src/components/RoomChatMessageList.tsx
rename to src/modules/room/RoomChatMessageList.tsx
index 6c96a44..672c1d2 100644
--- a/src/components/RoomChatMessageList.tsx
+++ b/src/modules/room/RoomChatMessageList.tsx
@@ -1,6 +1,6 @@
import { FC } from "react";
-import { RoomMessage } from "../modules/room/slice";
+import { RoomMessage } from "modules/room/slice";
interface Props {
loginUserName: string;
diff --git a/src/components/RoomList.tsx b/src/modules/room/RoomList.tsx
similarity index 69%
rename from src/components/RoomList.tsx
rename to src/modules/room/RoomList.tsx
index eb7a4e1..e58bdec 100644
--- a/src/components/RoomList.tsx
+++ b/src/modules/room/RoomList.tsx
@@ -1,9 +1,9 @@
import { FC } from "react";
import { useDispatch } from "react-redux";
-import RoomComponent from "./Room";
-import SearchableList from "./SearchableList";
-import { RoomSliceState, roomGetAll } from "../modules/room/slice";
+import SearchableList from "components/SearchableList";
+import RoomComponent from "modules/room/Room";
+import { RoomSliceState, roomGetAll } from "modules/room/slice";
const SearchableRoomList = SearchableList(RoomComponent);
diff --git a/src/components/RoomUserList.js b/src/modules/room/RoomUserList.js
similarity index 70%
rename from src/components/RoomUserList.js
rename to src/modules/room/RoomUserList.js
index d355647..219c8c4 100644
--- a/src/components/RoomUserList.js
+++ b/src/modules/room/RoomUserList.js
@@ -1,6 +1,10 @@
-import React, { PropTypes } from "react";
+import { FC } from "react";
-const RoomUserList = ({ users }) => {
+interface Props {
+ users: string[];
+}
+
+const RoomUserList: FC = ({ users }) => {
// Append all users
const children = [];
let i = 0;
diff --git a/src/containers/RoomsPane.tsx b/src/modules/room/RoomsPane.tsx
similarity index 81%
rename from src/containers/RoomsPane.tsx
rename to src/modules/room/RoomsPane.tsx
index c8f6915..1d1083f 100644
--- a/src/containers/RoomsPane.tsx
+++ b/src/modules/room/RoomsPane.tsx
@@ -3,11 +3,11 @@ import { useSelector } from "react-redux";
import { useParams, useRouteMatch } from "react-router";
import { Switch, Route } from "react-router-dom";
-import RoomChat from "../components/RoomChat";
-import RoomList from "../components/RoomList";
-import { decode } from "../modules/base64";
-import { selectLogin } from "../modules/login/slice";
-import { RoomMap, selectAllRooms } from "../modules/room/slice";
+import { decode } from "modules/base64";
+import { selectLogin } from "modules/login/slice";
+import { RoomMap, selectAllRooms } from "modules/room/slice";
+import RoomChat from "modules/room/RoomChat";
+import RoomList from "modules/room/RoomList";
interface ChatProps {
loginUserName: string;
diff --git a/src/modules/room/message.ts b/src/modules/room/message.ts
index 73e6ff8..8e3017e 100644
--- a/src/modules/room/message.ts
+++ b/src/modules/room/message.ts
@@ -1,6 +1,9 @@
-import { AppDispatch } from "../../app/store";
-import { roomMessage, roomGetAll, roomSetAll } from "./slice";
-import { SocketMessage, SocketMessageMiddleware } from "../websocket/message";
+import { AppDispatch } from "app/store";
+import { roomMessage, roomGetAll, roomSetAll } from "modules/room/slice";
+import {
+ SocketMessage,
+ SocketMessageMiddleware,
+} from "modules/websocket/message";
function roomListRequest(): SocketMessage {
return {
diff --git a/src/modules/room/slice.ts b/src/modules/room/slice.ts
index b59c95e..6187574 100644
--- a/src/modules/room/slice.ts
+++ b/src/modules/room/slice.ts
@@ -1,6 +1,6 @@
import { createSlice, PayloadAction } from "@reduxjs/toolkit";
-import { RootState } from "../../app/store";
+import { RootState } from "app/store";
export enum RoomMembership {
Joining,
diff --git a/tsconfig.json b/tsconfig.json
index 9d379a3..5452a6d 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -14,7 +14,8 @@
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
- "jsx": "react-jsx"
+ "jsx": "react-jsx",
+ "baseUrl": "src"
},
"include": ["src"]
}