Skip to content

Commit 28c596c

Browse files
committed
Connect fe and be
1 parent 6566d6f commit 28c596c

1 file changed

Lines changed: 35 additions & 16 deletions

File tree

chat-app/frontend/src/App.jsx

Lines changed: 35 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { useEffect } from "react";
12
import { useState } from "react";
23

34
function App() {
@@ -6,14 +7,23 @@ function App() {
67

78
const [messageInput, setMessageInput] = useState("");
89

9-
const [messages, setMessages] = useState([
10-
{
11-
id: 1,
12-
username: "System",
13-
text: "Welcome to the chat",
14-
createdAt: new Date().toLocaleTimeString(),
15-
},
16-
]);
10+
const [messages, setMessages] = useState([]);
11+
12+
async function fetchMessages() {
13+
try {
14+
const response = await fetch("http://localhost:3000/messages");
15+
16+
const data = await response.json();
17+
18+
setMessages(data);
19+
} catch (error) {
20+
console.error("Error fetching messages:", error);
21+
}
22+
}
23+
24+
useEffect(() => {
25+
fetchMessages();
26+
}, []);
1727

1828
function handleUserNameSubmit(e) {
1929
e.preventDefault();
@@ -23,22 +33,31 @@ function App() {
2333
setSavedUsername(username);
2434
}
2535

26-
function handleMessageSubmit(e) {
36+
async function handleMessageSubmit(e) {
2737
e.preventDefault();
2838

2939
if (!messageInput.trim()) return;
3040

3141
const newMessage = {
32-
id: Date.now(),
3342
userName: savedUsername,
3443
text: messageInput,
35-
createdAt: new Date().toLocaleTimeString(),
3644
};
3745

38-
setMessages([...messages, newMessage]);
39-
40-
setMessageInput("");
41-
console.log(messages)
46+
try {
47+
await fetch("http://localhost:3000/messages", {
48+
method: "POST",
49+
headers: {
50+
"Content-Type": "application/json",
51+
},
52+
body: JSON.stringify(newMessage),
53+
});
54+
55+
setMessageInput("");
56+
57+
fetchMessages();
58+
} catch (error) {
59+
console.error("Error sending message:", error);
60+
}
4261
}
4362

4463
if (!savedUsername) {
@@ -72,7 +91,7 @@ function App() {
7291

7392
<p>{message.text}</p>
7493

75-
<small>{message.createdAt}</small>
94+
<small>{new Date(message.createdAt).toLocaleTimeString()}</small>
7695
</div>
7796
))}
7897
</div>

0 commit comments

Comments
 (0)