feat: initial commit — asaas-checkout template white-label

Template genérico de checkout com ASAAS, parametrizado via env vars.
Inclui fluxo completo: checkout → pedido → polling → webhook → admin.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-16 06:40:41 +02:00
commit 038ce3f556
103 changed files with 20709 additions and 0 deletions

40
app/layout.tsx Normal file
View File

@@ -0,0 +1,40 @@
import type React from "react"
import { cn } from "@/lib/utils"
import { Cairo, Inter } from "next/font/google"
import "./globals.css"
import ClientRootLayoutContent from "./layout-client"
const kiro = Cairo({
subsets: ["latin"],
variable: "--font-kiro",
weight: ["300", "400", "500", "700"],
})
const inter = Inter({
subsets: ["latin"],
variable: "--font-inter",
})
export const metadata = {
title: process.env.NEXT_PUBLIC_APP_NAME ?? "Checkout",
description: "Soluções de certificação digital confiáveis e seguras para sua empresa",
icons: {
icon: [
{
url: "https://hebbkx1anhila5yf.public.blob.vercel-storage.com/WhatsApp%20Image%202025-01-31%20at%2022.10.07-5kqQGcVq7IsS13DgbQ5wYwozgoQHHJ.jpeg",
type: "image/jpeg",
},
],
},
generator: 'v0.app'
}
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="pt-BR" suppressHydrationWarning>
<body className={cn("min-h-screen bg-background font-sans antialiased", kiro.variable, inter.variable)}>
<ClientRootLayoutContent>{children}</ClientRootLayoutContent>
</body>
</html>
)
}