diff --git a/src/Components/login.js b/src/Components/login.js index 9f823874..8059534c 100644 --- a/src/Components/login.js +++ b/src/Components/login.js @@ -29,7 +29,7 @@ function login (navigateTo) { alert('la contraseña debe tener mínimo 7 caracteres') } - UsuarioConSesionActiva(emailValue, passwordValue) + UsuarioConSesionActiva(emailValue, passwordValue) // se llamo funcion desde firestore .then((userCredential) => { // El usuario ha iniciado sesión con éxito @@ -58,7 +58,7 @@ function login (navigateTo) { googleImg.src = '../Imagenes/g-logo.png' buttonGoogle.appendChild(googleImg) buttonGoogle.addEventListener('click', function () { - entrarConGoogle() + entrarConGoogle() // se llama funcion desde Firebase.Fn .then(() => { navigateTo('/programmingWall') }).catch(() => { diff --git a/src/Components/programmingWall.js b/src/Components/programmingWall.js index 0b30c02e..5b751d9f 100644 --- a/src/Components/programmingWall.js +++ b/src/Components/programmingWall.js @@ -34,7 +34,7 @@ function programmingWall (navigateTo) { usersWhoLiked: [], likesCount: 0 } - createPostProgrammingWall(newPost) + createPostProgrammingWall(newPost) // Lo llamamos desde firestore .then((docRef) => { textAreaPost.value = '' }) @@ -69,45 +69,43 @@ function programmingWall (navigateTo) { const btnLike = document.createElement('button') btnLike.classList.add('btn-like') console.log(btnLike) - btnLike.textContent = post.likes + ' Me gusta' + btnLike.textContent = post.likes + ' Me gusta' // (post.likes) almacenaa la cantidad de me gusta btnLike.id = post.id - btnLike.setAttribute('usuario-email', post.email) + btnLike.setAttribute('usuario-email', post.email) // (setAttribute) metodo para agregar o modificar un atributo btnLike.setAttribute('data-likes-count', '0') // EVENTO DE LIKE - // const usersWhoLiked = [] // Array para almacenar los usuarios que dieron like btnLike.addEventListener('click', async (e) => { // PARA EVITAR QUE EL BOTON SE ACTUALICE - e.preventDefault() - const postLikId = e.target.id - const userEmail = auth.currentUser.email + e.preventDefault() // (preventDefault) evita el comportamiento predeterminado + const postLikId = e.target.id // me da el id encontrado en la consola + const userEmail = auth.currentUser.email // se asigna con el valor del correo autenticado const postRef = doc(db, 'posts', postLikId) try { - await runTransaction(db, async (transaction) => { - const postDoc = await transaction.get(postRef) + await runTransaction(db, async (transaction) => { // (runTransaction) funcion de firetore que permite ejecutar una trx + const postDoc = await transaction.get(postRef) // (transaction) representa la trx actual if (!postDoc.exists()) { throw new Error('El documento no existe') } - const currentLikesCount = postDoc.data().likesCount - const currentUsersWhoLiked = postDoc.data().usersWhoLiked || [] + const currentLikesCount = postDoc.data().likesCount // Obtiene el valor del campo likesCount estas propiedades se traen desde firebase + const currentUsersWhoLiked = postDoc.data().usersWhoLiked || [] // firestore identifica el correo de quien le dio likes let newLikesCount = currentLikesCount if (currentUsersWhoLiked.includes(userEmail)) { - newLikesCount-- - const index = currentUsersWhoLiked.indexOf(userEmail) + newLikesCount-- // decrementar en 1 + const index = currentUsersWhoLiked.indexOf(userEmail) // (indexOf)metodo para buscar en un array y devolver la primera posicion currentUsersWhoLiked.splice(index, 1) } else { - newLikesCount++ + newLikesCount++ // aumentar en 1 currentUsersWhoLiked.push(userEmail) } console.log(newLikesCount) console.log(currentUsersWhoLiked) - transaction.update(postRef, { + transaction.update(postRef, { // (update) metodo de firebase para modificar o actualizar datos de un documento en especifico likesCount: newLikesCount, usersWhoLiked: currentUsersWhoLiked }) // null // Actualiza la interfaz de usuario - btnLike.setAttribute('data-likes-count', newLikesCount.toString()) - // nbtnLike.textContent = `${newLikesCount} Me gusta` + btnLike.setAttribute('data-likes-count', newLikesCount.toString()) // metodo para agregar atributos (toString) metodo convertir un objeto en una cadena }) console.log('Se ha dado "Me gusta" a la publicación correctamente.') } catch (error) { @@ -121,7 +119,7 @@ function programmingWall (navigateTo) { buttonEdit.classList.add('buttonEdit') buttonEdit.addEventListener('click', (e) => { const postEditarId = e.target.id // Obtén el ID de la publicación - const sectionPost = e.target.parentElement + const sectionPost = e.target.parentElement // (ParentElement) Elemento proporciona acceso directo al elemento padre inmediato del elemento actual en el árbol DOM console.log(e) // Traer texto original const textOriginal = sectionPost.querySelector('.contenidoPost p') @@ -146,7 +144,7 @@ function programmingWall (navigateTo) { const updatedData = { // Almacena los datos actualizados text: updatedText } - editPost(postEditarId, updatedData) + editPost(postEditarId, updatedData) // editPost viene desde firestore .then(() => { const updatedTextElement = document.createElement('p') updatedTextElement.textContent = updatedText @@ -170,7 +168,7 @@ function programmingWall (navigateTo) { const postIdToDelete = e.target.id // Aquí ingresamos al evento.target que es donde lo encontramos en la consola console.log(e.target.id) console.log(e) - deletePost(postIdToDelete) + deletePost(postIdToDelete) // firebase me lo da .then(() => { sectionPost.remove() console.log('Post eliminado con éxito') @@ -192,7 +190,7 @@ function programmingWall (navigateTo) { buttonReturn.textContent = 'cerrar' buttonReturn.classList.add('btn-cerrar') buttonReturn.addEventListener('click', function () { - exit() + exit() // llamo funcion de firestore }) // append agrega nuevo elemento al contenedor en este caso agrega tittle a section que es el principal section.append(title, buttonReturn, textAreaPost, divPostContent, buttonCrear) diff --git a/src/Components/register.js b/src/Components/register.js index 1c9adb7b..53b7ffeb 100644 --- a/src/Components/register.js +++ b/src/Components/register.js @@ -36,8 +36,8 @@ function register (navigateTo) { if (passwordValue.length < 7) { alert('La contraseña debe tener mínimo 7 caracteres') // Sale de la función si la contraseña es demasiado corta } - // LO TESTEO CON EL MOCK YA QUE ES FIREBASE - registrarConCorreoContrasena(emailValue, passwordValue) + + registrarConCorreoContrasena(emailValue, passwordValue) // funcion desde Firebase .then((userCredential) => { // El usuario se creó con éxito const user = userCredential.user diff --git a/src/FirebaseFn.js b/src/FirebaseFn.js index a0f0c571..f6ef8613 100644 --- a/src/FirebaseFn.js +++ b/src/FirebaseFn.js @@ -19,12 +19,12 @@ export const UsuarioConSesionActiva = (email, password) => { } // FUNCION PARA CREAR POST export const createPostProgrammingWall = (obj) => { - if (auth.currentUser) { + if (auth.currentUser) { // valida si hay un usuario autenticado const newObj = { ...obj, - email: auth.currentUser.email + email: auth.currentUser.email // agrega nueva propiedad llamada email del usuario autenticado } - return addDoc(collection(db, 'posts'), newObj) + return addDoc(collection(db, 'posts'), newObj) // agrega un documento a coleccion de post .then((docRef) => { return docRef // Devolver docRef en caso de éxito }) @@ -34,9 +34,9 @@ export const createPostProgrammingWall = (obj) => { }) } } -export const q = query(collection(db, 'posts')) -export const getPosts = (callback) => { - onSnapshot(q, callback) +export const q = query(collection(db, 'posts')) // Consulta de coleccion de post +export const getPosts = (callback) => { // Ejecuta callback proporcionando datos + onSnapshot(q, callback) // metodo de firestore que recibe notificaciones en tiempo real } // FUNCION PARA CERRAR SESION export const exit = () => signOut(auth) diff --git a/src/main.js b/src/main.js index c97f28c4..3d975574 100644 --- a/src/main.js +++ b/src/main.js @@ -35,11 +35,12 @@ window.onpopstate = () => { // El evento onpopstate se dispara cuando el usuario navigateTo(window.location.pathname) // En este caso, se utiliza para llamar a la función navigateTo y mostrar el componente correspondiente según la ruta actual. } +// USUARIO AUTENTICADO navigateTo(window.location.pathname || defaultRoute) // Llamamos a la función navigateTo con la ruta actual o la ruta predeterminada. onAuthStateChanged(getAuth(), (user) => { // Utilizamos onAuthStateChanged de Firebase para detectar cambios en el estado de autenticación. console.log(user) if (user) { - navigateTo('/programmingWall') // Si hay un usuario autenticado, navegamos a la ruta "/programmingWall". + navigateTo('/programmingWall') // navegamos a la ruta "/programmingWall". } else { navigateTo('/') // Si no hay un usuario autenticado, navegamos a la ruta principal ("/"). } diff --git a/src/style.css b/src/style.css index 229f1d6c..b199326c 100644 --- a/src/style.css +++ b/src/style.css @@ -2,45 +2,49 @@ @import url('https://fonts.googleapis.com/css2?family=Buenard:wght@700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@500&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Fira+Sans+Extra+Condensed:wght@300&display=swap'); + @media (min-width: 769px) { - .background{ - background-image:url(https://images.unsplash.com/photo-1531685250784-7569952593d2?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2874&q=80); - + .background { + background-image: url(https://images.unsplash.com/photo-1531685250784-7569952593d2?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2874&q=80); + } + * { - margin: 0; + margin: 0; } /*START*/ .HerCode { - display: flex;/* visualizar contenido */ + display: flex; + /* visualizar contenido */ justify-content: center; padding: 10%; color: #F6DF0D; - font-family:'Bebas Neue', sans-serif; + font-family: 'Bebas Neue', sans-serif; font-weight: bold; font-size: 700%; -webkit-text-stroke: 2px black; - position:fixed; + position: fixed; left: 50%; align-items: center; transform: translateX(-50%); overflow: hidden; top: -2%; } + .sectionOne { - background-image:url(./Imagenes/programadora.png); + background-image: url(./Imagenes/programadora.png); background-repeat: no-repeat; background-size: cover; height: 100vh; width: 50%; margin-left: 25%; - + } - .btn-start{ + .btn-start { background-color: #F6DF0D; font-family: 'Bebas Neue', sans-serif; font-weight: bold; @@ -55,29 +59,33 @@ left: 50%; transform: translateX(-50%); text-align: center; - position: relative; + position: relative; } + /*LOGIN*/ - .HerCode2{ - display: flex;/* visualizar contenido */ + .HerCode2 { + display: flex; + /* visualizar contenido */ justify-content: center; padding: 10%; color: #F6DF0D; - font-family:'Bebas Neue', sans-serif; + font-family: 'Bebas Neue', sans-serif; font-weight: bold; font-size: 400%; -webkit-text-stroke: 2px black; - position:fixed; + position: fixed; left: 50%; align-items: center; transform: translateX(-50%); overflow: hidden; top: -5%; } - .inputEmail{ - display: flex;/* visualizar contenido */ + + .inputEmail { + display: flex; + /* visualizar contenido */ justify-content: center; - font-family:'Bebas Neue', sans-serif; + font-family: 'Bebas Neue', sans-serif; font-size: 120%; border-radius: 8px; transform: translateX(-50%); @@ -85,15 +93,16 @@ width: 35%; height: 7%; text-align: center; - position: relative; - top: 42%; - left:50%; + position: relative; + top: 42%; + left: 50%; } - .inputPass{ - display: flex;/* visualizar contenido */ + .inputPass { + display: flex; + /* visualizar contenido */ justify-content: center; - font-family:'Bebas Neue', sans-serif; + font-family: 'Bebas Neue', sans-serif; font-size: 120%; border-radius: 8px; transform: translateX(-50%); @@ -101,12 +110,12 @@ width: 35%; height: 7%; text-align: center; - position: relative; - top: 40%; - left:50%; + position: relative; + top: 40%; + left: 50%; } - - .btn-login{ + + .btn-login { background-color: #F6DF0D; font-family: 'Bebas Neue', sans-serif; font-weight: bold; @@ -121,9 +130,10 @@ left: 52%; transform: translateX(-50%); text-align: center; - position: relative; + position: relative; } - .btn-google{ + + .btn-google { width: 30%; height: 7%; font-size: 70%; @@ -131,23 +141,25 @@ background-color: white; flex-direction: row-reverse; align-items: center; - top:58%; + top: 58%; display: flex; justify-content: center; left: 51%; transform: translateX(-45%); text-align: center; - position: relative; + position: relative; + - } - .googleImg{ + + .googleImg { width: 18%; height: 70%; padding-right: 5%; } - .btn-register{ + + .btn-register { font-family: 'Bebas Neue', sans-serif; width: 35%; height: 7%; @@ -160,15 +172,16 @@ left: 52%; transform: translateX(-50%); text-align: center; - position: relative; + position: relative; background: transparent; border: none; text-decoration: underline; color: #F6DF0D; -webkit-text-stroke: 1px black; } + /*REGISTER*/ - .btn-register2{ + .btn-register2 { background-color: #F6DF0D; font-family: 'Bebas Neue', sans-serif; font-weight: bold; @@ -185,10 +198,12 @@ text-align: center; position: relative; } - .inputnombre{ - display: flex;/* visualizar contenido */ + + .inputnombre { + display: flex; + /* visualizar contenido */ justify-content: center; - font-family:'Bebas Neue', sans-serif; + font-family: 'Bebas Neue', sans-serif; font-size: 120%; border-radius: 8px; transform: translateX(-50%); @@ -196,38 +211,41 @@ width: 35%; height: 7%; text-align: center; - position: relative; - top: 40%; - left:50%; + position: relative; + top: 40%; + left: 50%; } + /*BIENVENIDA*/ - .sectionTwo{ + .sectionTwo { background-color: #F6DF0D; background-image: url(https://static.wixstatic.com/media/dd7a20_4a5674d23ecd438f8c7c2ebcff428d48~mv2.gif); background-size: cover; height: 100vb; - - + + } + .bienvenida { - display: flex;/* visualizar contenido */ + display: flex; + /* visualizar contenido */ padding: 140px; - font-family:'Bebas Neue', sans-serif; + font-family: 'Bebas Neue', sans-serif; font-weight: bold; font-size: 400%; - color:#0202D4; - position:fixed; + color: #0202D4; + position: fixed; text-align: left; top: 1%; left: 28%; transform: translateX(-70%); } - + /* MURO DE PROGRAMACION*/ - .sectionPost{ - background-image:url(https://images.unsplash.com/photo-1511467687858-23d96c32e4ae?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2940&q=80); + .sectionPost { + background-image: url(https://images.unsplash.com/photo-1511467687858-23d96c32e4ae?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2940&q=80); background-repeat: no-repeat; width: 80%; position: relative; @@ -237,18 +255,19 @@ } - .titlePost{ - font-family:'Bebas Neue', sans-serif; + + .titlePost { + font-family: 'Bebas Neue', sans-serif; font-size: 350%; text-align: center; padding-top: 15%; position: relative; text-shadow: 0px 0px 9px #F6DF0D; - left:1%; + left: 1%; } - - .btn-publicar{ + + .btn-publicar { font-family: 'Bebas Neue', sans-serif; width: 11%; height: 3%; @@ -261,9 +280,10 @@ transform: translateX(210%); background-color: #F6DF0D; font-size: 110%; - + } - .textAreaPost{ + + .textAreaPost { width: 80%; height: 15%; display: block; @@ -276,9 +296,10 @@ font-family: 'Fira Sans Extra Condensed', sans-serif; font-size: 100%; left: 10%; - align-items: center; + align-items: center; } - .contenidoPost{ + + .contenidoPost { background-color: #FFFF; margin: 10% auto; width: 60%; @@ -286,26 +307,26 @@ border-color: #FFF6A1; border-width: 5px; border-radius: 15px; - border-style:ridge; + border-style: ridge; padding: 5%; font-size: 120%; font-family: 'Fira Sans Extra Condensed', sans-serif; - + } - + .btn-like { background-color: #F6DF0D; font-family: 'Bebas Neue', sans-serif; height: 35%; - margin-top: 10%; + margin-top: 10%; justify-content: center; - align-items: center; - width: 35%; + align-items: center; + width: 35%; transform: translateY(280%); - - } - - .buttonEdit { + + } + + .buttonEdit { background-color: #F6DF0D; font-family: 'Bebas Neue', sans-serif; height: 35%; @@ -313,10 +334,10 @@ align-items: center; width: 25%; transform: translateY(280%); - margin:1% - } + margin: 1% + } - .buttonDelete { + .buttonDelete { transform: translateY(280%); background-color: #F6DF0D; font-family: 'Bebas Neue', sans-serif; @@ -324,20 +345,21 @@ justify-content: center; align-items: center; width: 25%; - margin:1% - } - - .btn-cerrar{ - font-family: 'Bebas Neue', sans-serif; - font-weight: bold; - font-size: 150%; - position: absolute; - top: 3%; - right: 6%; - margin-top: -2%; - margin-right: -2%; -} - .textAreEdit{ + margin: 1% + } + + .btn-cerrar { + font-family: 'Bebas Neue', sans-serif; + font-weight: bold; + font-size: 150%; + position: absolute; + top: 3%; + right: 6%; + margin-top: -2%; + margin-right: -2%; + } + + .textAreEdit { width: 80%; height: 15%; display: block; @@ -350,11 +372,12 @@ font-family: 'Fira Sans Extra Condensed', sans-serif; font-size: 100%; left: 10%; - align-items: center; + align-items: center; + + } - } - .buttonUpdate{ - font-family: 'Bebas Neue', sans-serif; + .buttonUpdate { + font-family: 'Bebas Neue', sans-serif; width: 20%; height: 4%; display: flex; @@ -367,38 +390,42 @@ background-color: #F6DF0D; font-size: 90%; - } + } -} +} @media (max-width: 768px) { * { - margin: 0; + margin: 0; } + /*START*/ .HerCode { - display: flex;/* visualizar contenido */ + display: flex; + /* visualizar contenido */ justify-content: center; padding: 25%; color: #F6DF0D; - font-family:'Bebas Neue', sans-serif; + font-family: 'Bebas Neue', sans-serif; font-weight: bold; font-size: 500%; -webkit-text-stroke: 2px black; - position:fixed; + position: fixed; left: 50%; align-items: center; transform: translateX(-50%); overflow: hidden; } + .sectionOne { - background-image:url(./Imagenes/programadora.png); + background-image: url(./Imagenes/programadora.png); background-repeat: no-repeat; background-size: cover; height: 100vh; width: 100%; } - .btn-start{ + + .btn-start { background-color: #F6DF0D; font-family: 'Bebas Neue', sans-serif; font-weight: bold; @@ -413,29 +440,33 @@ top: 80%; left: 50%; transform: translateX(-45%); - + } + /*LOGIN*/ .HerCode2 { - display: flex;/* visualizar contenido */ + display: flex; + /* visualizar contenido */ justify-content: center; padding: 25%; color: #F6DF0D; - font-family:'Bebas Neue', sans-serif; + font-family: 'Bebas Neue', sans-serif; font-weight: bold; font-size: 600%; -webkit-text-stroke: 2px black; - position:fixed; + position: fixed; left: 50%; align-items: center; transform: translateX(-50%); overflow: hidden; - + } - .inputEmail{ - display: flex;/* visualizar contenido */ + + .inputEmail { + display: flex; + /* visualizar contenido */ justify-content: center; - font-family:'Bebas Neue', sans-serif; + font-family: 'Bebas Neue', sans-serif; font-size: 150%; border-radius: 8px; transform: translateX(-50%); @@ -443,15 +474,16 @@ width: 60%; height: 8%; text-align: center; - position: relative; - top: 40%; - left:50%; + position: relative; + top: 40%; + left: 50%; } - .inputPass{ - display: flex;/* visualizar contenido */ + .inputPass { + display: flex; + /* visualizar contenido */ justify-content: center; - font-family:'Bebas Neue', sans-serif; + font-family: 'Bebas Neue', sans-serif; font-size: 150%; border-radius: 8px; transform: translateX(-50%); @@ -459,12 +491,12 @@ width: 60%; height: 8%; text-align: center; - position: relative; - top: 40%; - left:50%; + position: relative; + top: 40%; + left: 50%; } - - .btn-login{ + + .btn-login { background-color: #F6DF0D; font-family: 'Bebas Neue', sans-serif; font-weight: bold; @@ -479,9 +511,9 @@ top: 70%; left: 50%; transform: translateX(-45%); - } + } - .btn-google{ + .btn-google { width: 65%; height: 8%; font-size: 100%; @@ -489,22 +521,24 @@ background-color: white; flex-direction: row-reverse; align-items: center; - top:80%; + top: 80%; display: flex; justify-content: center; - position:fixed; + position: fixed; left: 50%; transform: translateX(-45%); - - + + } - .googleImg{ + + .googleImg { width: 25px; height: 25px; padding-right: 10px; } - .btn-register{ + + .btn-register { font-family: 'Bebas Neue', sans-serif; font-weight: bold; width: 65%; @@ -523,8 +557,9 @@ color: #F6DF0D; -webkit-text-stroke: 1px black; } + /*REGISTER*/ - .btn-register2{ + .btn-register2 { background-color: #F6DF0D; font-family: 'Bebas Neue', sans-serif; font-weight: bold; @@ -540,10 +575,12 @@ left: 50%; transform: translateX(-45%); } - .inputnombre{ - display: flex;/* visualizar contenido */ + + .inputnombre { + display: flex; + /* visualizar contenido */ justify-content: center; - font-family:'Bebas Neue', sans-serif; + font-family: 'Bebas Neue', sans-serif; font-size: 150%; border-radius: 8px; transform: translateX(-50%); @@ -551,61 +588,67 @@ width: 60%; height: 8%; text-align: center; - position: relative; - top: 40%; - left:50%; + position: relative; + top: 40%; + left: 50%; } + /*BIENVENIDA*/ - .sectionTwo{ + .sectionTwo { background-color: #F6DF0D; background-image: url(https://static.wixstatic.com/media/dd7a20_4a5674d23ecd438f8c7c2ebcff428d48~mv2.gif); background-size: cover; height: 100vb; - + } .bienvenida { - display: flex;/* visualizar contenido */ + display: flex; + /* visualizar contenido */ justify-content: center; padding: 30%; - font-family:'Bebas Neue', sans-serif; + font-family: 'Bebas Neue', sans-serif; font-weight: bold; font-size: 400%; - color:#0202D4; - position:fixed; + color: #0202D4; + position: fixed; top: 15%; left: 35%; align-items: center; transform: translateX(-50%); } + /* MURO DE PROGRAMACION*/ - .sectionPost{ - background-image:url("/Imagenes/717d80e94419af898d59c8868c7da522.jpg"); - background-repeat: no-repeat; - width: 100%; - background-size: 100%; - position: relative; -} -.background-image { + .sectionPost { + background-image: url("/Imagenes/717d80e94419af898d59c8868c7da522.jpg"); + background-repeat: no-repeat; + width: 100%; + background-size: 100%; + position: relative; + } + + .background-image { background-image: url("src/Imagenes/ideas de fondo para HerCode.jfif"); background-position: center; background-repeat: no-repeat; width: 100%; background-size: 100%; position: relative; - - + + } - .titlePost{ - font-family:'Bebas Neue', sans-serif; + + .titlePost { + font-family: 'Bebas Neue', sans-serif; font-size: 350%; text-align: center; padding-top: 15%; position: relative; text-shadow: 0px 0px 9px #F6DF0D; - left:1%; + left: 1%; } - .btn-publicar { + + .btn-publicar { font-family: 'Bebas Neue', sans-serif; width: 15%; height: 3%; @@ -619,7 +662,8 @@ background-color: #F6DF0D; font-size: 120%; } - .textAreaPost{ + + .textAreaPost { width: 80%; height: 15%; display: block; @@ -632,9 +676,10 @@ font-family: 'Fira Sans Extra Condensed', sans-serif; font-size: 100%; left: 10%; - align-items: center; + align-items: center; } - .contenidoPost{ + + .contenidoPost { background-color: #FFFF; margin: 10% auto; width: 60%; @@ -642,26 +687,26 @@ border-color: #FFF6A1; border-width: 5px; border-radius: 15px; - border-style:ridge; + border-style: ridge; padding: 5%; font-size: 100%; font-family: 'Fira Sans Extra Condensed', sans-serif; - + } - - .btn-like { + + .btn-like { background-color: #F6DF0D; font-family: 'Bebas Neue', sans-serif; height: 35%; - margin-top: 10%; + margin-top: 10%; justify-content: center; - align-items: center; - width: 35%; + align-items: center; + width: 35%; transform: translateY(80%); - + } - - .buttonEdit { + + .buttonEdit { background-color: #F6DF0D; font-family: 'Bebas Neue', sans-serif; height: 35%; @@ -671,30 +716,31 @@ transform: translateY(80%); } - - .buttonDelete{ - transform: translateY(80%); - background-color: #F6DF0D; - font-family: 'Bebas Neue', sans-serif; - height: 35%; - justify-content: center; - align-items: center; - width: 25%; - - - } - - .btn-cerrar{ - font-family: 'Bebas Neue', sans-serif; - font-weight: bold; - font-size: 150%; - position: absolute; - top: 1%; - right: 3%; - margin-top: -2%; - margin-right: -2%; -} - .textAreEdit{ + + .buttonDelete { + transform: translateY(80%); + background-color: #F6DF0D; + font-family: 'Bebas Neue', sans-serif; + height: 35%; + justify-content: center; + align-items: center; + width: 25%; + + + } + + .btn-cerrar { + font-family: 'Bebas Neue', sans-serif; + font-weight: bold; + font-size: 150%; + position: absolute; + top: 1%; + right: 3%; + margin-top: -2%; + margin-right: -2%; + } + + .textAreEdit { width: 80%; height: 15%; display: block; @@ -707,11 +753,12 @@ font-family: 'Fira Sans Extra Condensed', sans-serif; font-size: 100%; left: 10%; - align-items: center; + align-items: center; - } - .buttonUpdate{ - font-family: 'Bebas Neue', sans-serif; + } + + .buttonUpdate { + font-family: 'Bebas Neue', sans-serif; width: 20%; height: 4%; display: flex; @@ -724,5 +771,5 @@ background-color: #F6DF0D; font-size: 90%; - } -} + } +} \ No newline at end of file