);
}
// ---------- Footer ----------
function Footer() {
return (
);
}
// ---------- Waitlist Form ----------
function WaitlistForm({ variant = 'landing' }) {
const [submitted, setSubmitted] = useState(false);
const [data, setData] = useState({
institution: '', name: '', role: '', email: '', type: '', enrollment: ''
});
const [errors, setErrors] = useState({});
const submit = (e) => {
e.preventDefault();
const err = {};
if (!data.institution) err.institution = 'Required';
if (!data.name) err.name = 'Required';
if (!data.email) err.email = 'Required';
else if (!/^[^@]+@[^@]+\.[^@]+$/.test(data.email)) err.email = 'Please enter a valid email';
if (!data.role) err.role = 'Required';
setErrors(err);
if (Object.keys(err).length === 0) setSubmitted(true);
};
const set = (k) => (e) => setData(d => ({...d, [k]: e.target.value}));
if (submitted) {
return (
You're on the list.
We'll be in touch within a week with an alpha-access schedule and a short call to understand {data.institution || 'your institution'}'s SEVIS tooling situation. In the meantime, the institutional overview is on its way to {data.email}.