import { getTranslations } from "next-intl/server"; import Link from "next/link"; import Image from "next/image"; import { auth } from "@/lib/auth"; import { cached } from "@/lib/cache"; import { prisma } from "@/lib/prisma"; import { siteSettings } from "@/lib/services/site-settings"; export async function SiteHeader() { const t = await getTranslations("header"); const [_session, hotelName, header, logo] = await Promise.all([ auth(), siteSettings.get("hotel_name", "Atom"), siteSettings.get("cms_header", "/assets/images/background.png"), siteSettings.get("cms_logo", ""), ]); let online: number; try { online = await cached("online_count", 10_000, () => prisma.user.count({ where: { online: "1" } })); } catch { online = 0; } const bannerUrl = header && header !== "/assets/images/background.png" ? header : "/assets/images/banner.png"; return (