Files
todolist/src/app/projects/[id]/settings/page.tsx
Phong a0f1395cda feat: Add Project Management feature
- Add Project, ProjectMember, ProjectInvite models to Prisma schema
- Add API routes for projects CRUD, members management, invite links
- Add ProjectSelector and ProjectSettings components
- Add /projects, /projects/[id]/settings, /invite/[token] pages
- Update Navbar with navigation links
2026-01-05 12:25:04 +07:00

38 lines
1.0 KiB
TypeScript

'use client'
import { use } from 'react'
import { useSession } from 'next-auth/react'
import { useRouter } from 'next/navigation'
import { useEffect } from 'react'
import { ProjectSettings } from '@/components/projects'
export default function ProjectSettingsPage({ params }: { params: Promise<{ id: string }> }) {
const { id } = use(params)
const { data: session, status } = useSession()
const router = useRouter()
useEffect(() => {
if (status === 'unauthenticated') {
router.push('/login')
}
}, [status, router])
if (status === 'loading') {
return (
<div className="min-h-screen flex items-center justify-center">
<div className="animate-spin rounded-full h-12 w-12 border-4 border-primary-600 border-t-transparent" />
</div>
)
}
if (!session?.user?.id) {
return null
}
return (
<div className="max-w-6xl mx-auto px-4 py-8">
<ProjectSettings projectId={id} currentUserId={session.user.id} />
</div>
)
}