2026-09-19 18:34:05 +07:00
import type { Metadata } from "next" ;
import { Geist , Geist_Mono } from "next/font/google" ;
import "./globals.css" ;
2026-09-19 19:24:48 +07:00
import { Providers } from "@/components/providers" ;
2026-09-19 18:34:05 +07:00
const geistSans = Geist ({
variable : "--font-geist-sans" ,
subsets : [ "latin" ],
});
const geistMono = Geist_Mono ({
variable : "--font-geist-mono" ,
subsets : [ "latin" ],
});
export const metadata : Metadata = {
2026-09-22 17:10:11 +07:00
title : {
default : "Next.js Template — Aceternity + shadcn" ,
template : "%s — Next.js Template" ,
},
description :
"Production-ready Next.js 16 starter on Bun with 48 vendored Aceternity UI effects, shadcn Base-Nova components, Tailwind v4, motion, better-auth and a typed API client." ,
2026-09-19 18:34:05 +07:00
};
2026-09-19 21:54:31 +07:00
export default function RootLayout ({ children } : Readonly < { children : React.ReactNode } > ) {
2026-09-19 18:34:05 +07:00
return (
< html
lang = "en"
className = { ` ${ geistSans . variable } ${ geistMono . variable } h-full antialiased` }
2026-09-19 19:24:48 +07:00
suppressHydrationWarning
2026-09-19 18:34:05 +07:00
>
2026-09-19 19:24:48 +07:00
< body className = "flex min-h-full flex-col" >
< Providers >{ children }</ Providers >
</ body >
2026-09-19 18:34:05 +07:00
</ html >
);
}