import { getCookie } from "cookies-next"; import { ExternalLink, Mail, MessagesSquare, Paperclip, Search, ShoppingBag, Tickets, UserCog, } from "lucide-react"; import Head from "next/head"; import Link from "next/link"; import { usePathname } from "next/navigation"; import { useRouter } from "next/router"; import { type ReactNode, useContext } from "react"; import toast from "react-hot-toast"; import { SIDEBAR_COOKIE_NAME, Sidebar, } from "~/components/area-riservata/sidebar"; import { BannerFactory } from "~/components/banners"; import { Footer, MiniFooter } from "~/components/footer"; import { LoadingPage } from "~/components/loading"; import { SiteHeader } from "~/components/navbar/site-header"; import { WhatsAppIcon2 } from "~/components/svgs"; import { Button } from "~/components/ui/button"; import { Separator } from "~/components/ui/separator"; import { UserViewContext, UserViewProvider } from "~/lib/userViewContext"; import { cn } from "~/lib/utils"; import { useTranslation } from "~/providers/I18nProvider"; import { EnforcedSessionContext, useSession, } from "~/providers/SessionProvider"; import type { UsersId } from "~/schemas/public/Users"; import type { ValidSession } from "~/server/api/trpc"; import { api } from "~/utils/api"; interface Props { bodyClassName?: string; containerClassName?: string; children: ReactNode; noFooter?: boolean; footerClassName?: string; } export const Layout = ({ children, noFooter, bodyClassName, containerClassName, footerClassName, }: Props) => { const { data: bannerData } = api.banners.getBannerData.useQuery({ area_riservata: false, }); return (