-
Notifications
You must be signed in to change notification settings - Fork 92
/
Copy pathlayout.tsx
54 lines (49 loc) · 1.55 KB
/
layout.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/* eslint-disable camelcase */
import React from 'react'
import { ClerkProvider } from '@clerk/nextjs'
import { Inter, Space_Grotesk } from 'next/font/google'
import type { Metadata } from 'next';
import './globals.css';
import '../styles/prism.css';
import { ThemeProvider } from '@/context/ThemeProvider';
const inter = Inter({
subsets: ['latin'],
weight: ['100', '200', '300', '400', '500', '600', '700', '800', '900'],
variable: '--font-inter'
})
const spaceGrotesk = Space_Grotesk({
subsets: ['latin'],
weight: ['300', '400', '500', '600', '700'],
variable: '--font-spaceGrotesk'
})
export const metadata: Metadata = {
title: 'DevFlow',
description: 'A community-driven platform for asking and answering programming questions. Get help, share knowledge, and collaborate with developers from around the world. Explore topics in web development, mobile app development, algorithms, data structures, and more.',
icons: {
icon: '/assets/images/site-logo.svg'
}
}
export default function RootLayout({
children,
}: {
children: React.ReactNode
}) {
return (
<html lang="en">
<body className={`${inter.variable} ${spaceGrotesk.variable}`}>
<ClerkProvider
appearance={{
elements: {
formButtonPrimary: 'primary-gradient',
footerActionLink: 'primary-text-gradient hover:text-primary-500'
}
}}
>
<ThemeProvider>
{children}
</ThemeProvider>
</ClerkProvider>
</body>
</html>
)
}