// application-form.jsx — Shared "Work with me" application form. // Used by the home page enquiry section AND the dedicated service pages. // Relies on the global (defined in nav-hero.jsx or page-chrome.jsx). const APPLY_INTEREST = [ 'The Content Retainer', 'Content Production', 'The Signature Day', 'A little of everything', 'Not sure yet — let’s talk', ]; const APPLY_INVESTMENT = [ '1K – 2K AED', '2K – 3K AED', '3K – 4K AED', '4K – 5K AED', '5K+ AED', 'Still figuring it out', ]; const APPLY_SOURCE = [ 'Instagram', 'TikTok', 'Word of mouth', 'Google search', 'A brand I’ve worked with', 'Somewhere else', ]; const APPLY_BLANK = { name: '', brand: '', email: '', handle: '', interest: '', start: '', challenge: '', investment: '', source: '', botcheck: false, }; // Web3Forms — free, 250 submissions/month. // Get an access key at https://web3forms.com (enter Lamia’s email, verify, copy the key). const WEB3FORMS_KEY = '5b8cd53f-3b4c-40e9-af8e-1398a800a35d'; function ApplicationForm({ eyebrow = 'Apply now', heading = <>Work with me., intro = 'Tell me where your brand is and where you want it to go. Share a few details below and I’ll come back within 48 hours — usually with a short questionnaire and a discovery call.', }) { const [form, setForm] = React.useState(APPLY_BLANK); const [sent, setSent] = React.useState(false); const [error, setError] = React.useState(false); const set = (k) => (e) => setForm((f) => ({ ...f, [k]: e.target.value })); const submit = async (e) => { e.preventDefault(); if (form.botcheck) return; // honeypot triggered — silent discard setError(false); try { const res = await fetch('https://api.web3forms.com/submit', { method: 'POST', body: JSON.stringify({ ...form, access_key: WEB3FORMS_KEY }), headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' }, }); const data = await res.json(); if (data.success) { setSent(true); setTimeout(() => { const el = document.querySelector('.form-success'); if (el) el.scrollIntoView({ behavior: 'smooth', block: 'center' }); }, 60); } else { setError(true); } } catch (err) { setError(true); } }; return (
{eyebrow}

{heading}

{intro}

{!sent ? (
{/* honeypot — hidden from real users, bots fill it */} setForm((f) => ({ ...f, botcheck: e.target.checked }))} style={{ display: 'none' }} tabIndex={-1} autoComplete="off" />