Last active
August 28, 2023 01:53
-
-
Save ocariocawebdesign/4d1bee8c3182f5eeb3df64049293df97 to your computer and use it in GitHub Desktop.
Código com promoções semanais. De acordo com o dia ele ativa a promoção.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"use strict"; | |
// Mapeamento de promoções para os dias da semana | |
const promotions = { | |
"Segunda-Dose-Dupla": [promocao02, promocao03], | |
"Terça-Ganhe-1-brotinho-doce": [promocao01, promocao03], | |
"Quarta-Dose-Dupla": [promocao02, promocao03], | |
"Quinta-Ganhe-1-brotinho-doce": [promocao01, promocao03], | |
"Sexta-Ganhe-1-refri-2-litros": [promocao01, promocao02], | |
"Sabado-Ganhe-1-refri-2-litros": [promocao01, promocao02], | |
}; | |
// Função para ocultar elementos e aplicar estilo | |
function hideAndStyleElements(elements) { | |
elements.forEach((element) => { | |
element.innerHTML = "Promoção indisponível"; | |
element.style.display = "none"; | |
element.style.background = "rgba(44, 42, 44, 0.3)"; | |
}); | |
} | |
// Obtém o nome da promoção do dia atual | |
let data = new Date(); | |
let diaDaSemana = data.toLocaleDateString("en-US", { weekday: "long" }); | |
// Encontra as promoções associadas ao dia da semana | |
let promocoesDoDia = promotions[diaDaSemana] || []; | |
// Oculta e aplica estilo aos elementos das promoções indisponíveis | |
hideAndStyleElements([indisponivel01, indisponivel02, indisponivel03]); | |
hideAndStyleElements(promocoesDoDia); | |
// Exibe os botões apenas para promoções disponíveis | |
promocoesDoDia.forEach((promocao) => { | |
const botoesPromocao = document.querySelector(`#${promocao.id.replace("promocao", "botoesPromocao")}`); | |
if (botoesPromocao) { | |
botoesPromocao.style.display = "block"; | |
} | |
}); | |
/*--------------CÓDIGO MELHORADO----------------*/ | |
"use strict"; | |
//Promoções | |
let promocao01 = document.querySelector("#promocao01"); | |
let promocao02 = document.querySelector("#promocao02"); | |
let promocao03 = document.querySelector("#promocao03"); | |
let indisponivel01 = document.querySelector("#indisponivel01"); | |
let indisponivel02 = document.querySelector("#indisponivel02"); | |
let indisponivel03 = document.querySelector("#indisponivel03"); | |
let botoesPromocao01 = document.querySelector("#botoesPromocao01"); | |
let botoesPromocao02 = document.querySelector("#botoesPromocao02"); | |
let botoesPromocao03 = document.querySelector("#botoesPromocao03"); | |
let data = new Date(); | |
let diaDaSemana = new Array(7); | |
diaDaSemana[0] = "Domingo"; | |
diaDaSemana[1] = "Segunda-Dose-Dupla"; | |
diaDaSemana[2] = "Terça-Ganhe-1-brotinho-doce"; | |
diaDaSemana[3] = "Quarta-Dose-Dupla"; | |
diaDaSemana[4] = "Quinta-Ganhe-1-brotinho-doce"; | |
diaDaSemana[5] = "Sexta-Ganhe-1-refri-2-litros"; | |
diaDaSemana[6] = "Sabado-Ganhe-1-refri-2-litros"; | |
let diaPromocao = diaDaSemana[data.getDay()]; | |
console.log(diaPromocao); | |
if ( | |
diaPromocao === "Segunda-Dose-Dupla" || | |
diaPromocao === "Quarta-Dose-Dupla" | |
) { | |
indisponivel02.innerHTML = "Promoção indisponível"; | |
indisponivel03.innerHTML = "Promoção indisponível"; | |
botoesPromocao02.style.display = "none"; | |
botoesPromocao03.style.display = "none"; | |
promocao02.style.background = "#FAFAFA"; | |
promocao02.style.borderRadius = "2px"; | |
promocao03.style.background = "#FAFAFA"; | |
promocao03.style.borderRadius = "2px"; | |
} else if ( | |
diaPromocao === "Terça-Ganhe-1-brotinho-doce" || | |
diaPromocao === "Quinta-Ganhe-1-brotinho-doce" | |
) { | |
indisponivel01.innerHTML = "Promoção indisponível"; | |
indisponivel03.innerHTML = "Promoção indisponível"; | |
botoesPromocao01.style.display = "none"; | |
botoesPromocao03.style.display = "none"; | |
promocao01.style.background = "rgba(44, 42, 44, 0.3)"; | |
promocao03.style.background = "rgba(44, 42, 44, 0.3)"; | |
} else if ( | |
diaPromocao === "Sexta-Ganhe-1-refri-2-litros" || | |
diaPromocao === "Sabado-Ganhe-1-refri-2-litros" | |
) { | |
indisponivel01.innerHTML = "Promoção indisponível"; | |
indisponivel02.innerHTML = "Promoção indisponível"; | |
botoesPromocao01.style.display = "none"; | |
botoesPromocao02.style.display = "none"; | |
promocao01.style.background = "rgba(44, 42, 44, 0.3)"; | |
promocao02.style.background = "rgba(44, 42, 44, 0.3)"; | |
} else { | |
indisponivel01.innerHTML = "Promoção indisponível"; | |
indisponivel02.innerHTML = "Promoção indisponível"; | |
indisponivel03.innerHTML = "Promoção indisponível"; | |
botoesPromocao01.style.display = "none"; | |
botoesPromocao02.style.display = "none"; | |
botoesPromocao03.style.display = "none"; | |
promocao01.style.background = "rgba(44, 42, 44, 0.3)"; | |
promocao02.style.background = "rgba(44, 42, 44, 0.3)"; | |
promocao03.style.background = "rgba(44, 42, 44, 0.3)"; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment