Widget:DzScript: mudanças entre as edições

De PokeXGames
Ir para navegação Ir para pesquisar
Sem resumo de edição
Sem resumo de edição
Etiqueta: Revertido
Linha 2: Linha 2:
document.addEventListener('DOMContentLoaded', function () {
document.addEventListener('DOMContentLoaded', function () {
   // Função para calcular o número da semana atual
   // Função para calcular o número da semana atual
   Date.prototype.getWeekNumber = function () {
   function getWeekNumber(date) {
     let d = new Date(Date.UTC(this.getFullYear(), this.getMonth(), this.getDate()));
     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 dayNum = d.getUTCDay() || 7; // Garante que domingo (0) seja o último dia da semana
     let yearStart = new Date(Date.UTC(d.getUTCFullYear(), 0, 1));
     let yearStart = new Date(Date.UTC(d.getUTCFullYear(), 0, 1));
     return Math.ceil((((d - yearStart) / 86400000) ) / 7); // Calcula o número da semana
     return Math.ceil((((d - yearStart) / 86400000) + 1) / 7); // Calcula o número da semana corretamente
   };
   }


   const url = window.location.origin;
   const url = window.location.origin;
   const dzCard = document.getElementById('dz-card');
   const dzCard = document.getElementById('dz-card');
  const today = new Date();
  let actualWeekNumber = today.getWeekNumber();


   // Verificar se é sexta-feira (dia 5) e se passou das 7 da manhã
   // Utilizar API de tempo para garantir precisão na data/hora
  const isFridayAfter7AM = today.getDay() === 5 && today.getHours() >= 7;
  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 apenas se for sexta-feira após as 7h
      // Incrementa o número da semana para sexta-feira após as 7h
  if (isFridayAfter7AM) {
      if (isFridayAfter7AM) {
    actualWeekNumber++;
        actualWeekNumber++;
  }
      }


  // Define as semanas começando pela "Primeira semana"
      // Define as semanas começando pela "Primeira semana"
  const dzWeeks = [
      const dzWeeks = [
    { name: 'Décima segunda semana', image: '/images/1/11/Card_DZ_D%C3%A9cima-Segunda-Semana.png' },
        { 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: 'Primeira semana', image: '/images/b/b2/Card_DZ_Primeira-Semana.png' },
    { name: 'Segunda semana', image: '/images/9/97/Card_DZ_Segunda-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: 'Terceira semana', image: '/images/f/fd/Card_DZ_Terceira-Semana.png' },
    { name: 'Quarta semana', image: '/images/1/17/Card_DZ_Quarta-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: 'Quinta semana', image: '/images/4/40/Card_DZ_Quinta-Semana.png' },
    { name: 'Sexta semana', image: '/images/2/23/Card_DZ_Sexta-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: '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: 'Oitava semana', image: '/images/9/97/Card_DZ_Oitava-Semana.png' },
    { name: 'Nona semana', image: '/images/b/b3/Card_DZ_Nona-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 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' },
        { 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
      // Ajuste para garantir que o índice da semana esteja correto
  let weekIndex = (actualWeekNumber - 1) % dzWeeks.length;
      let weekIndex = (actualWeekNumber - 1) % dzWeeks.length;


  // Atualiza a imagem correspondente à semana imediatamente
      // Atualiza a imagem correspondente à semana imediatamente
  if (dzCard) {
      if (dzCard) {
    dzCard.src = url + dzWeeks[weekIndex].image;
        dzCard.src = url + dzWeeks[weekIndex].image;
    dzCard.alt = dzWeeks[weekIndex].name;
        dzCard.alt = dzWeeks[weekIndex].name;
  }
      }
    })
    .catch(error => {
      console.error('Erro ao buscar a data e hora:', error);
    });
});
});
</script>
</script>

Edição das 14h48min de 19 de outubro de 2024

<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>