Skip to content

Commit 53ebd32

Browse files
committed
Consertando tag span
1 parent 29abcd2 commit 53ebd32

File tree

4 files changed

+70
-22
lines changed

4 files changed

+70
-22
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Você pode instalar a extensão de duas maneiras:
1010

1111
1. **[WIP]** ~Baixando e instalando a extensão na [Chrome Web Store]()~
1212
2. Seguindo os passos da última [release](https://github.com/luciannojunior/ufcg-pro/releases) para a instalação manual.
13-
3. Para o Firefox, acesse [este link](https://ufcgprodist.now.sh/ufcgpro-1.0.4-an+fx.xpi) - arquivo assinado junto com a Mozilla.
13+
3. Para o Firefox, acesse [este link](https://ufcgprodist.now.sh/ufcgpro-1.0.5-an+fx.xpi) - arquivo assinado junto com a Mozilla.
1414

1515
_Obs:_ O processo de review da loja de extensões do Chrome pode demorar semanas, e **esta extensão ainda não foi aprovada.**
1616

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ufcg-pro",
3-
"version": "1.0.4",
3+
"version": "1.0.5",
44
"description": "Uma ferramenta para os usuários do Controle Acadêmico da UFCG - Universidade Federal de Campina Grande",
55
"author": "Luciano Júnior <luciannojunior@gmail.com>",
66
"license": "MIT",

src/components/Chamada.vue

Lines changed: 67 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,9 @@
22
<div class="flex flex-column items-center br4 bgb pv4">
33
<h1 class="mb2 mt0">Chamada{{ finalizada ? ' finalizada' : ' interativa' }}</h1>
44
<div v-if="finalizada" class="flex flex-row justify-center">
5-
6-
<button v-on:click="recomecar()" v-bind:disabled="alunoAtual === 0">
7-
Recomeçar
8-
</button>
5+
<button v-on:click="recomecar()" v-bind:disabled="alunoAtual === 0">
6+
Recomeçar
7+
</button>
98
</div>
109
<div class="black-60 f4 pv2 ph3 flex justify-between" style="width: 50vw" v-if="!finalizada">
1110
<div class="di" v-if="!finalizada">
@@ -17,31 +16,33 @@
1716
</select>
1817
</div>
1918
<div class="di">
20-
<span>Aluno <b>{{ alunoAtual + 1 }}</b> de <b>{{ alunos.length }}</b></span>
19+
<span
20+
>Aluno <b>{{ alunoAtual + 1 }}</b> de <b>{{ alunos.length }}</b></span
21+
>
2122
</div>
2223
<div class="di">
2324
<button v-on:click="recomecar()" v-bind:disabled="alunoAtual === 0">
2425
Recomeçar
2526
</button>
2627
</div>
27-
<div class="di w-50 text-center" >
28+
<div class="di w-50 text-center">
2829
<div v-if="ultimaAcao" class="di">
29-
<b>Última Ação:</b>
30-
{{ ultimaAcao.acao }} em {{ ultimaAcao.nome.split(' ')[0] }}
30+
<span>
31+
<b>Última Ação:</b>
32+
{{ ultimaAcao.acao }} em {{ ultimaAcao.nome.split(' ')[0] }}
3133
</span>
3234
</div>
3335
<div v-if="!ultimaAcao" class="di">
3436
Nenhuma ação realizada
3537
</div>
3638
</div>
3739
</div>
38-
<div style="width: 40vw" class="flex">
39-
<span v-if="!finalizada" class="f1 mr3">
40-
Aluno atual:
41-
</span>
40+
<div style="width: 40vw" class="flex">
41+
<span v-if="!finalizada" class="f1 mr3">
42+
Aluno atual:
43+
</span>
4244
<b class="f1"> {{ nomesAlunos[alunoAtual] }}</b>
4345
</div>
44-
</span>
4546
<p class="black-60 pa0 ma0" v-if="!finalizada"><b>Dica: </b> Utilize os atalhos de teclado descritos abaixo!</p>
4647
<div v-if="!finalizada">
4748
<table class="table table-bordered ma0">
@@ -132,6 +133,50 @@ const getAlunos = table => {
132133
}
133134
})
134135
}
136+
function removeAcentos(strAccents) {
137+
var strAccents = strAccents.split('')
138+
var strAccentsOut = new Array()
139+
var strAccentsLen = strAccents.length
140+
var accents = 'ÀÁÂÃÄÅàáâãäåÒÓÔÕÕÖØòóôõöøÈÉÊËèéêëðÇçÐÌÍÎÏìíîïÙÚÛÜùúûüÑñŠšŸÿýŽž'
141+
var accentsOut = 'AAAAAAaaaaaaOOOOOOOooooooEEEEeeeeeCcDIIIIiiiiUUUUuuuuNnSsYyyZz'
142+
for (var y = 0; y < strAccentsLen; y++) {
143+
if (accents.indexOf(strAccents[y]) != -1) {
144+
strAccentsOut[y] = accentsOut.substr(accents.indexOf(strAccents[y]), 1)
145+
} else {
146+
strAccentsOut[y] = strAccents[y]
147+
}
148+
}
149+
strAccentsOut = strAccentsOut.join('')
150+
return strAccentsOut
151+
}
152+
153+
const HOMOFONOS = {
154+
anna: 'ana',
155+
mateus: 'matheus',
156+
tiago: 'tiago',
157+
vitor: 'victor',
158+
artur: 'arthur',
159+
davi: 'david',
160+
elena: 'helena',
161+
sophia: 'sofia',
162+
deborah: 'debora',
163+
isabella: 'isabela',
164+
lukas: 'lucas',
165+
camilla: 'camila',
166+
kamila: 'camila',
167+
kamyla: 'camila',
168+
camyla: 'camila',
169+
laurah: 'laura'
170+
}
171+
172+
/**
173+
* Trata nomes homófonos. Deve ser chamado apenas com o primeiro nome do aluno.
174+
*/
175+
const normalizarNome = (nome = '') => {
176+
const minusculo = nome.trim().toLowerCase()
177+
const nomeFinal = removeAcentos(minusculo)
178+
return HOMOFONOS[nomeFinal] || nomeFinal
179+
}
135180
136181
export default {
137182
name: 'Chamada',
@@ -146,15 +191,17 @@ export default {
146191
const nomes = this.alunos && this.alunos.map(({ nome }) => nome.toUpperCase())
147192
const nomeAcc = nomes.reduce((acc, nome) => {
148193
const primeiroNome = nome.split(' ')[0]
149-
if (!acc[primeiroNome]) {
150-
acc[primeiroNome] = 0
194+
const nomeNormal = normalizarNome(primeiroNome)
195+
if (!acc[nomeNormal]) {
196+
acc[nomeNormal] = 0
151197
}
152-
acc[primeiroNome]++
198+
acc[nomeNormal]++
153199
return acc
154200
}, {})
155201
return nomes.map(nome => {
156202
const primeiroNome = nome.split(' ')[0]
157-
if (nomeAcc[primeiroNome] === 1) {
203+
const nomeNormal = normalizarNome(primeiroNome)
204+
if (nomeAcc[nomeNormal] === 1) {
158205
return primeiroNome
159206
} else {
160207
return getAbreviacao(nome)
@@ -195,10 +242,10 @@ export default {
195242
},
196243
reduce(action) {
197244
const active = document.activeElement
198-
if (active.nodeName === 'INPUT'){
245+
if (active.nodeName === 'INPUT') {
199246
return
200247
}
201-
if (active.nodeName !== 'BODY'){
248+
if (active.nodeName !== 'BODY') {
202249
active.blur()
203250
}
204251
if (this.finalizada) {
@@ -208,6 +255,7 @@ export default {
208255
const nome = this.alunos[this.alunoAtual].nome
209256
const input = document.querySelector(`input[name=f${this.aulaSelecionada}_${matricula}]`)
210257
if (!input) {
258+
this.alunoAtual++
211259
return console.log(`Não encontrado input do aluno com matrícula ` + matricula)
212260
}
213261
switch (action) {

src/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "UFCGPro",
33
"description": "Uma ferramenta para os usuários do Controle Acadêmico da UFCG - Universidade Federal de Campina Grande",
4-
"version": "1.0.4",
4+
"version": "1.0.5",
55
"manifest_version": 2,
66
"icons": {
77
"48": "icons/icon_48.png",

0 commit comments

Comments
 (0)