feat: add subscription service — user auth, Stripe billing, API keys, dashboard
- NextAuth v5 with email+password credentials, JWT sessions - Registration, login, email verification, password reset flows - Stripe integration: Free (15/day), Starter ($5/1k/mo), Pro ($20/100k/mo) - API key management (cb_ prefix) with hash-based validation - Dashboard with generations history, settings, billing management - Rate limiting: Redis daily counter (free), DB monthly (paid) - Generate route auth: Bearer API key + session, anonymous allowed - Worker userId propagation for generation history - Pricing section on landing page, auth-aware navbar - Middleware with route protection, CORS for codeboard.vectry.tech - Docker env vars for auth, Stripe, email (smtp.migadu.com)
This commit is contained in:
@@ -3,6 +3,7 @@ import { Inter, JetBrains_Mono } from "next/font/google";
|
||||
import "./globals.css";
|
||||
import { Navbar } from "@/components/navbar";
|
||||
import { Footer } from "@/components/footer";
|
||||
import { Providers } from "@/components/providers";
|
||||
|
||||
const inter = Inter({
|
||||
subsets: ["latin"],
|
||||
@@ -81,18 +82,20 @@ export default function RootLayout({
|
||||
>
|
||||
Skip to content
|
||||
</a>
|
||||
<div className="relative min-h-screen flex flex-col">
|
||||
<div className="fixed inset-0 bg-gradient-radial pointer-events-none" aria-hidden="true" />
|
||||
<div className="fixed inset-0 bg-grid pointer-events-none opacity-50" aria-hidden="true" />
|
||||
|
||||
<Navbar />
|
||||
|
||||
<main id="main-content" className="flex-1 relative">
|
||||
{children}
|
||||
</main>
|
||||
|
||||
<Footer />
|
||||
</div>
|
||||
<Providers>
|
||||
<div className="relative min-h-screen flex flex-col">
|
||||
<div className="fixed inset-0 bg-gradient-radial pointer-events-none" aria-hidden="true" />
|
||||
<div className="fixed inset-0 bg-grid pointer-events-none opacity-50" aria-hidden="true" />
|
||||
|
||||
<Navbar />
|
||||
|
||||
<main id="main-content" className="flex-1 relative">
|
||||
{children}
|
||||
</main>
|
||||
|
||||
<Footer />
|
||||
</div>
|
||||
</Providers>
|
||||
</body>
|
||||
</html>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user