diff --git a/src/app/carga/page.tsx b/src/app/carga/page.tsx
index 623d3b8..dd275a2 100644
--- a/src/app/carga/page.tsx
+++ b/src/app/carga/page.tsx
@@ -14,34 +14,68 @@ const fuentes = [
];
export default function Dashboard() {
- // const loading = useAuthRedirect();
+ const loading = useAuthRedirect();
- // if (loading) {
- // return
;
- // }
+ if (loading) {
+ return ;
+ }
+ const handleDownload = async () => {
+ const token = localStorage.getItem("token");
+
+ if (!token) {
+ alert("Token no encontrado. Inicia sesión.");
+ return;
+ }
+
+ try {
+ const response = await fetch("http://localhost:4000/excel/download", {
+ method: "GET",
+ headers: {
+ Authorization: `Bearer ${token}`,
+ },
+ });
+
+ if (!response.ok) {
+ throw new Error("Error al descargar la base de datos");
+ }
+
+ const blob = await response.blob();
+ const url = window.URL.createObjectURL(blob);
+
+ const a = document.createElement("a");
+ a.href = url;
+ a.download = "usuarios.tsv";
+ document.body.appendChild(a);
+ a.click();
+ a.remove();
+ window.URL.revokeObjectURL(url);
+ } catch (error: any) {
+ alert(`Error al descargar: ${error.message}`);
+ }
+ };
return (
-
-
-
-
-
-
-
+
+
Fuentes
+ }}
+ >
{fuentes.map((f, idx) => (
-
Descarga de Datos
-
diff --git a/src/app/page.tsx b/src/app/page.tsx
index 6531dfd..26f0ff7 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -15,12 +15,14 @@ export default function Login() {
const handleLogin = async () => {
try {
- const response = await axios.post('/api/auth/login', {
- cuenta: value,
+ const response = await axios.post('http://localhost:4000/login', {
+ email: value,
password: password,
});
- const token = response.data.token;
+
+
+ const token = response.data.access_token;
localStorage.setItem('token', token);
// Redirige al usuario
@@ -64,8 +66,8 @@ export default function Login() {
Sistema de --------
setValue(e.target.value)}
/>
diff --git a/src/components/cargaArchivo.tsx b/src/components/cargaArchivo.tsx
index b99ea74..7017571 100644
--- a/src/components/cargaArchivo.tsx
+++ b/src/components/cargaArchivo.tsx
@@ -12,19 +12,37 @@ const CargaArchivo: React.FC = () => {
const handleUpload = async () => {
if (!archivo) return;
+ const token = localStorage.getItem("token"); // 👈 Token JWT guardado en login
+
+
+ if (!token) {
+ alert("No hay token disponible. Inicia sesión.");
+ return;
+ }
+
const formData = new FormData();
- formData.append("archivo", archivo);
+ formData.append("file", archivo); // 👈 ¡Debe coincidir con FileInterceptor('file')
- const res = await fetch("/api/cargar-archivo", {
- method: "POST",
- body: formData,
- });
+ try {
+ const res = await fetch("http://localhost:4000/excel/load", {
+ method: "POST",
+ headers: {
+ Authorization: `Bearer ${token}`, // 👈 Incluye el token en el header
+ },
+ body: formData,
+ });
- if (res.ok) {
- alert("Archivo subido correctamente");
- setArchivo(null);
- } else {
- alert("Error al subir archivo");
+ const data = await res.json();
+
+ if (res.ok) {
+ alert("Archivo subido correctamente");
+ setArchivo(null);
+ } else {
+ console.error(data);
+ alert(`Error al subir archivo: ${JSON.stringify(data)}`);
+ }
+ } catch (err) {
+ alert(`Error en la solicitud: ${err}`);
}
};
@@ -41,10 +59,8 @@ const CargaArchivo: React.FC = () => {
disabled={!archivo}
className="bg-blue-600 text-white px-4 py-2 rounded hover:bg-blue-700"
style={{
-
backgroundColor: "#2563eb",
color: "#fff",
-
}}
>
Subir archivo