Components
Marketing
- HeroSection (
src/app/(marketing)/sections/hero.tsx): animated headline with Wistia embed and dual CTAs. - PricingShowcaseSection: client-side pricing cards; posts
priceIdto/api/checkout_sessions. Requires Stripe price envs. - TechStackSection, SocialProofSection, FAQSection, CTASection, AnnouncementBarSection: prop-driven content from
src/config/marketing.config.ts.
Shared
- Header/Footer (
components/shared): navigation + CTA; usessite.config.ts. - ThemeToggle variants and Container layout primitives.
- Breadcrumbs for blog/post pages.
Auth
- AuthPageLayout: consistent auth shell (title/subtitle/footer link).
- OAuthButtons: Google/GitHub buttons wired to Supabase OAuth.
- UpdatePasswordForm: password reset UI.
- AuthProvider: wraps app (in
layout.tsx), exposes{ user, session, loading, signOut }, identifies PostHog user when available.
Dashboard
- DashboardProvider: fetches profile + subscription via server actions, listens to Supabase auth events, exposes refresh/signOut helpers.
- AppSidebar, HeaderUserMenu, NotificationsDropdown, SectionCards, ChartAreaInteractive, DataTable: sample analytics UI.
Emails
- MagicLinkEmail, ConfirmEmailTemplate, ResetPasswordEmail, PurchaseConfirmationTemplate under
components/emails/*. Used bylib/email/auth.tsandlib/email/purchase.ts.
UI primitives
- shadcn/radix components in
components/ui/*plus animated backgrounds and text effects. - Use
cnfromlib/utils.tsfor Tailwind class merging.
Server helpers
- Access control (
lib/access.ts): check/require access, feature gating, admin variants. - Payments (
lib/payments/plans.ts): plan definitions, feature keys, formatting, price-to-plan mapping. - Supabase clients (
lib/supabase/*): browser/server/admin factories, middleware session updater. - Emails (
lib/email/*): Resend senders with env validation. - GitHub (
lib/github.ts): collaborator add/check/remove + repo URL helper. - License (
lib/license.ts): generate/validate license keys, download recording. - Rate limiting (
lib/rate-limit.ts): in-memory sliding window presets for auth, checkout, webhook, etc.