Files
front-AT/app/Components/layout/Header/Header.tsx
T

49 lines
1.2 KiB
TypeScript
Raw Normal View History

2025-09-02 19:50:17 -04:00
import Image from "next/image";
import Link from "next/link";
import header from "./Header.module.css";
2026-02-19 18:59:21 -06:00
import { cookies } from "next/headers";
2026-02-20 18:58:04 -06:00
import { jwtVerify } from "jose";
2026-02-20 19:04:07 -06:00
import HeaderNavigation from "./HeaderNavigation";
2026-02-20 18:58:04 -06:00
const secret = new TextEncoder().encode(process.env.JWT_SECRET);
2025-12-08 18:02:33 -06:00
export default async function Header() {
2026-02-20 18:58:04 -06:00
const cookieStore = cookies();
const token = (await cookieStore).get("token")?.value;
let role: number = 5;
if (token) {
try {
const { payload } = await jwtVerify(token, secret);
role = payload.role as number;
} catch (error) {
role = 5;
}
}
2025-10-29 14:28:50 -06:00
2025-09-28 01:59:16 -06:00
return (
2025-12-08 18:02:33 -06:00
<header className={header.header}>
2025-09-28 01:59:16 -06:00
<Link
href="https://www.unam.mx/"
target="_blank"
2026-02-27 19:15:56 -06:00
className={`${header.center} ${header.link}`}
2025-10-29 14:28:50 -06:00
>
2025-12-08 18:02:33 -06:00
<div className={header.logoContainer}>
<Image
className={header.logo}
src="/logo_fes.png"
alt="Logo FES"
fill
style={{ objectFit: "contain" }}
/>
</div>
</Link>
<div className={header.yellowPart}></div>
<div className={header.containerBarNav}>
2026-02-20 19:04:07 -06:00
<HeaderNavigation role={role} />
2025-09-28 01:59:16 -06:00
</div>
</header>
);
2025-09-02 19:50:17 -04:00
}