CodeIssuesPull RequestsActionsSecurityInsights
✨ AI
More
Settings

Implement contact form, domain management, billing, and project APIs #4685

Open⚡ AI-generatedXLccantynz wants to mergeclaude/review-site-progress-WwBqDmain↑1 ↓9opened Mar 15, 20265/5 tasksLive: 0 editing
ccantynzcommented Mar 15, 2026

Originally written by @ccantynz-alt on GitHub.
Imported from https://github.com/ccantynz-alt/Dominat8.com/pull/17


What changed?

  • Feature
  • Refactor

Core Changes

Marketing & Contact Flow

  • Converted contact page to interactive form with client-side state management
  • Added /api/contact endpoint to persist contact submissions to KV storage
  • Implemented success/error states with user feedback

Admin Dashboard - Projects

  • Converted projects page to client component with data fetching
  • Added /api/projects and /api/projects/[id] endpoints for CRUD operations
  • Created new project creation page with form validation
  • Implemented project listing with status badges and delete functionality

Admin Dashboard - Domains

  • Converted domains page to interactive client component
  • Added /api/domains/verify endpoint with DNS verification workflow
  • Implemented domain status tracking (pending_dns → dns_verified → ssl_provisioning → ready)
  • Added DNS configuration instructions display with TXT/CNAME records

Admin Dashboard - Billing

  • Converted billing page to client component with plan selection
  • Added /api/billing/checkout endpoint for Stripe checkout session creation
  • Added /api/billing/portal endpoint for customer billing portal access
  • Implemented plan cards with feature lists and upgrade flow

Admin Dashboard - Settings

  • Converted settings page to client component with localStorage persistence
  • Added workspace configuration (default project ID, agent concurrency, theme, feature toggles)
  • Implemented save/reset functionality with visual feedback

Video & Publishing

  • Added /api/video/storyboard endpoint with fallback storyboard generation
  • Added /api/video/publish endpoint for video file uploads to Vercel Blob or KV storage

Thanks Page

  • Enhanced post-checkout success page with session verification
  • Added feature list display and call-to-action buttons

Middleware & Auth

  • Updated middleware to use Clerk authentication
  • Added route protection for admin and API endpoints
  • Maintained probe endpoint anti-caching headers

Minor Fixes

  • Fixed syntax error in __probe__ route (try statement)
  • Fixed D8Section component prop destructuring
  • Updated tsconfig.json exclude patterns
  • Improved ESLint configuration

Quality gates

  • CI build is green
  • No unexpected UI/design changes
  • Protected paths properly gated with Clerk middleware

Notes / risks

  • All new API endpoints use KV storage for persistence (suitable for demo/MVP)
  • Stripe integration requires STRIPE_SECRET_KEY and NEXT_PUBLIC_STRIPE_PRO_PRICE_ID environment variables
  • Video publishing falls back to KV storage if Vercel Blob token is unavailable
  • Contact form and domain verification use simple in-memory KV storage
  • Client components use localStorage for settings (not synced across devices)

https://claude.ai/code/session_019N1piRaddvm3BewoFa7CxY

ccantynzcommented Mar 15, 2026

Originally written by @vercel[bot] on GitHub.


The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
dominat8com Ready Ready Preview, Comment Mar 16, 2026 6:08am

Request Review

gluecron[bot]🤖 botcommented 25d ago

This PR has gone quiet

No activity for 7+ days. Is this still in progress?

  • Author: keep working / mark draft / close.
  • Reviewers: review or unassign yourself.
  • Maintainers: close if no longer relevant.
gluecron[bot]🤖 botcommented 18d ago

This PR has gone quiet

No activity for 7+ days. Is this still in progress?

  • Author: keep working / mark draft / close.
  • Reviewers: review or unassign yourself.
  • Maintainers: close if no longer relevant.
gluecron[bot]🤖 botcommented 11d ago

This PR has gone quiet

No activity for 7+ days. Is this still in progress?

  • Author: keep working / mark draft / close.
  • Reviewers: review or unassign yourself.
  • Maintainers: close if no longer relevant.
gluecron[bot]🤖 botcommented 4d ago

This PR has gone quiet

No activity for 7+ days. Is this still in progress?

  • Author: keep working / mark draft / close.
  • Reviewers: review or unassign yourself.
  • Maintainers: close if no longer relevant.

Files changed

Side-by-side diff for claude/review-site-progress-WwBqD → main.

View diff →

Cross-repo impact

See what breaks downstream if this PR merges.

Analyze →
Risk score:⚠ HIGH (7/10)9fc6faf
Touches 26 file(s) with 1625 added and 197 removed across 0 owner(s). Includes a new dependency. No tests were added for the new code.
See full signal breakdown
  • files changed: 26
  • lines added/removed: 1625 / 197
  • distinct owners touched: 0
  • schema migration touched: no
  • locked / sensitive path touched: no
  • adds new dependency: yes
  • bumps major dependency: no
  • tests added for new code: no
  • diff-minus-test ratio: 1.00
How is this calculated? The score is a transparent sum of weighted signals — see src/lib/pr-risk.ts computePrRiskScore.

Gate checks

1 of 6 failing
GateTestDisabled in settingsSkipped
Secret scanNo secrets detectedPassed
Security scanStatic rules ran (8 checks, no AI required) — no static findings. AI review unavailable: The platform's AI balance is exhausted, so AI generation is temporarily unavailable. Nothing was lost. You can queue this as a repair for the internal agent from the repository's Health page, or try again once the balance is restored.Skipped
Merge checkMerge conflicts detected — AI auto-resolution will be attempted on mergeFailing
CINo CI workflows are configured for this repositorySkipped
AI ReviewAIAI review approvedPassed

Resolve conflicts manually

GlueCron AI will attempt auto-resolution when you press Merge. If it cannot, or you would rather not wait on it, the manual path below always works.
17 conflicting files between claude/review-site-progress-WwBqD and main:
  • middleware.ts
  • package-lock.json
  • src/app/(marketing)/_d8/D8Bits.tsx
  • src/app/(marketing)/contact/page.jsx
  • src/app/_client/D8TV.tsx
  • src/app/admin/billing/page.tsx
  • src/app/admin/domains/page.tsx
  • src/app/admin/marketing-queue/page.tsx
  • src/app/admin/projects/page.tsx
  • src/app/admin/settings/page.tsx
  • src/app/api/__probe__/route.ts
  • src/app/page.tsx
  • src/app/thanks/page.tsx
  • src/app/video/_client/VideoStudioClient.tsx
  • src/lib/d8kv.ts
  • src/lib/kv.ts
  • tsconfig.json
git fetch origin
git checkout claude/review-site-progress-WwBqD
git merge origin/main      # fix the files listed above, then:
git add -A && git commit
git push origin claude/review-site-progress-WwBqD
After you push, the merge check re-runs automatically on the next page load and the Merge button unblocks once it passes.
c comment · e edit title · m merge · a approve · r request changes · ? shortcuts