50 lines
1.6 KiB
TypeScript
50 lines
1.6 KiB
TypeScript
import type { Metadata } from 'next'
|
|
import localFont from 'next/font/local'
|
|
import './globals.css'
|
|
import { Header } from '@/components/Header'
|
|
import { EcosystemFooter } from '@/components/EcosystemFooter'
|
|
|
|
const geistSans = localFont({
|
|
src: './fonts/GeistVF.woff',
|
|
variable: '--font-geist-sans',
|
|
weight: '100 900',
|
|
})
|
|
const geistMono = localFont({
|
|
src: './fonts/GeistMonoVF.woff',
|
|
variable: '--font-geist-mono',
|
|
weight: '100 900',
|
|
})
|
|
|
|
export const metadata: Metadata = {
|
|
title: 'rFunds - Threshold-Based Flow Funding',
|
|
description: 'Design, simulate, and share continuous funding flows with threshold-based mechanisms. Create interconnected funding funnels with overflow routing and outcome tracking.',
|
|
icons: {
|
|
icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>💰</text></svg>",
|
|
},
|
|
openGraph: {
|
|
title: 'rFunds - Threshold-Based Flow Funding',
|
|
description: 'Design, simulate, and share continuous funding flows with threshold-based mechanisms.',
|
|
type: 'website',
|
|
url: 'https://rfunds.online',
|
|
},
|
|
}
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
}: Readonly<{
|
|
children: React.ReactNode
|
|
}>) {
|
|
return (
|
|
<html lang="en">
|
|
<head>
|
|
<script defer src="https://rdata.online/collect.js" data-website-id="0ebf1cfd-57e4-4fbe-925d-cd541d7bb3a8" />
|
|
</head>
|
|
<body className={`${geistSans.variable} ${geistMono.variable} antialiased`}>
|
|
<Header current="funds" />
|
|
{children}
|
|
<EcosystemFooter current="funds" />
|
|
</body>
|
|
</html>
|
|
)
|
|
}
|