Skip to content

Commit bbf1c03

Browse files
committed
Enable flagging with an icon
1 parent 8f9cc8e commit bbf1c03

2 files changed

Lines changed: 22 additions & 0 deletions

File tree

public/scripts/main.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,16 @@ function createMessage(message) {
218218
});
219219
}
220220

221+
function updateMessage(message, id) {
222+
return fetch(`/messages/${id}`, {
223+
method: 'PATCH',
224+
headers: {
225+
'Content-Type': 'application/json'
226+
},
227+
body: JSON.stringify(message)
228+
});
229+
}
230+
221231
function renderMessages(messages = []) {
222232
return messages
223233
.map(
@@ -227,6 +237,7 @@ function renderMessages(messages = []) {
227237
<strong>${message.id}</strong>
228238
${message.username} -
229239
${message.body}
240+
<i data-id="${message.id}" data-flagged="${message.flagged}" class="flag-button fa fa-lg fa-flag${message.flagged ? "" : "-o"}"></i>
230241
</p>
231242
<button data-id="${message.id}" class="delete-button">
232243
Delete
@@ -290,6 +301,16 @@ document.addEventListener('DOMContentLoaded', () => {
290301
refreshMessages(messagesUl);
291302
});
292303
}
304+
305+
if (target.matches('.flag-button')) {
306+
event.preventDefault();
307+
const messageId = target.getAttribute('data-id');
308+
const flagged = target.getAttribute('data-flagged') === "false";
309+
updateMessage({ flagged }, messageId).then(() => {
310+
refreshMessages(messagesUl);
311+
});
312+
}
313+
293314
});
294315
});
295316

views/partials/header.ejs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
<head>
44
<title>Chatr Express</title>
55
<link rel="stylesheet" href="/stylesheets/main.css" />
6+
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
67
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
78
<script type="text/javascript" src="/scripts/main.js"></script>
89
</head>

0 commit comments

Comments
 (0)