// Atlas · Upgrade / report-limit modal const { useState: useUpgradeState } = React; function UpgradeModal({ user, onClose }) { const [submitted, setSubmitted] = useUpgradeState(false); const [submitting, setSubmitting] = useUpgradeState(false); const [form, setForm] = useUpgradeState({ firstName: "", lastName: "", company: "", teamSize: "", useCase: "", }); const email = user?.email || ""; function set(field, val) { setForm(prev => ({ ...prev, [field]: val })); } async function handleSubmit(e) { e.preventDefault(); setSubmitting(true); try { await fetch("/api/inquire", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ name: (form.firstName + " " + form.lastName).trim(), company: form.company, email, teamSize: form.teamSize, useCase: form.useCase, source: "report-limit-gate", }), }); setSubmitted(true); } catch (_) { // best-effort } finally { setSubmitting(false); } } return (
{ if (e.target === e.currentTarget) onClose(); }}>

Get full access

{submitted ? (

You're on the list.

Thanks for reaching out. Someone from the Atlas team will contact you at {email} within one business day.

) : ( <>

You've used both of your trial reports. Tell us a bit about your work and we'll be in touch about a full subscription.

set("firstName", e.target.value)} />
set("lastName", e.target.value)} />
set("company", e.target.value)} />
)}
{submitted && (
)}
); } window.UpgradeModal = UpgradeModal;