import { getServerSession } from 'next-auth' import { authOptions } from '@/pages/api/auth/[...nextauth]' import { redirect } from 'next/navigation' import { getInvitations } from '@/lib/sharing-actions' import InvitationCard from '@/components/InvitationCard' import { Mail } from 'lucide-react' import Link from 'next/link' type Invitation = { id: string email: string permission: 'editor' | 'viewer' status: string createdAt: Date expiresAt: Date listId: string inviterId: string list: { id: string title: string color: string } inviter: { id: string name: string | null email: string } } export default async function InvitationsPage() { const session = await getServerSession(authOptions) if (!session?.user) { redirect('/auth/login') } const invitations = await getInvitations() as Invitation[] return (
{/* Header */}
← Back to Lists

Invitations

{invitations.length === 0 ? 'No pending invitations' : `${invitations.length} pending ${invitations.length === 1 ? 'invitation' : 'invitations'}`}

{/* Invitations List */} {invitations.length === 0 ? (

No Invitations

When someone shares a list with you, you'll see the invitation here.

Go to My Lists
) : (
{invitations.map((invitation) => ( ))}
)}
) }