Vite + React landing page for RunVoteWin.
npm install
npm run devnpm run buildThis site is intended to deploy on Vercel.
Recommended Vercel settings:
- Framework preset: Vite
- Build command:
npm run build - Output directory:
dist - Install command:
npm ci
The vercel.json rewrite keeps client-side routes such as /win-for-life working.
The landing page posts lead and pricing form submissions to VITE_SIGNUP_ENDPOINT.
Use a Google Apps Script web app URL for that value. The Apps Script should handle the private work: appending to the lead sheet and optionally notifying Slack.
Example payload:
{
"formType": "pricing",
"name": "Jane Organizer",
"email": "[email protected]",
"role": "candidate",
"campaignSize": "congressional",
"estimateMonthly": 1250,
"source": "RunVoteWin landing page"
}VITE_SIGNUP_ENDPOINT=https://script.google.com/macros/s/YOUR_DEPLOYMENT_ID/exec
VITE_WIN_FOR_LIFE_CHECKOUT_URL=https://buy.stripe.com/7sY00jf8Jehde2acL75ZC00No Google Sheet IDs, Slack webhooks, or Google API credentials belong in this public repo.
The /win-for-life page reads VITE_WIN_FOR_LIFE_CHECKOUT_URL at build time. Set it to the Stripe Payment Link or Checkout URL for the $10,000 Founding Victory Pass.
The NGP VAN comparison logo is sourced from Wikimedia Commons: https://commons.wikimedia.org/wiki/File:NGPVAN_Logo.svg