Commit graph

8 commits

Author SHA1 Message Date
8e35387841
Switch to Cap invisible widget, add form drafts to middleware, and improve OTP
validation

Use the Cap client widget in the contact UI with status icons and auto-solve,
replacing the capwidget element. Normalize and tighten phone validation by
splitting
normalizePhone and isValidPhone in the Otp lib and use it in contact action
validation. Replace loose text validation with a character-stripper helper.
Also bump several dependencies and adjust middleware to save and restore form
data for
form actions.
2026-01-27 09:49:06 -08:00
f2f42a84b5
Add contact actions and migrate contact form to Astro actions
Implement send_otp and send_msg handlers with server-side validation,
captcha verification, OTP generation/verification, rate limiting,
session-backed multi-step flow, and SMS gateway integration.

Replace broken contact endpoint and types with Astro server actions;
delete endpoints/contact.ts, types/ContactForm.ts and
src/components/ContactForm.astro. Update pages/contact.astro to use
astro:actions and improve captcha handling (listen for solve and set
hidden input). Adjust OTP timing (step 60s → 300s, VALID_PAST_OTP_STEPS
5 → 1). Add validator, @types/validator, Prettier and
prettier-plugin-astro; include .prettierrc.mjs in tsconfig include.

Add Prettier config for Astro
2026-01-22 14:04:27 -08:00
608348a5a5
More progress but need to fully refactor into Astro action and take advantage of
all the boilerplate
2026-01-19 18:10:33 -08:00
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
f641dac69b
work on porting over contact form from old site, also added initial db support
to use later
2026-01-06 08:07:19 -08:00
8d989ef36f
new minimal retro theme, progress on parallax hero, refactor into semantic html,
add htmx and alpine, etc
2026-01-04 21:36:24 -08:00
e9a666621f
Basic scaffolding of new personal site 2026-01-01 21:11:18 -08:00
houston[bot]
0e01ed5493
Initial commit from Astro 2025-12-19 14:06:51 -08:00