3
3
<h1 >Latin Forms</h1 >
4
4
<button v-on:click =" getNextWord()" v-show =" !showLatin" >Start</button >
5
5
<div v-show =" showLatin" >
6
- <div >{{ selectedWord.word }}</div >
7
- <div >{{ selectedWord.meaning }}</div >
6
+ <div class =" scoreboard" >
7
+ <span >Correct: <span class =" score" >{{ latinFormsScore.correct }}</span ></span >
8
+ <span >Incorrect: <span class =" score" >{{ latinFormsScore.total - latinFormsScore.correct }}</span ></span >
9
+ </div >
10
+ <div v-if =" selectedWord != null" class =" latin-form-word" >{{ selectedWord.word }}</div >
11
+ <div v-if =" selectedWord != null" class =" latin-form-meaning" >{{ selectedWord.meaning }}</div >
8
12
<div >
9
- {{ whichForm }}
13
+ <span class =" latin-form" >{{ whichForm }}</span >
14
+ <span class =" latin-form-answer" ><input v-model =" latinFormsAnswer" class =" latin-form-input" /></span >
10
15
</div >
11
- <button v-on:click =" getNextWord()" >Lock in Answer</button >
16
+ <button v-on:click =" getNextWord()" class = " btn-answer " >Lock in Answer</button >
12
17
</div >
13
18
</div >
14
19
</template >
27
32
{word: ' ' , meaning: ' ' , second: ' ' , third: ' ' , fourth: ' ' },
28
33
{word: ' ' , meaning: ' ' , second: ' ' , third: ' ' , fourth: ' ' }
29
34
],
35
+ latinFormsAnswer: ' ' ,
36
+ latinFormsScore: {
37
+ total: 0 ,
38
+ correct: 0
39
+ },
30
40
selectedWord: null ,
31
41
randomNumber: 0 ,
32
42
index: 0 ,
36
46
}
37
47
},
38
48
methods: {
39
- getSelectedWord () {
40
- return this .selectedWord ;
41
- },
42
49
getNextWord : function () {
50
+ if (this .showLatin ) {
51
+ // we already have an answer! check it.
52
+ // increment our question count
53
+ this .latinFormsScore .total ++ ;
54
+
55
+ switch (this .form ) {
56
+ case 0 :
57
+ if (this .latinFormsAnswer === this .selectedWord .second ) {
58
+ this .latinFormsScore .correct ++ ;
59
+ }
60
+ break ;
61
+ case 1 :
62
+ if (this .latinFormsAnswer === this .selectedWord .third ) {
63
+ this .latinFormsScore .correct ++ ;
64
+ }
65
+ case 2 :
66
+ if (this .latinFormsAnswer === this .selectedWord .fourth ) {
67
+ this .latinFormsScore .correct ++ ;
68
+ }
69
+ break ;
70
+ }
71
+
72
+ this .latinFormsAnswer = ' ' ;
73
+ }
74
+
43
75
axios .post (" https://www.rdrand.com/API/GenerateUInt" )
44
76
.then (response => {
45
77
this .randomNumber = response .data ;
61
93
this .whichForm = ' 4th' ;
62
94
break ;
63
95
}
96
+
97
+ this .showLatin = true ;
64
98
})
65
99
.catch (e => {
66
100
this .errors .push (e)
70
104
this .errors .push (e)
71
105
});
72
106
}
73
- },
74
- created : function () {
75
- this .selectedWord = this .phrases [0 ];
76
107
}
77
108
}
78
109
</script >
79
110
80
111
<style scoped>
112
+ .scoreboard {
113
+ font-size : .7em ;
114
+ }
115
+
116
+ .score {
117
+ font-weight : bold ;
118
+ font-size : 1.1em ;
119
+ padding-right : 1em ;
120
+ }
81
121
122
+ .latin-form {
123
+ padding-right : .5em ;
124
+ font-size : .8em ;
125
+ font-style : italic ;
126
+ }
127
+
128
+ .latin-form-input {
129
+ padding : .5em .5em .5em .5em ;
130
+ }
131
+
132
+ .latin-form-word {
133
+ font-weight : bold ;
134
+ margin : 1em 0em 0em 0em ;
135
+ }
136
+
137
+ .latin-form-meaning {
138
+ font-style : italic ;
139
+ margin : 0em 0em 1em 0em ;
140
+ }
141
+
142
+ .btn-answer {
143
+ margin-top : 1em ;
144
+ }
82
145
</style >
0 commit comments