From 20bc8b1d60a697305160f7bcca243cb41a1a994d Mon Sep 17 00:00:00 2001 From: Viky-Gomez <20200999@uaz.edu.mx> Date: Mon, 2 Sep 2024 10:21:45 -0600 Subject: [PATCH] Implementado: Lista de modalidades, componente de modalidad, entre otros. --- cosiap_api/cosiap_api/.env | 4 +- cosiap_api/static/css/colores.css | 108 ++++++------- cosiap_frontend/src/App.jsx | 117 ++++++++------ cosiap_frontend/src/assets/iconsImg/Money.svg | 1 + cosiap_frontend/src/assets/modalidad.png | Bin 0 -> 74529 bytes .../common/utility/DocumentInput.jsx | 22 +++ .../common/utility/HeaderSection.jsx | 13 ++ .../components/common/utility/InputFile.jsx | 15 ++ .../components/common/utility/InputMonto.jsx | 21 +++ .../common/utility/MainContainer.jsx | 17 ++ .../common/utility/StatusDocument.jsx | 12 ++ .../modalidades/ListaModalidades.jsx | 67 ++++++++ .../src/components/modalidades/Modalidad.jsx | 145 ++++++++++++++++++ .../components/modalidades/ModalidadCard.jsx | 60 ++++++++ .../components/modalidades/Modalidades.jsx | 29 ++++ 15 files changed, 529 insertions(+), 102 deletions(-) create mode 100644 cosiap_frontend/src/assets/iconsImg/Money.svg create mode 100644 cosiap_frontend/src/assets/modalidad.png create mode 100644 cosiap_frontend/src/components/common/utility/DocumentInput.jsx create mode 100644 cosiap_frontend/src/components/common/utility/HeaderSection.jsx create mode 100644 cosiap_frontend/src/components/common/utility/InputFile.jsx create mode 100644 cosiap_frontend/src/components/common/utility/InputMonto.jsx create mode 100644 cosiap_frontend/src/components/common/utility/MainContainer.jsx create mode 100644 cosiap_frontend/src/components/common/utility/StatusDocument.jsx create mode 100644 cosiap_frontend/src/components/modalidades/ListaModalidades.jsx create mode 100644 cosiap_frontend/src/components/modalidades/Modalidad.jsx create mode 100644 cosiap_frontend/src/components/modalidades/ModalidadCard.jsx create mode 100644 cosiap_frontend/src/components/modalidades/Modalidades.jsx diff --git a/cosiap_api/cosiap_api/.env b/cosiap_api/cosiap_api/.env index 1b8c473..efd2d31 100644 --- a/cosiap_api/cosiap_api/.env +++ b/cosiap_api/cosiap_api/.env @@ -14,8 +14,8 @@ DATABASES_DEFAULT_PORT="3306" EMAIL_HOST="sandbox.smtp.mailtrap.io" EMAIL_FROM="cosiap@example.com" -EMAIL_HOST_USER="3b48193365f615" -EMAIL_HOST_PASSWORD="37f89fc1d98f48" +EMAIL_HOST_USER="dab27aa7ffd16a" +EMAIL_HOST_PASSWORD="59d827a27f4eda" EMAIL_PORT="2525" EMAIL_USE_TLS=True diff --git a/cosiap_api/static/css/colores.css b/cosiap_api/static/css/colores.css index 2275214..0d31fc5 100644 --- a/cosiap_api/static/css/colores.css +++ b/cosiap_api/static/css/colores.css @@ -1,57 +1,57 @@ :root { -/* ========================= + /* ========================= Estilos Básicos del Sitio ========================= */ - --principal-mc: rgb(252,226,228); - --principal-c: rgb(245,173,171); - --principal: rgb(226,116,110); - --principal-f: rgb(187,68,51); - --principal-mf: rgb(120,16,5); - - --secundario-mc:#e0e0e0; - --secundario-c: #c0c0c0; - --secundario: #a0a0a0; - --secundario-f: #808080; - --secundario-mf:#606060; - - --texto-general: #676767; - --pagina-fondo: #EEE5E5; - - --exito-f: #8abc94; - --exito: #B9E2C1; - --exito-c: #D5F5E2; - - --error-f: #C7564A; - --error: #E4756F; - --error-c: #E1B2AF; - - --precaucion-f: #d4bf47; - --precaucion: #e4d26f; - --precaucion-c: #f1e7a8; - - --cancelar-f: #B8A9A8; - --cancelar: #DCCBCA; - --cancelar-c: #E9DEDD; - - --informacion-f: #5b9bd5; - --informacion: #85c1e9; - --informacion-c: #cfe2f3; - - --neutral-f: #6c757d; - --neutral: #adb5bd; - --neutral-c: #dee2e6; - - --gris-principal: #b9b4b4; - --gris-0: #f8f8f8; - --gris-1: #efefef; - --gris-2: #e0e0e0; - --gris-3: #c0c0c0; - --gris-4: #a0a0a0; - --gris-5: #808080; - --gris-6: #606060; - --gris-7: #404040; - --gris-8: #202020; - --blanco: #FFFFFF; - --negro: #000000; - -} \ No newline at end of file + --principal-mc: rgb(252, 226, 228); + --principal-c: rgb(245, 173, 171); + --principal: rgb(226, 116, 110); + --principal-f: rgb(187, 68, 51); + --principal-mf: rgb(120, 16, 5); + + --secundario-mc: #e0e0e0; + --secundario-c: #c0c0c0; + --secundario: #a0a0a0; + --secundario-f: #808080; + --secundario-mf: #606060; + + --texto-general: #676767; + --pagina-fondo: #eee5e5; + + --exito-f: #8abc94; + --exito: #b9e2c1; + --exito-c: #d5f5e2; + --exito-btn: #527f18; + + --error-f: #c7564a; + --error: #e4756f; + --error-c: #e1b2af; + + --precaucion-f: #d4bf47; + --precaucion: #e4d26f; + --precaucion-c: #f1e7a8; + + --cancelar-f: #b8a9a8; + --cancelar: #dccbca; + --cancelar-c: #e9dedd; + + --informacion-f: #5b9bd5; + --informacion: #85c1e9; + --informacion-c: #cfe2f3; + + --neutral-f: #6c757d; + --neutral: #adb5bd; + --neutral-c: #dee2e6; + + --gris-principal: #b9b4b4; + --gris-0: #f8f8f8; + --gris-1: #efefef; + --gris-2: #e0e0e0; + --gris-3: #c0c0c0; + --gris-4: #a0a0a0; + --gris-5: #808080; + --gris-6: #606060; + --gris-7: #404040; + --gris-8: #202020; + --blanco: #ffffff; + --negro: #000000; +} diff --git a/cosiap_frontend/src/App.jsx b/cosiap_frontend/src/App.jsx index 9c0fc17..a0a35a5 100644 --- a/cosiap_frontend/src/App.jsx +++ b/cosiap_frontend/src/App.jsx @@ -1,93 +1,118 @@ -import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'; -import {PaginaHead} from "@/components/common/utility/PaginaHead"; -import {Autenticador} from "@/components/common/utility/Autenticador"; -import { useAutenticacion } from '@/components/common/utility/Autenticador'; +import { BrowserRouter, Routes, Route, Navigate } from "react-router-dom"; +import { PaginaHead } from "@/components/common/utility/PaginaHead"; +import { Autenticador } from "@/components/common/utility/Autenticador"; +import { useAutenticacion } from "@/components/common/utility/Autenticador"; -import {LoginRequiredRoute, IsAdminRequiredRoute, IsLogged} from "@/components/common/utility/LoginRequiredRoute" +import { + LoginRequiredRoute, + IsAdminRequiredRoute, + IsLogged, +} from "@/components/common/utility/LoginRequiredRoute"; import "./App.css"; -import PageLoader from '@/components/common/ui/PageLoader'; +import PageLoader from "@/components/common/ui/PageLoader"; // Importaciones de componentes de autenticacion -import { Login } from '@/components/users/Login/Login'; -import Register from '@/components/users/Register/Register'; -import ResetPassword from '@/components/users/Password/ResetPassword'; -import NoAutorizado from '@/components/users/NoAutorizado'; -import PageNotFound from '@/components/users/PageNotFound'; +import { Login } from "@/components/users/Login/Login"; +import Register from "@/components/users/Register/Register"; +import ResetPassword from "@/components/users/Password/ResetPassword"; +import NoAutorizado from "@/components/users/NoAutorizado"; +import PageNotFound from "@/components/users/PageNotFound"; import Inicio from "@/components/Inicio"; -import { useState } from 'react'; +import { useState } from "react"; // Importaciones de layoutsBase -import LayoutBaseAuthenticator from '@/components/common/layouts/LayoutBaseAuthenticator'; -import LayoutBaseNavigation from '@/components/common/layouts/LayoutBaseNavigation'; - - - +import LayoutBaseAuthenticator from "@/components/common/layouts/LayoutBaseAuthenticator"; +import LayoutBaseNavigation from "@/components/common/layouts/LayoutBaseNavigation"; +import Modalidades from "@/components/modalidades/Modalidades"; function App() { const [viewPageLoader, setViewPageLoader] = useState(false); - return ( + return ( - Sistema de apoyos COZCyT - - + Sistema de apoyos COZCyT + + - { - viewPageLoader && - } - + {viewPageLoader && } + - - + ); } -function RoutesApp( {setViewPageLoader} ){ - const {token} = useAutenticacion(); - +function RoutesApp({ setViewPageLoader }) { + const { token } = useAutenticacion(); + return ( - } /> + + } + /> {/* Rutas públicas */} - {/* Componente del layout */} - }> + {/* Componente del layout */} + }> }> - {/* Componentes hijos del layout autenticador */} - } /> - } /> - } /> + {/* Componentes hijos del layout autenticador */} + } + /> + } + /> + } + /> - - {/* Rutas protegidas */} + + {/* Rutas protegidas */} }> - {/* Componentes del layout de navegación */} + {/* Componentes del layout de navegación */} }> {/* Componentes hijos del layout autenticador */} - + {/* Cualquier usuario puede acceder a estas url */} } /> - } /> + } + /> } /> } /> } /> } /> {/* Solo administradores pueden acceder a estas url */} - }> + + } + > } /> } /> - + } /> } /> - ); } -export default App; \ No newline at end of file +export default App; diff --git a/cosiap_frontend/src/assets/iconsImg/Money.svg b/cosiap_frontend/src/assets/iconsImg/Money.svg new file mode 100644 index 0000000..7ca3d6b --- /dev/null +++ b/cosiap_frontend/src/assets/iconsImg/Money.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/cosiap_frontend/src/assets/modalidad.png b/cosiap_frontend/src/assets/modalidad.png new file mode 100644 index 0000000000000000000000000000000000000000..61360d679964322b3a6ba500136d3373e363a247 GIT binary patch literal 74529 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 hKBl8n(!_(|KLVE +
+

+ {/* (Título del documento) */} + {title} +

+
+

+ {/* (Descripción del documento) */} + {description} +

+
+
+ {/* Contenedores extra */} + {children} +
+
+ + ); +} diff --git a/cosiap_frontend/src/components/common/utility/HeaderSection.jsx b/cosiap_frontend/src/components/common/utility/HeaderSection.jsx new file mode 100644 index 0000000..a372cca --- /dev/null +++ b/cosiap_frontend/src/components/common/utility/HeaderSection.jsx @@ -0,0 +1,13 @@ +export default function HeaderSection({ title }) { + return ( +
+
+
+

+ {title} +

+
+
+
+ ); +} diff --git a/cosiap_frontend/src/components/common/utility/InputFile.jsx b/cosiap_frontend/src/components/common/utility/InputFile.jsx new file mode 100644 index 0000000..daf4db1 --- /dev/null +++ b/cosiap_frontend/src/components/common/utility/InputFile.jsx @@ -0,0 +1,15 @@ +export default function InputFile({ titleBtn, descBtn }) { + return ( + + ); +} diff --git a/cosiap_frontend/src/components/common/utility/InputMonto.jsx b/cosiap_frontend/src/components/common/utility/InputMonto.jsx new file mode 100644 index 0000000..4c61b9f --- /dev/null +++ b/cosiap_frontend/src/components/common/utility/InputMonto.jsx @@ -0,0 +1,21 @@ +export default function InputMonto() { + return ( +
+ +
+ +
+
+ MXN +
+
+ ); +} \ No newline at end of file diff --git a/cosiap_frontend/src/components/common/utility/MainContainer.jsx b/cosiap_frontend/src/components/common/utility/MainContainer.jsx new file mode 100644 index 0000000..4774e03 --- /dev/null +++ b/cosiap_frontend/src/components/common/utility/MainContainer.jsx @@ -0,0 +1,17 @@ +export default function MainContainer({ title, children }) { + return ( + <> +
+
+

+ {title} +

+
+
+
+
+ {children} +
+ + ); +} diff --git a/cosiap_frontend/src/components/common/utility/StatusDocument.jsx b/cosiap_frontend/src/components/common/utility/StatusDocument.jsx new file mode 100644 index 0000000..19784a6 --- /dev/null +++ b/cosiap_frontend/src/components/common/utility/StatusDocument.jsx @@ -0,0 +1,12 @@ +export default function StatusDocument({ title, description }) { + return ( +
+

+ {title} +

+

+ {description} +

+
+ ); +} diff --git a/cosiap_frontend/src/components/modalidades/ListaModalidades.jsx b/cosiap_frontend/src/components/modalidades/ListaModalidades.jsx new file mode 100644 index 0000000..318e22a --- /dev/null +++ b/cosiap_frontend/src/components/modalidades/ListaModalidades.jsx @@ -0,0 +1,67 @@ +/* eslint-disable react/jsx-no-comment-textnodes */ +// import { useNavigate } from "react-router-dom"; +import { ModalidadCard } from "@/components/modalidades/ModalidadCard"; +import api from "@/api"; +import { useState, useEffect } from "react"; +import MainContainer from "@/components/common/utility/MainContainer"; + +export default function ListaModalidades({ + setViewPageLoader, + handleModalidadDetail, +}) { + const [modalidades, setModalidades] = useState([]); + + const obtenerModalidades = async () => { + setViewPageLoader(true); + + try { + const response = await api.modalidades.get(); + console.log("Modalidades extraidas"); + console.log(response.data.data); + setModalidades(response.data.data); + } catch (error) { + console.log("No fueron extraidas"); + } + setViewPageLoader(false); + }; + + useEffect(() => { + obtenerModalidades(); + }, []); + + return ( + +
+ {/** Tarjetas para mostrar modalidades disponibles */} + {modalidades.length > 0 ? ( + modalidades.map((item) => { + return ( + +

+
+ +
+
+ ); + }) + ) : ( +

+ No hay modalidades disponibles +

+ )} +
+
+ ); +} diff --git a/cosiap_frontend/src/components/modalidades/Modalidad.jsx b/cosiap_frontend/src/components/modalidades/Modalidad.jsx new file mode 100644 index 0000000..988ae4d --- /dev/null +++ b/cosiap_frontend/src/components/modalidades/Modalidad.jsx @@ -0,0 +1,145 @@ +import DocumentInput from "@/components/common/utility/DocumentInput"; +import HeaderSection from "@/components/common/utility/HeaderSection"; +import StatusDocument from "@/components/common/utility/StatusDocument"; +import InputMonto from "@/components/common/utility/InputMonto"; +import InputFile from "@/components/common/utility/InputFile"; +import api from "@/api"; +import { useEffect, useState } from "react"; + +// eslint-disable-next-line react-refresh/only-export-components +export { useNavigate } from "react-router-dom"; + +export default function Modalidad({ id, setViewPageLoader }) { + const [modalidad, setModalidad] = useState(); + + const obtenerModalidad = async () => { + setViewPageLoader(true); + try { + const response = await api.modalidades.getById(Number(id)); + setModalidad(response.data.data); + console.log("Modalidad extraída con éxito", response); + console.log(response.data); + } catch (error) { + console.error("Modalidad no extraída", error); + } + setViewPageLoader(false); + }; + + useEffect(() => { + obtenerModalidad(); + }, [id]); + + /* Función para mostrar el monto_maximo en formato de pesos MXN */ + const formatCurrency = (amount) => { + return new Intl.NumberFormat("es-MX", { + style: "currency", + currency: "MXN", + }).format(amount); + }; + + return ( + modalidad && ( +
+
+
+ Modalidad +
+
+
+

+ Modalidad: +

+
+

+ {modalidad.nombre} +

+
+
+

+ {modalidad.descripcion} +

+
+
+

+ {formatCurrency(modalidad.monto_maximo)} +

+
+
+
+
+ +
+
+
+ + {/* Campos para subir documentación. */} +
+ +
+ +
+ + +
+
+ +
+ +
+ + +
+
+ + +
+ +
+
+
+
+ + +
+
+ ) + ); +} diff --git a/cosiap_frontend/src/components/modalidades/ModalidadCard.jsx b/cosiap_frontend/src/components/modalidades/ModalidadCard.jsx new file mode 100644 index 0000000..b9d4fd2 --- /dev/null +++ b/cosiap_frontend/src/components/modalidades/ModalidadCard.jsx @@ -0,0 +1,60 @@ +export function ModalidadCard({ title, description, monto, image, children }) { + /* Formatear monto con separadores de miles */ + const formatCurrency = (amount) => { + return new Intl.NumberFormat("es-MX", { + style: "currency", + currency: "MXN", + }).format(amount); + }; + + return ( +
+
+
+ Modalidad + {`http://localhost:8000${image}`} +
+
+
+
+
+
+ +
+
+

+ {/* (NOMBRE DE LA MODALIDAD) */} + {title} +

+
+
+
+
+

+ {/* (Descripción de la modalidad) */} + {description} +

+
+

+
+

{formatCurrency(monto)}

+
+ {children} +
+
+
+ ); +} diff --git a/cosiap_frontend/src/components/modalidades/Modalidades.jsx b/cosiap_frontend/src/components/modalidades/Modalidades.jsx new file mode 100644 index 0000000..767dbc5 --- /dev/null +++ b/cosiap_frontend/src/components/modalidades/Modalidades.jsx @@ -0,0 +1,29 @@ +import ListaModalidades from "@/components/modalidades/ListaModalidades"; +import { useState } from "react"; +import Modalidad from "@/components/modalidades/Modalidad"; + +export default function Modalidades({ setViewPageLoader }) { + const [viewModalidades, setViewModalidades] = useState(true); + const [viewModalidadDetail, setViewModalidadDetail] = useState(false); + const [selectedId, setSelectedId] = useState(null); + + const handleModalidadDetail = (id) => { + setViewModalidades(false); + setViewModalidadDetail(true); + setSelectedId(id); + }; + + return ( + <> + {viewModalidades && ( + + )} + {viewModalidadDetail && selectedId && ( + + )} + + ); +} -- GitLab