import Image from "next/image"; import Link from "next/link"; import type { Session } from "next-auth"; import { getTranslations } from "next-intl/server"; import { LanguageSwitcher } from "@/components/language-switcher"; import { MobileNav } from "@/components/mobile-nav"; import { NavDropdown } from "@/components/nav-dropdown"; import { NavbarColorPicker } from "@/components/navbar-color-picker"; import { ThemeSwitcher } from "@/components/theme-switcher"; import { resolveHotelName } from "@/lib/hotel-name"; import { canAccess, getApiAdminContext, PERMS } from "@/lib/permissions"; export async function Navigation({ session }: { session: Session | null }) { const t = await getTranslations("nav"); const brandLabel = await resolveHotelName(); let showAdmin = false; let showMod = false; if (session?.user) { const ctx = await getApiAdminContext(); if (ctx) { showAdmin = canAccess( ctx.permissions, PERMS.ADMIN_DASHBOARD, ctx.session.user.rank, ); showMod = canAccess( ctx.permissions, PERMS.MOD_DASHBOARD, ctx.session.user.rank, ) || canAccess( ctx.permissions, PERMS.MODERATION_VIEW, ctx.session.user.rank, ) || canAccess(ctx.permissions, PERMS.MOD_CFH_VIEW, ctx.session.user.rank) || canAccess(ctx.permissions, PERMS.MOD_ACTIONS, ctx.session.user.rank); } } return ( ); }