Widget:DzScript
<script> document.addEventListener('DOMContentLoaded', function () {
// Função para calcular o número da semana atual function getWeekNumber(date) { let d = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate())); let dayNum = d.getUTCDay() || 7; // Garante que domingo (0) seja o último dia da semana let yearStart = new Date(Date.UTC(d.getUTCFullYear(), 0, 1)); return Math.ceil((((d - yearStart) / 86400000) + 1) / 7); // Calcula o número da semana corretamente }
const url = window.location.origin; const dzCard = document.getElementById('dz-card');
// Utilizar API de tempo para garantir precisão na data/hora fetch('https://worldtimeapi.org/api/timezone/America/Sao_Paulo') .then(response => response.json()) .then(data => { const currentDate = new Date(data.datetime); let actualWeekNumber = getWeekNumber(currentDate);
// Verificar se é sexta-feira após as 7h const isFridayAfter7AM = currentDate.getDay() === 5 && currentDate.getHours() >= 7;
// Incrementa o número da semana para sexta-feira após as 7h if (isFridayAfter7AM) { actualWeekNumber++; }
// Define as semanas começando pela "Primeira semana" const dzWeeks = [ { name: 'Décima segunda semana', image: '/images/1/11/Card_DZ_D%C3%A9cima-Segunda-Semana.png' }, { name: 'Primeira semana', image: '/images/b/b2/Card_DZ_Primeira-Semana.png' }, { name: 'Segunda semana', image: '/images/9/97/Card_DZ_Segunda-Semana.png' }, { name: 'Terceira semana', image: '/images/f/fd/Card_DZ_Terceira-Semana.png' }, { name: 'Quarta semana', image: '/images/1/17/Card_DZ_Quarta-Semana.png' }, { name: 'Quinta semana', image: '/images/4/40/Card_DZ_Quinta-Semana.png' }, { name: 'Sexta semana', image: '/images/2/23/Card_DZ_Sexta-Semana.png' }, { name: 'Sétima semana', image: '/images/f/f2/Card_DZ_S%C3%A9tima-Semana.png' }, { name: 'Oitava semana', image: '/images/9/97/Card_DZ_Oitava-Semana.png' }, { name: 'Nona semana', image: '/images/b/b3/Card_DZ_Nona-Semana.png' }, { name: 'Décima semana', image: '/images/3/30/Card_DZ_D%C3%A9cima-Semana.png' }, { name: 'Décima primeira semana', image: '/images/4/49/Card_DZ_D%C3%A9cima-Primeira-Semana.png' }, ];
// Ajuste para garantir que o índice da semana esteja correto let weekIndex = (actualWeekNumber - 1) % dzWeeks.length;
// Atualiza a imagem correspondente à semana imediatamente if (dzCard) { dzCard.src = url + dzWeeks[weekIndex].image; dzCard.alt = dzWeeks[weekIndex].name; } }) .catch(error => { console.error('Erro ao buscar a data e hora:', error); });
}); </script>