// EstimateForm.jsx — two-column minimal form + contact info (Web3Forms, text-only) // NOTE: Web3Forms free plan does NOT support file uploads (Pro only), so photos are // routed to text/email. To enable in-form photo upload later, upgrade Web3Forms to Pro // (or switch backend) and re-add an . const { useState: useStateForm } = React; const WEB3FORMS_KEY = "d1b1278e-bca4-4946-b1ec-32087638b5ae"; function Field({ label, children }) { return ( ); } function Radios({ name, options }) { const [val, setVal] = useStateForm(''); return (
{options.map(o => ( ))}
); } function EstimateForm() { const [status, setStatus] = useStateForm('idle'); // idle | sending | success | error async function handleSubmit(e) { e.preventDefault(); const form = e.target; const formData = new FormData(form); formData.append('access_key', WEB3FORMS_KEY); setStatus('sending'); try { const res = await fetch('https://api.web3forms.com/submit', { method: 'POST', body: formData }); const data = await res.json(); if (data.success) { setStatus('success'); form.reset(); } else { setStatus('error'); } } catch (err) { setStatus('error'); } } const btnLabel = status === 'sending' ? 'Sending…' : status === 'success' ? 'Sent — we’ll be in touch' : 'Send Request'; return (
— Request an Estimate

Tell us about
your wall.

Tell us about your wall below — and text a photo to (747) 243-8969. We'll review the project and suggest the best layout, materials, and a clear estimate.

{/* Web3Forms meta + spam honeypot */}
Text photos to (747) 243-8969