Skip to content

Commit a0615a8

Browse files
authored
Merge pull request #36 from sadnxssdlm:Feature_Posts_JS_
fix heart count problem
2 parents 88da580 + 7d2fb3f commit a0615a8

2 files changed

Lines changed: 130 additions & 106 deletions

File tree

assets/js/script.js

Lines changed: 94 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,26 @@ const menuHamburger = document.querySelector(".menu-hamburger");
44
const navLinks = document.querySelector(".nav-links");
55

66
menuHamburger.addEventListener("click", () => {
7-
navLinks.classList.toggle("mobile-menu");
7+
navLinks.classList.toggle("mobile-menu");
88
});
99
//
1010

1111
/*SLIDER */
1212

1313
const slide = [
14-
"slider1.jpg",
15-
"slider2.avif",
16-
"slider3.jpg",
17-
"slider4.avif",
18-
"slider5.jpg",
19-
"slider6.avif",
20-
"slider7.jpg",
21-
"slider8.jpg",
22-
"slider9.jpg"
14+
"slider1.jpg",
15+
"slider2.avif",
16+
"slider3.jpg",
17+
"slider4.avif",
18+
"slider5.jpg",
19+
"slider6.avif",
2320
];
2421
let index = 0;
2522
function changeSlide(sens) {
26-
index = index + sens;
27-
if (index > slide.length - 1) index = 0;
28-
if (index < 0) index = slide.length - 1;
29-
document.getElementById("slider1").src = "assets/img/images/" + slide[index];
23+
index = index + sens;
24+
if (index > slide.length - 1) index = 0;
25+
if (index < 0) index = slide.length - 1;
26+
document.getElementById("slider1").src = "assets/img/images/" + slide[index];
3027
}
3128

3229
setInterval("changeSlide(1)", 4000);
@@ -40,54 +37,50 @@ const closeBtn = document.querySelector(".close-btn");
4037

4138
// Ouvrir le modal
4239
stories.forEach((story) => {
43-
story.addEventListener("click", () => {
44-
modalStory.src = story.src;
45-
storiesModal.style.display = "flex";
46-
closeBtn.style.display = "block";
47-
48-
// Vu (retire les contours)
49-
story.classList.add("viewed");
50-
});
40+
story.addEventListener("click", () => {
41+
modalStory.src = story.src;
42+
storiesModal.style.display = "flex";
43+
closeBtn.style.display = "block";
44+
45+
// Vu (retire les contours)
46+
story.classList.add("viewed");
47+
});
5148
});
5249

5350
// Fermer le modal
5451
closeBtn.addEventListener("click", () => {
55-
storiesModal.style.display = "none";
56-
closeBtn.style.display = "none";
52+
storiesModal.style.display = "none";
53+
closeBtn.style.display = "none";
5754
});
5855

5956
// Quand tu cliques en dehors du model il se ferme
6057
storiesModal.addEventListener("click", (e) => {
61-
if (e.target === storiesModal) {
62-
storiesModal.style.display = "none";
63-
closeBtn.style.display = "none";
64-
}
58+
if (e.target === storiesModal) {
59+
storiesModal.style.display = "none";
60+
closeBtn.style.display = "none";
61+
}
6562
});
6663

6764
/*POSTS */
6865

6966
let heart1 = document.getElementById("btnh1");
7067
function Toggle1() {
71-
if (heart1.style.color === "red") {
72-
} else {
73-
heart1.style.color = "red";
74-
}
68+
if (heart1.style.color === "grey") {
69+
} else {
70+
heart1.style.color = "red";
71+
}
7572
}
76-
7773
let like = document.getElementById("like");
78-
let count = 0;
74+
let count = 1;
75+
let count1 = 6;
76+
let count2 = 3;
77+
let count3 = 10;
7978

8079
function countClicks1() {
81-
if ((count1 = count + 1)) {
82-
count = count + 1;
83-
}
84-
console.log((like.innerHTML = count));
85-
}
86-
87-
if (heart1.style.color === "red") {
88-
heart1.style.color = "grey";
89-
} else {
90-
heart1.style.color = "red";
80+
if ((count = count1 + 1)) {
81+
count1 = count1 + 1;
82+
}
83+
console.log((like.innerHTML = count));
9184
}
9285

9386
/*Intéraction post de commentaire*/
@@ -98,37 +91,38 @@ const selectEl = favDialog.querySelector("input");
9891
const confirmBtn = favDialog.querySelector("#confirmBtn");
9992

10093
showButton.addEventListener("click", () => {
101-
favDialog.showModal();
94+
favDialog.showModal();
10295
});
10396

10497
selectEl.addEventListener("newpost", () => {
105-
confirmBtn.value = selectEl.value;
98+
confirmBtn.value = selectEl.value;
10699
});
107100

108101
favDialog.addEventListener("close", () => {
109-
outputBox.value =
110-
favDialog.returnValue === "default"
111-
? "Pas de valeur retournée."
112-
: `${favDialog.returnValue}.`;
102+
outputBox.value =
103+
favDialog.returnValue === "default"
104+
? "Pas de valeur retournée."
105+
: `${favDialog.returnValue}.`;
113106
});
114107
confirmBtn.addEventListener("click", (event) => {
115-
event.preventDefault();
116-
favDialog.close(selectEl.value);
108+
event.preventDefault();
109+
favDialog.close(selectEl.value);
117110
});
118111

119112
/*like*/
120113
let heart2 = document.getElementById("btnh2");
121114
function Toggle2() {
122-
if (heart2.style.color === "red") {
123-
} else {
124-
heart2.style.color = "red";
125-
}
115+
if (heart2.style.color === "grey") {
116+
} else {
117+
heart2.style.color = "red";
118+
}
126119
}
120+
127121
function countClick2() {
128-
if ((count2 = count + 1)) {
129-
count = count + 1;
130-
}
131-
console.log((heartCount.innerHTML = count));
122+
if ((count = count2 + 1)) {
123+
count2 = count2 + 1;
124+
}
125+
console.log((heartCount.innerHTML = count));
132126
}
133127

134128
const showButton2 = document.getElementById("showDialog2");
@@ -138,34 +132,34 @@ const text = favDialog.querySelector("input2");
138132
const confirmBtn2 = favDialog.querySelector("#confirmBtn2");
139133

140134
showButton2.addEventListener("click", () => {
141-
favDialog2.showModal();
135+
favDialog2.showModal();
142136
});
143137

144138
favDialog2.addEventListener("close", (e) => {
145-
publish.value =
146-
favDialog2.returnValue === "default"
147-
? "Pas de valeur retournée."
148-
: `${favDialog2.returnValue}.`;
139+
publish.value =
140+
favDialog2.returnValue === "default"
141+
? "Pas de valeur retournée."
142+
: `${favDialog2.returnValue}.`;
149143
});
150144
confirmBtn.addEventListener("click", (event) => {
151-
event.preventDefault();
152-
favDialog.close(selectEl.value);
145+
event.preventDefault();
146+
favDialog.close(selectEl.value);
153147
});
154148

155149
/*like*/
156150
let heart3 = document.getElementById("btnh3");
157151
function Toggle3() {
158-
if (heart3.style.color === "red") {
159-
} else {
160-
heart3.style.color = "red";
161-
}
152+
if (heart3.style.color === "grey") {
153+
} else {
154+
heart3.style.color = "red";
155+
}
162156
}
163157

164158
function countClick3() {
165-
if ((count3 = count + 1)) {
166-
count = count + 1;
167-
}
168-
console.log((Countheart.innerHTML = count));
159+
if ((count = count3 + 1)) {
160+
count3 = count3 + 1;
161+
}
162+
console.log((Countheart.innerHTML = count));
169163
}
170164

171165
/*Commentaire à poster*/
@@ -176,45 +170,45 @@ const text3 = favDialog.querySelector("input3");
176170
const confirmBtn3 = favDialog.querySelector("#confirmBtn3");
177171

178172
showButton3.addEventListener("click", () => {
179-
favDialog3.showModal();
173+
favDialog3.showModal();
180174
});
181175

182176
favDialog3.addEventListener("close", (e) => {
183-
outputBox3.value =
184-
favDialog3.returnValue === "default"
185-
? "Pas de valeur retournée."
186-
: `${favDialog.returnValue}.`;
177+
outputBox3.value =
178+
favDialog3.returnValue === "default"
179+
? "Pas de valeur retournée."
180+
: `${favDialog.returnValue}.`;
187181
});
188182

189183
/*WILDERSMSG */
190184
let comment = [
191-
"La formation en alternance m'a permis d'avoir une première expérience professionnelle dans le développement web, de continuer à approfondir mes connaissances et d'apprendre des nouvelles notions pendant une année supplémentaire.",
192-
"Même si on était en distanciel, on échangeait énormément, que ce soit avec nos camarades ou le formateur qui était vraiment pédagogue et présent pour nous à n'importe quel moment.",
193-
"Allez chercher de la confiance auprès des autres apprenants avec vous, pour éviter ce syndrome de l'imposteur par lequel on est tous passés à un moment donné. Et surtout, accrochez-vous ! C'est très intense, mais on apprend plein de choses et on ressort de là avec énormément de connaissances, c'est vraiment génial.",
194-
"J’ai vécu une expérience intense riche en émotion pendant 5 mois de laquelle je suis devenu quelqu’un de meilleur autant sur le plan personnel que professionnel. C’est pourquoi j’ai décidé de remettre le couvert pendant un an en accordant de nouveau ma confiance à la Wild Code School pour la poursuite de mes études.",
185+
"La formation en alternance m'a permis d'avoir une première expérience professionnelle dans le développement web, de continuer à approfondir mes connaissances et d'apprendre des nouvelles notions pendant une année supplémentaire.",
186+
"Même si on était en distanciel, on échangeait énormément, que ce soit avec nos camarades ou le formateur qui était vraiment pédagogue et présent pour nous à n'importe quel moment.",
187+
"Allez chercher de la confiance auprès des autres apprenants avec vous, pour éviter ce syndrome de l'imposteur par lequel on est tous passés à un moment donné. Et surtout, accrochez-vous ! C'est très intense, mais on apprend plein de choses et on ressort de là avec énormément de connaissances, c'est vraiment génial.",
188+
"J’ai vécu une expérience intense riche en émotion pendant 5 mois de laquelle je suis devenu quelqu’un de meilleur autant sur le plan personnel que professionnel. C’est pourquoi j’ai décidé de remettre le couvert pendant un an en accordant de nouveau ma confiance à la Wild Code School pour la poursuite de mes études.",
195189
];
196190

197191
let texte = document.querySelector(".txt1");
198192
let numero = 0;
199193
let indexLettre = 0;
200194

201195
function ecrirePhrase() {
202-
let contenu = comment[numero];
203-
texte.innerHTML = "";
204-
indexLettre = 0;
205-
206-
let timer = setInterval(() => {
207-
if (indexLettre < contenu.length) {
208-
texte.innerHTML += contenu.charAt(indexLettre);
209-
indexLettre++;
210-
} else {
211-
clearInterval(timer);
212-
setTimeout(() => {
213-
numero = (numero + 1) % comment.length;
214-
ecrirePhrase();
215-
}, 3000);
216-
}
217-
}, 50);
196+
let contenu = comment[numero];
197+
texte.innerHTML = "";
198+
indexLettre = 0;
199+
200+
let timer = setInterval(() => {
201+
if (indexLettre < contenu.length) {
202+
texte.innerHTML += contenu.charAt(indexLettre);
203+
indexLettre++;
204+
} else {
205+
clearInterval(timer);
206+
setTimeout(() => {
207+
numero = (numero + 1) % comment.length;
208+
ecrirePhrase();
209+
}, 3000);
210+
}
211+
}, 50);
218212
}
219213

220214
ecrirePhrase();

index.html

Lines changed: 36 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -204,12 +204,42 @@ <h2 class="username">Ayoub</h2>
204204
class="fas fa-heart"></i></button>
205205
<p id="Countheart"></p>
206206

207-
<div class="commentBox3">
208-
<dialog id="favDialog3">
209-
<form method="dialog">
210-
<p>
211-
<label>
212-
Post comment
207+
<div class="commentBox3">
208+
<dialog id="favDialog3">
209+
<form method="dialog">
210+
<p>
211+
<label>
212+
Post comment
213+
214+
<input id="text3" type="text" name="comment" placeholder="Comment here" >
215+
</label>
216+
</p>
217+
<menu>
218+
<button value="cancel">Delete</button>
219+
<button id="confirmBtn3">Post</button>
220+
</menu>
221+
</form>
222+
</dialog>
223+
<p>
224+
<button id="showDialog3"><i
225+
class="fa-solid fa-comment"></i></button>
226+
</p>
227+
<output id="output3"></output>
228+
</div>
229+
<div class="retweetBox">
230+
<button class="retweetIcon" popovertarget="retweetBox"><i
231+
class="fa-solid fa-retweet"></i></button>
232+
<div id="retweetBox" popover>
233+
<button popovertarget="retweetBox" popovertargetaction="hide"></button>
234+
<input type="text" name="CommentBox" placeholder="Comment here" class="userComment">
235+
<div class="buttons">
236+
<button type="submit" abled id="publishBtn">Retweet</button>
237+
<output id="outputRetweet3"></output>
238+
</div>
239+
</div>
240+
</div>
241+
</article>
242+
</section>
213243

214244
<input id="text3" type="text" name="comment" placeholder="Comment here">
215245
</label>

0 commit comments

Comments
 (0)