fix: update document links

This commit is contained in:
David Nguyen
2024-02-12 19:00:47 +11:00
parent 071475769c
commit 82b87739d0
2 changed files with 12 additions and 5 deletions

View File

@@ -5,16 +5,19 @@ import Link from 'next/link';
import { useSession } from 'next-auth/react'; import { useSession } from 'next-auth/react';
import { match } from 'ts-pattern'; import { match } from 'ts-pattern';
import { Document, Recipient, User } from '@documenso/prisma/client'; import { formatDocumentsPath } from '@documenso/lib/utils/teams';
import type { Document, Recipient, Team, User } from '@documenso/prisma/client';
export type DataTableTitleProps = { export type DataTableTitleProps = {
row: Document & { row: Document & {
User: Pick<User, 'id' | 'name' | 'email'>; User: Pick<User, 'id' | 'name' | 'email'>;
team: Pick<Team, 'url'> | null;
Recipient: Recipient[]; Recipient: Recipient[];
}; };
teamUrl?: string;
}; };
export const DataTableTitle = ({ row }: DataTableTitleProps) => { export const DataTableTitle = ({ row, teamUrl }: DataTableTitleProps) => {
const { data: session } = useSession(); const { data: session } = useSession();
if (!session) { if (!session) {
@@ -25,14 +28,18 @@ export const DataTableTitle = ({ row }: DataTableTitleProps) => {
const isOwner = row.User.id === session.user.id; const isOwner = row.User.id === session.user.id;
const isRecipient = !!recipient; const isRecipient = !!recipient;
const isCurrentTeamDocument = teamUrl && row.team?.url === teamUrl;
const documentsPath = formatDocumentsPath(isCurrentTeamDocument ? teamUrl : undefined);
return match({ return match({
isOwner, isOwner,
isRecipient, isRecipient,
isCurrentTeamDocument,
}) })
.with({ isOwner: true }, () => ( .with({ isOwner: true }, { isCurrentTeamDocument: true }, () => (
<Link <Link
href={`/documents/${row.id}`} href={`${documentsPath}/${row.id}`}
title={row.title} title={row.title}
className="block max-w-[10rem] truncate font-medium hover:underline md:max-w-[20rem]" className="block max-w-[10rem] truncate font-medium hover:underline md:max-w-[20rem]"
> >

View File

@@ -66,7 +66,7 @@ export const DocumentsDataTable = ({
}, },
{ {
header: 'Title', header: 'Title',
cell: ({ row }) => <DataTableTitle row={row.original} />, cell: ({ row }) => <DataTableTitle row={row.original} teamUrl={team?.url} />,
}, },
{ {
id: 'sender', id: 'sender',