setup clerk
This commit is contained in:
5727
package-lock.json
generated
Normal file
5727
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -9,6 +9,7 @@
|
|||||||
"lint": "next lint"
|
"lint": "next lint"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@clerk/nextjs": "^6.10.2",
|
||||||
"@radix-ui/react-slot": "^1.1.1",
|
"@radix-ui/react-slot": "^1.1.1",
|
||||||
"@vercel/analytics": "^1.4.1",
|
"@vercel/analytics": "^1.4.1",
|
||||||
"@vercel/speed-insights": "^1.1.0",
|
"@vercel/speed-insights": "^1.1.0",
|
||||||
|
|||||||
@@ -1,38 +1,29 @@
|
|||||||
import type { Metadata } from "next";
|
import {
|
||||||
import { Geist, Geist_Mono } from "next/font/google";
|
ClerkProvider,
|
||||||
import "./globals.css";
|
SignInButton,
|
||||||
import { Analytics } from "@vercel/analytics/react";
|
SignedIn,
|
||||||
import { SpeedInsights } from "@vercel/speed-insights/next";
|
SignedOut,
|
||||||
|
UserButton
|
||||||
const geistSans = Geist({
|
} from '@clerk/nextjs'
|
||||||
variable: "--font-geist-sans",
|
import './globals.css'
|
||||||
subsets: ["latin"],
|
|
||||||
});
|
|
||||||
|
|
||||||
const geistMono = Geist_Mono({
|
|
||||||
variable: "--font-geist-mono",
|
|
||||||
subsets: ["latin"],
|
|
||||||
});
|
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
|
||||||
title: "Create Next App",
|
|
||||||
description: "Generated by create next app",
|
|
||||||
};
|
|
||||||
|
|
||||||
export default function RootLayout({
|
export default function RootLayout({
|
||||||
children,
|
children,
|
||||||
}: Readonly<{
|
}: {
|
||||||
children: React.ReactNode;
|
children: React.ReactNode
|
||||||
}>) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<html lang="en">
|
<ClerkProvider>
|
||||||
<body
|
<html lang="en">
|
||||||
className={`${geistSans.variable} ${geistMono.variable} antialiased`}
|
<body>
|
||||||
>
|
<SignedOut>
|
||||||
<Analytics />
|
<SignInButton />
|
||||||
<SpeedInsights />
|
</SignedOut>
|
||||||
{children}
|
<SignedIn>
|
||||||
</body>
|
<UserButton />
|
||||||
</html>
|
</SignedIn>
|
||||||
);
|
{children}
|
||||||
}
|
</body>
|
||||||
|
</html>
|
||||||
|
</ClerkProvider>
|
||||||
|
)
|
||||||
|
}
|
||||||
12
src/middleware.ts
Normal file
12
src/middleware.ts
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
import { clerkMiddleware } from "@clerk/nextjs/server";
|
||||||
|
|
||||||
|
export default clerkMiddleware();
|
||||||
|
|
||||||
|
export const config = {
|
||||||
|
matcher: [
|
||||||
|
// Skip Next.js internals and all static files, unless found in search params
|
||||||
|
'/((?!_next|[^?]*\\.(?:html?|css|js(?!on)|jpe?g|webp|png|gif|svg|ttf|woff2?|ico|csv|docx?|xlsx?|zip|webmanifest)).*)',
|
||||||
|
// Always run for API routes
|
||||||
|
'/(api|trpc)(.*)',
|
||||||
|
],
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user