-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathblog.js
More file actions
98 lines (72 loc) · 2.29 KB
/
Copy pathblog.js
File metadata and controls
98 lines (72 loc) · 2.29 KB
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
const modal = document.getElementById("modal");
const addBtn = document.getElementById("addBlogBtn");
const blogContainer = document.getElementById("blogContainer");
const content = document.getElementById("content");
const searchInput = document.getElementById("searchInput");
let blogs = JSON.parse(localStorage.getItem("blogs")) || [];
renderBlogs();
addBtn.onclick = () => {
modal.style.display = "flex";
};
function closeModal() {
modal.style.display = "none";
}
function addBlog() {
const title = document.getElementById("title").value;
const image = document.getElementById("image").value;
const text = content.value;
if (!title || !text) {
alert("Please fill all fields");
return;
}
blogs.push({ title, image, text });
localStorage.setItem("blogs", JSON.stringify(blogs));
renderBlogs();
modal.style.display = "none";
document.getElementById("title").value = "";
document.getElementById("image").value = "";
content.value = "";
}
function renderBlogs() {
blogContainer.innerHTML = "";
blogs.forEach(blog => {
const card = document.createElement("div");
card.className = "blog-card";
card.innerHTML = `
<img src="${blog.image}" />
<h2>${blog.title}</h2>
<p>${blog.text}</p>
<button class="like-btn">❤️ Like</button>
`;
blogContainer.appendChild(card);
});
}
function formatText(type) {
if (type === "bold") {
content.style.fontWeight = "bold";
} else if (type === "italic") {
content.style.fontStyle = "italic";
}
}
function changeFont(font) {
content.style.fontFamily = font;
}
searchInput.addEventListener("keyup", function () {
const searchText = searchInput.value.toLowerCase();
const blogCards = document.querySelectorAll(".blog-card");
let visibleCount = 0;
blogCards.forEach(card => {
const title = card.querySelector("h2").innerText.toLowerCase();
if (title.includes(searchText)) {
card.style.display = "block";
visibleCount++;
} else {
card.style.display = "none";
}
});
if (visibleCount === 0) {
blogCards.forEach(card => {
card.style.display = "block";
});
}
});