pge / script.js
maralvic's picture
Create script.js
e710d69 verified
// Mapeamento de letras para sites de notícias brasileiros
const newsSites = {
'A': 'https://www.agorarn.com.br',
'B': 'https://www.bol.uol.com.br',
'C': 'https://www.correiobraziliense.com.br',
'D': 'https://www.diariodepernambuco.com.br',
'E': 'https://www.estadao.com.br',
'F': 'https://www.folha.uol.com.br',
'G': 'https://g1.globo.com',
'H': 'https://www.hypeness.com.br',
'I': 'https://www.istoedinheiro.com.br',
'J': 'https://www.jb.com.br',
'K': 'https://www.kogut.oglobo.globo.com',
'L': 'https://www.lance.com.br',
'M': 'https://www.metropoles.com',
'N': 'https://www.neofeed.com.br',
'O': 'https://www.opovo.com.br',
'P': 'https://www.poder360.com.br',
'Q': 'https://www.quem.com.br',
'R': 'https://www.r7.com',
'S': 'https://www.sbt.com.br/noticias',
'T': 'https://www.terra.com.br/noticias',
'U': 'https://www.uol.com.br',
'V': 'https://veja.abril.com.br',
'W': 'https://www.wikinews.com.br',
'X': 'https://www.xinguara.com.br',
'Y': 'https://www.yahoo.com/noticias',
'Z': 'https://www.zerozero.pt'
};
// Elementos DOM
const letterInput = document.getElementById('letterInput');
const accessBtn = document.getElementById('accessBtn');
const letterButtons = document.querySelectorAll('.letter-btn');
// Função para validar e obter a letra
function getValidLetter() {
let letter = letterInput.value.trim().toUpperCase();
if (!letter || !/[A-Z]/.test(letter)) {
alert('Por favor, digite uma letra válida de A a Z');
return null;
}
return letter;
}
// Função para acessar o site de notícias
function accessNewsSite(letter) {
const site = newsSites[letter];
if (site) {
window.open(site, '_blank');
} else {
alert(`Desculpe, ainda não temos um site mapeado para a letra ${letter}`);
}
}
// Evento do botão principal
accessBtn.addEventListener('click', () => {
const letter = getValidLetter();
if (letter) {
accessNewsSite(letter);
}
});
// Evento para pressionar Enter no input
letterInput.addEventListener('keypress', (e) => {
if (e.key === 'Enter') {
const letter = getValidLetter();
if (letter) {
accessNewsSite(letter);
}
}
});
// Eventos para os botões de letras
letterButtons.forEach(button => {
button.addEventListener('click', () => {
const letter = button.dataset.letter;
letterInput.value = letter;
accessNewsSite(letter);
});
});
// Focar no input ao carregar a página
window.addEventListener('load', () => {
letterInput.focus();
});