-
Notifications
You must be signed in to change notification settings - Fork 0
/
scripts.js
71 lines (64 loc) · 2.77 KB
/
scripts.js
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
const toggleDarkModeCheckbox = document.getElementById("toggle-dark-mode");
const htmlElement = document.documentElement;
// Verifica se há um valor armazenado no localStorage
const cachedTheme = localStorage.getItem("theme");
if (cachedTheme) {
htmlElement.setAttribute("data-theme", cachedTheme);
if (cachedTheme === "dark") {
toggleDarkModeCheckbox.checked = true;
}
}
toggleDarkModeCheckbox.addEventListener("click", function () {
if (htmlElement.getAttribute("data-theme") === "light") {
htmlElement.setAttribute("data-theme", "dark");
localStorage.setItem("theme", "dark"); // Armazena o valor no localStorage
toggleDarkModeCheckbox.checked = true;
} else {
htmlElement.setAttribute("data-theme", "light");
localStorage.setItem("theme", "light"); // Armazena o valor no localStorage
toggleDarkModeCheckbox.checked = false;
}
});
const buscarBtn = document.querySelector('#buscar');
const originalBtnText = buscarBtn.textContent;
buscarBtn.addEventListener('click', () => {
const cepInput = document.querySelector('#cep-input').value;
buscarBtn.setAttribute('aria-busy', true);
buscarCEP(cepInput);
});
function buscarCEP(cep) {
buscarBtn.disabled = true;
buscarBtn.textContent = 'Por favor aguarde...';
fetch(`https://viacep.com.br/ws/${cep}/json/`)
.then(response => response.json())
.then(data => {
console.log(data);
if (data.erro) {
// CEP inválido, exibe mensagem de erro
alert("CEP inválido, por favor verifique e tente novamente.");
} else {
// CEP válido, atualiza informações na página
const cepElement = document.querySelector("#cep");
const logradouroElement = document.querySelector("#logradouro");
const complementoElement = document.querySelector("#complemento");
const bairroElement = document.querySelector("#bairro");
const localidadeElement = document.querySelector("#localidade");
const ufElement = document.querySelector("#uf");
cepElement.textContent = data.cep;
logradouroElement.textContent = data.logradouro;
complementoElement.textContent = data.complemento ? data.complemento : "Indefinido";
bairroElement.textContent = data.bairro ? data.bairro : "Indefinido";
localidadeElement.textContent = data.localidade ? data.localidade : "Indefinido";
ufElement.textContent = data.uf ? data.uf : "Indefinido";
}
})
.catch(error => {
console.error(error);
alert("Ocorreu um erro ao buscar o CEP, por favor tente novamente mais tarde.");
})
.finally(() => {
buscarBtn.removeAttribute('aria-busy');
buscarBtn.disabled = false;
buscarBtn.textContent = originalBtnText;
});
}