personal-site/src/pages/contact.astro
badbl0cks 72e57fb7ff
Break out contact form into separate component and implement OTP and rate
limiting, add iconify-icon dependency

Add src/components/ContactForm.astro implementing OTP verify/send flows and
server-side validation Add src/lib/Otp.ts (otplib-backed) with per-hour OTP and
per-week message rate limits and helper functions Expose OTP_SUPER_SECRET_SALT
in astro.config and add otplib Rename src/lib/cap.ts to src/lib/CapAdapter.ts
and update imports Replace inline contact page logic with ContactForm and adjust
SMS client Add iconify-icon dependency
2026-01-09 10:25:15 -08:00

11 lines
263 B
Text

---
import Layout from "@layouts/BaseLayout.astro";
import ContactForm from "@components/ContactForm.astro";
export const prerender = false;
---
<Layout>
<title slot="head">Contact</title>
<Fragment slot="content">
<ContactForm />
</Fragment>
</Layout>