added toast

This commit is contained in:
2025-10-29 14:30:06 -06:00
parent e12713648a
commit 3fd8415abd
7 changed files with 14 additions and 18 deletions
+4 -4
View File
@@ -97,13 +97,13 @@ export default function Page() {
setSuggestions((prev) => ({ ...prev, [field]: [] }));
};
const handleGuardar = () => {
console.log("Formulario enviado:", formData);
alert("Equipo guardado (vista solo)");
const handleGuardar = async () => {
await axios.post(`${api_url}/equipos/crear`, formData);
toast.success("Equipo guardado");
};
const handleCancelar = () => {
alert("Acción cancelada");
toast.success("Acción cancelada");
};
return (
+4 -4
View File
@@ -6,6 +6,7 @@ import "../../styles/layout/escaner.scss"; // Importación global
import BarcodeScanner from "@/components/BarcodeScanner";
import axios from "axios";
import Image from "next/image";
import toast from "react-hot-toast";
export default function Dashboard() {
const router = useRouter();
@@ -20,10 +21,9 @@ export default function Dashboard() {
const encontrado: equipo = await axios.get("");
if (encontrado) {
// Redirige a la vista de edición con el ID del equipo
router.push(`/Editar?equipoId=${encontrado.id}`);
} else {
alert("Equipo no encontrado.");
toast.error("Equipo no encontrado");
}
};
@@ -67,7 +67,7 @@ export default function Dashboard() {
className="scanButton"
onClick={() => setIsScanning(!isScanning)}
>
<img src="/photo_camera.png" alt="cámara" />
<Image src="/photo_camera.png" alt="cámara" width={20} height={20} />
{isScanning ? "Cancelar" : "Escanear"}
</button>
@@ -80,7 +80,7 @@ export default function Dashboard() {
onChange={(e) => setSearch(e.target.value)}
/>
<button onClick={buscarEquipo} className="searchButton">
<img src="/search.png" alt="Buscar" />
<Image src="/search.png" alt="Buscar" width={50} height={50} />
</button>
</div>
</main>
+1 -2
View File
@@ -1,9 +1,8 @@
import Header from "../components/header";
import { Inter, Montserrat } from "next/font/google";
import "../app/styles/base/globales.scss"; // si tienes estilos globales
import "../app/styles/base/globales.scss";
import { Toaster } from "react-hot-toast";
// Carga optimizada de fuentes
const inter = Inter({
subsets: ["latin"],
weight: ["400", "500", "600", "700"],
+4 -4
View File
@@ -1,12 +1,12 @@
"use client";
import { useState } from "react";
import { useRouter } from "next/navigation"; // ✅ Importa useRouter
import { useRouter } from "next/navigation";
import "../app/styles/layout/BarNavigation.scss";
import Link from "next/link";
function BarNavigation() {
const router = useRouter(); // ✅ Para redirigir
const router = useRouter();
const [openMenu, setOpenMenu] = useState(false);
const toggleMenu = () => setOpenMenu(!openMenu);
@@ -14,9 +14,9 @@ function BarNavigation() {
const cerrarSesion = () => {
if (typeof window !== "undefined") {
localStorage.removeItem("loggedIn");
router.push("/"); // ✅ Redirige al inicio
router.push("/");
}
setOpenMenu(false); // Cierra menú móvil
setOpenMenu(false);
};
return (
-1
View File
@@ -1,4 +1,3 @@
// components/BarcodeScanner.tsx
"use client";
import React, { useEffect, useRef } from "react";
-2
View File
@@ -38,7 +38,6 @@ export default function Editar() {
const api_url = process.env.NEXT_PUBLIC_API_URL;
const mostrarCamposComputadora = formData.tipoEquipo !== "Impresora";
// 🔹 Cargar datos de catálogo (listas)
useEffect(() => {
const fetchCatalogos = async () => {
const token = Cookies.get("token");
@@ -79,7 +78,6 @@ export default function Editar() {
fetchCatalogos();
}, []);
// 🔹 Cargar datos del equipo actual
useEffect(() => {
const fetchEquipo = async () => {
try {
+1 -1
View File
@@ -6,7 +6,7 @@ import BarNavigation from "./BarNavigation";
import { usePathname } from "next/navigation";
function Header() {
const pathname = usePathname(); // obtenemos la ruta actual
const pathname = usePathname();
return (
<header className={header.header}>