fixed styles and added required to procesador and so

This commit is contained in:
2025-11-11 18:30:40 -06:00
parent 3b4223d3c8
commit 7e88588bb6
5 changed files with 43 additions and 59 deletions
+30 -30
View File
@@ -47,39 +47,39 @@ export default function Page() {
};
return (
<main className="forgot-password-page">
<h1>Cambiar contraseña</h1>
<p>Ingresa el nombre del usuario y su nueva contraseña.</p>
<section className="forgot-password-page">
<div>
<form onSubmit={handleSubmit} className="forgot-form">
<label htmlFor="nombre">Nombre de usuario</label>
<input
id="nombre"
type="text"
value={nombre}
onChange={(e) => setNombre(e.target.value)}
placeholder="Nombre de usuario"
required
/>
<h1>Cambiar contraseña de operador</h1>
<p>Ingresa el nombre del usuario y su nueva contraseña.</p>
<label htmlFor="contraseña">Nueva contraseña</label>
<input
id="contraseña"
type="password"
value={contraseña}
onChange={(e) => setContraseña(e.target.value)}
placeholder="Nueva contraseña"
required
/>
<form onSubmit={handleSubmit} className="forgot-form">
<label htmlFor="nombre">Nombre de usuario</label>
<input
id="nombre"
type="text"
value={nombre}
onChange={(e) => setNombre(e.target.value)}
placeholder="Nombre de usuario"
required
/>
<button type="submit" disabled={loading}>
{loading ? "Actualizando..." : "Cambiar contraseña"}
</button>
<label htmlFor="contraseña">Nueva contraseña</label>
<input
id="contraseña"
type="password"
value={contraseña}
onChange={(e) => setContraseña(e.target.value)}
placeholder="Nueva contraseña"
required
/>
<div style={{ marginTop: 8 }}>
<Link href="/">Regresar al inicio</Link>
</div>
</form>
</main>
<button type="submit" disabled={loading}>
{loading ? "Actualizando..." : "Cambiar contraseña"}
</button>
</form>
</div>
</section>
);
}
+1 -13
View File
@@ -73,7 +73,7 @@ export default function Page() {
return (
<section className="containerGrid">
<div className="login-container">
<h2>Crear cuenta</h2>
<h2>Crear cuenta de Operador</h2>
<form onSubmit={handleSubmit}>
<div>
<label>Nombre de usuario</label>
@@ -86,17 +86,6 @@ export default function Page() {
/>
</div>
<div>
<label>Correo electrónico</label>
<input
type="email"
placeholder="Tu correo"
value={correo}
onChange={(e) => setCorreo(e.target.value)}
required
/>
</div>
<div>
<label>Contraseña</label>
<input
@@ -123,7 +112,6 @@ export default function Page() {
{loading ? "Creando cuenta..." : "Registrarse"}
</button>
<Link href="/">¿Ya tienes cuenta? Inicia sesión</Link>
</form>
</div>
</section>
+5 -11
View File
@@ -3,13 +3,13 @@
// =====================================
.forgot-password-page {
width: 90%;
max-width: 520px;
margin: 10rem auto;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 100%;
padding: 2rem;
background: #ffffff;
border-radius: 1rem;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
color: #222;
transition: background 0.3s ease, color 0.3s ease;
@@ -128,10 +128,8 @@
// --- Teléfonos pequeños ---
@media (max-width: 480px) {
.forgot-password-page {
margin: 15rem auto;
padding: 1.5rem;
width: 92%;
box-shadow: none;
h1 {
font-size: 1.6rem;
@@ -160,9 +158,7 @@
// --- Tablets (iPad y similares) ---
@media (min-width: 768px) and (max-width: 1024px) {
.forgot-password-page {
margin: 8rem auto;
padding: 3rem 2.5rem;
max-width: 600px;
font-size: 1.05rem;
h1 {
@@ -193,8 +189,6 @@
// --- Escritorio grande ---
@media (min-width: 1280px) {
.forgot-password-page {
margin: 12rem auto;
padding: 3rem;
max-width: 520px;
}
}
+5 -3
View File
@@ -160,7 +160,7 @@ export default function Page() {
const headers = { Authorization: `Bearer ${token}` };
const response = await axios.get(
`${api_url}/equipos/procesador-tipo-equipos/${formData.id_tipo_equipo}`,
`${api_url}/equipos/procesador-tipo-equipos`,
{
headers,
}
@@ -422,12 +422,13 @@ export default function Page() {
<div className="formGroup">
<label>Procesador</label>
<select
disabled={formData.id_tipo_equipo ==0}
value={formData.id_procesador}
onChange={(e) =>
handleInputChange("id_procesador", e.target.value)
}
>
<option value="">Selecciona procesador</option>
<option value="">{formData.id_tipo_equipo ? "Selecciona procesador":"Selecciona primero el tipo de equipo"}</option>
{PROCESADORES_POR_EQUIPO[formData.id_tipo_equipo]?.map(
(p) => (
<option key={p.id_procesador} value={p.id_procesador}>
@@ -441,6 +442,7 @@ export default function Page() {
<div className="formGroup">
<label>Sistema operativo</label>
<select
disabled={formData.id_tipo_equipo ==0}
value={formData.id_sistema_operativo}
onChange={(e) =>
handleInputChange(
@@ -449,7 +451,7 @@ export default function Page() {
)
}
>
<option value="">Selecciona sistema operativo</option>
<option value="">{formData.id_tipo_equipo ? "Selecciona sistema operativo":"Selecciona primero el tipo de equipo"}</option>
{SO_POR_EQUIPO[formData.id_tipo_equipo]?.map((so) => (
<option
key={so.id_sistema_operativo}
+2 -2
View File
@@ -251,7 +251,7 @@ export default function Editar() {
const headers = { Authorization: `Bearer ${token}` };
const response = await axios.get(
`${api_url}/equipos/procesador-tipo-equipos/${formData.id_tipo_equipo}`,
`${api_url}/equipos/procesador-tipo-equipos`,
{
headers,
}
@@ -582,7 +582,7 @@ export default function Editar() {
handleInputChange("id_procesador", e.target.value)
}
>
<option value="">Selecciona procesador</option>
<option value="">{formData.id_tipo_equipo ? "Selecciona procesador":"Selecciona primero el tipo de equipo"}</option>
{PROCESADORES_POR_EQUIPO[formData.id_tipo_equipo]?.map(
(p) => (
<option key={p.id_procesador} value={p.id_procesador}>