rfunds-online/app/layout.tsx

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>
)
}