From cee8c4698fb4c1ae743e2f8231e490398f658585 Mon Sep 17 00:00:00 2001 From: "Cesar.Gomez" Date: Sun, 12 May 2024 20:01:33 -0600 Subject: [PATCH] Ultima Version sprint --- frontend/src/AppInicio.css | 2 +- frontend/src/Pasteles.jsx | 79 ++++++----- frontend/src/Pasteles/ChocolateBlanco.jsx | 137 +++++++++++++++++++- frontend/src/Pasteles/PastelCajeta.jsx | 148 +++++++++++++++++++-- frontend/src/Pasteles/PastelChocolate.jsx | 151 ++++++++++++++++++++-- frontend/src/Pasteles/PastelFrambuesa.jsx | 148 +++++++++++++++++++-- frontend/src/Pasteles/PastelMoka.jsx | 150 +++++++++++++++++++-- frontend/src/Pasteles/PastelZanahoria.jsx | 149 +++++++++++++++++++-- frontend/src/Pedidos.jsx | 34 ++++- frontend/src/PersPastel1.jsx | 11 +- frontend/src/Sesion/LoginForm.jsx | 8 +- frontend/src/index.css | 1 + 12 files changed, 908 insertions(+), 110 deletions(-) diff --git a/frontend/src/AppInicio.css b/frontend/src/AppInicio.css index 5f3ae1d..c17d1b3 100644 --- a/frontend/src/AppInicio.css +++ b/frontend/src/AppInicio.css @@ -1163,7 +1163,7 @@ html { } .enlaceNombre{ - margin-left: 600px; + margin-left: 500px; } diff --git a/frontend/src/Pasteles.jsx b/frontend/src/Pasteles.jsx index b143c93..106d898 100644 --- a/frontend/src/Pasteles.jsx +++ b/frontend/src/Pasteles.jsx @@ -1,7 +1,7 @@ import React, {useEffect, useState} from "react"; import viteLogo from '/vite.svg' - +import './Pasteles.css' import { RiCustomerService2Fill } from "react-icons/ri"; import { FaUser } from "react-icons/fa"; import { LuShoppingBasket } from "react-icons/lu"; @@ -21,11 +21,18 @@ import PastelZanahoria from "./assets/Pastel-Zanahoria.jpg"; import MejoresPasteles from "./assets/MejoresPasteles.jpg"; import PastelTematico from "./assets/pastel-tematico.jpg"; import Swal from 'sweetalert2' +import axios from 'axios'; function AppPasteles() { const [count, setCount] = useState(0); const navigate = useNavigate(); + const [datosFormulario, setDatosFormulario] = useState( + {correo: '', + password: '', + nombre: '' + }); + const redirectPersonalizarPastelArcoiris = () => { // Redirige a la página del hotel cuando se hace clic en el botón navigate("/PersonalizarPastel/PastelArcoiris"); @@ -75,43 +82,39 @@ function AppPasteles() { navigate("/Pasteles/PastelCajeta") }; - const [nombreUsuario, setNombreUsuario]=useState(""); + - const mostrarAlertaLogOut=()=>{ + const mostrarAlertaLogOut = () => { Swal.fire({ - title: "Cerrar Sesion", - text: "Seguro que quieres cerrar sesion", + title: "Cerrar Sesión", + text: "¿Seguro que quieres cerrar sesión?", icon: "warning", - buttons: ["No","Si"] - }).then(respuesta=>{ - if(respuesta){ - Swal.fire({text: "Sesion cerrada correctamente. Adios "+nombreUsuario+"", - icon: "success" - }) - cerrarSesion(); + showCancelButton: true, // Mostrar el botón de cancelar + confirmButtonColor: "#3085d6", // Color del botón de confirmar + cancelButtonColor: "#d33", // Color del botón de cancelar + confirmButtonText: "Sí", // Texto del botón de confirmar + cancelButtonText: "No", // Texto del botón de cancelar + }).then((result) => { + if (result.isConfirmed) { + Swal.fire({ + text: "Sesión cerrada correctamente. Adiós " + nombreUsuario + "", + icon: "success", + }); + cerrarSesion(); } - }) - } + }); + }; + + const [nombreUsuario, setNombreUsuario]=useState(""); const obtenerNombreUsuario = async () => { try { // Realizar la llamada al backend para obtener el nombre del usuario - const response = await axios.post('http://localhost:4567/frontend/obtenerUsuario'); + const response = await axios.post('http://localhost:4567/frontend/obtenerUsuario', { datosFormulario }); setNombreUsuario(response.data.nombre); - } catch (error) { - // Manejar el error según tus necesidades - console.error("Error al obtener el nombre del usuario", error); - } - }; - - const cerrarSesion = async () => { - try { - // Realizar la llamada al backend para obtener el nombre del usuario - const response = await axios.post('http://localhost:4567/frontend/cerrarSesion'); - setNombreUsuario(response.data.nombre); - obtenerNombreUsuario(); - redirectToHotelPage(); + console.log(nombreUsuario); + } catch (error) { // Manejar el error según tus necesidades console.error("Error al obtener el nombre del usuario", error); @@ -122,6 +125,20 @@ function AppPasteles() { // Llamar a la función al cargar la página obtenerNombreUsuario(); }, []); + + const cerrarSesion = async () => { + try { + // Realizar la llamada al backend para obtener el nombre del usuario + const response = await axios.post('http://localhost:4567/frontend/cerrarSesion', { datosFormulario }); + setNombreUsuario(response.data.nombre); + console.log(nombreUsuario); + obtenerNombreUsuario(); + //mostrarAlertaLogOut(); + } catch (error) { + // Manejar el error según tus necesidades + console.error("Error al obtener el nombre del usuario", error); + } + }; return ( <> @@ -165,11 +182,11 @@ function AppPasteles() {
  • Blog
  • {nombreUsuario ? ( <> -
  • {nombreUsuario}
  • -
  • Cerrar Sesión
  • +
  • {nombreUsuario}
  • +
  • Cerrar Sesión
  • ) : ( -
  • Iniciar Sesión
  • +
  • Iniciar Sesión
  • ) } diff --git a/frontend/src/Pasteles/ChocolateBlanco.jsx b/frontend/src/Pasteles/ChocolateBlanco.jsx index fcdd0c2..a90d963 100644 --- a/frontend/src/Pasteles/ChocolateBlanco.jsx +++ b/frontend/src/Pasteles/ChocolateBlanco.jsx @@ -1,4 +1,4 @@ -import React, { useState } from "react"; +import React, {useEffect, useState} from "react"; import { RiCustomerService2Fill } from "react-icons/ri"; import { FaUser } from "react-icons/fa"; @@ -9,11 +9,19 @@ import { FaRegEye } from "react-icons/fa"; import { CiShare2 } from "react-icons/ci"; import { useNavigate } from "react-router-dom"; import './ChocolateBlanco.css'; +import Swal from 'sweetalert2' +import axios from 'axios'; function ChocolateBlanco() { const navigate = useNavigate(); + const [datosFormulario, setDatosFormulario] = useState( + {correo: '', + password: '', + nombre: '' + }); + const redirectPersonalizarPastelArcoiris = () => { // Redirige a la página del hotel cuando se hace clic en el botón navigate("/PersonalizarPastel/PastelArcoiris"); @@ -32,7 +40,121 @@ function ChocolateBlanco() { // Redirige a la página del hotel cuando se hace clic en el botón navigate("/"); }; + + const redirectToLogin = () => { + + navigate("/Login"); + }; + + + const mostrarAlertaLogOut = () => { + Swal.fire({ + title: "Cerrar Sesión", + text: "¿Seguro que quieres cerrar sesión?", + icon: "warning", + showCancelButton: true, // Mostrar el botón de cancelar + confirmButtonColor: "#3085d6", // Color del botón de confirmar + cancelButtonColor: "#d33", // Color del botón de cancelar + confirmButtonText: "Sí", // Texto del botón de confirmar + cancelButtonText: "No", // Texto del botón de cancelar + }).then((result) => { + if (result.isConfirmed) { + Swal.fire({ + text: "Sesión cerrada correctamente. Adiós " + nombreUsuario + "", + icon: "success", + }); + cerrarSesion(); + } + }); + }; + + const [nombreUsuario, setNombreUsuario]=useState(""); + const obtenerNombreUsuario = async () => { + try { + // Realizar la llamada al backend para obtener el nombre del usuario + const response = await axios.post('http://localhost:4567/frontend/obtenerUsuario', { datosFormulario }); + setNombreUsuario(response.data.nombre); + console.log(nombreUsuario); + + } catch (error) { + // Manejar el error según tus necesidades + console.error("Error al obtener el nombre del usuario", error); + } + }; + + useEffect(() => { + // Llamar a la función al cargar la página + obtenerNombreUsuario(); + }, []); + + const cerrarSesion = async () => { + try { + // Realizar la llamada al backend para obtener el nombre del usuario + const response = await axios.post('http://localhost:4567/frontend/cerrarSesion', { datosFormulario }); + setNombreUsuario(response.data.nombre); + console.log(nombreUsuario); + obtenerNombreUsuario(); + //mostrarAlertaLogOut(); + } catch (error) { + // Manejar el error según tus necesidades + console.error("Error al obtener el nombre del usuario", error); + } + }; + + const mostrarAlertaReservaFallidaPers=()=>{ + Swal.fire({ + title: "Pedidos Info", + text: "No se encuentra disponible.", + icon: "info", + button: "Aceptar" + + }); + }; + + const mostrarAlertaReservaExitosa=()=>{ + Swal.fire({ + title: "Pedido Exitosa", + text: "Tu Pedido se ha realizado correctamente.", + icon: "success", + button: "Aceptar" + + }); + }; + + + const hacerPedidoPastel1 = async () => { + + + try{ + + if(nombreUsuario==null){ + mostrarAlertaPedidoFallidaLogin(); + + }else{ + + const response = await axios.post('http://localhost:4567/frontend/hacerPedidoPastel1', { + textoEncima: "", + textoCantidad: "8", + textoRelleno: "Confetti cake", + textoTipo: "Pastel Chocolate Blanco", + textoPrecio:"603", + idPastel: "2" + }); + + mostrarAlertaReservaExitosa(); + + } + + }catch(error){ + console.error("Error al hace el pedido"); + throw error; + + } + + + + }; return ( <> @@ -76,6 +198,15 @@ function ChocolateBlanco() {
  • Personalizar Pastel
  • Pedidos
  • Blog
  • + {nombreUsuario ? ( + <> +
  • {nombreUsuario}
  • +
  • Cerrar Sesión
  • + + ) : ( +
  • Iniciar Sesión
  • + ) + }
    @@ -108,6 +239,8 @@ function ChocolateBlanco() {

    Tamaño:

    Grande

    +

    Relleno:

    Confetti cake

    +
    @@ -118,7 +251,7 @@ function ChocolateBlanco() {
    - diff --git a/frontend/src/Pasteles/PastelCajeta.jsx b/frontend/src/Pasteles/PastelCajeta.jsx index 25f71ad..b9092f1 100644 --- a/frontend/src/Pasteles/PastelCajeta.jsx +++ b/frontend/src/Pasteles/PastelCajeta.jsx @@ -1,4 +1,4 @@ -import React, { useState } from "react"; +import React, {useEffect, useState} from "react"; import { RiCustomerService2Fill } from "react-icons/ri"; import { FaUser } from "react-icons/fa"; @@ -9,10 +9,16 @@ import { FaRegEye } from "react-icons/fa"; import { CiShare2 } from "react-icons/ci"; import { useNavigate } from "react-router-dom"; import './ChocolateBlanco.css'; - +import Swal from 'sweetalert2' +import axios from 'axios'; function PastelCajeta() { const navigate = useNavigate(); + const [datosFormulario, setDatosFormulario] = useState( + {correo: '', + password: '', + nombre: '' + }); const redirectPersonalizarPastelArcoiris = () => { // Redirige a la página del hotel cuando se hace clic en el botón @@ -32,9 +38,123 @@ function PastelCajeta() { // Redirige a la página del hotel cuando se hace clic en el botón navigate("/"); }; + const redirectToLogin = () => { + + navigate("/Login"); + }; + + + const mostrarAlertaLogOut = () => { + Swal.fire({ + title: "Cerrar Sesión", + text: "¿Seguro que quieres cerrar sesión?", + icon: "warning", + showCancelButton: true, // Mostrar el botón de cancelar + confirmButtonColor: "#3085d6", // Color del botón de confirmar + cancelButtonColor: "#d33", // Color del botón de cancelar + confirmButtonText: "Sí", // Texto del botón de confirmar + cancelButtonText: "No", // Texto del botón de cancelar + }).then((result) => { + if (result.isConfirmed) { + Swal.fire({ + text: "Sesión cerrada correctamente. Adiós " + nombreUsuario + "", + icon: "success", + }); + cerrarSesion(); + } + }); + }; + + const [nombreUsuario, setNombreUsuario]=useState(""); + + const obtenerNombreUsuario = async () => { + try { + // Realizar la llamada al backend para obtener el nombre del usuario + const response = await axios.post('http://localhost:4567/frontend/obtenerUsuario', { datosFormulario }); + setNombreUsuario(response.data.nombre); + console.log(nombreUsuario); + + } catch (error) { + // Manejar el error según tus necesidades + console.error("Error al obtener el nombre del usuario", error); + } + }; + + useEffect(() => { + // Llamar a la función al cargar la página + obtenerNombreUsuario(); + }, []); + + const cerrarSesion = async () => { + try { + // Realizar la llamada al backend para obtener el nombre del usuario + const response = await axios.post('http://localhost:4567/frontend/cerrarSesion', { datosFormulario }); + setNombreUsuario(response.data.nombre); + console.log(nombreUsuario); + obtenerNombreUsuario(); + //mostrarAlertaLogOut(); + } catch (error) { + // Manejar el error según tus necesidades + console.error("Error al obtener el nombre del usuario", error); + } + }; + + const mostrarAlertaReservaFallidaPers=()=>{ + Swal.fire({ + title: "Pedidos Info", + text: "No se encuentra disponible.", + icon: "info", + button: "Aceptar" + + }); + }; + + const mostrarAlertaReservaExitosa=()=>{ + Swal.fire({ + title: "Pedido Exitosa", + text: "Tu Pedido se ha realizado correctamente.", + icon: "success", + button: "Aceptar" + + }); + }; + + + const hacerPedidoPastel1 = async () => { + + + try{ + + if(nombreUsuario==null){ + mostrarAlertaPedidoFallidaLogin(); + + }else{ + + const response = await axios.post('http://localhost:4567/frontend/hacerPedidoPastel1', { + textoEncima: "", + textoCantidad: "8", + textoRelleno: "Chocolate Fudge Cake", + textoTipo: "Pastel Cajeta", + textoPrecio:"390", + idPastel: "3" + }); + + mostrarAlertaReservaExitosa(); + + } + + }catch(error){ + console.error("Error al hace el pedido"); + throw error; + + } + + + + }; return ( <> @@ -77,6 +197,15 @@ function PastelCajeta() {
  • Personalizar Pastel
  • Pedidos
  • Blog
  • + {nombreUsuario ? ( + <> +
  • {nombreUsuario}
  • +
  • Cerrar Sesión
  • + + ) : ( +
  • Iniciar Sesión
  • + ) + } @@ -109,6 +238,8 @@ function PastelCajeta() {

    Tamaño:

    Mediano

    +

    Relleno:

    Chocolate Fudge Cake

    +
    @@ -119,7 +250,7 @@ function PastelCajeta() {
    - @@ -157,16 +288,7 @@ function PastelCajeta() {
    -
    - Compartir -
    - - - - - -
    -
    + diff --git a/frontend/src/Pasteles/PastelChocolate.jsx b/frontend/src/Pasteles/PastelChocolate.jsx index b6898bd..dcf6d7a 100644 --- a/frontend/src/Pasteles/PastelChocolate.jsx +++ b/frontend/src/Pasteles/PastelChocolate.jsx @@ -1,4 +1,4 @@ -import React, { useState } from "react"; +import React, {useEffect, useState} from "react"; import { RiCustomerService2Fill } from "react-icons/ri"; import { FaUser } from "react-icons/fa"; @@ -9,15 +9,24 @@ import { FaRegEye } from "react-icons/fa"; import { CiShare2 } from "react-icons/ci"; import { useNavigate } from "react-router-dom"; import './ChocolateBlanco.css'; +import Swal from 'sweetalert2' +import axios from 'axios'; function PastelChocolate() { const navigate = useNavigate(); + const [datosFormulario, setDatosFormulario] = useState( + {correo: '', + password: '', + nombre: '' + }); + const redirectPersonalizarPastelArcoiris = () => { // Redirige a la página del hotel cuando se hace clic en el botón navigate("/PersonalizarPastel/PastelArcoiris"); }; + const redirectToPedidos = () => { navigate("/Pedidos"); @@ -34,6 +43,121 @@ function PastelChocolate() { }; + const redirectToLogin = () => { + + navigate("/Login"); + }; + + + const mostrarAlertaLogOut = () => { + Swal.fire({ + title: "Cerrar Sesión", + text: "¿Seguro que quieres cerrar sesión?", + icon: "warning", + showCancelButton: true, // Mostrar el botón de cancelar + confirmButtonColor: "#3085d6", // Color del botón de confirmar + cancelButtonColor: "#d33", // Color del botón de cancelar + confirmButtonText: "Sí", // Texto del botón de confirmar + cancelButtonText: "No", // Texto del botón de cancelar + }).then((result) => { + if (result.isConfirmed) { + Swal.fire({ + text: "Sesión cerrada correctamente. Adiós " + nombreUsuario + "", + icon: "success", + }); + cerrarSesion(); + } + }); + }; + + const [nombreUsuario, setNombreUsuario]=useState(""); + + const obtenerNombreUsuario = async () => { + try { + // Realizar la llamada al backend para obtener el nombre del usuario + const response = await axios.post('http://localhost:4567/frontend/obtenerUsuario', { datosFormulario }); + setNombreUsuario(response.data.nombre); + console.log(nombreUsuario); + + } catch (error) { + // Manejar el error según tus necesidades + console.error("Error al obtener el nombre del usuario", error); + } + }; + + useEffect(() => { + // Llamar a la función al cargar la página + obtenerNombreUsuario(); + }, []); + + const cerrarSesion = async () => { + try { + // Realizar la llamada al backend para obtener el nombre del usuario + const response = await axios.post('http://localhost:4567/frontend/cerrarSesion', { datosFormulario }); + setNombreUsuario(response.data.nombre); + console.log(nombreUsuario); + obtenerNombreUsuario(); + //mostrarAlertaLogOut(); + } catch (error) { + // Manejar el error según tus necesidades + console.error("Error al obtener el nombre del usuario", error); + } + }; + + + const mostrarAlertaReservaFallidaPers=()=>{ + Swal.fire({ + title: "Pedidos Info", + text: "No se encuentra disponible.", + icon: "info", + button: "Aceptar" + + }); + }; + + const mostrarAlertaReservaExitosa=()=>{ + Swal.fire({ + title: "Pedido Exitosa", + text: "Tu Pedido se ha realizado correctamente.", + icon: "success", + button: "Aceptar" + + }); + }; + + + const hacerPedidoPastel1 = async () => { + + + try{ + + if(nombreUsuario==null){ + mostrarAlertaPedidoFallidaLogin(); + + }else{ + + const response = await axios.post('http://localhost:4567/frontend/hacerPedidoPastel1', { + textoEncima: "", + textoCantidad: "8", + textoRelleno: "Chocolate Fudge Cake", + textoTipo: "Pastel de Chocolate", + textoPrecio:"350", + idPastel: "5" + }); + + mostrarAlertaReservaExitosa(); + } + + }catch(error){ + console.error("Error al hace el pedido"); + throw error; + + } + + + + }; + return ( <> @@ -76,7 +200,15 @@ function PastelChocolate() {
  • Personalizar Pastel
  • Pedidos
  • Blog
  • - + {nombreUsuario ? ( + <> +
  • {nombreUsuario}
  • +
  • Cerrar Sesión
  • + + ) : ( +
  • Iniciar Sesión
  • + ) + } @@ -109,6 +241,8 @@ function PastelChocolate() {

    Precio:

    $350

    Tamaño:

    Mediano

    + +

    Relleno:

    Chocolate Fudge Cake

    @@ -121,7 +255,7 @@ function PastelChocolate() {
    - @@ -159,16 +293,7 @@ function PastelChocolate() {
    -
    - Compartir -
    - - - - - -
    -
    + diff --git a/frontend/src/Pasteles/PastelFrambuesa.jsx b/frontend/src/Pasteles/PastelFrambuesa.jsx index e4c7256..3584bc5 100644 --- a/frontend/src/Pasteles/PastelFrambuesa.jsx +++ b/frontend/src/Pasteles/PastelFrambuesa.jsx @@ -1,4 +1,4 @@ -import React, { useState } from "react"; +import React, {useEffect, useState} from "react"; import { RiCustomerService2Fill } from "react-icons/ri"; import { FaUser } from "react-icons/fa"; @@ -9,10 +9,16 @@ import { FaRegEye } from "react-icons/fa"; import { CiShare2 } from "react-icons/ci"; import { useNavigate } from "react-router-dom"; import './ChocolateBlanco.css'; - +import Swal from 'sweetalert2' +import axios from 'axios'; function PastelFrambuesa() { const navigate = useNavigate(); + const [datosFormulario, setDatosFormulario] = useState( + {correo: '', + password: '', + nombre: '' + }); const redirectPersonalizarPastelArcoiris = () => { // Redirige a la página del hotel cuando se hace clic en el botón @@ -33,7 +39,121 @@ function PastelFrambuesa() { navigate("/"); }; + const redirectToLogin = () => { + navigate("/Login"); + }; + + + const mostrarAlertaLogOut = () => { + Swal.fire({ + title: "Cerrar Sesión", + text: "¿Seguro que quieres cerrar sesión?", + icon: "warning", + showCancelButton: true, // Mostrar el botón de cancelar + confirmButtonColor: "#3085d6", // Color del botón de confirmar + cancelButtonColor: "#d33", // Color del botón de cancelar + confirmButtonText: "Sí", // Texto del botón de confirmar + cancelButtonText: "No", // Texto del botón de cancelar + }).then((result) => { + if (result.isConfirmed) { + Swal.fire({ + text: "Sesión cerrada correctamente. Adiós " + nombreUsuario + "", + icon: "success", + }); + cerrarSesion(); + } + }); + }; + + const [nombreUsuario, setNombreUsuario]=useState(""); + + const obtenerNombreUsuario = async () => { + try { + // Realizar la llamada al backend para obtener el nombre del usuario + const response = await axios.post('http://localhost:4567/frontend/obtenerUsuario', { datosFormulario }); + setNombreUsuario(response.data.nombre); + console.log(nombreUsuario); + + } catch (error) { + // Manejar el error según tus necesidades + console.error("Error al obtener el nombre del usuario", error); + } + }; + + useEffect(() => { + // Llamar a la función al cargar la página + obtenerNombreUsuario(); + }, []); + + const cerrarSesion = async () => { + try { + // Realizar la llamada al backend para obtener el nombre del usuario + const response = await axios.post('http://localhost:4567/frontend/cerrarSesion', { datosFormulario }); + setNombreUsuario(response.data.nombre); + console.log(nombreUsuario); + obtenerNombreUsuario(); + //mostrarAlertaLogOut(); + } catch (error) { + // Manejar el error según tus necesidades + console.error("Error al obtener el nombre del usuario", error); + } + }; + + + const mostrarAlertaReservaFallidaPers=()=>{ + Swal.fire({ + title: "Pedidos Info", + text: "No se encuentra disponible.", + icon: "info", + button: "Aceptar" + + }); + }; + + const mostrarAlertaReservaExitosa=()=>{ + Swal.fire({ + title: "Pedido Exitosa", + text: "Tu Pedido se ha realizado correctamente.", + icon: "success", + button: "Aceptar" + + }); + }; + + + const hacerPedidoPastel1 = async () => { + + + try{ + + if(nombreUsuario==null){ + mostrarAlertaPedidoFallidaLogin(); + + }else{ + + const response = await axios.post('http://localhost:4567/frontend/hacerPedidoPastel1', { + textoEncima: "", + textoCantidad: "12", + textoRelleno: "Vanilla Rainbow Cake", + textoTipo: "Pastel Frambuesa", + textoPrecio:"500", + idPastel: "7" + }); + + mostrarAlertaReservaExitosa(); + + } + + }catch(error){ + console.error("Error al hace el pedido"); + throw error; + + } + + + + }; return ( <> @@ -76,6 +196,15 @@ function PastelFrambuesa() {
  • Personalizar Pastel
  • Pedidos
  • Blog
  • + {nombreUsuario ? ( + <> +
  • {nombreUsuario}
  • +
  • Cerrar Sesión
  • + + ) : ( +
  • Iniciar Sesión
  • + ) + } @@ -108,6 +237,8 @@ function PastelFrambuesa() {

    Tamaño:

    Grande

    +

    Relleno:

    Vanilla Rainbow Cake

    +
    @@ -118,7 +249,7 @@ function PastelFrambuesa() {
    - @@ -156,16 +287,7 @@ function PastelFrambuesa() {
    -
    - Compartir -
    - - - - - -
    -
    + diff --git a/frontend/src/Pasteles/PastelMoka.jsx b/frontend/src/Pasteles/PastelMoka.jsx index 214920a..15a75c8 100644 --- a/frontend/src/Pasteles/PastelMoka.jsx +++ b/frontend/src/Pasteles/PastelMoka.jsx @@ -1,4 +1,4 @@ -import React, { useState } from "react"; +import React, {useEffect, useState} from "react"; import { RiCustomerService2Fill } from "react-icons/ri"; import { FaUser } from "react-icons/fa"; @@ -8,12 +8,19 @@ import { CiHeart } from "react-icons/ci"; import { FaRegEye } from "react-icons/fa"; import { CiShare2 } from "react-icons/ci"; import { useNavigate } from "react-router-dom"; -import './ChocolateBlanco.css'; +import Swal from 'sweetalert2' +import axios from 'axios'; function PastelMoka() { const navigate = useNavigate(); + const [datosFormulario, setDatosFormulario] = useState( + {correo: '', + password: '', + nombre: '' + }); + const redirectPersonalizarPastelArcoiris = () => { // Redirige a la página del hotel cuando se hace clic en el botón navigate("/PersonalizarPastel/PastelArcoiris"); @@ -33,6 +40,121 @@ function PastelMoka() { navigate("/"); }; + const redirectToLogin = () => { + + navigate("/Login"); + }; + + + const mostrarAlertaLogOut = () => { + Swal.fire({ + title: "Cerrar Sesión", + text: "¿Seguro que quieres cerrar sesión?", + icon: "warning", + showCancelButton: true, // Mostrar el botón de cancelar + confirmButtonColor: "#3085d6", // Color del botón de confirmar + cancelButtonColor: "#d33", // Color del botón de cancelar + confirmButtonText: "Sí", // Texto del botón de confirmar + cancelButtonText: "No", // Texto del botón de cancelar + }).then((result) => { + if (result.isConfirmed) { + Swal.fire({ + text: "Sesión cerrada correctamente. Adiós " + nombreUsuario + "", + icon: "success", + }); + cerrarSesion(); + } + }); + }; + + const [nombreUsuario, setNombreUsuario]=useState(""); + + const obtenerNombreUsuario = async () => { + try { + // Realizar la llamada al backend para obtener el nombre del usuario + const response = await axios.post('http://localhost:4567/frontend/obtenerUsuario', { datosFormulario }); + setNombreUsuario(response.data.nombre); + console.log(nombreUsuario); + + } catch (error) { + // Manejar el error según tus necesidades + console.error("Error al obtener el nombre del usuario", error); + } + }; + + useEffect(() => { + // Llamar a la función al cargar la página + obtenerNombreUsuario(); + }, []); + + const cerrarSesion = async () => { + try { + // Realizar la llamada al backend para obtener el nombre del usuario + const response = await axios.post('http://localhost:4567/frontend/cerrarSesion', { datosFormulario }); + setNombreUsuario(response.data.nombre); + console.log(nombreUsuario); + obtenerNombreUsuario(); + //mostrarAlertaLogOut(); + } catch (error) { + // Manejar el error según tus necesidades + console.error("Error al obtener el nombre del usuario", error); + } + }; + + + const mostrarAlertaReservaFallidaPers=()=>{ + Swal.fire({ + title: "Pedidos Info", + text: "No se encuentra disponible.", + icon: "info", + button: "Aceptar" + + }); + }; + + const mostrarAlertaReservaExitosa=()=>{ + Swal.fire({ + title: "Pedido Exitosa", + text: "Tu Pedido se ha realizado correctamente.", + icon: "success", + button: "Aceptar" + + }); + }; + + + const hacerPedidoPastel1 = async () => { + + + try{ + + if(nombreUsuario==null){ + mostrarAlertaPedidoFallidaLogin(); + + }else{ + + const response = await axios.post('http://localhost:4567/frontend/hacerPedidoPastel1', { + textoEncima: "", + textoCantidad: "8", + textoRelleno: "Vanilla Rainbow Cake", + textoTipo: "Pastel de Moka", + textoPrecio:"560", + idPastel: "4" + }); + + mostrarAlertaReservaExitosa(); + + } + + }catch(error){ + console.error("Error al hace el pedido"); + throw error; + + } + + + + }; return ( <> @@ -76,7 +198,15 @@ function PastelMoka() {
  • Personalizar Pastel
  • Pedidos
  • Blog
  • - + {nombreUsuario ? ( + <> +
  • {nombreUsuario}
  • +
  • Cerrar Sesión
  • + + ) : ( +
  • Iniciar Sesión
  • + ) + } @@ -110,6 +240,8 @@ function PastelMoka() {

    Tamaño:

    Mediano

    +

    Relleno:

    Vanilla Rainbow Cake

    +
    @@ -122,7 +254,7 @@ function PastelMoka() {
    - @@ -160,16 +292,6 @@ function PastelMoka() {
    -
    - Compartir -
    - - - - - -
    -
    diff --git a/frontend/src/Pasteles/PastelZanahoria.jsx b/frontend/src/Pasteles/PastelZanahoria.jsx index 673cacf..15363b0 100644 --- a/frontend/src/Pasteles/PastelZanahoria.jsx +++ b/frontend/src/Pasteles/PastelZanahoria.jsx @@ -1,4 +1,4 @@ -import React, { useState } from "react"; +import React, {useEffect, useState} from "react"; import { RiCustomerService2Fill } from "react-icons/ri"; import { FaUser } from "react-icons/fa"; @@ -9,10 +9,17 @@ import { FaRegEye } from "react-icons/fa"; import { CiShare2 } from "react-icons/ci"; import { useNavigate } from "react-router-dom"; import './ChocolateBlanco.css'; +import Swal from 'sweetalert2' +import axios from 'axios'; function PastelZanahoria() { const navigate = useNavigate(); + const [datosFormulario, setDatosFormulario] = useState( + {correo: '', + password: '', + nombre: '' + }); const redirectPersonalizarPastelArcoiris = () => { // Redirige a la página del hotel cuando se hace clic en el botón @@ -33,7 +40,122 @@ function PastelZanahoria() { navigate("/"); }; + const redirectToLogin = () => { + navigate("/Login"); + }; + + + const mostrarAlertaLogOut = () => { + Swal.fire({ + title: "Cerrar Sesión", + text: "¿Seguro que quieres cerrar sesión?", + icon: "warning", + showCancelButton: true, // Mostrar el botón de cancelar + confirmButtonColor: "#3085d6", // Color del botón de confirmar + cancelButtonColor: "#d33", // Color del botón de cancelar + confirmButtonText: "Sí", // Texto del botón de confirmar + cancelButtonText: "No", // Texto del botón de cancelar + }).then((result) => { + if (result.isConfirmed) { + Swal.fire({ + text: "Sesión cerrada correctamente. Adiós " + nombreUsuario + "", + icon: "success", + }); + cerrarSesion(); + } + }); + }; + + const [nombreUsuario, setNombreUsuario]=useState(""); + + const obtenerNombreUsuario = async () => { + try { + // Realizar la llamada al backend para obtener el nombre del usuario + const response = await axios.post('http://localhost:4567/frontend/obtenerUsuario', { datosFormulario }); + setNombreUsuario(response.data.nombre); + console.log(nombreUsuario); + + } catch (error) { + // Manejar el error según tus necesidades + console.error("Error al obtener el nombre del usuario", error); + } + }; + + useEffect(() => { + // Llamar a la función al cargar la página + obtenerNombreUsuario(); + }, []); + + const cerrarSesion = async () => { + try { + // Realizar la llamada al backend para obtener el nombre del usuario + const response = await axios.post('http://localhost:4567/frontend/cerrarSesion', { datosFormulario }); + setNombreUsuario(response.data.nombre); + console.log(nombreUsuario); + obtenerNombreUsuario(); + //mostrarAlertaLogOut(); + } catch (error) { + // Manejar el error según tus necesidades + console.error("Error al obtener el nombre del usuario", error); + } + }; + + + const mostrarAlertaReservaFallidaPers=()=>{ + Swal.fire({ + title: "Pedidos Info", + text: "No se encuentra disponible.", + icon: "info", + button: "Aceptar" + + }); + }; + + const mostrarAlertaReservaExitosa=()=>{ + Swal.fire({ + title: "Pedido Exitosa", + text: "Tu Pedido se ha realizado correctamente.", + icon: "success", + button: "Aceptar" + + }); + }; + + + const hacerPedidoPastel1 = async () => { + + + try{ + + if(nombreUsuario==null){ + mostrarAlertaPedidoFallidaLogin(); + + }else{ + + const response = await axios.post('http://localhost:4567/frontend/hacerPedidoPastel1', { + textoEncima: "", + textoCantidad: "8", + textoRelleno: "Vanilla Rainbow Cake", + textoTipo: "Pastel de Zanahoria", + textoPrecio:"450", + idPastel: "6" + }); + + mostrarAlertaReservaExitosa(); + + } + + }catch(error){ + console.error("Error al hace el pedido"); + throw error; + + } + + + + }; + return ( <> @@ -76,6 +198,15 @@ function PastelZanahoria() {
  • Personalizar Pastel
  • Pedidos
  • Blog
  • + {nombreUsuario ? ( + <> +
  • {nombreUsuario}
  • +
  • Cerrar Sesión
  • + + ) : ( +
  • Iniciar Sesión
  • + ) + } @@ -108,6 +239,9 @@ function PastelZanahoria() {

    Tamaño:

    Chico

    +

    Relleno:

    Vanilla Rainbow Cake

    + +
    @@ -118,7 +252,7 @@ function PastelZanahoria() {
    - @@ -156,16 +290,7 @@ function PastelZanahoria() {
    -
    - Compartir -
    - - - - - -
    -
    + diff --git a/frontend/src/Pedidos.jsx b/frontend/src/Pedidos.jsx index 8bb462b..be1f3ca 100644 --- a/frontend/src/Pedidos.jsx +++ b/frontend/src/Pedidos.jsx @@ -3,7 +3,13 @@ import { useState, useEffect } from 'react'; import './Pedidos.css'; import viteLogo from '/vite.svg' - +import Edicion1 from './assets/Edicion21.jpg'; +import Edicion12 from './assets/Edicion12.jpg'; +import Edicion13 from './assets/Edicion13.jpg'; +import Edicion14 from './assets/Edicion14.jpg'; +import Edicion15 from './assets/Edicion15.jpg'; +import Edicion16 from './assets/Edicion16.jpg'; +import otra_imagen from './assets/Edicion2.jpg'; import { RiCustomerService2Fill } from "react-icons/ri"; import { FaUser } from "react-icons/fa"; import { LuShoppingBasket } from "react-icons/lu"; @@ -159,15 +165,33 @@ const mostrarAlertaLogOut = () => {
    - {pedido.nombre_pastel === 'Pastel de Fresas' ? ( + {pedido.nombre_pastel === 'Pastel de Fresas' ? ( pedido.relleno === 'Original' ? : pedido.relleno === 'Arcoiris' ? : pedido.relleno === 'Oreo' ? : pedido.relleno === 'Vainilla' ? : // Si el relleno no coincide con ninguno de los anteriores - ) : ( - // Si el pastel no es de fresas - )} + ) : pedido.nombre_pastel === 'Pastel Chocolate Blanco' ? ( + + + ) : pedido.nombre_pastel === 'Pastel Cajeta' ? ( + + + ): pedido.nombre_pastel === 'Pastel de Chocolate' ? ( + + + ): pedido.nombre_pastel === 'Pastel Frambuesa' ? ( + + + ) : pedido.nombre_pastel === 'Pastel de Moka' ? ( + + + ) : pedido.nombre_pastel === 'Pastel de Zanahoria' ? ( + + + ):( + // Si el pastel no es de fresas ni de chocolate blanco + )}
    diff --git a/frontend/src/PersPastel1.jsx b/frontend/src/PersPastel1.jsx index ff605a6..9e15012 100644 --- a/frontend/src/PersPastel1.jsx +++ b/frontend/src/PersPastel1.jsx @@ -280,11 +280,12 @@ const [datosFormulario, setDatosFormulario] = useState( }else{ const response = await axios.post('http://localhost:4567/frontend/hacerPedidoPastel1', { - textoEncima: textoEncima, - textoCantidad: datosPastel.quantity, - textoRelleno: textoRelleno, - textoTipo: textoTipo - }); + textoEncima: textoEncima, + textoCantidad: datosPastel.quantity, + textoRelleno: textoRelleno, + textoTipo: "Pastel de Fresas", + textoPrecio:"1000", + }); console.log(response.data); mostrarAlertaReservaExitosa(); diff --git a/frontend/src/Sesion/LoginForm.jsx b/frontend/src/Sesion/LoginForm.jsx index 5cdd159..dc2df3b 100644 --- a/frontend/src/Sesion/LoginForm.jsx +++ b/frontend/src/Sesion/LoginForm.jsx @@ -31,7 +31,12 @@ const redirectToRecuperarContraseña = () => { }).then(respuesta=>{ if(respuesta){ - redirectToHome(); + if(datosFormulario.correo == "admin" && datosFormulario.password == "12345"){ + console.log("asdasddsdasdasdadadsasddasdasdassa"); + }else{ + redirectToHome(); + } + } }) @@ -159,6 +164,7 @@ const redirectToHome = () => {

    ¿No tienes una cuenta? Register

    + {mostrarPopupV && setMostrarPopupV(false)} />} diff --git a/frontend/src/index.css b/frontend/src/index.css index 6119ad9..a99eb32 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -66,3 +66,4 @@ button:focus-visible { background-color: #f9f9f9; } } +