Showing
11 changed files
with
84 additions
and
17 deletions
... | @@ -22,10 +22,17 @@ | ... | @@ -22,10 +22,17 @@ |
22 | "eject": "react-scripts eject" | 22 | "eject": "react-scripts eject" |
23 | }, | 23 | }, |
24 | "eslintConfig": { | 24 | "eslintConfig": { |
25 | - "extends": ["react-app", "react-app/jest"] | 25 | + "extends": [ |
26 | + "react-app", | ||
27 | + "react-app/jest" | ||
28 | + ] | ||
26 | }, | 29 | }, |
27 | "browserslist": { | 30 | "browserslist": { |
28 | - "production": [">0.2%", "not dead", "not op_mini all"], | 31 | + "production": [ |
32 | + ">0.2%", | ||
33 | + "not dead", | ||
34 | + "not op_mini all" | ||
35 | + ], | ||
29 | "development": [ | 36 | "development": [ |
30 | "last 1 chrome version", | 37 | "last 1 chrome version", |
31 | "last 1 firefox version", | 38 | "last 1 firefox version", | ... | ... |
1 | -function UserBox() { | 1 | +import "../styles/box.scss"; |
2 | - return <div>UserBox</div>; | 2 | + |
3 | +function UserBox({ user }) { | ||
4 | + return ( | ||
5 | + <div className="userBox"> | ||
6 | + <h1>{user.username}</h1> | ||
7 | + <p>user info</p> | ||
8 | + <div>chat!</div> | ||
9 | + </div> | ||
10 | + ); | ||
3 | } | 11 | } |
4 | 12 | ||
5 | export default UserBox; | 13 | export default UserBox; | ... | ... |
... | @@ -8,13 +8,15 @@ import Signup from "./routes/signup"; | ... | @@ -8,13 +8,15 @@ import Signup from "./routes/signup"; |
8 | import Login from "./routes/login"; | 8 | import Login from "./routes/login"; |
9 | import Userroom from "./routes/userroom"; | 9 | import Userroom from "./routes/userroom"; |
10 | import Settings from "./routes/settings"; | 10 | import Settings from "./routes/settings"; |
11 | +// styles | ||
12 | +import "./styles/layout.scss"; | ||
11 | 13 | ||
12 | const root = ReactDOM.createRoot(document.getElementById("root")); | 14 | const root = ReactDOM.createRoot(document.getElementById("root")); |
13 | 15 | ||
14 | root.render( | 16 | root.render( |
15 | <BrowserRouter> | 17 | <BrowserRouter> |
16 | <Routes> | 18 | <Routes> |
17 | - <Route path="/" element={<App />} /> // App = chatroom | 19 | + <Route path="/" element={<App />} /> |
18 | <Route path="/login" element={<Login />} /> | 20 | <Route path="/login" element={<Login />} /> |
19 | <Route path="/signup" element={<Signup />} /> | 21 | <Route path="/signup" element={<Signup />} /> |
20 | <Route path="/userroom" element={<Userroom />} /> | 22 | <Route path="/userroom" element={<Userroom />} /> | ... | ... |
1 | +import { Link } from "react-router-dom"; | ||
1 | import { useState } from "react"; | 2 | import { useState } from "react"; |
2 | // lib | 3 | // lib |
3 | -import { handleLogin } from "../lib/auth"; | 4 | +import { handleLogin } from "../service/auth"; |
4 | -// styles | ||
5 | -import { Link } from "react-router-dom"; | ||
6 | -import "../styles/layout.scss"; | ||
7 | 5 | ||
8 | function Login() { | 6 | function Login() { |
9 | const [email, setEmail] = useState(""); | 7 | const [email, setEmail] = useState(""); | ... | ... |
1 | +import axios from "axios"; | ||
2 | +import { useState, useEffect } from "react"; | ||
1 | // components | 3 | // components |
2 | import Bottombar from "../components/Bottombar"; | 4 | import Bottombar from "../components/Bottombar"; |
3 | import Topbar from "../components/Topbar"; | 5 | import Topbar from "../components/Topbar"; |
4 | import UserBox from "../components/UserBox"; | 6 | import UserBox from "../components/UserBox"; |
5 | 7 | ||
6 | -function Userroom() { | 8 | +const Userroom = () => { |
9 | + const [users, setUsers] = useState(null); | ||
10 | + | ||
11 | + useEffect(() => { | ||
12 | + axios.get("/api/users/all/").then((response) => { | ||
13 | + setUsers(response.data); | ||
14 | + }); | ||
15 | + }, []); | ||
16 | + | ||
17 | + if (!users) return null; | ||
18 | + | ||
7 | return ( | 19 | return ( |
8 | <div> | 20 | <div> |
9 | <Topbar /> | 21 | <Topbar /> |
10 | <h1>User Room</h1> | 22 | <h1>User Room</h1> |
23 | + | ||
11 | <div> | 24 | <div> |
12 | - <UserBox /> | 25 | + {Array.isArray(users) |
13 | - <UserBox /> | 26 | + ? users.map((user, i) => { |
14 | - <UserBox /> | 27 | + return <UserBox key={i} user={user} />; |
15 | - <UserBox /> | 28 | + }) |
29 | + : ""} | ||
16 | </div> | 30 | </div> |
31 | + | ||
17 | <Bottombar /> | 32 | <Bottombar /> |
18 | </div> | 33 | </div> |
19 | ); | 34 | ); |
20 | -} | 35 | +}; |
21 | 36 | ||
22 | export default Userroom; | 37 | export default Userroom; | ... | ... |
... | @@ -2,4 +2,21 @@ | ... | @@ -2,4 +2,21 @@ |
2 | .bottombar { | 2 | .bottombar { |
3 | display: flex; | 3 | display: flex; |
4 | flex-direction: row; | 4 | flex-direction: row; |
5 | + align-items: center; | ||
6 | + font-size: 1.3rem; | ||
7 | + | ||
8 | + a { | ||
9 | + font-size: 2rem; | ||
10 | + } | ||
11 | + | ||
12 | + * { | ||
13 | + padding: 0.3rem 0.5rem; | ||
14 | + } | ||
15 | +} | ||
16 | + | ||
17 | +.topbar { | ||
18 | + margin-bottom: 0.5rem; | ||
19 | +} | ||
20 | +.bottombar { | ||
21 | + margin-top: 0.5rem; | ||
5 | } | 22 | } | ... | ... |
client/src/styles/box.scss
0 → 100644
client/src/styles/lib/auth.js
deleted
100644 → 0
File mode changed
-
Please register or login to post a comment