"use client"; import dynamic from "next/dynamic"; import { useTranslations } from "next-intl"; import { useHydrateAtoms } from "jotai/utils"; import { Tournament } from "@/types"; import { tournamentsAtom } from "@/app/atoms"; import TournamentTable from "./TournamentTable"; const LoadingMap = () => { const t = useTranslations("Tournaments"); return (

{t("loading")}

); }; /** * Imports the tournament map component, ensuring CSR only. * @remarks SSR is not supported by react-leaflet */ const TournamentMap = dynamic(() => import("./TournamentMap"), { ssr: false, loading: LoadingMap, }); type TournamentsDisplayProps = { tournaments: Tournament[]; }; export default async function TournamentsDisplay({ tournaments, }: TournamentsDisplayProps) { useHydrateAtoms([[tournamentsAtom, tournaments]]); return (
); }