-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
122 lines (111 loc) · 5.33 KB
/
Copy pathindex.js
File metadata and controls
122 lines (111 loc) · 5.33 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
var cuentas = [
{ nombre: "Mali", saldo: 200, password: "1234" },
{ nombre: "Gera", saldo: 290, password: "1234" },
{ nombre: "Maui", saldo: 67, password: "1234" }
];
let selectedAccount = null; //indicar que no hay ninguna cuenta seleccionada al principio
// Al cargar el documento, configuramos los eventos y rellenamos las opciones de selección de cuenta
document.addEventListener('DOMContentLoaded', () => {
const accountSelect = document.getElementById('account-select');
const passwordInput = document.getElementById('password');
const accountSelection = document.getElementById('account-selection');
const accountActions = document.getElementById('account-actions');
const accountName = document.getElementById('account-name');
const accountBalance = document.getElementById('account-balance');
const actionForm = document.getElementById('action-form');
const amountInput = document.getElementById('amount');
const actionBtn = document.getElementById('action-btn');
const saldoTexto = document.getElementById('saldo-texto'); // ----------------------
// Rellenamos las opciones de selección de cuenta
cuentas.forEach((cuenta, index) => {
const option = document.createElement('option');
option.value = index;
option.textContent = cuenta.nombre;
accountSelect.appendChild(option);
});
// Evento para seleccionar cuenta y autenticar con contraseña
document.getElementById('select-account-btn').addEventListener('click', () => {
const selectedIndex = accountSelect.value;
const password = passwordInput.value;
if (selectedIndex === "") {
alert('Por favor, selecciona una cuenta.');
return;
}
if (password !== cuentas[selectedIndex].password) {
alert('Contraseña incorrecta. Inténtalo de nuevo.');
return;
}
selectedAccount = cuentas[selectedIndex];
accountSelection.style.display = 'none';
accountActions.style.display = 'block';
updateAccountInfo();
});
// Evento para consultar saldo
document.getElementById('consultar-saldo').addEventListener('click', () => {
actionForm.style.display = "none" //-------------------------------------
});
// Evento para mostrar formulario de depósito
document.getElementById('depositar-dinero').addEventListener('click', () => {
actionForm.style.display = 'block';
actionBtn.textContent = 'Depositar';
actionBtn.onclick = depositarDinero;
});
// Evento para mostrar formulario de retiro
document.getElementById('retirar-dinero').addEventListener('click', () => {
actionForm.style.display = 'block';
actionBtn.textContent = 'Retirar';
actionBtn.onclick = retirarDinero;
});
// Evento para salir de la cuenta
document.getElementById('logout-btn').addEventListener('click', () => {
selectedAccount = null;
accountSelection.style.display = 'block';
accountActions.style.display = 'none';
actionForm.style.display = 'none';
saldoTexto.textContent = ""; // ---------------------------
accountSelect.value = "";
passwordInput.value = "";
amountInput.value = "";
});
// Función para actualizar la información de la cuenta en la interfaz
function updateAccountInfo() {
accountName.textContent = selectedAccount.nombre;
accountBalance.textContent = selectedAccount.saldo;
}
// Función para depositar dinero en la cuenta seleccionada
function depositarDinero() {
const amount = parseFloat(amountInput.value);
if (isNaN(amount) || amount <= 0) {
alert('Por favor, ingresa un monto válido.');
return;
}
if (selectedAccount.saldo + amount > 990) {
alert('No puedes tener más de $990 en tu cuenta.');
return;
}
selectedAccount.saldo += amount;
updateAccountInfo();
alert(`Monto depositado: $${amount}\nNuevo saldo: $${selectedAccount.saldo}`);
amountInput.value = "";
actionForm.style.display = 'none';
}
// Función para retirar dinero de la cuenta seleccionada
function retirarDinero() {
const amount = parseFloat(amountInput.value);
if (isNaN(amount) || amount <= 0) {
alert('Por favor, ingresa un monto válido.');
return;
}
if (selectedAccount.saldo - amount < 10) {
alert('No puedes tener menos de $10 en tu cuenta.');
return;
}
selectedAccount.saldo -= amount;
updateAccountInfo();
alert(`Monto retirado: $${amount}\nNuevo saldo: $${selectedAccount.saldo}`);
amountInput.value = "";
actionForm.style.display = 'none';
}
});
// Este código se asegura de que las operaciones de depósito y retiro cumplan con las reglas
// de negocio de no exceder un saldo máximo de $990 y no bajar de un saldo mínimo de $10.