-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
54 lines (51 loc) · 1.71 KB
/
script.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
'use strict';
import 'core-js/stable';
import 'regenerator-runtime/runtime';
const btn = document.querySelector('.btn-search');
const quotesContainer = document.querySelector('.quotes');
const TA = document.querySelector('.text-area');
let counter = 0;
const animeQts = async function (CName) {
try {
const UrlData = await fetch(
`https://animechan.vercel.app/api/quotes/character?name=${CName}`
);
if (!UrlData.ok) throw new Error('Character not found');
const quoteData = await UrlData.json();
const RQuoteData = quoteData[Math.floor(Math.random() * 10)];
console.log(RQuoteData);
const HTML = `<article class="quote">
<div class="quote__data">
<h3 class="character-name">${RQuoteData.character}</h3>
<h4 class="character-anime">${RQuoteData.anime}</h4>
<p class="character-quote">${RQuoteData.quote}</p>
</div>
</article>`;
quotesContainer.insertAdjacentHTML('beforeend', HTML);
quotesContainer.style.opacity = 1;
} catch (err) {
wrongName();
}
};
const AQ = () => {
counter++;
if (counter === 1) btn.textContent = 'Get quote';
if (counter === 2) btn.textContent = 'Get quote';
if (counter === 3) btn.textContent = 'Get quote';
if (counter === 4) btn.textContent = 'Try again';
if (counter === 5) tryAgain();
animeQts(TA.value);
};
btn.addEventListener('click', AQ);
const tryAgain = function () {
if (btn.textContent === 'Try again')
btn.addEventListener('click', location.reload());
btn.textContent = 'Try again';
counter = 0;
};
const wrongName = function () {
if (btn.textContent === 'Wrong! Try another name')
btn.addEventListener('click', location.reload());
btn.textContent = 'Wrong! Try another name';
counter--;
};