Initial Commit
|
@ -0,0 +1,36 @@
|
||||||
|
# Dependencies
|
||||||
|
/node_modules
|
||||||
|
|
||||||
|
# Production build
|
||||||
|
/dist/
|
||||||
|
|
||||||
|
# Local environment
|
||||||
|
.env.local
|
||||||
|
.env.*.local
|
||||||
|
|
||||||
|
# Logs
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
*.log
|
||||||
|
|
||||||
|
# Editor directories and files
|
||||||
|
.idea/
|
||||||
|
.vscode/
|
||||||
|
*.swp
|
||||||
|
*.swo
|
||||||
|
*.swn
|
||||||
|
|
||||||
|
# OS specific
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
|
|
||||||
|
# Cache
|
||||||
|
.cache/
|
||||||
|
|
||||||
|
.notes
|
||||||
|
*.lock
|
||||||
|
package-lock.json
|
||||||
|
|
||||||
|
|
||||||
|
assets/fonts
|
|
@ -0,0 +1,496 @@
|
||||||
|
|
||||||
|
|
||||||
|
/*---------------------GRID HEADER PAGINAS--------------------*/
|
||||||
|
|
||||||
|
.grid-cabeza-container {
|
||||||
|
display: grid;
|
||||||
|
grid-template-areas:
|
||||||
|
"header header"
|
||||||
|
"nav nav";
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.grid-cabeza-logo {
|
||||||
|
text-align: center;
|
||||||
|
grid-area: header;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.barraInicio {
|
||||||
|
grid-area: nav;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
background: linear-gradient(45deg, #138522, gold, black);
|
||||||
|
position: relative;
|
||||||
|
animation: cambiar 10s ease-in infinite;
|
||||||
|
background-size: 200% 200%;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.itemBarra {
|
||||||
|
list-style: none;
|
||||||
|
color: white;
|
||||||
|
width: 100%;
|
||||||
|
height: 25px;
|
||||||
|
padding-top: 6px;
|
||||||
|
text-align: center;
|
||||||
|
border: 2px solid white;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes cambiar{
|
||||||
|
0%{background-position: 0 50%;}
|
||||||
|
50%{background-position: 100% 50%;}
|
||||||
|
100%{background-position: 0 50%;}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.enlacePaginas {
|
||||||
|
text-decoration: none;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*----------------------------Boton Arriba------------------*/
|
||||||
|
|
||||||
|
.btn-up {
|
||||||
|
width: 30px;
|
||||||
|
height: 30px;
|
||||||
|
outline: 0;
|
||||||
|
border-radius: 50%;
|
||||||
|
border: 1px solid #138522;
|
||||||
|
background-color: #138522;
|
||||||
|
position: fixed;
|
||||||
|
cursor: pointer;
|
||||||
|
right: 10px;
|
||||||
|
bottom: 50px;
|
||||||
|
transition: all 3s ease-in-out;
|
||||||
|
color: white;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-up:hover{
|
||||||
|
opacity: .75;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*------------------------------CUERPO----------------------------------*/
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*----------------------CABECERA INTRO PAGINAS---------------*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.titulo-inicio{
|
||||||
|
text-align: center;
|
||||||
|
background-image: url(../RECURSOS/Logo/fuego2.jpg);
|
||||||
|
background-size: cover;
|
||||||
|
box-shadow: 2px 2px 5px grey;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*----------------------INICIO------------------------*/
|
||||||
|
|
||||||
|
.art-inicio {
|
||||||
|
display: grid;
|
||||||
|
grid-template-areas:
|
||||||
|
"titulo titulo"
|
||||||
|
"img texto";
|
||||||
|
grid-template-columns: 1fr 2fr;
|
||||||
|
|
||||||
|
}
|
||||||
|
.img-inicio{
|
||||||
|
grid-area: img;
|
||||||
|
padding: 50px;
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
.cuerpo-inicio{
|
||||||
|
grid-area: texto;
|
||||||
|
padding: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*----------------------PRODUCTOS------------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*---------------------------SERVICIOS---------------------*/
|
||||||
|
|
||||||
|
.contenedor-articulos{
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.container-carousel {
|
||||||
|
position: relative;
|
||||||
|
box-sizing: border-box;
|
||||||
|
width: 90%;
|
||||||
|
height: 100%;
|
||||||
|
text-align: center;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.carruseles {
|
||||||
|
width: 300%; /*modificar en caso de meter mas slides*/
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
user-select: none;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
.slider-section {
|
||||||
|
height: 100%;
|
||||||
|
width: calc(100% / 3); /*modificar en caso de meter mas slides*/
|
||||||
|
display: flexbox;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
box-shadow: 2px 3px 5px 1px grey;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.slider-section h4 {
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
.slider-section img {
|
||||||
|
padding: 30px;
|
||||||
|
height: 300px;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.slider-section p {
|
||||||
|
height: 70%;
|
||||||
|
padding: 30px 70PX;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-left,
|
||||||
|
.btn-right {
|
||||||
|
display: flex;
|
||||||
|
position: absolute;
|
||||||
|
font-size: 40px;
|
||||||
|
top: 50%;
|
||||||
|
background-color: transparent;
|
||||||
|
border-radius: 50%;
|
||||||
|
border-color: transparent;
|
||||||
|
padding: 5px;
|
||||||
|
font-weight: 600;
|
||||||
|
cursor: pointer;
|
||||||
|
color: #138522;
|
||||||
|
transform: translate(0, -50%);
|
||||||
|
transition: .5s ease;
|
||||||
|
user-select: none;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-left {
|
||||||
|
left: 80px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-right {
|
||||||
|
right: 80px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-left:hover,
|
||||||
|
.btn-right:hover {
|
||||||
|
background-color: lightgray;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------EVENTOS------------------------------*/
|
||||||
|
|
||||||
|
.contenedor-eventos{
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
margin: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-lista-eventos {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr 3fr;
|
||||||
|
grid-template-areas:
|
||||||
|
"img fecha titulo"
|
||||||
|
"img texto texto";
|
||||||
|
}
|
||||||
|
|
||||||
|
.token-evento {
|
||||||
|
grid-area: img;
|
||||||
|
align-self: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.titulo-evento {
|
||||||
|
grid-area: titulo;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.texto-evento {
|
||||||
|
grid-area: texto;
|
||||||
|
margin: 20px;
|
||||||
|
|
||||||
|
}
|
||||||
|
.fecha-evento {
|
||||||
|
grid-area: fecha;
|
||||||
|
margin: 20px;
|
||||||
|
align-self: center;
|
||||||
|
font-size: x-large;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #138522;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*---------CALENDARIO EVENTOS--------*/
|
||||||
|
.calendario {
|
||||||
|
width: auto;
|
||||||
|
margin: 30px;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-calendario {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding: 0 30px;
|
||||||
|
font-size: 1.4em;
|
||||||
|
text-transform: capitalize;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-izq-calendar,
|
||||||
|
.btn-der-calendar {
|
||||||
|
color: gold;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 1.3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.btn-izq-calendar {
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
.btn-der-calendar {
|
||||||
|
margin-left: auto ;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mes-calendario,
|
||||||
|
.year-calendario {
|
||||||
|
padding: 50px 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.semana-calendario, .fechas-calendario {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(7, 1fr);
|
||||||
|
grid-gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-calendario {
|
||||||
|
text-align: center;
|
||||||
|
line-height: 2;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.today {
|
||||||
|
background-color: lightcoral;
|
||||||
|
color: white;
|
||||||
|
width: 50%;
|
||||||
|
border-radius: 50%;
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
.today:hover{
|
||||||
|
background-color: coral;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dias-ultimo-mes {
|
||||||
|
opacity: .4;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*------------------------------CONTACTO------------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
.cuerpo-contacto {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.articulo-contacto{
|
||||||
|
width: 800px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.formulario-contacto {
|
||||||
|
background: linear-gradient(
|
||||||
|
30deg,
|
||||||
|
rgba(19, 133, 34, 0.8) 30%,
|
||||||
|
rgba(40, 42, 55, 0.8)
|
||||||
|
),
|
||||||
|
url(../RECURSOS/Contacto/Horno.jpg);
|
||||||
|
background-position: center;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: cover;
|
||||||
|
padding: 50px;
|
||||||
|
width: 800px;
|
||||||
|
border-radius: 25px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
box-shadow: 2px 2px 5px grey;
|
||||||
|
|
||||||
|
}
|
||||||
|
.formulario-contacto h2 {
|
||||||
|
color: gold;
|
||||||
|
font-size: 30px;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
.formulario-contacto form {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
width: 50%;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.formulario-contacto label {
|
||||||
|
font-size: 15px;
|
||||||
|
color: gold;
|
||||||
|
font-weight: 700;
|
||||||
|
padding: 10px;
|
||||||
|
|
||||||
|
}
|
||||||
|
.formulario-contacto input,
|
||||||
|
.formulario-contacto textarea,
|
||||||
|
button.boton-enviar-form {
|
||||||
|
padding: 15px 15px;
|
||||||
|
background-color: rgba(19, 133, 34, 0.5);
|
||||||
|
color: white;
|
||||||
|
margin: 10px;
|
||||||
|
border-radius: 15px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.formulario-contacto input:focus,
|
||||||
|
.formulario-contacto textarea:focus {
|
||||||
|
outline: 1.5px solid gold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.formulario-contacto button.boton-enviar-form {
|
||||||
|
background-color: rgba(40, 42, 55, 0.5);
|
||||||
|
font-size: 20px;
|
||||||
|
color: gold;
|
||||||
|
width: 50%;
|
||||||
|
align-self: center;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.formulario-contacto button.boton-enviar-form:hover {
|
||||||
|
background-color: rgba(40, 42, 55, 0.9);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*-----------------------FORMATEO TEXTO-----------------------*/
|
||||||
|
|
||||||
|
span.titulos-esp {
|
||||||
|
color: #138522;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
span.titulosh3-eng {
|
||||||
|
color: gold;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.titulos-h3 {
|
||||||
|
color: #138522;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dia-finde {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*-----------------------FORMATEO FOOTER-----------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
.pie-forja {
|
||||||
|
margin: 0;
|
||||||
|
width: 100%;
|
||||||
|
margin-top: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contenedor-listas-pie {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: space-around;
|
||||||
|
background: linear-gradient(45deg, #138522, gold, black);
|
||||||
|
animation: cambiar 10s ease-in infinite;
|
||||||
|
background-size: 200% 200%;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.lista-pie-forja {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
list-style: none;
|
||||||
|
color: white;
|
||||||
|
width: 100%;
|
||||||
|
margin: 0;
|
||||||
|
padding: 10px 0px 25px 0px;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.cabeza-lista-pie {
|
||||||
|
padding: 10px 0px;
|
||||||
|
font-size: large;
|
||||||
|
font-weight: bold
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-lista-pie {
|
||||||
|
padding: 5px 0px;
|
||||||
|
|
||||||
|
}
|
||||||
|
.item-lista-pie a{
|
||||||
|
text-decoration: none;
|
||||||
|
color: white;
|
||||||
|
|
||||||
|
}
|
||||||
|
.item-lista-pie a:visited {
|
||||||
|
text-decoration: none;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-lista-pie a:hover{
|
||||||
|
color: grey;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 8df364b5acb49b2024addc27953fe95045734a51
|
|
@ -0,0 +1,22 @@
|
||||||
|
import { initializeApp } from "https://www.gstatic.com/firebasejs/10.7.1/firebase-app.js";
|
||||||
|
import { getFirestore, getDocs, collection, addDoc, setDoc, deleteDoc, doc, query, where } from "https://www.gstatic.com/firebasejs/10.7.1/firebase-firestore.js"
|
||||||
|
|
||||||
|
|
||||||
|
const firebaseConfig = {
|
||||||
|
apiKey: "AIzaSyCj4QvZVKS8hH-QfIH_DsAM0MRvamd7LbA",
|
||||||
|
authDomain: "webforja-31b8b.firebaseapp.com",
|
||||||
|
projectId: "webforja-31b8b",
|
||||||
|
storageBucket: "webforja-31b8b.appspot.com",
|
||||||
|
messagingSenderId: "294376462200",
|
||||||
|
appId: "1:294376462200:web:98d4daceb731ab1b57da8d",
|
||||||
|
measurementId: "G-MCR5EEE6GK"
|
||||||
|
};
|
||||||
|
// Initialize Firebase
|
||||||
|
const app = initializeApp(firebaseConfig);
|
||||||
|
|
||||||
|
const db = getFirestore(app);
|
||||||
|
const prueba = collection(db, "productos");
|
||||||
|
const snapshotProductos = await getDocs(prueba);
|
||||||
|
const productos = snapshotProductos.docs
|
||||||
|
|
||||||
|
console.log(snapshotProductos)
|
|
@ -0,0 +1,185 @@
|
||||||
|
|
||||||
|
|
||||||
|
function cargado() {
|
||||||
|
|
||||||
|
// ---------------------- CONFIGURACIÓN BOTON SUBIR ARRIBA -----------------------------////
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const $btnUp = document.getElementById("botonArriba");
|
||||||
|
|
||||||
|
document.addEventListener("click", (e) =>{
|
||||||
|
if(e.target === $btnUp || e.target.matches(".fa-arrow-up")){
|
||||||
|
window.scrollTo({
|
||||||
|
behaviour: "smooth",
|
||||||
|
top: 0
|
||||||
|
})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//--------------------- CONFIGURACIÓN SLIDERS ------------------------------///
|
||||||
|
|
||||||
|
let operacion = 0,
|
||||||
|
counter = 0;
|
||||||
|
|
||||||
|
|
||||||
|
function moveToRight() {
|
||||||
|
let elementoAMover = this.event.target.parentNode.firstElementChild;
|
||||||
|
let numeroContenedores = elementoAMover.children.length
|
||||||
|
|
||||||
|
let widthImg = 100 / numeroContenedores;
|
||||||
|
|
||||||
|
if (counter >= elementoAMover.children.length-1) {
|
||||||
|
operacion = 0;
|
||||||
|
counter = 0;
|
||||||
|
elementoAMover.style.transform = `translate(-${operacion}%)`;
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
counter++;
|
||||||
|
operacion = operacion + widthImg;
|
||||||
|
|
||||||
|
elementoAMover.style.transform = `translate(-${operacion}%)`;
|
||||||
|
}
|
||||||
|
|
||||||
|
function moveToLeft() {
|
||||||
|
let elementoAMover = this.event.target.parentNode.firstElementChild;
|
||||||
|
|
||||||
|
let widthImg = 100 / elementoAMover.children.length;
|
||||||
|
|
||||||
|
|
||||||
|
counter --;
|
||||||
|
if (counter < 0 ) {
|
||||||
|
counter = elementoAMover.children.length-1;
|
||||||
|
operacion = widthImg * (elementoAMover.children.length-1);
|
||||||
|
elementoAMover.style.transform = `translate(-${operacion}%)`
|
||||||
|
elementoAMover.style.transition = 'none';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
operacion = operacion - widthImg;
|
||||||
|
elementoAMover.style.transform = `translate(-${operacion}%)`
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------- CONFIGURACIÓN CALENDARIO --------------------------------
|
||||||
|
|
||||||
|
const cargaCalendario = () => {
|
||||||
|
const nombresMeses = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio',
|
||||||
|
'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre']
|
||||||
|
|
||||||
|
|
||||||
|
let fechaActual = new Date();
|
||||||
|
let diaActual = fechaActual.getDate();
|
||||||
|
let numeroMes = fechaActual.getMonth();
|
||||||
|
let yearActual = fechaActual.getFullYear();
|
||||||
|
|
||||||
|
let fechas = document.getElementById("dates-calendar");
|
||||||
|
let mes = document.getElementById("mes-actual");
|
||||||
|
let year = document.getElementById("year");
|
||||||
|
|
||||||
|
let mesAnteriorDOM = document.getElementById("mes-anterior")
|
||||||
|
let mesSiguienteDOM = document.getElementById("mes-siguiente");
|
||||||
|
|
||||||
|
|
||||||
|
mes.textContent = nombresMeses[numeroMes];
|
||||||
|
year.textContent = yearActual.toString();
|
||||||
|
|
||||||
|
mesAnteriorDOM.addEventListener("click", () => mesAnterior());
|
||||||
|
mesSiguienteDOM.addEventListener("click", () => mesSiguiente())
|
||||||
|
|
||||||
|
|
||||||
|
const generacionMeses = (mes) => {
|
||||||
|
for(let i = diaComienzoSemana(); i>0; i--){
|
||||||
|
fechas.innerHTML += `<div class= "dia-calendario item-calendario dias-ultimo-mes">
|
||||||
|
${numeroDiasMes(numeroMes-1)-(i-1)}
|
||||||
|
</div>`;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (let i = 1; i <= numeroDiasMes(mes); i++){
|
||||||
|
let fechaActualVieja = new Date();
|
||||||
|
let mesActual = fechaActualVieja.getMonth();
|
||||||
|
if((i === diaActual) && (mes === mesActual)){
|
||||||
|
fechas.innerHTML += `<div class= "dia-calendario item-calendario today">${i}</div>`;
|
||||||
|
}else {
|
||||||
|
fechas.innerHTML += `<div class= "dia-calendario item-calendario">${i}</div>`;
|
||||||
|
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
|
||||||
|
|
||||||
|
const numeroDiasMes = (mes) => {
|
||||||
|
if(mes === -1) mes = 11;
|
||||||
|
|
||||||
|
if (mes === 0 || 2 || 4 || 6 || 7 || 9 || 11) {
|
||||||
|
return 31;
|
||||||
|
} else if (mes === 3 || 5 || 8 || 10) {
|
||||||
|
return 30;
|
||||||
|
} else {
|
||||||
|
return esBisiesto() ? 29:28;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
console.log(numeroDiasMes(numeroMes))
|
||||||
|
const esBisiesto = () => {
|
||||||
|
return ((yearActual % 100 !== 0) && (yearActual % 4 === 0) || (yearActual % 400 === 0));
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const diaComienzoSemana = () => {
|
||||||
|
let comienzo = new Date(yearActual, numeroMes, 1);
|
||||||
|
return ((comienzo.getDay()-1) === -1) ? 6 : comienzo.getDay()-1;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
const mesAnterior = () => {
|
||||||
|
if(numeroMes !== 0){
|
||||||
|
numeroMes--;
|
||||||
|
}else {
|
||||||
|
numeroMes = 11;
|
||||||
|
yearActual--;
|
||||||
|
}
|
||||||
|
nuevaFecha();
|
||||||
|
}
|
||||||
|
|
||||||
|
const mesSiguiente = () => {
|
||||||
|
if(numeroMes !== 11){
|
||||||
|
numeroMes++;
|
||||||
|
}else {
|
||||||
|
numeroMes = 0;
|
||||||
|
yearActual++;
|
||||||
|
}
|
||||||
|
|
||||||
|
nuevaFecha();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const nuevaFecha = () => {
|
||||||
|
fechaActual.setFullYear(yearActual, numeroMes, diaActual);
|
||||||
|
mes.textContent = nombresMeses[numeroMes];
|
||||||
|
year.textContent = yearActual.toString();
|
||||||
|
fechas.textContent = '';
|
||||||
|
generacionMeses(numeroMes)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
generacionMeses(numeroMes);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
After Width: | Height: | Size: 205 KiB |
After Width: | Height: | Size: 55 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 8.6 KiB |
After Width: | Height: | Size: 3.1 KiB |
|
@ -0,0 +1,17 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"tituloSlide": "ZOMBICIDE 2ND EDITION",
|
||||||
|
"fuenteImagen": "..\RECURSOS\Zombicide\ZombisGrupoEntero300x147.png",
|
||||||
|
"descripcionServicio": "Juego Completo Zombicide 2nd Edition",
|
||||||
|
"numeroSlide": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"tituloSlide": "Alto Grado de Personalización",
|
||||||
|
"fuenteImagen": "../RECURSOS/Zombicide/ZombisBomberos300x247.png",
|
||||||
|
"descripcionServicio": "Desde nuestro taller ofrecemos una personalización total del juego que se solicite, con una amplísima variedad de colores y combinaciones para que incluso los grupos de miniaturas 'monopose' parezcan todas diferentes.",
|
||||||
|
"numeroSlide": 2
|
||||||
|
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
After Width: | Height: | Size: 57 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 120 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 65 KiB |
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 9.4 MiB |
After Width: | Height: | Size: 92 KiB |
After Width: | Height: | Size: 331 KiB |
After Width: | Height: | Size: 258 KiB |
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
"name": "webforja",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"main": "gestiondb.js",
|
||||||
|
"type": "module",
|
||||||
|
"scripts": {
|
||||||
|
"dev": "nodemon ./JS/index.js"
|
||||||
|
},
|
||||||
|
"keywords": [],
|
||||||
|
"author": "",
|
||||||
|
"license": "ISC",
|
||||||
|
"devDependencies": {
|
||||||
|
"nodemon": "3.0.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"firebase": "^10.7.1"
|
||||||
|
},
|
||||||
|
"description": ""
|
||||||
|
}
|