to do calendar view

This commit is contained in:
2025-07-07 17:45:33 -04:00
parent de40c78f47
commit 5143be1a67
13 changed files with 225 additions and 26 deletions

View File

@@ -1,16 +1,28 @@
'use client'
import { SessionProvider } from 'next-auth/react'
import { ReactNode } from 'react'
import DashboardNavbar from '@/components/DashboardNavbar'
import { ReactNode, useContext } from 'react'
import { SidebarInset, SidebarProvider } from '@/components/ui/sidebar'
import { AppSidebar } from '@/components/app-sidebar'
import { SiteHeader } from '@/components/site-header'
import { UserContext } from '@/context/UserContext'
import { redirect } from 'next/navigation'
export default function AuthLayout({ children }: { children: ReactNode }) {
const { currentUser, loading } = useContext(UserContext)
if (loading) {
return <>Loading...</>
}
if (!currentUser) {
redirect('/login')
}
console.log(currentUser)
return (
<>
<main>
<SessionProvider>
<SidebarProvider
style={
@@ -33,6 +45,6 @@ export default function AuthLayout({ children }: { children: ReactNode }) {
</SidebarInset>
</SidebarProvider>
</SessionProvider>
</>
</main>
)
}

View File

@@ -0,0 +1,20 @@
import { getServerSession } from "next-auth";
import { authOptions } from "../../auth/[...nextauth]/route";
import { NextResponse } from "next/server";
import { queries } from "@/lib/queries";
export async function GET() {
const session = await getServerSession(authOptions);
if (!session?.user.id) {
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
}
const user = await queries.fetchCurrentUser(session.user.id)
if (!user) {
return NextResponse.json({ error: 'User not found' }, { status: 404 });
}
return NextResponse.json(user);
}

View File

@@ -1,6 +1,8 @@
import type { Metadata } from "next";
import "./globals.css";
import { Toaster } from "@/components/ui/sonner";
import Provider from "@/components/auth/Provider";
import { UserContextProvider } from "@/context/UserContext";
export const metadata: Metadata = {
title: "Wedding Planner",
@@ -18,8 +20,12 @@ export default async function RootLayout({
<body
className="bg-brand-background text-brand-text"
>
{children}
<Toaster />
<Provider>
<UserContextProvider>
{children}
</UserContextProvider>
<Toaster />
</Provider>
</body>
</html>
);