diff --git a/src/views/bus/noencontrados.jsx b/src/views/bus/noencontrados.jsx
new file mode 100644
index 0000000..2da3337
--- /dev/null
+++ b/src/views/bus/noencontrados.jsx
@@ -0,0 +1,38 @@
+import { useLocation } from "react-router-dom";
+import Fot from "../../components/Footer";
+import { Link } from "react-router-dom";
+import Barra from "../../components/Navegacion/barra";
+import Noencontrado from "../../img/noEncontrados.png";
+
+function ProductosEncontrados() {
+ return (
+
+
+
+
+
+
+ No hemos encontrado productos que coincidan con tu búsqueda.
+
+
+ Puede que el producto esté agotado o que no esté disponible en este momento.
+
+
+
+ Volver al Inicio
+
+
+
+ {/* Footer */}
+
+
+ );
+}
+
+export default ProductosEncontrados;
diff --git a/src/views/feedback/encuesta.jsx b/src/views/feedback/encuesta.jsx
new file mode 100644
index 0000000..9b712b6
--- /dev/null
+++ b/src/views/feedback/encuesta.jsx
@@ -0,0 +1,144 @@
+import React, { useState, useEffect } from "react";
+import { useNavigate } from "react-router-dom";
+
+function EncuestaCitas() {
+ const [respuestas, setRespuestas] = useState({});
+ const [enviada, setEnviada] = useState(false);
+ const [cargando, setCargando] = useState(true); // Estado para indicar que se está verificando
+ const [encuestaCompletada, setEncuestaCompletada] = useState(false); // Estado para verificar si ya se completó la encuesta
+ const navigate = useNavigate();
+
+ const preguntas = [
+ "¿Qué tan difícil te pareció el proceso para agendar tu cita?",
+ "¿Cómo calificarías la facilidad de uso del sistema para agendar tu cita?",
+ "¿En qué medida encontraste complicado el proceso de agendar tu cita?",
+ "¿Consideras que el proceso de agendar tu cita fue intuitivo?",
+ "¿Cuánto tiempo te llevó completar el proceso de agendar tu cita?",
+ ];
+
+ // Verificar si el usuario ya completó la encuesta al montar el componente
+ useEffect(() => {
+ const verificarEncuesta = async () => {
+ try {
+ const response = await fetch("https://backopt-production.up.railway.app/Encuesta/completada?idUsuario=1", { // Ajusta el parámetro idUsuario
+ method: "GET",
+ headers: { "Content-Type": "application/json" },
+ });
+
+ if (response.ok) {
+ const data = await response.json();
+ if (data.completada) {
+ setEncuestaCompletada(true); // Establecer que la encuesta ya fue completada
+ }
+ }
+ } catch (error) {
+ console.error("Error al verificar encuesta:", error);
+ } finally {
+ setCargando(false); // Finaliza el estado de carga
+ }
+ };
+
+ verificarEncuesta();
+ }, [navigate]);
+
+ const handleRespuestaChange = (index, value) => {
+ setRespuestas((prev) => ({
+ ...prev,
+ [index]: value,
+ }));
+ };
+
+ const handleSubmit = async (e) => {
+ e.preventDefault();
+
+ if (Object.keys(respuestas).length !== preguntas.length) {
+ alert("Por favor responde todas las preguntas antes de enviar.");
+ return;
+ }
+
+ try {
+ const response = await fetch("https://backopt-production.up.railway.app/Encuesta", {
+ method: "POST",
+ headers: { "Content-Type": "application/json" },
+ body: JSON.stringify({ idUsuario: 1, respuestas }), // Ajusta idUsuario
+ });
+
+ if (response.ok) {
+ setEnviada(true);
+
+ // Redirigir al inicio después de 3 segundos
+ setTimeout(() => {
+ navigate("/ver-cita");
+ }, 3000); // Retrasar la redirección 3 segundos
+ } else {
+ alert("Hubo un error al enviar tu feedback. Intenta nuevamente.");
+ }
+ } catch (error) {
+ console.error("Error:", error);
+ alert("Hubo un error al enviar tu feedback. Intenta nuevamente.");
+ }
+ };
+
+ if (cargando) {
+ return (
+
+
Cargando...
+
+ );
+ }
+
+ // Si la encuesta ya fue completada, redirige a la página de la cita sin mostrar la encuesta
+ if (encuestaCompletada) {
+ setTimeout(() => {
+ navigate("/ver-cita"); // Redirigir a la página de cita después de un breve retraso
+ }, 2000); // 2 segundos de espera antes de redirigir
+ return null; // No renderizar nada, solo redirigir
+ }
+
+ return (
+
+
+ {enviada ? (
+
+
¡Gracias por tu feedback!
+
Hemos recibido tus respuestas. Serás redirigido al inicio.