add login funccions

This commit is contained in:
2025-09-10 21:00:00 -04:00
parent 332503d8cc
commit 5ca821d0bc
6 changed files with 49 additions and 38 deletions
+15 -18
View File
@@ -1,7 +1,7 @@
'use client';
import { useState } from "react";
import axios from "axios";
import "./Login.css";
import { loginUser } from "@/app/lib/login";
function Login() {
const [user, setUser] = useState("");
@@ -11,17 +11,14 @@ function Login() {
const handleLogin = async (e: React.FormEvent<HTMLFormElement>) => {
e.preventDefault();
try {
const response = await axios.post(`${process.env.NEXT_PUBLIC_API_URL}/user`, {
usuario: user,
password: password,
});
const data = await loginUser(user, password);
if ("error" in data) {
setMessage(data.error);
} else {
localStorage.setItem("token", data.access_token);
setMessage("Inicio de sesión exitoso");
console.log("Respuesta del servidor:", response.data);
} catch (error) {
setMessage("Error en inicio de sesión");
console.error("Error:", error);
console.log("Respuesta del servidor:", data);
}
};
@@ -65,14 +62,14 @@ function Login() {
>Iniciar sesión
</button>
{message &&
<div
className={`messageBox ${message.includes('exitoso') ? 'success' : 'error'}`}
style={{ marginTop: '10px' }}
>
{message}
</div>
}
{message &&
<div
className={`messageBox ${message.includes('exitoso') ? 'success' : 'error'}`}
style={{ marginTop: '10px' }}
>
{message}
</div>
}
</form>
</section>
);
@@ -49,59 +49,58 @@ function ProgramSelector({ titulo, opcion }: DatosEquipo) {
</label>
<label>
<input type="checkbox" /> COREL DRAW
</label>{" "}
</label>
<label>
<input type="checkbox" /> DEV-C++
</label>{" "}
</label>
<label>
<input type="checkbox" /> EVIEWS Enterprise
</label>{" "}
</label>
<label>
<input type="checkbox" /> Google Earth
</label>{" "}
</label>
<label>
<input type="checkbox" /> INTERNERT
</label>{" "}
</label>
<label>
<input type="checkbox" /> MAPLE
</label>
<label>
<input type="checkbox" /> MATHEMATICA
</label>{" "}
</label>
<label>
<input type="checkbox" /> MATLAB
</label>{" "}
</label>
<label>
<input type="checkbox" /> Maxima
</label>{" "}
</label>
<label>
<input type="checkbox" /> miktex
</label>{" "}
</label>
<label>
<input type="checkbox" /> NETBEANS
</label>{" "}
</label>
<label>
<input type="checkbox" /> OFFICE 2016
</label>{" "}
</label>
<label>
<input type="checkbox" /> PSeint
</label>{" "}
</label>
<label>
<input type="checkbox" /> R 3.0.1
</label>{" "}
</label>
<label>
<input type="checkbox" /> R Studio
</label>{" "}
</label>
<label>
<input type="checkbox" /> SPPS Statiscs
</label>{" "}
</label>
<label>
<input type="checkbox" /> STATA 13
</label>{" "}
</label>
<label>
<input type="checkbox" /> STATGRAOHICS Centurion XVI
</label>
{/* ... resto de checkboxes */}
</div>
<button className="button buttonSearch">Guardar cambios</button>