'use client'; import Link from 'next/link'; import { useSession } from 'next-auth/react'; import { match } from 'ts-pattern'; import { Document, Recipient, User } from '@documenso/prisma/client'; export type DataTableTitleProps = { row: Document & { User: Pick; Recipient: Recipient[]; }; }; export const DataTableTitle = ({ row }: DataTableTitleProps) => { const { data: session } = useSession(); if (!session) { return null; } const recipient = row.Recipient.find((recipient) => recipient.email === session.user.email); const isOwner = row.User.id === session.user.id; const isRecipient = !!recipient; return match({ isOwner, isRecipient, }) .with({ isOwner: true }, () => ( {row.title} )) .with({ isRecipient: true }, () => ( {row.title} )) .otherwise(() => ( {row.title} )); };