authentik now working with convex auth

This commit is contained in:
2026-01-12 10:10:03 -06:00
parent abcf9df6aa
commit 72f11f0b02
27 changed files with 1310 additions and 134 deletions

View File

@@ -1,34 +1,16 @@
import type { Metadata, Viewport } from 'next';
import { Geist, Geist_Mono } from 'next/font/google';
import { cn } from '@acme/ui';
import { ThemeProvider, ThemeToggle } from '@acme/ui/theme';
import { Toaster } from '@acme/ui/toast';
import { env } from '~/env';
import { TRPCReactProvider } from '~/trpc/react';
import '@/app/styles.css';
import '~/app/styles.css';
import { ConvexClientProvider } from '@/components/providers';
import { generateMetadata } from '@/lib/metadata';
import { ConvexAuthNextjsServerProvider } from '@convex-dev/auth/nextjs/server';
import PlausibleProvider from 'next-plausible';
export const metadata: Metadata = {
metadataBase: new URL(
env.VERCEL_ENV === 'production'
? 'https://turbo.t3.gg'
: 'http://localhost:3000',
),
title: 'Create T3 Turbo',
description: 'Simple monorepo with shared backend for web & mobile apps',
openGraph: {
title: 'Create T3 Turbo',
description: 'Simple monorepo with shared backend for web & mobile apps',
url: 'https://create-t3-turbo.vercel.app',
siteName: 'Create T3 Turbo',
},
twitter: {
card: 'summary_large_image',
site: '@jullerino',
creator: '@jullerino',
},
};
import { ThemeProvider, Toaster } from '@gib/ui';
export const metadata: Metadata = generateMetadata();
export const viewport: Viewport = {
themeColor: [
@@ -46,24 +28,36 @@ const geistMono = Geist_Mono({
variable: '--font-geist-mono',
});
export default function RootLayout(props: { children: React.ReactNode }) {
const RootLayout = ({
children,
}: Readonly<{
children: React.ReactNode;
}>) => {
return (
<html lang="en" suppressHydrationWarning>
<body
className={cn(
'bg-background text-foreground min-h-screen font-sans antialiased',
geistSans.variable,
geistMono.variable,
)}
<ConvexAuthNextjsServerProvider>
<PlausibleProvider
domain="convexmonorepo.gbrown.org"
customDomain="https://plausible.gbrown.org"
>
<ThemeProvider>
<TRPCReactProvider>{props.children}</TRPCReactProvider>
<div className="absolute right-4 bottom-4">
<ThemeToggle />
</div>
<Toaster />
</ThemeProvider>
</body>
</html>
<html lang="en">
<body
className={`${geistSans.variable} ${geistMono.variable} antialiased`}
>
<ThemeProvider
attribute="class"
defaultTheme="system"
enableSystem
disableTransitionOnChange
>
<ConvexClientProvider>
{children}
<Toaster />
</ConvexClientProvider>
</ThemeProvider>
</body>
</html>
</PlausibleProvider>
</ConvexAuthNextjsServerProvider>
);
}
};
export default RootLayout;