layout.tsx67 lines · main
1import type { Metadata, Viewport } from 'next';
2import { GeistMono } from 'geist/font/mono';
3import { GeistSans } from 'geist/font/sans';
4import Script from 'next/script';
5
6import './globals.css';
7
8export const metadata: Metadata = {
9 title: {
10 default: 'Briven — the database anyone can use, no coding needed',
11 template: '%s · Briven',
12 },
13 description:
14 'Create and run a real database without writing code. Start from a template, edit your data like a spreadsheet, and undo any mistake in one click. Honest pricing, no surprise bills — made in Flanders.',
15 keywords: [
16 'no-code database',
17 'database without coding',
18 'database for non-coders',
19 'easy online database',
20 'database builder',
21 'database with undo',
22 'neon alternative',
23 'supabase alternative',
24 ],
25 icons: {
26 icon: [{ url: '/favicon.svg', type: 'image/svg+xml' }],
27 shortcut: '/favicon.svg',
28 },
29 openGraph: {
30 title: 'Briven — the database anyone can use',
31 description:
32 'A real database without writing code. Templates, spreadsheet-style editing, one-click undo. Honest pricing, made in Flanders.',
33 url: 'https://briven.tech',
34 siteName: 'briven',
35 locale: 'en_US',
36 type: 'website',
37 },
38 twitter: {
39 card: 'summary_large_image',
40 title: 'Briven — the database anyone can use',
41 description:
42 'A real database without writing code. Templates, spreadsheet-style editing, one-click undo.',
43 },
44 metadataBase: new URL('https://briven.tech'),
45};
46
47export const viewport: Viewport = {
48 themeColor: '#0a0b0d',
49 colorScheme: 'dark',
50};
51
52export default function RootLayout({ children }: { children: React.ReactNode }) {
53 return (
54 <html lang="en" className={`${GeistSans.variable} ${GeistMono.variable}`}>
55 <body>
56 {children}
57 {/* umami analytics — analytics.flndrn.com */}
58 <Script
59 defer
60 src="https://analytics.flndrn.com/script.js"
61 data-website-id="0b497796-2cd7-4663-bafc-d35d69bd2cf3"
62 strategy="afterInteractive"
63 />
64 </body>
65 </html>
66 );
67}