// app/beach/BeachClientPage.tsx 'use client'; import { useEffect, useState } from 'react'; import { IoIosMail } from "react-icons/io"; import Footer from '../components/Footer'; import Header from '../components/Header'; import BeachRegistrationForm from './BeachRegistrationForm'; export default function BeachClientPage({ config }: { config: any }) { const [timeInfo, setTimeInfo] = useState({ dateStr: 'Laddar...', matchStr: 'Laddar...', deadlineText: 'Laddar...', isClosed: false, }); useEffect(() => { const updateTournamentInfo = () => { const matchStart = new Date(config.beachPage.matchStart); const now = new Date(); const infoGathering = new Date(matchStart.getTime() - 30 * 60000); const closingDate = new Date(matchStart.getTime() - 24 * 60 * 60000); const dateOptions: Intl.DateTimeFormatOptions = { day: 'numeric', month: 'long', year: 'numeric' }; const timeOptions: Intl.DateTimeFormatOptions = { hour: '2-digit', minute: '2-digit' }; setTimeInfo({ dateStr: matchStart.toLocaleDateString('sv-SE', dateOptions), matchStr: `Matchstart kl.${matchStart.toLocaleTimeString('sv-SE', timeOptions)} (Infosamling kl.${infoGathering.toLocaleTimeString('sv-SE', timeOptions)})`, deadlineText: `Anmälan stänger den ${closingDate.toLocaleDateString('sv-SE', dateOptions)} kl.${closingDate.toLocaleTimeString('sv-SE', timeOptions)} (24 timmar innan start) eller om alla platser har blivit fyllda.`, isClosed: config.beachPage.isClosedOverride || now >= closingDate, }); }; updateTournamentInfo(); }, [config]); return (

Mat- & Sommarfesten

Beachturnering

Samla ihop ett kompisgäng och anmäl er!

{timeInfo.isClosed && (

Anmälan är stängd!

{config.beachPage.closeReason}

)}
{/* INFORMATION TEXT (Var, När, Regler, etc.) */}

Var:

Kvickbadet i Höganäs

När:

{timeInfo.dateStr}

{timeInfo.matchStr}

Samtidigt som Höganäs Mat- & Sommarfest

Regler:

Matcherna spelas 4v4 med inomhusregler, förutom poängräkningen som följer reglerna för beachvolleyboll.

Klasser:

Turneringen kan komma att delas upp i tre olika klasser beroende på antal anmälda lag och baserat på nivå:
Grön (Nybörjare),{' '} Blå (Amatör),{' '} Svart (Proffs)

Gör en gissning i vilken nivå ni tror att ert lag skulle passa och skriv gärna något i anmälan om ni är osäkra.

Kostnad:

Gratis!!!

Anmälan:

Anmälan görs genom anmälningsformuläret nedan. Du får ett bekräftelsemejl när vi kollat igenom er anmälan.

{timeInfo.deadlineText}

{/* Övrig info sektionen */}

Övrig info:

{(config.beachPage?.otherInfo || "").split('\n').map((line: string, i: number) => ( line.trim() &&

{line}

))} {/* Pris sektionen */}

{config.beachPage?.prizesText || "Fina priser till alla pallplatser! 🏆"}

{/* Rendera formuläret endast om anmälan är öppen */} {!timeInfo.isClosed && }
); }