-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
137 lines (104 loc) · 5.2 KB
/
script.js
File metadata and controls
137 lines (104 loc) · 5.2 KB
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
// const transactionsUL = document.querySelector('#transactions')
const xSaladaDisplay = document.querySelector('#xsalada')
const refrigeranteDisplay = document.querySelector('#refrigerante')
const valorComboDisplay = document.querySelector('#pagaCombo')
const valorSimplesDisplay = document.querySelector('#pagaSimples')
const totalBalanceDisplay = document.querySelector('#balance')
const form = document.querySelector('#form')
const buttonRecalcular = document.querySelector('#recalcular')
const divResult = document.querySelector('#result')
const divQRCode = document.querySelector('.qrcode')
const btnqrcodeDisplay = document.querySelector('#btnqrcode')
const up = document.querySelector('.up')
const audioIupi = document.querySelector('audio')
let inputQRCode = document.querySelector('#codePix')
let imgQRCodeDisplay = document.querySelector("#qrcode")
let inputValorXSalada = document.querySelector('#valorXsalada')
let inputQtdXSalada = document.querySelector('#qtdXsalada')
let inputValorRefrigerante = document.querySelector('#valorRefrigerante')
let inputQtdRefrigerante = document.querySelector('#qtdRefrigerante')
let inputQtdTomaRefri = document.querySelector('#qtdTomaRefri')
// let dummyTransactions = [
// { id: 1, name: 'Bolo de Brigadeiro', amount: -20 },
// { id: 2, name: 'Salario', amount: 300 },
// { id: 3, name: 'Torta', amount: -10 },
// { id: 4, name: 'Violão', amount: 150 }
// ]
// const localStorageTransactions = JSON.parse(localStorage.getItem('transactions'))
// let transactions = localStorage.getItem('transactions') !== null ? localStorageTransactions : []
const validInput = text => {
if(isNaN(text.value)){
console.log('isNaN: ' + text.value);
return
}else{
console.log('isNumber: '+ text.value);
return text
}
}
const handleFormSubmit = e => {
e.preventDefault()
const valorXsalada = inputValorXSalada.value.trim()
const qtdXsalada = inputQtdXSalada.value.trim()
const valorRefrigerante = inputValorRefrigerante.value.trim()
const qtdRefrigerante = inputQtdRefrigerante.value.trim()
const qtdTomaRefri = inputQtdTomaRefri.value.trim()
const someEmpty = valorXsalada === '' || qtdXsalada === '' || valorRefrigerante === '' || qtdRefrigerante === '' || qtdTomaRefri === ''
// const validQtdTomaRefri =
if(someEmpty){
alert('Favor preencher todos os campos.')
return
}
if( Number(qtdTomaRefri) > Number(qtdXsalada) ){
alert('A quantidade de pessoas que tomarão refrigerante deve ser igual ou inferior à quantidade de x-saladas.')
return
}
calculate(valorXsalada, qtdXsalada, valorRefrigerante, qtdRefrigerante, qtdTomaRefri)
}
const handleShowForm = e => {
e.preventDefault()
form.classList.remove('none')
divResult.classList.add('none')
}
form.addEventListener('submit', handleFormSubmit)
buttonRecalcular.addEventListener('click', handleShowForm)
const calculate = (valorXsalada, qtdXsalada, valorRefrigerante, qtdRefrigerante, qtdTomaRefri) => {
const valorTotalXSalada = qtdXsalada * valorXsalada
const valorTotalRefri = qtdRefrigerante * valorRefrigerante
const valorSimples = Number(valorXsalada)
const valorCombo = (((valorRefrigerante * qtdRefrigerante) / qtdTomaRefri) + Number(valorXsalada))
updateDisplay(valorTotalXSalada, valorTotalRefri, valorSimples, valorCombo, qtdTomaRefri, qtdXsalada, qtdRefrigerante)
}
const updateDisplay = (valorTotalXSalada, valorTotalRefri, valorSimples, valorCombo, qtdTomaRefri, qtdXsalada, qtdRefrigerante) => {
xSaladaDisplay.textContent = `R$ ${valorTotalXSalada.toFixed(2)}`
refrigeranteDisplay.textContent = `R$ ${valorTotalRefri.toFixed(2)}`
valorComboDisplay.textContent = `${qtdTomaRefri} x R$ ${valorCombo.toFixed(2)}`
valorSimplesDisplay.textContent = `${qtdXsalada - qtdTomaRefri} x R$ ${valorSimples.toFixed(2)}`
totalBalanceDisplay.textContent = `R$ ${(valorTotalXSalada + valorTotalRefri).toFixed(2)}`
form.classList.add('none')
divResult.classList.remove('none')
}
const cleanInputsTransaction = () => {
inputValorXSalada.value = ''
inputQtdXSalada.value = ''
inputValorRefrigerante.value = ''
inputQtdRefrigerante.value = ''
qtdTomaRefri = ''
}
const handleGenerateQRCode = e => {
e.preventDefault()
const key = inputQRCode.value.trim()
btnqrcodeDisplay.classList.add('bg-gray')
btnqrcodeDisplay.classList.remove('active')
imgQRCodeDisplay.setAttribute('src', 'https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=nuapp://cpf/'+key)
divQRCode.classList.remove('none')
setTimeout(() => {up.classList.remove('none')},2000)
setTimeout(() => {audioIupi.play()},1600)
setTimeout(() => {up.classList.add('none')},3000)
}
const handleChangeInputQRCode = e => {
e.preventDefault()
btnqrcodeDisplay.classList.add('active')
divQRCode.classList.add('none')
}
formCode.addEventListener('submit', handleGenerateQRCode)
inputQRCode.addEventListener('focus', handleChangeInputQRCode)