2
2
3
3
// select elements
4
4
5
- const form = document . querySelector ( 'form' ) ;
5
+ let form = document . querySelector ( 'form' ) ;
6
6
7
- const word = document . querySelector ( '#word' ) ;
7
+ let word = document . querySelector ( '#word' ) ;
8
8
9
- const result = document . querySelector ( '.result' ) ;
9
+ let result = document . querySelector ( '.result' ) ;
10
10
11
11
form . addEventListener ( 'submit' , ( e ) => {
12
12
e . preventDefault ( ) ;
@@ -16,11 +16,57 @@ form.addEventListener('submit',(e)=>{
16
16
} )
17
17
18
18
const getData = async ( word ) => {
19
+
20
+ try {
19
21
const res = await fetch ( `https://api.dictionaryapi.dev/api/v2/entries/en/${ word } ` ) ;
20
22
const data = await res . json ( ) ;
21
- // console.log(data);
23
+ console . log ( data ) ;
24
+
25
+ let definitions = data [ 0 ] . meanings [ 0 ] . definitions [ 0 ] ;
26
+
27
+ result . innerHTML = `<h2><strong>Word: </strong>${ data [ 0 ] . word } </h2>
28
+ <p class="partsOfSpeech">${ data [ 0 ] . meanings [ 0 ] . partOfSpeech } </p>
29
+ <p><strong>Meaning: </strong>${ definitions . definition === undefined ?"Not Found" :definitions . definition } </p>
30
+ <p><strong>Example: </strong>${ definitions . example === undefined ?"Not Found" :definitions . definition } </p>
31
+ <p><strong>Antonyms: </strong></p>
32
+ ` ;
33
+
34
+ if ( definitions . antonyms . length === 0 ) {
35
+ result . innerHTML += `<span>Not Found</span> <br>` ;
36
+ }
37
+ else {
38
+ for ( let i = 0 ; i < definitions . antonyms . length ; i ++ ) {
39
+ result += `<li>${ definitions . antonyms [ i ] } </li>`
40
+ }
41
+
42
+
43
+ }
44
+
45
+ if ( data [ 0 ] . phonetics . length === 0 ) {
46
+ result . innerHTML += `<p>Audio Not Found</p>` ;
47
+ }
48
+ else {
49
+ for ( let i = 0 ; i < data [ 0 ] . phonetics . length ; i ++ ) {
50
+ result . innerHTML += `Audio : <audio controls>
51
+ <source src=${ data [ 0 ] . phonetics [ i ] . audio } type="audio/ogg">
52
+
53
+ Your browser does not support the audio tag.
54
+ </audio>`
55
+ }
56
+ }
22
57
23
- result . innerHTML = `<h2>${ data [ 0 ] . meanings [ 0 ] . definitions [ 0 ] . definition } </h2>` ;
58
+
59
+
60
+
61
+
62
+ result . innerHTML += `<div><a href=${ data [ 0 ] . sourceUrls } target="_blank">Read More</a></div>`
63
+
64
+ }
65
+ catch ( e ) {
66
+ // console.log(e.message);
67
+ result . innerHTML = "<p>Sorry, the word could not be found</p>"
68
+ }
24
69
// console.log('word' + word);
25
70
71
+
26
72
}
0 commit comments