2025-10-13 10:43:27 -03:00
document . getElementById ( 'btnConsultaCep' ) . addEventListener ( 'click' , async ( ) => {
const cep = document . getElementById ( 'cep' ) . value ;
const numero = document . getElementById ( 'numero' ) . value ;
2025-10-13 15:35:37 -03:00
const endereco = document . getElementById ( 'consultaResultAddress' ) ;
const resultados = document . getElementById ( 'consultaResultViabilidade' ) ;
const dedicado = document . getElementById ( 'link-dedicado' ) ;
const naoDedicado = document . getElementById ( 'link-nao-dedicado' ) ;
endereco . innerText = 'Consultando...' ;
2025-10-13 10:43:27 -03:00
try {
2026-01-26 08:02:53 -03:00
const resp = await fetch ( ` /viabilidade?cep= ${ encodeURIComponent ( cep ) } &numero= ${ encodeURIComponent ( numero ) } ` ) ;
2025-10-13 10:43:27 -03:00
const data = await resp . json ( ) ;
2026-01-26 08:02:53 -03:00
if ( data && data . logradouro !== undefined ) {
2025-10-13 15:35:37 -03:00
// colocar o card-results__container (resultados) com display block
2026-01-26 08:02:53 -03:00
endereco . innerHTML = ` <strong>Endereço:</strong> ${ data . logradouro } ${ data . numero } ${ data . bairro } ${ data . cidade } ${ data . estado } ${ data . cep } . ` ;
2025-10-13 15:35:37 -03:00
resultados . style . display = 'block' ;
2026-01-26 08:02:53 -03:00
if ( data . dedicado ) {
dedicado . innerText = "Viável" ;
2025-10-14 12:03:57 -03:00
dedicado . classList . remove ( 'inviavel' ) ;
2025-10-13 15:35:37 -03:00
dedicado . classList . add ( 'viavel' ) ;
2026-01-26 08:02:53 -03:00
} else {
dedicado . innerText = "Não viável" ;
2025-10-14 12:03:57 -03:00
dedicado . classList . remove ( 'viavel' ) ;
2025-10-13 15:35:37 -03:00
dedicado . classList . add ( 'inviavel' ) ;
2026-01-26 08:02:53 -03:00
}
if ( data . naoDedicado ) {
naoDedicado . innerText = "Viável" ;
2025-10-14 12:03:57 -03:00
naoDedicado . classList . remove ( 'inviavel' ) ;
2025-10-13 15:35:37 -03:00
naoDedicado . classList . add ( 'viavel' ) ;
2026-01-26 08:02:53 -03:00
} else {
naoDedicado . innerText = "Não viável" ;
2025-10-14 12:03:57 -03:00
naoDedicado . classList . remove ( 'viavel' ) ;
2025-10-13 15:35:37 -03:00
naoDedicado . classList . add ( 'inviavel' ) ;
}
2026-01-26 08:02:53 -03:00
// // insere nos spans link-dedicado e link-nao-dedicado os textos de viabilidade e se for viavel adicionar classe "viavel" e se for inviavel adicionar classe "inviavel"
// dedicado.innerText = data.dedicado;
// naoDedicado.innerText = data.naoDedicado;
// if (data.dedicado === 'Viável') {
// // precisa remover a classe inviavel se existir
// dedicado.classList.remove('inviavel');
// dedicado.classList.add('viavel');
// } else if (data.dedicado === 'Não viável') {
// // precisa remover a classe viavel se existir
// dedicado.classList.remove('viavel');
// dedicado.classList.add('inviavel');
// }
// if (data.naoDedicado === 'Viável') {
// // precisa remover a classe inviavel se existir
// naoDedicado.classList.remove('inviavel');
// naoDedicado.classList.add('viavel');
// } else if (data.naoDedicado === 'Não viável') {
// // precisa remover a classe viavel se existir
// naoDedicado.classList.remove('viavel');
// naoDedicado.classList.add('inviavel');
// }
2025-10-13 10:43:27 -03:00
} else if ( data . error ) {
2025-10-13 15:35:37 -03:00
endereco . innerText = 'Erro: ' + data . error ;
2025-10-23 15:23:22 -03:00
} else {
endereco . innerText = 'Erro na consulta' ;
2025-10-13 10:43:27 -03:00
}
} catch ( e ) {
2025-10-13 15:35:37 -03:00
endereco . innerText = 'Erro na consulta' ;
2025-10-13 10:43:27 -03:00
}
} ) ;