38 lines
1014 B
TypeScript
38 lines
1014 B
TypeScript
import type { Metadata } from "next";
|
|||
|
|
import { Inter } from "next/font/google";
|
||
|
|
import "./globals.css";
|
||
|
|
import { SupabaseProvider } from "@/components/providers/supabase-provider";
|
||
|
|
import { QueryProvider } from "@/components/providers/query-provider";
|
||
|
|
import { createSupabaseServerClient } from "@/lib/supabase/server";
|
||
|
|
|
||
|
|
const inter = Inter({
|
||
|
|
subsets: ["latin"],
|
||
|
|
variable: "--font-inter",
|
||
|
|
});
|
||
|
|
|
||
|
|
export const metadata: Metadata = {
|
||
|
|
title: "Wolai Clone",
|
||
|
|
description: "Stage0 + Stage1 implementation powered by Supabase",
|
||
|
|
};
|
||
|
|
|
||
|
|
export default async function RootLayout({
|
||
|
|
children,
|
||
|
|
}: Readonly<{
|
||
|
|
children: React.ReactNode;
|
||
|
|
}>) {
|
||
|
|
const supabase = await createSupabaseServerClient();
|
||
|
|
const {
|
||
|
|
data: { session },
|
||
|
|
} = await supabase.auth.getSession();
|
||
|
|
|
||
|
|
return (
|
||
|
|
<html lang="zh-CN">
|
||
|
|
<body className={`${inter.variable} antialiased`}>
|
||
|
|
<SupabaseProvider session={session}>
|
||
|
|
<QueryProvider>{children}</QueryProvider>
|
||
|
|
</SupabaseProvider>
|
||
|
|
</body>
|
||
|
|
</html>
|
||
|
|
);
|
||
|
|
}
|