Skip to content

Instantly share code, notes, and snippets.

@ocariocawebdesign
Last active August 28, 2023 01:53
Show Gist options
  • Save ocariocawebdesign/4d1bee8c3182f5eeb3df64049293df97 to your computer and use it in GitHub Desktop.
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.
"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