import React, { useState } from "react"; export default function HeavenlyHomepage() { const [step, setStep] = useState("code"); const [code, setCode] = useState(""); const [email, setEmail] = useState(""); const [checked, setChecked] = useState(false); const [error, setError] = useState(""); const [submitted, setSubmitted] = useState(false); // Invitation code const invitationCode = "43283659733"; const backgroundColor = "#9B2C3A"; // Stap 1: Code valideren const handleCodeSubmit = (e) => { e.preventDefault(); if (code === invitationCode) { setStep("email"); setError(""); } else { setError("Ongeldige code. Probeer opnieuw."); } }; // Stap 2: E-mail en voorwaarden - versturen naar concierge@heavenly.red const handleEmailSubmit = async (e) => { e.preventDefault(); if (!email || !checked) { setError("Vul je e-mailadres in en vink de voorwaarden aan."); return; } setError(""); try { // Simulatie e-mail versturen (in productie via backend/mail API) await fetch("mailto:concierge@heavenly.red", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ email }), }); setSubmitted(true); } catch { setError("Er ging iets mis met versturen. Probeer opnieuw."); } }; return (
HEAVENLY logo

HEAVENLY

Embrace Every Moment
{submitted ? (
Dank voor je aanmelding.
Je ontvangt spoedig een persoonlijk bericht van onze conciërge.
) : (
{step === "code" && ( <> setCode(e.target.value)} className="mb-4 p-3 w-full rounded-xl bg-transparent border border-black text-center placeholder:text-neutral-700 focus:outline-none focus:ring-2 focus:ring-black transition" style={{ background: "rgba(255,255,255,0.06)", color: "#1a1a1a", fontSize: "1.05rem", fontWeight: 500, letterSpacing: "0.05em", }} autoFocus autoComplete="off" maxLength={16} /> )} {step === "email" && ( <> setEmail(e.target.value)} className="mb-4 p-3 w-full rounded-xl bg-transparent border border-black text-center placeholder:text-neutral-700 focus:outline-none focus:ring-2 focus:ring-black transition" style={{ background: "rgba(255,255,255,0.08)", color: "#1a1a1a", fontSize: "1.05rem", fontWeight: 500, }} autoFocus autoComplete="off" /> )} {error && (
{error}
)}
)}
{/* Footer - wettelijk verplichte info */}
); }