CREATE ROUTE
INDEX.JS
app.use(express.urlencoded({ extended: true }));
// NEW ROUTE
app.get("/chats/new", (req, res) => {
res.render("new.ejs");
});
// POST ROUTE
app.post("/chats", (req, res) => {
let { from, to, msg } = req.body;
let newchat = new Chat({
from: from,
msg: msg,
to: to,
created_at: new Date(),
});
newchat
.save()
.then((res) => {
console.log("chat was saved");
})
.catch((err) => {
console.log(err);
});
res.redirect("/chats");
});
INDEX.EJS
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>All chats</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<h2>All Chats!</h2>
<form method="get" action="/chats/new">
<button>new chat!</button>
</form>
<% for(let chat of chats) { %>
<div class="Chat">
<p>From:<i> <%= chat.from %></i></p>
<div class="msg"><p>Message: <%= chat.msg %></p></div>
<p>Received by: <i> <%= chat.to%></i></p>
</div>
<br />
<% } %>
</body>
</html>
NEW.EJS
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Add a new Chat!</title>
</head>
<body>
<h2>Add a new chat!</h2>
<form method="post" action="/chats">
<input placeholder="Enter your name" name="from" />
<br /><br />
<textarea name="msg">Write you're message</textarea>
<br /><br />
<input placeholder="add receiver" name="to"/>
<br /><br />
<button>Create new chat!</button>
</form>
</body>
</html>



Comments
Post a Comment