Skip to content

Conversation

@vontell
Copy link
Contributor

@vontell vontell commented Jan 14, 2026

Summary

  • Replaces the Airtable iframe embed with a native React contact form
  • Form submits directly to a new contact_submissions table in Supabase
  • Adds fetch-supabase script for querying database tables from CLI

Changes

  • src/components/Pages/Contact.jsx: New native form with MUI components (Name, Email, Subject dropdown, Message fields) with loading/success/error states
  • src/db.js: Added submitContactForm() function for Supabase integration
  • scripts/fetch-supabase.js: New CLI tool to fetch entries from Supabase tables
  • package.json: Added fetch-supabase script command
  • CLAUDE.md: Added documentation for the fetch script

Database Changes

Created contact_submissions table in Supabase with:

  • id (UUID, primary key)
  • name (TEXT, required)
  • email (TEXT, required)
  • subject (TEXT, optional)
  • message (TEXT, required)
  • created_at (TIMESTAMPTZ)

RLS policies for anonymous INSERT and SELECT.

Test plan

  • Verified form renders correctly in the Contact modal
  • Tested form submission stores data in Supabase
  • Verified success message displays after submission
  • Tested fetch-supabase script retrieves submissions

Closes #686

🤖 Generated with Claude Code

- Replace Airtable iframe embed with native React form using MUI components
- Add submitContactForm function to db.js for Supabase integration
- Form includes Name, Email, Subject dropdown, and Message fields
- Add success/error states with appropriate user feedback
- Add fetch-supabase script for querying database tables
- Update CLAUDE.md with database fetch documentation

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Swap the contact form from airtable to a form that uploads to supabase

2 participants