/* global React, ReactDOM, I, Nav, Footer, FabWa, useReveal, submitLead, submitWeb3Form */ const { useState: _cus, useEffect: _cue } = React; /* ─── DATA ────────────────────────────────────────────────── */ const CONTACT_METHODS = [ { key: "phone", icon: , label: "Bel ons", value: "+31 6 49069000", sub: "Direct iemand aan de lijn — geen keuzemenu", href: "tel:+31649069000", cta: "Bel direct", }, { key: "whatsapp", icon: , label: "WhatsApp", value: "Reactie binnen een uur", sub: "Foto's en kentekens delen mag", href: "https://wa.me/31649069000", cta: "Open WhatsApp", }, { key: "email", icon: , label: "E-mail", value: "info@abbaautomotive.nl", sub: "Voor uitgebreide offerte-aanvragen", href: "mailto:info@abbaautomotive.nl", cta: "Stuur e-mail", }, { key: "visit", icon: , label: "Kom langs", value: "Nieuwe Maanderbuurtweg 63, Ede", sub: "Op afspraak · ruim parkeren voor de deur", href: "https://maps.google.com/?q=Nieuwe+Maanderbuurtweg+63+Ede", cta: "Bekijk route", }, ]; const HOURS = [ { day: "Maandag", time: "09:00 – 18:00" }, { day: "Dinsdag", time: "09:00 – 18:00" }, { day: "Woensdag", time: "09:00 – 18:00" }, { day: "Donderdag", time: "09:00 – 18:00" }, { day: "Vrijdag", time: "09:00 – 18:00" }, { day: "Zaterdag", time: "10:00 – 17:00" }, { day: "Zondag", time: "Op afspraak", muted: true }, ]; const ROUTES = [ { icon: , title: "Met de auto", desc: "Afrit A12 · Ede. Ruim 20 parkeerplaatsen pal voor de deur. Laden bij elektrische auto's mogelijk op verzoek.", }, { icon: , title: "Met OV", desc: "Station Ede-Wageningen · 8 min met buslijn 50 of 105 tot halte Frankeneng. Laat het weten — we halen je graag op.", }, { icon: , title: "Op de fiets", desc: "Vanuit centrum Ede 12 minuten via de Klinkenbergerweg. Overdekte fietsenstalling naast ons pand.", }, ]; const FAQS = [ { q: "Hoe snel krijg ik antwoord?", a: "Op werkdagen reageren we binnen een uur op WhatsApp en e-mail. Bellen mag altijd — geen keuzemenu, je krijgt direct iemand aan de lijn.", }, { q: "Kan ik langskomen om een auto te bekijken?", a: "Ja, bezoek is op afspraak. Bel of app even vooruit met de auto die je wilt zien, dan zorgen we dat 'm klaar staat en de sleutel binnen handbereik is.", }, { q: "Hoe werkt een proefrit?", a: "Geldig rijbewijs meenemen en we maken een tijdslot. Een normale proefrit duurt 20–30 minuten. Wil je 'm langer rijden? Vraag het gerust — dat valt vaak te regelen.", }, { q: "Wat heb ik nodig voor een inruiltaxatie?", a: "Het kenteken volstaat voor een eerste inschatting. Voor een definitieve prijs zien we de auto graag in het echt — een rondje van 15 minuten en je hebt een schriftelijke biedprijs.", }, { q: "Doen jullie ook zaken met bedrijven?", a: "Zeker. Zakelijke leasing, BTW-marge, exportdocumenten en internationale levering: vraag naar een offerte op maat — we maken het in een dag rond.", }, ]; /* ─── COMPONENTS ──────────────────────────────────────────── */ function ContactHeader() { return (
Home / Contact

Stel je vraag,
plan je bezoek.

Drie manieren om ons te bereiken — kies wat je het beste uitkomt. Op werkdagen reageren we binnen een uur, en bellen mag altijd.

); } function ContactMethods() { return (
{CONTACT_METHODS.map((m) => (
{m.label}
{m.value}
{m.sub}
{m.cta}
))}
); } function ContactFormSection() { const TOPICS = [ { v: "information_request", label: "iets over een auto vragen" }, { v: "test_drive", label: "een proefrit plannen" }, { v: "trade_in_request", label: "een inruil bespreken" }, { v: "offer_request", label: "een offerte aanvragen" }, { v: "information_request", label: "een wagen laten importeren" }, ]; const PREFERS = [ { v: "phone", label: "telefoon", placeholder: "+31 6 …", icon: }, { v: "whatsapp", label: "WhatsApp", placeholder: "+31 6 …", icon: }, { v: "email", label: "e-mail", placeholder: "jouw@email.nl", icon: }, ]; const [form, setForm] = _cus({ name: "", topicIdx: 0, prefer: "phone", handle: "", message: "", }); const [sending, setSending] = _cus(false); const [result, setResult] = _cus(null); const setF = (k, v) => setForm((f) => ({ ...f, [k]: v })); const currentTopic = TOPICS[form.topicIdx]; const currentPrefer = PREFERS.find((p) => p.v === form.prefer); async function send(e) { e.preventDefault(); if (sending) return; setSending(true); setResult(null); const isEmail = form.prefer === "email"; const niceMessage = ( `Onderwerp: ${currentTopic.label}\n` + `Voorkeurskanaal: ${currentPrefer.label}\n` + `Bereikbaar op: ${form.handle}\n\n` + (form.message || "—") ); const r = await submitWeb3Form({ subject: `Contactaanvraag — ${currentTopic.label}`, from_name: form.name || "Website-bezoeker", ...(isEmail ? { email: form.handle } : {}), Naam: form.name, Onderwerp: currentTopic.label, Voorkeurskanaal: currentPrefer.label, "Bereikbaar op": form.handle, Bericht: form.message || "—", message: niceMessage, }); const firstName = form.name ? form.name.split(" ")[0] : ""; const channelLabel = currentPrefer.label; setSending(false); setResult(r.success ? { ...r, firstName, channelLabel } : r); if (r.success) { setForm({ name: "", topicIdx: 0, prefer: "phone", handle: "", message: "" }); } } return (
Stuur een bericht

Vertel ons waar
we mee kunnen helpen.

Vul de zinnen aan, kies je voorkeurskanaal en we nemen op het door jou gekozen moment contact op. Geen gedoe — wel persoonlijk.

{/* LEFT: conversational form */}
01 · Jouw verhaal

Vul de zinnen aan.

Hoi! Mijn naam is setF("name", e.target.value)} /> , en ik wil graag

{TOPICS.map((t, i) => ( ))}

Bereik me het liefst via

{PREFERS.map((p) => ( ))}

op setF("handle", e.target.value)} /> .