diff --git a/cosiap_frontend/src/App.css b/cosiap_frontend/src/App.css index c6e36f4dcd91d178bc6098eb323da433fffcca6f..6551f0beb690c4ec7b5fb17d8038c5cf51d1686c 100644 --- a/cosiap_frontend/src/App.css +++ b/cosiap_frontend/src/App.css @@ -521,42 +521,79 @@ font-size: 16px; } /* Estilos de las cards de las secciones */ - .section-card { - background-color: var(--blanco); - width: 90%; - margin: 20px 0; - padding: 20px; - border-radius: 20px; - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); - } - - .section-card h3 { - font-size: 1.8rem; - font-weight: bold; - margin-bottom: 10px; - color: brown; - text-align: center; - } - - /* Contenedor de los elementos, para agruparlos en filas */ - .elementos-container { - display: flex; - flex-wrap: wrap; - gap: 20px; - justify-content: space-between; - } +.section-card { + background-color: var(--blanco); + width: 90%; + margin: 20px auto; /* Centrar las cards */ + padding: 25px; + border-radius: 15px; + border: 2px solid #b4756e; + box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1); + transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out; +} + +.section-card h3 { + font-size: 2rem; + font-weight: 600; + margin-bottom: 15px; + color: brown; + text-align: center; + position: relative; + padding-bottom: 10px; +} + +/* Línea decorativa debajo del h3 */ +.section-card h3::after { + content: ""; + position: absolute; + width: 50%; + height: 3px; + background-color: brown; + bottom: 0; + left: 25%; + border-radius: 2px; +} + +/* Contenedor de los elementos, para agruparlos en filas */ +.elementos-container { + display: flex; + flex-wrap: wrap; + gap: 25px; + justify-content: space-between; + padding-top: 10px; +} - /* Cada elemento tiene su propia card */ - .element-card { - background-color: var(--gris-claro); - border-radius: 10px; - padding: 15px; - width: 30%; /* Toma 30% del ancho para 3 elementos por fila */ - box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); - display: flex; - flex-direction: column; - justify-content: space-between; - } +/* Cada elemento tiene su propia card */ +.element-card { + background-color: var(--gris-claro); + border-radius: 12px; + padding: 20px; + width: 30%; /* Toma 30% del ancho para 3 elementos por fila */ + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); + display: flex; + flex-direction: column; + justify-content: space-between; + transition: border 0.3s ease-in-out, transform 0.2s ease-in-out; +} + +/* Efecto hover para dar más dinamismo */ +.element-card:hover { + transform: scale(1.02); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15); +} + +/* Estilo para el borde según el estado */ +.element-card.revisando { + border: 3px solid yellow; +} + +.element-card.valido { + border: 3px solid green; +} + +.element-card.invalido { + border: 3px solid red; +} /* Estilos para los inputs dentro de las element-cards */ .element-card input, @@ -580,6 +617,7 @@ font-size: 16px; .monto-card { background-color: var(--blanco); width: 90%; + border: 2px solid #b4756e; margin: 30px 0; padding: 30px; border-radius: 20px; @@ -717,40 +755,51 @@ font-size: 16px; /* Borde dependiendo del estado */ .border-green { border: 4px solid rgb(19, 183, 19); + transition: border-color 0.3s, box-shadow 0.3s; +} + +.border-green:hover { + box-shadow: 0 0 10px rgba(19, 183, 19, 0.5); } .border-yellow { border: 4px solid rgb(221, 221, 111); + transition: border-color 0.3s, box-shadow 0.3s; +} + +.border-yellow:hover { + box-shadow: 0 0 10px rgba(221, 221, 111, 0.5); } .border-red { border: 4px solid rgb(206, 71, 71); + transition: border-color 0.3s, box-shadow 0.3s; } -/* Texto de la observación */ -.observacion-text { - margin-top: 5px; - display: block; +.border-red:hover { + box-shadow: 0 0 10px rgba(206, 71, 71, 0.5); } -.border-green .observacion-text { - color: green; +/* Contenedor de los inputs con borde */ +.element-container { + margin-bottom: 15px; + padding: 10px; + border-radius: 8px; /* Mayor radio para bordes más suaves */ + background-color: #f9f9f9; /* Color de fondo suave */ + transition: background-color 0.3s; } -.border-yellow .observacion-text { - color: yellow; +.element-container:hover { + background-color: #f1f1f1; /* Color de fondo más claro al pasar el ratón */ } -.border-red .observacion-text { - color: red; +/* Media Queries para responsividad */ +@media (max-width: 768px) { + .element-container { + padding: 15px; /* Más espacio en pantallas pequeñas */ + } } -/* Contenedor de los inputs con borde */ -.element-container { - margin-bottom: 15px; - padding: 10px; - border-radius: 5px; -} /* Otros estilos de inputs */ .input-class, diff --git a/cosiap_frontend/src/components/common/utility/RenderElementEdit.jsx b/cosiap_frontend/src/components/common/utility/RenderElementEdit.jsx index 2482832ccc96ca2f41008abe06eb0833c641d4e7..5b59129c9579625b4df5b995aef5dd1e71c12f23 100644 --- a/cosiap_frontend/src/components/common/utility/RenderElementEdit.jsx +++ b/cosiap_frontend/src/components/common/utility/RenderElementEdit.jsx @@ -16,23 +16,18 @@ export const renderElemento = (seccionId, elemento, handleInputChange, handleChe console.log(status, observacion) // Determinamos el borde del color del card basado en el status - let borderColorClass = ""; let estado = ""; switch (status) { case "valido": - borderColorClass = "border-green"; - estado = "Aprobado" // borde verde para válido + estado = "Aprobado" break; case "revisando": - borderColorClass = "border-yellow"; // borde amarillo para revisando estado = "En revisión" break; case "invalido": - borderColorClass = "border-red"; // borde rojo para inválido + estado = "Documento Incorrecto" break; - default: - borderColorClass = ""; // sin borde especial si no hay estado } const handleChange = (e) => { @@ -42,7 +37,7 @@ export const renderElemento = (seccionId, elemento, handleInputChange, handleChe }; const renderInput = (inputElement, obligatorio) => ( -
Estatus: {solicitud.status}
+Monto Solicitado: {solicitud.monto_solicitado}
Monto Aprobado: {solicitud.monto_aprobado}