-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathblogs.js
65 lines (59 loc) · 2.25 KB
/
blogs.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
const fetchBlogs = async () => {
showLoading()
try {
const res = await axios.get("https://mybrandbackend-93l8.onrender.com/api/blog");
if (res.status === 200) {
const blogs = res.data.data.Blogs;
const blogContainer = document.getElementById("blogsContainer");
blogContainer.innerHTML = "";
blogs.forEach((blog) => {
const blogCard = document.createElement("div");
blogCard.classList.add("blog-card");
blogCard.innerHTML = `
<img src="${blog.cover}" alt="Blog Cover" class="blog-cover">
<div class="blog-details">
<h3>${blog.title}</h3>
<div class="btn-container">
<button class="btn update" data-blog-id="${blog._id}" onclick="updateDirect('${blog._id}')">Update</button>
<button class="btn delete" data-blog-id="${blog._id}">Delete</button>
</div>
</div>`;
blogContainer.appendChild(blogCard);
const deleteButton = blogCard.querySelector('.delete');
deleteButton.addEventListener('click', async () => {
const authToken = localStorage.getItem("jwt");
const blogId = deleteButton.dataset.blogId;
await deleteBlog(blogId, authToken);
});
});
}
} catch (error) {
console.error("Error fetching blogs:", error);
}
};
async function displayBlogs() {
await fetchBlogs();
}
document.addEventListener("DOMContentLoaded", displayBlogs);
const deleteBlog = async (blogId, authToken) => {
showLoading();
try {
const res = await axios({
method: "DELETE",
url: `https://mybrandbackend-93l8.onrender.com/api/blog/${blogId}`,
headers: { Authorization: `Bearer ${authToken}` },
});
if (res.status === 200) {
hideLoading();
const row = document.querySelector(`button[data-blog-id = ${blogId}]`).closest('tr')
if(row){
row.remove();
}
}
} catch (error) {
console.error("Error deleting blog:", error);
}
};
const updateDirect = (blogId) => {
window.location.href = "updateblog.html?blog_id=" + blogId;
};