diff --git a/app/layout.tsx b/app/layout.tsx index 9d6c34c..7f43a85 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,40 +1,46 @@ -import type React from "react"; -import type { Metadata } from "next"; -import { Inter, Bangers, Space_Grotesk, Instrument_Serif } from "next/font/google"; -import { Analytics } from "@vercel/analytics/next"; -import { Toaster } from "@/components/ui/toaster"; -import { ClerkProvider } from "@clerk/nextjs"; -import "./globals.css"; +import type React from "react" +import type { Metadata } from "next" +import { + Inter, + Bangers, + Space_Grotesk, + Instrument_Serif, +} from "next/font/google" +import { Analytics } from "@vercel/analytics/next" +import { Toaster } from "@/components/ui/toaster" +import PlausibleProvider from "next-plausible" +import { ClerkProvider } from "@clerk/nextjs" +import "./globals.css" -const inter = Inter({ subsets: ["latin"], variable: "--font-inter" }); +const inter = Inter({ subsets: ["latin"], variable: "--font-inter" }) const bangers = Bangers({ weight: "400", subsets: ["latin"], variable: "--font-bangers", -}); +}) const spaceGrotesk = Space_Grotesk({ subsets: ["latin"], variable: "--font-space-grotesk", -}); +}) const instrumentSerif = Instrument_Serif({ weight: ["400"], subsets: ["latin"], variable: "--font-instrument-serif", -}); +}) export const metadata: Metadata = { title: "MakeComics - AI Comic Generator", description: "Create stunning AI-generated comics in seconds. Choose your style, describe your story, and watch the magic happen.", openGraph: { - images: "https://www.makecomics.io/og.png" - } -}; + images: "https://www.makecomics.io/og.png", + }, +} export default function RootLayout({ children, }: Readonly<{ - children: React.ReactNode; + children: React.ReactNode }>) { return ( @@ -42,6 +48,9 @@ export default function RootLayout({ lang="en" className={`${inter.variable} ${bangers.variable} ${spaceGrotesk.variable} ${instrumentSerif.variable}`} > + + + {children} @@ -49,5 +58,5 @@ export default function RootLayout({ - ); + ) } diff --git a/package.json b/package.json index 29ade74..c196036 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,7 @@ "jspdf": "^3.0.4", "lucide-react": "^0.454.0", "next": "16.1.5", + "next-plausible": "^3.12.5", "next-s3-upload": "^0.3.4", "next-themes": "^0.4.6", "react": "19.2.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8244592..5a5c6e1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -146,6 +146,9 @@ importers: next: specifier: 16.1.5 version: 16.1.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + next-plausible: + specifier: ^3.12.5 + version: 3.12.5(next@16.1.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) next-s3-upload: specifier: ^0.3.4 version: 0.3.4(next@16.1.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4) @@ -2538,6 +2541,13 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + next-plausible@3.12.5: + resolution: {integrity: sha512-l1YMuTI9akb2u7z4hyTuxXpudy8KfSteRNXCYpWpnhAoBjaWQlv6sITai1TwcR7wWvVW8DFbLubvMQAsirAjcA==} + peerDependencies: + next: '^11.1.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 ' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + next-s3-upload@0.3.4: resolution: {integrity: sha512-sWd8V5Hkw7B1iylHL0geGVStO1mIoVjAXAtxNGo/IkUtieTrd+ROu9dM3y7asDDYupQLfWzSOyhrpexrfNDqWA==} engines: {node: '>=10'} @@ -5621,6 +5631,12 @@ snapshots: nanoid@3.3.11: {} + next-plausible@3.12.5(next@16.1.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4): + dependencies: + next: 16.1.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + next-s3-upload@0.3.4(next@16.1.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4): dependencies: '@aws-sdk/client-s3': 3.958.0