-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlayout.js
More file actions
96 lines (93 loc) · 2.82 KB
/
layout.js
File metadata and controls
96 lines (93 loc) · 2.82 KB
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
import "./globals.css";
import { Inter } from "next/font/google";
import { Toaster } from "react-hot-toast";
import { AuthProvider } from "@/context/AuthContext";
import { ThemeProvider } from "@/components/ui/theme-provider";
const inter = Inter({ subsets: ["latin"] });
export const metadata = {
title: {
default: "FormCraft - Build, Share, Analyze Your Forms",
template: "%s | FormCraft"
},
description: "The modern form platform for authenticated collaboration. Create beautiful forms, collect responses, and analyze data with ease.",
keywords: ["form builder", "surveys", "data collection", "collaboration", "analytics", "no-code"],
authors: [{ name: "Prem Shaw", url: "https://github.com/Premshaw23" }],
creator: "Prem Shaw",
publisher: "FormCraft",
formatDetection: {
email: false,
address: false,
telephone: false,
},
openGraph: {
type: "website",
locale: "en_US",
url: "https://formcraft.vercel.app", // Adjust if you have a real URL
siteName: "FormCraft",
title: "FormCraft - Modern Form Platform",
description: "Build, share, and analyze forms with a seamless experience.",
images: [
{
url: "/og-image.png", // Make sure this exists in public/
width: 1200,
height: 630,
alt: "FormCraft Logo",
},
],
},
twitter: {
card: "summary_large_image",
title: "FormCraft - Modern Form Platform",
description: "Build, share, and analyze forms with a seamless experience.",
images: ["/og-image.png"],
},
robots: {
index: true,
follow: true,
},
};
export default function RootLayout({ children }) {
return (
<html lang="en" suppressHydrationWarning data-scroll-behavior="smooth">
<body
className={`${inter.className} min-h-screen transition-colors duration-200`}
>
<ThemeProvider
attribute="class"
defaultTheme="system"
enableSystem
disableTransitionOnChange
>
<AuthProvider>
<Toaster
position="top-right"
toastOptions={{
duration: 4000,
style: {
background: "#6B21A8",
color: "#fff",
fontWeight: "500",
borderRadius: "8px",
padding: "12px 16px",
boxShadow: "0 4px 12px rgba(107, 33, 168, 0.4)",
},
success: {
iconTheme: {
primary: "#10B981",
secondary: "#fff",
},
},
error: {
style: {
background: "#DC2626",
},
},
}}
/>
{children}
</AuthProvider>
</ThemeProvider>
</body>
</html>
);
}