2026-01-23 12:35:35 -06:00
|
|
|
"use client";
|
|
|
|
|
import { useState } from "react";
|
|
|
|
|
import Link from "next/link";
|
2026-04-21 17:57:40 -05:00
|
|
|
import { usePathname } from "next/navigation";
|
|
|
|
|
import Image from "next/image";
|
|
|
|
|
|
2026-01-23 12:35:35 -06:00
|
|
|
import "./BarNavigation.css";
|
|
|
|
|
|
|
|
|
|
export default function BarNavigationServicio() {
|
|
|
|
|
const [openMenu, setOpenMenu] = useState(false);
|
|
|
|
|
const [openSubMenu, setOpenSubMenu] = useState<number | null>(null);
|
|
|
|
|
|
2026-04-21 17:57:40 -05:00
|
|
|
const pathname = usePathname();
|
|
|
|
|
|
|
|
|
|
const isActive = (paths: string[]) => {
|
|
|
|
|
return paths.some((path) => pathname.startsWith(path));
|
|
|
|
|
};
|
|
|
|
|
|
2026-01-23 12:35:35 -06:00
|
|
|
const toggleMenu = () => setOpenMenu(!openMenu);
|
|
|
|
|
const toggleSubMenu = (index: number) => {
|
|
|
|
|
if (typeof window !== "undefined" && window.innerWidth <= 1000) {
|
|
|
|
|
setOpenSubMenu(openSubMenu === index ? null : index);
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const closeAllMenus = () => {
|
|
|
|
|
setOpenMenu(false);
|
|
|
|
|
setOpenSubMenu(null);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<nav className="barNavigation">
|
|
|
|
|
<div className={`menuToggle ${openMenu ? "" : ""}`} onClick={toggleMenu}>
|
|
|
|
|
<div></div>
|
|
|
|
|
<div></div>
|
|
|
|
|
<div></div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<ul className={openMenu ? "active" : ""}>
|
2026-04-21 17:57:40 -05:00
|
|
|
<li
|
|
|
|
|
className={`subMenu
|
|
|
|
|
${openSubMenu === 0 ? "open" : ""}
|
|
|
|
|
${isActive(["/Inscripcion", "/AgregarTiempo"]) ? "active" : ""}
|
|
|
|
|
`}>
|
|
|
|
|
<span onClick={() => toggleSubMenu(0)}>
|
|
|
|
|
<Image
|
|
|
|
|
src="/user-plus.svg"
|
|
|
|
|
alt="Logo FES"
|
|
|
|
|
width={16}
|
|
|
|
|
height={16}
|
|
|
|
|
color="#545454"
|
|
|
|
|
/>
|
|
|
|
|
Inscripciones</span>
|
2026-01-23 12:35:35 -06:00
|
|
|
<ul onClick={toggleMenu}>
|
|
|
|
|
<Link
|
|
|
|
|
href="/Inscripcion"
|
|
|
|
|
className="links"
|
|
|
|
|
onClick={(e) => {
|
|
|
|
|
e.stopPropagation();
|
|
|
|
|
closeAllMenus();
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
<li>Inscripción Usuario</li>
|
|
|
|
|
</Link>
|
|
|
|
|
<Link
|
|
|
|
|
href="/AgregarTiempo"
|
|
|
|
|
className="links"
|
|
|
|
|
onClick={(e) => {
|
|
|
|
|
e.stopPropagation();
|
|
|
|
|
closeAllMenus();
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
<li>Agregar Tiempo</li>
|
|
|
|
|
</Link>
|
|
|
|
|
</ul>
|
|
|
|
|
</li>
|
|
|
|
|
|
2026-04-21 17:57:40 -05:00
|
|
|
<li
|
|
|
|
|
className={`subMenu
|
|
|
|
|
${openSubMenu === 1 ? "open" : ""}
|
|
|
|
|
${isActive(["/Impresiones", "/AsignacionMesas", "/AsignacionEquipo", "/Monitor"]) ? "active" : ""}
|
|
|
|
|
`}>
|
|
|
|
|
<span onClick={() => toggleSubMenu(1)}>
|
|
|
|
|
<Image
|
|
|
|
|
src="/briefcase.svg"
|
|
|
|
|
alt="Logo FES"
|
|
|
|
|
width={16}
|
|
|
|
|
height={16}
|
|
|
|
|
color="#545454"
|
|
|
|
|
/>
|
|
|
|
|
Servicios</span>
|
2026-01-23 12:35:35 -06:00
|
|
|
<ul onClick={toggleMenu}>
|
|
|
|
|
<Link
|
|
|
|
|
href="/Impresiones"
|
|
|
|
|
className="links"
|
|
|
|
|
onClick={(e) => {
|
|
|
|
|
e.stopPropagation();
|
|
|
|
|
closeAllMenus();
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
<li>Impresiones y Ploteo</li>
|
|
|
|
|
</Link>
|
|
|
|
|
<Link
|
|
|
|
|
href="/AsignacionMesas"
|
|
|
|
|
className="links"
|
|
|
|
|
onClick={(e) => {
|
|
|
|
|
e.stopPropagation();
|
|
|
|
|
closeAllMenus();
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
<li>Asignación de Mesas</li>
|
|
|
|
|
</Link>
|
|
|
|
|
<Link
|
|
|
|
|
href="/AsignacionEquipo"
|
|
|
|
|
className="links"
|
|
|
|
|
onClick={(e) => {
|
|
|
|
|
e.stopPropagation();
|
|
|
|
|
closeAllMenus();
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
<li>Asignación de Equipos</li>
|
|
|
|
|
</Link>
|
|
|
|
|
<Link
|
|
|
|
|
href="/Monitor"
|
|
|
|
|
className="links"
|
|
|
|
|
onClick={(e) => {
|
|
|
|
|
e.stopPropagation();
|
|
|
|
|
closeAllMenus();
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
<li>Monitor</li>
|
|
|
|
|
</Link>
|
|
|
|
|
</ul>
|
|
|
|
|
</li>
|
|
|
|
|
|
2026-02-13 16:10:05 -06:00
|
|
|
{/* <li className="subMenu" onClick={toggleMenu}>
|
2026-01-23 12:35:35 -06:00
|
|
|
<Link
|
|
|
|
|
href="/Mensajes"
|
|
|
|
|
className="links"
|
|
|
|
|
onClick={(e) => {
|
|
|
|
|
e.stopPropagation();
|
|
|
|
|
closeAllMenus();
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
<span>Mensajes</span>
|
|
|
|
|
</Link>
|
2026-02-13 16:10:05 -06:00
|
|
|
</li> */}
|
2026-02-23 15:00:49 -06:00
|
|
|
|
2026-04-21 17:57:40 -05:00
|
|
|
<li
|
|
|
|
|
className={`subMenu
|
|
|
|
|
${isActive(["/ActivosMantenimiento"]) ? "active" : ""}
|
|
|
|
|
`} onClick={toggleMenu}>
|
2026-02-23 15:00:49 -06:00
|
|
|
<Link
|
|
|
|
|
href="/ActivosMantenimiento"
|
|
|
|
|
className="links"
|
|
|
|
|
onClick={(e) => {
|
|
|
|
|
e.stopPropagation();
|
|
|
|
|
closeAllMenus();
|
|
|
|
|
}}
|
|
|
|
|
>
|
2026-04-21 17:57:40 -05:00
|
|
|
<span>
|
|
|
|
|
<Image
|
|
|
|
|
src="/computer.svg"
|
|
|
|
|
alt="Logo FES"
|
|
|
|
|
width={16}
|
|
|
|
|
height={16}
|
|
|
|
|
color="#545454"
|
|
|
|
|
/>
|
|
|
|
|
Activos y en Mantenimiento</span>
|
2026-02-23 15:00:49 -06:00
|
|
|
</Link>
|
|
|
|
|
</li>
|
|
|
|
|
|
2026-01-23 12:35:35 -06:00
|
|
|
</ul>
|
|
|
|
|
</nav>
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
//IO
|