diff --git a/apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx b/apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx index 92304a62e..c4864145c 100644 --- a/apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx +++ b/apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx @@ -1,5 +1,7 @@ 'use client'; +import { useMemo } from 'react'; + import { useRouter } from 'next/navigation'; import { Trans, msg } from '@lingui/macro'; @@ -15,6 +17,7 @@ import { } from '@documenso/prisma/client'; import { trpc } from '@documenso/trpc/react'; import { Button } from '@documenso/ui/primitives/button'; +import type { DataTableColumnDef } from '@documenso/ui/primitives/data-table'; import { DataTable } from '@documenso/ui/primitives/data-table'; import { Form, @@ -59,6 +62,50 @@ export const RecipientItem = ({ recipient }: RecipientItemProps) => { const { mutateAsync: updateRecipient } = trpc.admin.updateRecipient.useMutation(); + const columns = useMemo(() => { + return [ + { + header: 'ID', + accessorKey: 'id', + cell: ({ row }) =>
{row.original.id}
, + }, + { + header: _(msg`Type`), + accessorKey: 'type', + cell: ({ row }) =>
{row.original.type}
, + }, + { + header: _(msg`Inserted`), + accessorKey: 'inserted', + cell: ({ row }) =>
{row.original.inserted ? 'True' : 'False'}
, + }, + { + header: _(msg`Value`), + accessorKey: 'customText', + cell: ({ row }) =>
{row.original.customText}
, + }, + { + header: _(msg`Signature`), + accessorKey: 'signature', + cell: ({ row }) => ( +
+ {row.original.Signature?.typedSignature && ( + {row.original.Signature.typedSignature} + )} + + {row.original.Signature?.signatureImageAsBase64 && ( + Signature + )} +
+ ), + }, + ] satisfies DataTableColumnDef<(typeof recipient)['Field'][number]>[]; + }, []); + const onUpdateRecipientFormSubmit = async ({ name, email }: TAdminUpdateRecipientFormSchema) => { try { await updateRecipient({ @@ -143,50 +190,7 @@ export const RecipientItem = ({ recipient }: RecipientItemProps) => { Fields -
{row.original.id}
, - }, - { - header: _(msg`Type`), - accessorKey: 'type', - cell: ({ row }) =>
{row.original.type}
, - }, - { - header: _(msg`Inserted`), - accessorKey: 'inserted', - cell: ({ row }) =>
{row.original.inserted ? 'True' : 'False'}
, - }, - { - header: _(msg`Value`), - accessorKey: 'customText', - cell: ({ row }) =>
{row.original.customText}
, - }, - { - header: _(msg`Signature`), - accessorKey: 'signature', - cell: ({ row }) => ( -
- {row.original.Signature?.typedSignature && ( - {row.original.Signature.typedSignature} - )} - - {row.original.Signature?.signatureImageAsBase64 && ( - Signature - )} -
- ), - }, - ]} - /> + ); }; diff --git a/apps/web/src/app/(dashboard)/admin/documents/document-results.tsx b/apps/web/src/app/(dashboard)/admin/documents/document-results.tsx index 3226ed2c7..1686e0d41 100644 --- a/apps/web/src/app/(dashboard)/admin/documents/document-results.tsx +++ b/apps/web/src/app/(dashboard)/admin/documents/document-results.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useState } from 'react'; +import { useMemo, useState } from 'react'; import Link from 'next/link'; import { useSearchParams } from 'next/navigation'; @@ -14,6 +14,7 @@ import { useUpdateSearchParams } from '@documenso/lib/client-only/hooks/use-upda import { extractInitials } from '@documenso/lib/utils/recipient-formatter'; import { trpc } from '@documenso/trpc/react'; import { Avatar, AvatarFallback } from '@documenso/ui/primitives/avatar'; +import type { DataTableColumnDef } from '@documenso/ui/primitives/data-table'; import { DataTable } from '@documenso/ui/primitives/data-table'; import { DataTablePagination } from '@documenso/ui/primitives/data-table-pagination'; import { Input } from '@documenso/ui/primitives/input'; @@ -49,6 +50,83 @@ export const AdminDocumentResults = () => { }, ); + const results = findDocumentsData ?? { + data: [], + perPage: 20, + currentPage: 1, + totalPages: 1, + }; + + const columns = useMemo(() => { + return [ + { + header: _(msg`Created`), + accessorKey: 'createdAt', + cell: ({ row }) => , + }, + { + header: _(msg`Title`), + accessorKey: 'title', + cell: ({ row }) => { + return ( + + {row.original.title} + + ); + }, + }, + { + header: _(msg`Status`), + accessorKey: 'status', + cell: ({ row }) => , + }, + { + header: _(msg`Owner`), + accessorKey: 'owner', + cell: ({ row }) => { + const avatarFallbackText = row.original.User.name + ? extractInitials(row.original.User.name) + : row.original.User.email.slice(0, 1).toUpperCase(); + + return ( + + + + + + {avatarFallbackText} + + + + + + + + + {avatarFallbackText} + + + +
+ {row.original.User.name} + {row.original.User.email} +
+
+
+ ); + }, + }, + { + header: 'Last updated', + accessorKey: 'updatedAt', + cell: ({ row }) => , + }, + ] satisfies DataTableColumnDef<(typeof results)['data'][number]>[]; + }, []); + const onPaginationChange = (newPage: number, newPerPage: number) => { updateSearchParams({ page: newPage, @@ -67,77 +145,11 @@ export const AdminDocumentResults = () => {
, - }, - { - header: _(msg`Title`), - accessorKey: 'title', - cell: ({ row }) => { - return ( - - {row.original.title} - - ); - }, - }, - { - header: _(msg`Status`), - accessorKey: 'status', - cell: ({ row }) => , - }, - { - header: _(msg`Owner`), - accessorKey: 'owner', - cell: ({ row }) => { - const avatarFallbackText = row.original.User.name - ? extractInitials(row.original.User.name) - : row.original.User.email.slice(0, 1).toUpperCase(); - - return ( - - - - - - {avatarFallbackText} - - - - - - - - - {avatarFallbackText} - - - -
- {row.original.User.name} - {row.original.User.email} -
-
-
- ); - }, - }, - { - header: 'Last updated', - accessorKey: 'updatedAt', - cell: ({ row }) => , - }, - ]} - data={findDocumentsData?.data ?? []} - perPage={findDocumentsData?.perPage ?? 20} - currentPage={findDocumentsData?.currentPage ?? 1} - totalPages={findDocumentsData?.totalPages ?? 1} + columns={columns} + data={results.data} + perPage={results.perPage ?? 20} + currentPage={results.currentPage ?? 1} + totalPages={results.totalPages ?? 1} onPaginationChange={onPaginationChange} > {(table) => } diff --git a/apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx b/apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx index 86d2c2b77..da811c5a1 100644 --- a/apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx +++ b/apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useEffect, useState, useTransition } from 'react'; +import { useEffect, useMemo, useState, useTransition } from 'react'; import Link from 'next/link'; @@ -12,6 +12,7 @@ import { useDebouncedValue } from '@documenso/lib/client-only/hooks/use-debounce import { useUpdateSearchParams } from '@documenso/lib/client-only/hooks/use-update-search-params'; import type { Document, Role, Subscription } from '@documenso/prisma/client'; import { Button } from '@documenso/ui/primitives/button'; +import type { DataTableColumnDef } from '@documenso/ui/primitives/data-table'; import { DataTable } from '@documenso/ui/primitives/data-table'; import { DataTablePagination } from '@documenso/ui/primitives/data-table-pagination'; import { Input } from '@documenso/ui/primitives/input'; @@ -54,6 +55,63 @@ export const UsersDataTable = ({ const [searchString, setSearchString] = useState(''); const debouncedSearchString = useDebouncedValue(searchString, 1000); + const columns = useMemo(() => { + return [ + { + header: 'ID', + accessorKey: 'id', + cell: ({ row }) =>
{row.original.id}
, + }, + { + header: _(msg`Name`), + accessorKey: 'name', + cell: ({ row }) =>
{row.original.name}
, + }, + { + header: _(msg`Email`), + accessorKey: 'email', + cell: ({ row }) =>
{row.original.email}
, + }, + { + header: _(msg`Roles`), + accessorKey: 'roles', + cell: ({ row }) => row.original.roles.join(', '), + }, + { + header: _(msg`Subscription`), + accessorKey: 'subscription', + cell: ({ row }) => { + const foundIndividualSubscription = (row.original.Subscription ?? []).find((sub) => + individualPriceIds.includes(sub.priceId), + ); + + return foundIndividualSubscription?.status ?? 'NONE'; + }, + }, + { + header: _(msg`Documents`), + accessorKey: 'documents', + cell: ({ row }) => { + return
{row.original.Document.length}
; + }, + }, + { + header: '', + accessorKey: 'edit', + cell: ({ row }) => { + return ( + + ); + }, + }, + ] satisfies DataTableColumnDef<(typeof users)[number]>[]; + }, [individualPriceIds]); + useEffect(() => { startTransition(() => { updateSearchParams({ @@ -88,60 +146,7 @@ export const UsersDataTable = ({ onChange={handleChange} />
{row.original.id}
, - }, - { - header: _(msg`Name`), - accessorKey: 'name', - cell: ({ row }) =>
{row.original.name}
, - }, - { - header: _(msg`Email`), - accessorKey: 'email', - cell: ({ row }) =>
{row.original.email}
, - }, - { - header: _(msg`Roles`), - accessorKey: 'roles', - cell: ({ row }) => row.original.roles.join(', '), - }, - { - header: _(msg`Subscription`), - accessorKey: 'subscription', - cell: ({ row }) => { - const foundIndividualSubscription = (row.original.Subscription ?? []).find((sub) => - individualPriceIds.includes(sub.priceId), - ); - - return foundIndividualSubscription?.status ?? 'NONE'; - }, - }, - { - header: _(msg`Documents`), - accessorKey: 'documents', - cell: ({ row }) => { - return
{row.original.Document.length}
; - }, - }, - { - header: '', - accessorKey: 'edit', - cell: ({ row }) => { - return ( - - ); - }, - }, - ]} + columns={columns} data={users} perPage={perPage} currentPage={page} diff --git a/apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx b/apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx index 742ad95ff..8da970c35 100644 --- a/apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx +++ b/apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx @@ -1,5 +1,7 @@ 'use client'; +import { useMemo } from 'react'; + import { useSearchParams } from 'next/navigation'; import { msg } from '@lingui/macro'; @@ -12,6 +14,7 @@ import { useUpdateSearchParams } from '@documenso/lib/client-only/hooks/use-upda import { ZBaseTableSearchParamsSchema } from '@documenso/lib/types/search-params'; import { formatDocumentAuditLogAction } from '@documenso/lib/utils/document-audit-logs'; import { trpc } from '@documenso/trpc/react'; +import type { DataTableColumnDef } from '@documenso/ui/primitives/data-table'; import { DataTable } from '@documenso/ui/primitives/data-table'; import { DataTablePagination } from '@documenso/ui/primitives/data-table-pagination'; import { Skeleton } from '@documenso/ui/primitives/skeleton'; @@ -31,8 +34,6 @@ const dateFormat: DateTimeFormatOptions = { export const DocumentLogsDataTable = ({ documentId }: DocumentLogsDataTableProps) => { const { _ } = useLingui(); - const parser = new UAParser(); - const searchParams = useSearchParams(); const updateSearchParams = useUpdateSearchParams(); @@ -70,64 +71,70 @@ export const DocumentLogsDataTable = ({ documentId }: DocumentLogsDataTableProps totalPages: 1, }; + const columns = useMemo(() => { + const parser = new UAParser(); + + return [ + { + header: _(msg`Time`), + accessorKey: 'createdAt', + cell: ({ row }) => , + }, + { + header: _(msg`User`), + accessorKey: 'name', + cell: ({ row }) => + row.original.name || row.original.email ? ( +
+ {row.original.name && ( +

+ {row.original.name} +

+ )} + + {row.original.email && ( +

+ {row.original.email} +

+ )} +
+ ) : ( +

N/A

+ ), + }, + { + header: _(msg`Action`), + accessorKey: 'type', + cell: ({ row }) => ( + + {uppercaseFistLetter(formatDocumentAuditLogAction(row.original).description)} + + ), + }, + { + header: 'IP Address', + accessorKey: 'ipAddress', + }, + { + header: 'Browser', + cell: ({ row }) => { + if (!row.original.userAgent) { + return 'N/A'; + } + + parser.setUA(row.original.userAgent); + + const result = parser.getResult(); + + return result.browser.name ?? 'N/A'; + }, + }, + ] satisfies DataTableColumnDef<(typeof results)['data'][number]>[]; + }, []); + return ( , - }, - { - header: _(msg`User`), - accessorKey: 'name', - cell: ({ row }) => - row.original.name || row.original.email ? ( -
- {row.original.name && ( -

- {row.original.name} -

- )} - - {row.original.email && ( -

- {row.original.email} -

- )} -
- ) : ( -

N/A

- ), - }, - { - header: _(msg`Action`), - accessorKey: 'type', - cell: ({ row }) => ( - - {uppercaseFistLetter(formatDocumentAuditLogAction(row.original).description)} - - ), - }, - { - header: 'IP Address', - accessorKey: 'ipAddress', - }, - { - header: 'Browser', - cell: ({ row }) => { - if (!row.original.userAgent) { - return 'N/A'; - } - - parser.setUA(row.original.userAgent); - - const result = parser.getResult(); - - return result.browser.name ?? 'N/A'; - }, - }, - ]} + columns={columns} data={results.data} perPage={results.perPage} currentPage={results.currentPage} diff --git a/apps/web/src/app/(dashboard)/documents/data-table.tsx b/apps/web/src/app/(dashboard)/documents/data-table.tsx index cc19cad2d..8635dc3c7 100644 --- a/apps/web/src/app/(dashboard)/documents/data-table.tsx +++ b/apps/web/src/app/(dashboard)/documents/data-table.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useTransition } from 'react'; +import { useMemo, useTransition } from 'react'; import { msg } from '@lingui/macro'; import { useLingui } from '@lingui/react'; @@ -12,6 +12,7 @@ import { useUpdateSearchParams } from '@documenso/lib/client-only/hooks/use-upda import type { FindResultSet } from '@documenso/lib/types/find-result-set'; import type { Document, Recipient, Team, User } from '@documenso/prisma/client'; import { ExtendedDocumentStatus } from '@documenso/prisma/types/extended-document-status'; +import type { DataTableColumnDef } from '@documenso/ui/primitives/data-table'; import { DataTable } from '@documenso/ui/primitives/data-table'; import { DataTablePagination } from '@documenso/ui/primitives/data-table-pagination'; @@ -47,6 +48,57 @@ export const DocumentsDataTable = ({ const updateSearchParams = useUpdateSearchParams(); + const columns = useMemo(() => { + return [ + { + header: _(msg`Created`), + accessorKey: 'createdAt', + cell: ({ row }) => ( + + ), + }, + { + header: _(msg`Title`), + cell: ({ row }) => , + }, + { + id: 'sender', + header: _(msg`Sender`), + cell: ({ row }) => row.original.User.name ?? row.original.User.email, + }, + { + header: _(msg`Recipient`), + accessorKey: 'recipient', + cell: ({ row }) => ( + + ), + }, + { + header: _(msg`Status`), + accessorKey: 'status', + cell: ({ row }) => , + size: 140, + }, + { + header: _(msg`Actions`), + cell: ({ row }) => + (!row.original.deletedAt || + row.original.status === ExtendedDocumentStatus.COMPLETED) && ( +
+ + +
+ ), + }, + ] satisfies DataTableColumnDef<(typeof results)['data'][number]>[]; + }, [team]); + const onPaginationChange = (page: number, perPage: number) => { startTransition(() => { updateSearchParams({ @@ -63,54 +115,7 @@ export const DocumentsDataTable = ({ return (
( - - ), - }, - { - header: _(msg`Title`), - cell: ({ row }) => , - }, - { - id: 'sender', - header: _(msg`Sender`), - cell: ({ row }) => row.original.User.name ?? row.original.User.email, - }, - { - header: _(msg`Recipient`), - accessorKey: 'recipient', - cell: ({ row }) => ( - - ), - }, - { - header: _(msg`Status`), - accessorKey: 'status', - cell: ({ row }) => , - size: 140, - }, - { - header: _(msg`Actions`), - cell: ({ row }) => - (!row.original.deletedAt || - row.original.status === ExtendedDocumentStatus.COMPLETED) && ( -
- - -
- ), - }, - ]} + columns={columns} data={results.data} perPage={results.perPage} currentPage={results.currentPage} diff --git a/apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx b/apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx index 8192e4246..5f9f7e88c 100644 --- a/apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx +++ b/apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx @@ -1,5 +1,7 @@ 'use client'; +import { useMemo } from 'react'; + import { usePathname, useRouter, useSearchParams } from 'next/navigation'; import { msg } from '@lingui/macro'; @@ -12,6 +14,7 @@ import { useUpdateSearchParams } from '@documenso/lib/client-only/hooks/use-upda import { USER_SECURITY_AUDIT_LOG_MAP } from '@documenso/lib/constants/auth'; import { ZBaseTableSearchParamsSchema } from '@documenso/lib/types/search-params'; import { trpc } from '@documenso/trpc/react'; +import type { DataTableColumnDef } from '@documenso/ui/primitives/data-table'; import { DataTable } from '@documenso/ui/primitives/data-table'; import { DataTablePagination } from '@documenso/ui/primitives/data-table-pagination'; import { Skeleton } from '@documenso/ui/primitives/skeleton'; @@ -27,8 +30,6 @@ const dateFormat: DateTimeFormatOptions = { export const UserSecurityActivityDataTable = () => { const { _ } = useLingui(); - const parser = new UAParser(); - const pathname = usePathname(); const router = useRouter(); const searchParams = useSearchParams(); @@ -63,63 +64,69 @@ export const UserSecurityActivityDataTable = () => { totalPages: 1, }; + const columns = useMemo(() => { + const parser = new UAParser(); + + return [ + { + header: _(msg`Date`), + accessorKey: 'createdAt', + cell: ({ row }) => , + }, + { + header: _(msg`Device`), + cell: ({ row }) => { + if (!row.original.userAgent) { + return 'N/A'; + } + + parser.setUA(row.original.userAgent); + + const result = parser.getResult(); + + let output = result.os.name; + + if (!output) { + return 'N/A'; + } + + if (result.os.version) { + output += ` (${result.os.version})`; + } + + return output; + }, + }, + { + header: _(msg`Browser`), + cell: ({ row }) => { + if (!row.original.userAgent) { + return 'N/A'; + } + + parser.setUA(row.original.userAgent); + + const result = parser.getResult(); + + return result.browser.name ?? 'N/A'; + }, + }, + { + header: 'IP Address', + accessorKey: 'ipAddress', + cell: ({ row }) => row.original.ipAddress ?? 'N/A', + }, + { + header: _(msg`Action`), + accessorKey: 'type', + cell: ({ row }) => USER_SECURITY_AUDIT_LOG_MAP[row.original.type], + }, + ] satisfies DataTableColumnDef<(typeof results)['data'][number]>[]; + }, []); + return ( , - }, - { - header: _(msg`Device`), - cell: ({ row }) => { - if (!row.original.userAgent) { - return 'N/A'; - } - - parser.setUA(row.original.userAgent); - - const result = parser.getResult(); - - let output = result.os.name; - - if (!output) { - return 'N/A'; - } - - if (result.os.version) { - output += ` (${result.os.version})`; - } - - return output; - }, - }, - { - header: _(msg`Browser`), - cell: ({ row }) => { - if (!row.original.userAgent) { - return 'N/A'; - } - - parser.setUA(row.original.userAgent); - - const result = parser.getResult(); - - return result.browser.name ?? 'N/A'; - }, - }, - { - header: 'IP Address', - accessorKey: 'ipAddress', - cell: ({ row }) => row.original.ipAddress ?? 'N/A', - }, - { - header: _(msg`Action`), - accessorKey: 'type', - cell: ({ row }) => USER_SECURITY_AUDIT_LOG_MAP[row.original.type], - }, - ]} + columns={columns} data={results.data} perPage={results.perPage} currentPage={results.currentPage} diff --git a/apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx b/apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx index 471722683..9763325b9 100644 --- a/apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx +++ b/apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx @@ -1,5 +1,7 @@ 'use client'; +import { useMemo } from 'react'; + import { usePathname, useRouter, useSearchParams } from 'next/navigation'; import { msg } from '@lingui/macro'; @@ -9,6 +11,7 @@ import { DateTime } from 'luxon'; import { useUpdateSearchParams } from '@documenso/lib/client-only/hooks/use-update-search-params'; import { ZBaseTableSearchParamsSchema } from '@documenso/lib/types/search-params'; import { trpc } from '@documenso/trpc/react'; +import type { DataTableColumnDef } from '@documenso/ui/primitives/data-table'; import { DataTable } from '@documenso/ui/primitives/data-table'; import { DataTablePagination } from '@documenso/ui/primitives/data-table-pagination'; import { Skeleton } from '@documenso/ui/primitives/skeleton'; @@ -52,38 +55,42 @@ export const UserPasskeysDataTable = () => { totalPages: 1, }; + const columns = useMemo(() => { + return [ + { + header: _(msg`Name`), + accessorKey: 'name', + }, + { + header: _(msg`Created`), + accessorKey: 'createdAt', + cell: ({ row }) => DateTime.fromJSDate(row.original.createdAt).toRelative(), + }, + + { + header: _(msg`Last used`), + accessorKey: 'updatedAt', + cell: ({ row }) => + row.original.lastUsedAt + ? DateTime.fromJSDate(row.original.lastUsedAt).toRelative() + : msg`Never`, + }, + { + id: 'actions', + cell: ({ row }) => ( + + ), + }, + ] satisfies DataTableColumnDef<(typeof results)['data'][number]>[]; + }, []); + return ( DateTime.fromJSDate(row.original.createdAt).toRelative(), - }, - - { - header: _(msg`Last used`), - accessorKey: 'updatedAt', - cell: ({ row }) => - row.original.lastUsedAt - ? DateTime.fromJSDate(row.original.lastUsedAt).toRelative() - : msg`Never`, - }, - { - id: 'actions', - cell: ({ row }) => ( - - ), - }, - ]} + columns={columns} data={results.data} perPage={results.perPage} currentPage={results.currentPage} diff --git a/apps/web/src/app/(dashboard)/templates/data-table-templates.tsx b/apps/web/src/app/(dashboard)/templates/data-table-templates.tsx index de2eb218c..bb913c994 100644 --- a/apps/web/src/app/(dashboard)/templates/data-table-templates.tsx +++ b/apps/web/src/app/(dashboard)/templates/data-table-templates.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useTransition } from 'react'; +import { useMemo, useTransition } from 'react'; import Link from 'next/link'; @@ -12,6 +12,7 @@ import { useLimits } from '@documenso/ee/server-only/limits/provider/client'; import { useUpdateSearchParams } from '@documenso/lib/client-only/hooks/use-update-search-params'; import type { FindTemplateRow } from '@documenso/lib/server-only/template/find-templates'; import { Alert, AlertDescription, AlertTitle } from '@documenso/ui/primitives/alert'; +import type { DataTableColumnDef } from '@documenso/ui/primitives/data-table'; import { DataTable } from '@documenso/ui/primitives/data-table'; import { DataTablePagination } from '@documenso/ui/primitives/data-table-pagination'; import { Tooltip, TooltipContent, TooltipTrigger } from '@documenso/ui/primitives/tooltip'; @@ -50,6 +51,116 @@ export const TemplatesDataTable = ({ const { _ } = useLingui(); const { remaining } = useLimits(); + const columns = useMemo(() => { + return [ + { + header: _(msg`Created`), + accessorKey: 'createdAt', + cell: ({ row }) => , + }, + { + header: _(msg`Title`), + cell: ({ row }) => , + }, + { + header: () => ( +
+ Type + + + + + + +
    +
  • +

    + + Public +

    + +

    + + Public templates are connected to your public profile. Any modifications + to public templates will also appear in your public profile. + +

    +
  • +
  • +
    + + direct link +
    + +

    + + Direct link templates contain one dynamic recipient placeholder. Anyone + with access to this link can sign the document, and it will then appear + on your documents page. + +

    +
  • +
  • +

    + + {teamId ? Team Only : Private} +

    + +

    + {teamId ? ( + + Team only templates are not linked anywhere and are visible only to + your team. + + ) : ( + Private templates can only be modified and viewed by you. + )} +

    +
  • +
+
+
+
+ ), + accessorKey: 'type', + cell: ({ row }) => ( +
+ + + {row.original.directLink?.token && ( + + )} +
+ ), + }, + { + header: _(msg`Actions`), + accessorKey: 'actions', + cell: ({ row }) => { + return ( +
+ + + +
+ ); + }, + }, + ] satisfies DataTableColumnDef<(typeof templates)[number]>[]; + }, [documentRootPath, teamId, templateRootPath]); + const onPaginationChange = (page: number, perPage: number) => { startTransition(() => { updateSearchParams({ @@ -79,113 +190,7 @@ export const TemplatesDataTable = ({ )} , - }, - { - header: _(msg`Title`), - cell: ({ row }) => , - }, - { - header: () => ( -
- Type - - - - - - -
    -
  • -

    - - Public -

    - -

    - - Public templates are connected to your public profile. Any modifications - to public templates will also appear in your public profile. - -

    -
  • -
  • -
    - - direct link -
    - -

    - - Direct link templates contain one dynamic recipient placeholder. Anyone - with access to this link can sign the document, and it will then appear - on your documents page. - -

    -
  • -
  • -

    - - {teamId ? Team Only : Private} -

    - -

    - {teamId ? ( - - Team only templates are not linked anywhere and are visible only to - your team. - - ) : ( - Private templates can only be modified and viewed by you. - )} -

    -
  • -
-
-
-
- ), - accessorKey: 'type', - cell: ({ row }) => ( -
- - - {row.original.directLink?.token && ( - - )} -
- ), - }, - { - header: _(msg`Actions`), - accessorKey: 'actions', - cell: ({ row }) => { - return ( -
- - - -
- ); - }, - }, - ]} + columns={columns} data={templates} perPage={perPage} currentPage={page} diff --git a/apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx b/apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx index 6cc82139f..122eca5cc 100644 --- a/apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx +++ b/apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx @@ -1,5 +1,7 @@ 'use client'; +import { useMemo } from 'react'; + import Link from 'next/link'; import { useSearchParams } from 'next/navigation'; @@ -14,6 +16,7 @@ import { canExecuteTeamAction } from '@documenso/lib/utils/teams'; import { trpc } from '@documenso/trpc/react'; import { AvatarWithText } from '@documenso/ui/primitives/avatar'; import { Button } from '@documenso/ui/primitives/button'; +import type { DataTableColumnDef } from '@documenso/ui/primitives/data-table'; import { DataTable } from '@documenso/ui/primitives/data-table'; import { DataTablePagination } from '@documenso/ui/primitives/data-table-pagination'; import { Skeleton } from '@documenso/ui/primitives/skeleton'; @@ -58,70 +61,74 @@ export const CurrentUserTeamsDataTable = () => { totalPages: 1, }; + const columns = useMemo(() => { + return [ + { + header: _(msg`Team`), + accessorKey: 'name', + cell: ({ row }) => ( + + {row.original.name} + } + secondaryText={`${WEBAPP_BASE_URL}/t/${row.original.url}`} + /> + + ), + }, + { + header: _(msg`Role`), + accessorKey: 'role', + cell: ({ row }) => + row.original.ownerUserId === row.original.currentTeamMember.userId + ? 'Owner' + : _(TEAM_MEMBER_ROLE_MAP[row.original.currentTeamMember.role]), + }, + { + header: _(msg`Member Since`), + accessorKey: 'createdAt', + cell: ({ row }) => , + }, + { + id: 'actions', + cell: ({ row }) => ( +
+ {canExecuteTeamAction('MANAGE_TEAM', row.original.currentTeamMember.role) && ( + + )} + + e.preventDefault()} + > + Leave + + } + /> +
+ ), + }, + ] satisfies DataTableColumnDef<(typeof results)['data'][number]>[]; + }, []); + return ( ( - - {row.original.name} - } - secondaryText={`${WEBAPP_BASE_URL}/t/${row.original.url}`} - /> - - ), - }, - { - header: _(msg`Role`), - accessorKey: 'role', - cell: ({ row }) => - row.original.ownerUserId === row.original.currentTeamMember.userId - ? 'Owner' - : _(TEAM_MEMBER_ROLE_MAP[row.original.currentTeamMember.role]), - }, - { - header: _(msg`Member Since`), - accessorKey: 'createdAt', - cell: ({ row }) => , - }, - { - id: 'actions', - cell: ({ row }) => ( -
- {canExecuteTeamAction('MANAGE_TEAM', row.original.currentTeamMember.role) && ( - - )} - - e.preventDefault()} - > - Leave - - } - /> -
- ), - }, - ]} + columns={columns} data={results.data} perPage={results.perPage} currentPage={results.currentPage} diff --git a/apps/web/src/components/(teams)/tables/pending-user-teams-data-table.tsx b/apps/web/src/components/(teams)/tables/pending-user-teams-data-table.tsx index ccca45db8..57e3f5b14 100644 --- a/apps/web/src/components/(teams)/tables/pending-user-teams-data-table.tsx +++ b/apps/web/src/components/(teams)/tables/pending-user-teams-data-table.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useEffect, useState } from 'react'; +import { useEffect, useMemo, useState } from 'react'; import { useSearchParams } from 'next/navigation'; @@ -12,6 +12,7 @@ import { WEBAPP_BASE_URL } from '@documenso/lib/constants/app'; import { ZBaseTableSearchParamsSchema } from '@documenso/lib/types/search-params'; import { trpc } from '@documenso/trpc/react'; import { AvatarWithText } from '@documenso/ui/primitives/avatar'; +import type { DataTableColumnDef } from '@documenso/ui/primitives/data-table'; import { DataTable } from '@documenso/ui/primitives/data-table'; import { DataTablePagination } from '@documenso/ui/primitives/data-table-pagination'; import { Skeleton } from '@documenso/ui/primitives/skeleton'; @@ -59,6 +60,40 @@ export const PendingUserTeamsDataTable = () => { totalPages: 1, }; + const columns = useMemo(() => { + return [ + { + header: _(msg`Team`), + accessorKey: 'name', + cell: ({ row }) => ( + {row.original.name} + } + secondaryText={`${WEBAPP_BASE_URL}/t/${row.original.url}`} + /> + ), + }, + { + header: _(msg`Created on`), + accessorKey: 'createdAt', + cell: ({ row }) => , + }, + { + id: 'actions', + cell: ({ row }) => ( + + ), + }, + ] satisfies DataTableColumnDef<(typeof results)['data'][number]>[]; + }, []); + useEffect(() => { const searchParamCheckout = searchParams?.get('checkout'); @@ -71,37 +106,7 @@ export const PendingUserTeamsDataTable = () => { return ( <> ( - {row.original.name} - } - secondaryText={`${WEBAPP_BASE_URL}/t/${row.original.url}`} - /> - ), - }, - { - header: _(msg`Created on`), - accessorKey: 'createdAt', - cell: ({ row }) => , - }, - { - id: 'actions', - cell: ({ row }) => ( - - ), - }, - ]} + columns={columns} data={results.data} perPage={results.perPage} currentPage={results.currentPage} diff --git a/apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx b/apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx index baa3a1e72..000f2f219 100644 --- a/apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx +++ b/apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx @@ -1,5 +1,7 @@ 'use client'; +import { useMemo } from 'react'; + import Link from 'next/link'; import { Plural, Trans, msg } from '@lingui/macro'; @@ -9,6 +11,7 @@ import { DateTime } from 'luxon'; import { trpc } from '@documenso/trpc/react'; import { Button } from '@documenso/ui/primitives/button'; +import type { DataTableColumnDef } from '@documenso/ui/primitives/data-table'; import { DataTable } from '@documenso/ui/primitives/data-table'; import { DataTablePagination } from '@documenso/ui/primitives/data-table-pagination'; import { Skeleton } from '@documenso/ui/primitives/skeleton'; @@ -46,72 +49,76 @@ export const TeamBillingInvoicesDataTable = ({ teamId }: TeamBillingInvoicesData totalPages: 1, }; + const columns = useMemo(() => { + return [ + { + header: _(msg`Invoice`), + accessorKey: 'created', + cell: ({ row }) => ( +
+ + +
+ + {DateTime.fromSeconds(row.original.created).toFormat('MMMM yyyy')} + + + + +
+
+ ), + }, + { + header: _(msg`Status`), + accessorKey: 'status', + cell: ({ row }) => { + const { status, paid } = row.original; + + if (!status) { + return paid ? Paid : Unpaid; + } + + return status.charAt(0).toUpperCase() + status.slice(1); + }, + }, + { + header: _(msg`Amount`), + accessorKey: 'total', + cell: ({ row }) => formatCurrency(row.original.currency, row.original.total / 100), + }, + { + id: 'actions', + cell: ({ row }) => ( +
+ + + +
+ ), + }, + ] satisfies DataTableColumnDef<(typeof results)['data'][number]>[]; + }, []); + return ( ( -
- - -
- - {DateTime.fromSeconds(row.original.created).toFormat('MMMM yyyy')} - - - - -
-
- ), - }, - { - header: _(msg`Status`), - accessorKey: 'status', - cell: ({ row }) => { - const { status, paid } = row.original; - - if (!status) { - return paid ? Paid : Unpaid; - } - - return status.charAt(0).toUpperCase() + status.slice(1); - }, - }, - { - header: _(msg`Amount`), - accessorKey: 'total', - cell: ({ row }) => formatCurrency(row.original.currency, row.original.total / 100), - }, - { - id: 'actions', - cell: ({ row }) => ( -
- - - -
- ), - }, - ]} + columns={columns} data={results.data} perPage={results.perPage} currentPage={results.currentPage} diff --git a/apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx b/apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx index fb5f80747..d223549fd 100644 --- a/apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx +++ b/apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx @@ -1,5 +1,7 @@ 'use client'; +import { useMemo } from 'react'; + import { useSearchParams } from 'next/navigation'; import { Trans, msg } from '@lingui/macro'; @@ -11,6 +13,7 @@ import { TEAM_MEMBER_ROLE_MAP } from '@documenso/lib/constants/teams'; import { ZBaseTableSearchParamsSchema } from '@documenso/lib/types/search-params'; import { trpc } from '@documenso/trpc/react'; import { AvatarWithText } from '@documenso/ui/primitives/avatar'; +import type { DataTableColumnDef } from '@documenso/ui/primitives/data-table'; import { DataTable } from '@documenso/ui/primitives/data-table'; import { DataTablePagination } from '@documenso/ui/primitives/data-table-pagination'; import { @@ -102,74 +105,78 @@ export const TeamMemberInvitesDataTable = ({ teamId }: TeamMemberInvitesDataTabl totalPages: 1, }; + const columns = useMemo(() => { + return [ + { + header: _(msg`Team Member`), + cell: ({ row }) => { + return ( + {row.original.email} + } + /> + ); + }, + }, + { + header: _(msg`Role`), + accessorKey: 'role', + cell: ({ row }) => _(TEAM_MEMBER_ROLE_MAP[row.original.role]) ?? row.original.role, + }, + { + header: _(msg`Invited At`), + accessorKey: 'createdAt', + cell: ({ row }) => , + }, + { + header: _(msg`Actions`), + cell: ({ row }) => ( + + + + + + + + Actions + + + + resendTeamMemberInvitation({ + teamId, + invitationId: row.original.id, + }) + } + > + + Resend + + + + deleteTeamMemberInvitations({ + teamId, + invitationIds: [row.original.id], + }) + } + > + + Remove + + + + ), + }, + ] satisfies DataTableColumnDef<(typeof results)['data'][number]>[]; + }, []); + return ( { - return ( - {row.original.email} - } - /> - ); - }, - }, - { - header: _(msg`Role`), - accessorKey: 'role', - cell: ({ row }) => _(TEAM_MEMBER_ROLE_MAP[row.original.role]) ?? row.original.role, - }, - { - header: _(msg`Invited At`), - accessorKey: 'createdAt', - cell: ({ row }) => , - }, - { - header: _(msg`Actions`), - cell: ({ row }) => ( - - - - - - - - Actions - - - - resendTeamMemberInvitation({ - teamId, - invitationId: row.original.id, - }) - } - > - - Resend - - - - deleteTeamMemberInvitations({ - teamId, - invitationIds: [row.original.id], - }) - } - > - - Remove - - - - ), - }, - ]} + columns={columns} data={results.data} perPage={results.perPage} currentPage={results.currentPage} diff --git a/apps/web/src/components/(teams)/tables/team-members-data-table.tsx b/apps/web/src/components/(teams)/tables/team-members-data-table.tsx index 87a8dcfa1..4882443b6 100644 --- a/apps/web/src/components/(teams)/tables/team-members-data-table.tsx +++ b/apps/web/src/components/(teams)/tables/team-members-data-table.tsx @@ -1,5 +1,7 @@ 'use client'; +import { useMemo } from 'react'; + import { useSearchParams } from 'next/navigation'; import { Trans, msg } from '@lingui/macro'; @@ -14,6 +16,7 @@ import { isTeamRoleWithinUserHierarchy } from '@documenso/lib/utils/teams'; import type { TeamMemberRole } from '@documenso/prisma/client'; import { trpc } from '@documenso/trpc/react'; import { AvatarWithText } from '@documenso/ui/primitives/avatar'; +import type { DataTableColumnDef } from '@documenso/ui/primitives/data-table'; import { DataTable } from '@documenso/ui/primitives/data-table'; import { DataTablePagination } from '@documenso/ui/primitives/data-table-pagination'; import { @@ -79,100 +82,104 @@ export const TeamMembersDataTable = ({ totalPages: 1, }; + const columns = useMemo(() => { + return [ + { + header: _(msg`Team Member`), + cell: ({ row }) => { + const avatarFallbackText = row.original.user.name + ? extractInitials(row.original.user.name) + : row.original.user.email.slice(0, 1).toUpperCase(); + + return ( + {row.original.user.name} + } + secondaryText={row.original.user.email} + /> + ); + }, + }, + { + header: _(msg`Role`), + accessorKey: 'role', + cell: ({ row }) => + teamOwnerUserId === row.original.userId + ? 'Owner' + : _(TEAM_MEMBER_ROLE_MAP[row.original.role]), + }, + { + header: _(msg`Member Since`), + accessorKey: 'createdAt', + cell: ({ row }) => , + }, + { + header: _(msg`Actions`), + cell: ({ row }) => ( + + + + + + + + Actions + + + e.preventDefault()} + title="Update team member role" + > + + Update role + + } + /> + + e.preventDefault()} + disabled={ + teamOwnerUserId === row.original.userId || + !isTeamRoleWithinUserHierarchy(currentUserTeamRole, row.original.role) + } + title={_(msg`Remove team member`)} + > + + Remove + + } + /> + + + ), + }, + ] satisfies DataTableColumnDef<(typeof results)['data'][number]>[]; + }, []); + return ( { - const avatarFallbackText = row.original.user.name - ? extractInitials(row.original.user.name) - : row.original.user.email.slice(0, 1).toUpperCase(); - - return ( - {row.original.user.name} - } - secondaryText={row.original.user.email} - /> - ); - }, - }, - { - header: _(msg`Role`), - accessorKey: 'role', - cell: ({ row }) => - teamOwnerUserId === row.original.userId - ? 'Owner' - : _(TEAM_MEMBER_ROLE_MAP[row.original.role]), - }, - { - header: _(msg`Member Since`), - accessorKey: 'createdAt', - cell: ({ row }) => , - }, - { - header: _(msg`Actions`), - cell: ({ row }) => ( - - - - - - - - Actions - - - e.preventDefault()} - title="Update team member role" - > - - Update role - - } - /> - - e.preventDefault()} - disabled={ - teamOwnerUserId === row.original.userId || - !isTeamRoleWithinUserHierarchy(currentUserTeamRole, row.original.role) - } - title={_(msg`Remove team member`)} - > - - Remove - - } - /> - - - ), - }, - ]} + columns={columns} data={results.data} perPage={results.perPage} currentPage={results.currentPage} diff --git a/packages/app-tests/e2e/teams/team-members.spec.ts b/packages/app-tests/e2e/teams/team-members.spec.ts index 0e5f828ed..99cae7f47 100644 --- a/packages/app-tests/e2e/teams/team-members.spec.ts +++ b/packages/app-tests/e2e/teams/team-members.spec.ts @@ -32,8 +32,12 @@ test('[TEAMS]: update team member role', async ({ page }) => { await page.getByRole('combobox').click(); await page.getByLabel('Manager').click(); await page.getByRole('button', { name: 'Update' }).click(); + + // TODO: Remove me, but i don't care for now + await page.reload(); + await expect( - page.getByRole('row').filter({ hasText: teamMemberToUpdate.user.email }), + page.getByRole('row').filter({ hasText: teamMemberToUpdate.user.email }).first(), ).toContainText('Manager'); }); diff --git a/packages/lib/translations/de/common.po b/packages/lib/translations/de/common.po index 44ca68e0c..09306a5ba 100644 --- a/packages/lib/translations/de/common.po +++ b/packages/lib/translations/de/common.po @@ -175,7 +175,7 @@ msgstr "" msgid "Checkbox values" msgstr "" -#: packages/ui/primitives/data-table.tsx:154 +#: packages/ui/primitives/data-table.tsx:156 msgid "Clear filters" msgstr "" @@ -398,7 +398,7 @@ msgstr "" msgid "No restrictions" msgstr "" -#: packages/ui/primitives/data-table.tsx:146 +#: packages/ui/primitives/data-table.tsx:148 msgid "No results found" msgstr "" @@ -572,7 +572,7 @@ msgstr "" msgid "Something went wrong" msgstr "" -#: packages/ui/primitives/data-table.tsx:134 +#: packages/ui/primitives/data-table.tsx:136 msgid "Something went wrong." msgstr "" diff --git a/packages/lib/translations/de/web.po b/packages/lib/translations/de/web.po index 986ba24e6..475e4680b 100644 --- a/packages/lib/translations/de/web.po +++ b/packages/lib/translations/de/web.po @@ -51,7 +51,7 @@ msgstr "" msgid "{0, plural, one {# recipient} other {# recipients}}" msgstr "" -#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:64 +#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:66 msgid "{0, plural, one {# Seat} other {# Seats}}" msgstr "" @@ -190,19 +190,19 @@ msgid "Account deleted" msgstr "" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:105 -#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:104 +#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:106 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:121 #: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:164 -#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:118 +#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:120 msgid "Action" msgstr "" -#: apps/web/src/app/(dashboard)/documents/data-table.tsx:103 -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:168 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:133 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:142 -#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:118 -#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:127 +#: apps/web/src/app/(dashboard)/documents/data-table.tsx:89 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:141 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:135 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:144 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:120 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:129 msgid "Actions" msgstr "" @@ -343,7 +343,7 @@ msgstr "" msgid "Already have an account? <0>Sign in instead" msgstr "" -#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:84 +#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:86 msgid "Amount" msgstr "" @@ -632,7 +632,7 @@ msgstr "" msgid "Billing" msgstr "" -#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:99 +#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:101 msgid "Browser" msgstr "" @@ -953,11 +953,11 @@ msgstr "" msgid "Create your account and start using state-of-the-art document signing. Open and beautiful signing is within your grasp." msgstr "" -#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:72 +#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:63 #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:48 -#: apps/web/src/app/(dashboard)/documents/data-table.tsx:68 -#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:63 -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:84 +#: apps/web/src/app/(dashboard)/documents/data-table.tsx:54 +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:65 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:57 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:276 msgid "Created" msgstr "" @@ -971,7 +971,7 @@ msgid "Created by" msgstr "" #: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:49 -#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table.tsx:90 +#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table.tsx:80 msgid "Created on" msgstr "" @@ -998,7 +998,7 @@ msgstr "" msgid "Dark Mode" msgstr "" -#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:70 +#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:72 #: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:148 msgid "Date" msgstr "" @@ -1096,11 +1096,11 @@ msgstr "" #~ msgid "Deleting document" #~ msgstr "" -#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:75 +#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:77 msgid "Device" msgstr "" -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:119 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:92 #: apps/web/src/app/(dashboard)/templates/template-direct-link-badge.tsx:46 msgid "direct link" msgstr "" @@ -1125,7 +1125,7 @@ msgstr "" msgid "Direct link signing has been enabled" msgstr "" -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:123 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:96 msgid "Direct link templates contain one dynamic recipient placeholder. Anyone with access to this link can sign the document, and it will then appear on your documents page." msgstr "" @@ -1227,7 +1227,7 @@ msgstr "" msgid "Document inbox" msgstr "" -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:68 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:179 msgid "Document Limit Exceeded!" msgstr "" @@ -1292,7 +1292,7 @@ msgid "Document will be permanently deleted" msgstr "" #: apps/web/src/app/(dashboard)/admin/nav.tsx:65 -#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:124 +#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:92 #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:113 #: apps/web/src/app/(dashboard)/documents/[id]/edit/document-edit-page-view.tsx:82 #: apps/web/src/app/(dashboard)/documents/[id]/loading.tsx:16 @@ -1324,7 +1324,7 @@ msgstr "" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:120 #: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:141 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:160 -#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:108 +#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:110 #: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:185 #: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:107 msgid "Download" @@ -1380,9 +1380,9 @@ msgstr "" msgid "Edit webhook" msgstr "" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:119 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166 #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114 -#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:103 +#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:71 #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:213 #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:220 #: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118 @@ -1532,7 +1532,7 @@ msgstr "" msgid "Failed to reseal document" msgstr "" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:78 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:125 msgid "Failed to update recipient" msgstr "" @@ -1541,7 +1541,7 @@ msgstr "" msgid "Failed to update webhook" msgstr "" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:143 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:190 msgid "Fields" msgstr "" @@ -1660,7 +1660,7 @@ msgstr "" msgid "Information" msgstr "" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:160 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:78 msgid "Inserted" msgstr "" @@ -1694,11 +1694,11 @@ msgstr "" msgid "Invitation declined" msgstr "" -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:79 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:82 msgid "Invitation has been deleted" msgstr "" -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:62 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:65 msgid "Invitation has been resent" msgstr "" @@ -1718,11 +1718,11 @@ msgstr "" msgid "Invite team members" msgstr "" -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:128 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:130 msgid "Invited At" msgstr "" -#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:53 +#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:55 msgid "Invoice" msgstr "" @@ -1766,12 +1766,12 @@ msgstr "" msgid "Last updated at" msgstr "" -#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:69 +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:71 msgid "Last used" msgstr "" #: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:111 -#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:117 +#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:119 msgid "Leave" msgstr "" @@ -1825,7 +1825,7 @@ msgstr "" msgid "Login" msgstr "" -#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:101 +#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:103 msgid "Manage" msgstr "" @@ -1905,8 +1905,8 @@ msgstr "" msgid "MAU (had document completed)" msgstr "" -#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:90 -#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:113 +#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:92 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:115 msgid "Member Since" msgstr "" @@ -1957,11 +1957,11 @@ msgstr "" msgid "My templates" msgstr "" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:101 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:148 #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:99 -#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:98 +#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:66 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:144 -#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:59 +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:61 #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:235 #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:242 #: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:119 @@ -1976,7 +1976,7 @@ msgstr "" msgid "Need to sign documents?" msgstr "" -#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:74 +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:76 msgid "Never" msgstr "" @@ -2112,12 +2112,12 @@ msgstr "" msgid "Otherwise, the document will be created as a draft." msgstr "" -#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:96 +#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:87 #: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:76 msgid "Owner" msgstr "" -#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:77 +#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:79 msgid "Paid" msgstr "" @@ -2304,12 +2304,12 @@ msgstr "" msgid "Preview and configure template." msgstr "" -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:133 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:106 #: apps/web/src/components/formatter/template-type.tsx:22 msgid "Private" msgstr "" -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:143 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:116 msgid "Private templates can only be modified and viewed by you." msgstr "" @@ -2333,7 +2333,7 @@ msgstr "" msgid "Profile updated" msgstr "" -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:106 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:79 #: apps/web/src/components/formatter/template-type.tsx:27 msgid "Public" msgstr "" @@ -2354,7 +2354,7 @@ msgstr "" msgid "Public profile username" msgstr "" -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:110 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:83 msgid "Public templates are connected to your public profile. Any modifications to public templates will also appear in your public profile." msgstr "" @@ -2375,12 +2375,12 @@ msgstr "" msgid "Recent activity" msgstr "" -#: apps/web/src/app/(dashboard)/documents/data-table.tsx:87 +#: apps/web/src/app/(dashboard)/documents/data-table.tsx:73 #: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:280 msgid "Recipient" msgstr "" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:71 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:118 msgid "Recipient updated" msgstr "" @@ -2422,8 +2422,8 @@ msgstr "" #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:89 #: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:159 #: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:54 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:166 -#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:167 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:168 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:169 #: apps/web/src/components/forms/avatar-image.tsx:169 msgid "Remove" msgstr "" @@ -2432,7 +2432,7 @@ msgstr "" msgid "Remove team email" msgstr "" -#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:164 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:166 msgid "Remove team member" msgstr "" @@ -2450,7 +2450,7 @@ msgid "Reseal document" msgstr "" #: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:118 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:154 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:156 msgid "Resend" msgstr "" @@ -2524,14 +2524,14 @@ msgstr "" #: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:283 #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:318 #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:163 -#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:82 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:123 -#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:105 +#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:84 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:125 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:107 msgid "Role" msgstr "" #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:131 -#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:108 +#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:76 msgid "Roles" msgstr "" @@ -2548,11 +2548,11 @@ msgstr "" msgid "Search" msgstr "" -#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:63 +#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:141 msgid "Search by document title" msgstr "" -#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:86 +#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:144 msgid "Search by name or email" msgstr "" @@ -2612,7 +2612,7 @@ msgstr "" msgid "Send reminder" msgstr "" -#: apps/web/src/app/(dashboard)/documents/data-table.tsx:83 +#: apps/web/src/app/(dashboard)/documents/data-table.tsx:69 msgid "Sender" msgstr "" @@ -2736,7 +2736,7 @@ msgstr "" msgid "Sign Up with OIDC" msgstr "" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:170 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:88 #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:338 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:197 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:227 @@ -2812,8 +2812,8 @@ msgstr "" #: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:64 #: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:83 #: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:33 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:67 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:84 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:70 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:87 #: apps/web/src/components/(teams)/team-billing-portal-button.tsx:29 msgid "Something went wrong" msgstr "" @@ -2855,10 +2855,10 @@ msgstr "" msgid "Stats" msgstr "" -#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:91 +#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:82 #: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:32 -#: apps/web/src/app/(dashboard)/documents/data-table.tsx:97 -#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:71 +#: apps/web/src/app/(dashboard)/documents/data-table.tsx:83 +#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:73 msgid "Status" msgstr "" @@ -2866,7 +2866,7 @@ msgstr "" msgid "Subscribe" msgstr "" -#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:113 +#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:81 msgid "Subscription" msgstr "" @@ -2898,8 +2898,8 @@ msgstr "" #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:92 #: apps/web/src/components/(teams)/forms/update-team-form.tsx:68 #: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:27 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:61 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:78 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:64 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:81 #: apps/web/src/components/forms/public-profile-form.tsx:80 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:135 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:172 @@ -2914,8 +2914,8 @@ msgstr "" msgid "System Theme" msgstr "" -#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:65 -#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table.tsx:76 +#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:67 +#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table.tsx:66 msgid "Team" msgstr "" @@ -2957,8 +2957,8 @@ msgstr "" msgid "Team invitations have been sent." msgstr "" -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:109 -#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:86 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:111 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:88 msgid "Team Member" msgstr "" @@ -2967,11 +2967,11 @@ msgstr "" msgid "Team Name" msgstr "" -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:133 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:106 msgid "Team Only" msgstr "" -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:138 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:111 msgid "Team only templates are not linked anywhere and are visible only to your team." msgstr "" @@ -3133,7 +3133,7 @@ msgstr "" msgid "The public name for your template" msgstr "" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:72 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:119 msgid "The recipient has been updated successfully" msgstr "" @@ -3307,7 +3307,7 @@ msgstr "" msgid "This username is already taken" msgstr "" -#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:77 +#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:79 msgid "Time" msgstr "" @@ -3315,9 +3315,9 @@ msgstr "" msgid "Time zone" msgstr "" -#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:77 -#: apps/web/src/app/(dashboard)/documents/data-table.tsx:78 -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:89 +#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:68 +#: apps/web/src/app/(dashboard)/documents/data-table.tsx:64 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:62 msgid "Title" msgstr "" @@ -3450,8 +3450,8 @@ msgstr "" msgid "Two-factor authentication has been disabled for your account. You will no longer be required to enter a code from your authenticator app when signing in." msgstr "" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:155 -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:95 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:73 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:68 msgid "Type" msgstr "" @@ -3483,7 +3483,7 @@ msgstr "" msgid "Unable to decline this team invitation at this time." msgstr "" -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:85 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:88 msgid "Unable to delete invitation. Please try again." msgstr "" @@ -3516,7 +3516,7 @@ msgstr "" msgid "Unable to remove team email at this time. Please try again." msgstr "" -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:68 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:71 msgid "Unable to resend invitation. Please try again." msgstr "" @@ -3551,7 +3551,7 @@ msgstr "" msgid "Unknown error" msgstr "" -#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:77 +#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:79 msgid "Unpaid" msgstr "" @@ -3580,11 +3580,11 @@ msgstr "" msgid "Update profile" msgstr "" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:133 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:180 msgid "Update Recipient" msgstr "" -#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:146 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:148 msgid "Update role" msgstr "" @@ -3651,7 +3651,7 @@ msgstr "" msgid "Use Template" msgstr "" -#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:82 +#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:84 msgid "User" msgstr "" @@ -3671,7 +3671,7 @@ msgstr "" msgid "Users" msgstr "" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:165 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:83 msgid "Value" msgstr "" @@ -3703,7 +3703,7 @@ msgstr "" #: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:126 #: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:135 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:130 -#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:98 +#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:100 #: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:168 msgid "View" msgstr "" @@ -4161,7 +4161,7 @@ msgstr "" msgid "You have reached your document limit." msgstr "" -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:71 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:182 msgid "You have reached your document limit. <0>Upgrade your account to continue!" msgstr "" diff --git a/packages/lib/translations/en/common.po b/packages/lib/translations/en/common.po index ce0b7582e..2689d692b 100644 --- a/packages/lib/translations/en/common.po +++ b/packages/lib/translations/en/common.po @@ -170,7 +170,7 @@ msgstr "Checkbox" msgid "Checkbox values" msgstr "Checkbox values" -#: packages/ui/primitives/data-table.tsx:154 +#: packages/ui/primitives/data-table.tsx:156 msgid "Clear filters" msgstr "Clear filters" @@ -393,7 +393,7 @@ msgstr "No recipients with this role" msgid "No restrictions" msgstr "No restrictions" -#: packages/ui/primitives/data-table.tsx:146 +#: packages/ui/primitives/data-table.tsx:148 msgid "No results found" msgstr "No results found" @@ -567,7 +567,7 @@ msgstr "Some signers have not been assigned a signature field. Please assign at msgid "Something went wrong" msgstr "Something went wrong" -#: packages/ui/primitives/data-table.tsx:134 +#: packages/ui/primitives/data-table.tsx:136 msgid "Something went wrong." msgstr "Something went wrong." diff --git a/packages/lib/translations/en/web.po b/packages/lib/translations/en/web.po index 2b9fe7461..eb2170750 100644 --- a/packages/lib/translations/en/web.po +++ b/packages/lib/translations/en/web.po @@ -46,7 +46,7 @@ msgstr "{0, plural, one {# character over the limit} other {# characters over th msgid "{0, plural, one {# recipient} other {# recipients}}" msgstr "{0, plural, one {# recipient} other {# recipients}}" -#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:64 +#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:66 msgid "{0, plural, one {# Seat} other {# Seats}}" msgstr "{0, plural, one {# Seat} other {# Seats}}" @@ -185,19 +185,19 @@ msgid "Account deleted" msgstr "Account deleted" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:105 -#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:104 +#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:106 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:121 #: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:164 -#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:118 +#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:120 msgid "Action" msgstr "Action" -#: apps/web/src/app/(dashboard)/documents/data-table.tsx:103 -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:168 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:133 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:142 -#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:118 -#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:127 +#: apps/web/src/app/(dashboard)/documents/data-table.tsx:89 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:141 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:135 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:144 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:120 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:129 msgid "Actions" msgstr "Actions" @@ -338,7 +338,7 @@ msgstr "Allows authenticating using biometrics, password managers, hardware keys msgid "Already have an account? <0>Sign in instead" msgstr "Already have an account? <0>Sign in instead" -#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:84 +#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:86 msgid "Amount" msgstr "Amount" @@ -627,7 +627,7 @@ msgstr "Basic details" msgid "Billing" msgstr "Billing" -#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:99 +#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:101 msgid "Browser" msgstr "Browser" @@ -948,11 +948,11 @@ msgstr "Create your account and start using state-of-the-art document signing." msgid "Create your account and start using state-of-the-art document signing. Open and beautiful signing is within your grasp." msgstr "Create your account and start using state-of-the-art document signing. Open and beautiful signing is within your grasp." -#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:72 +#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:63 #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:48 -#: apps/web/src/app/(dashboard)/documents/data-table.tsx:68 -#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:63 -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:84 +#: apps/web/src/app/(dashboard)/documents/data-table.tsx:54 +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:65 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:57 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:276 msgid "Created" msgstr "Created" @@ -966,7 +966,7 @@ msgid "Created by" msgstr "Created by" #: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:49 -#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table.tsx:90 +#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table.tsx:80 msgid "Created on" msgstr "Created on" @@ -993,7 +993,7 @@ msgstr "Daily" msgid "Dark Mode" msgstr "Dark Mode" -#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:70 +#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:72 #: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:148 msgid "Date" msgstr "Date" @@ -1091,11 +1091,11 @@ msgstr "Deleting account..." #~ msgid "Deleting document" #~ msgstr "Deleting document" -#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:75 +#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:77 msgid "Device" msgstr "Device" -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:119 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:92 #: apps/web/src/app/(dashboard)/templates/template-direct-link-badge.tsx:46 msgid "direct link" msgstr "direct link" @@ -1120,7 +1120,7 @@ msgstr "Direct link signing has been disabled" msgid "Direct link signing has been enabled" msgstr "Direct link signing has been enabled" -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:123 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:96 msgid "Direct link templates contain one dynamic recipient placeholder. Anyone with access to this link can sign the document, and it will then appear on your documents page." msgstr "Direct link templates contain one dynamic recipient placeholder. Anyone with access to this link can sign the document, and it will then appear on your documents page." @@ -1222,7 +1222,7 @@ msgstr "Document ID" msgid "Document inbox" msgstr "Document inbox" -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:68 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:179 msgid "Document Limit Exceeded!" msgstr "Document Limit Exceeded!" @@ -1287,7 +1287,7 @@ msgid "Document will be permanently deleted" msgstr "Document will be permanently deleted" #: apps/web/src/app/(dashboard)/admin/nav.tsx:65 -#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:124 +#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:92 #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:113 #: apps/web/src/app/(dashboard)/documents/[id]/edit/document-edit-page-view.tsx:82 #: apps/web/src/app/(dashboard)/documents/[id]/loading.tsx:16 @@ -1319,7 +1319,7 @@ msgstr "Don't have an account? <0>Sign up" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:120 #: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:141 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:160 -#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:108 +#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:110 #: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:185 #: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:107 msgid "Download" @@ -1375,9 +1375,9 @@ msgstr "Edit" msgid "Edit webhook" msgstr "Edit webhook" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:119 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166 #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114 -#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:103 +#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:71 #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:213 #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:220 #: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118 @@ -1527,7 +1527,7 @@ msgstr "Expires on <0/>" msgid "Failed to reseal document" msgstr "Failed to reseal document" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:78 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:125 msgid "Failed to update recipient" msgstr "Failed to update recipient" @@ -1536,7 +1536,7 @@ msgstr "Failed to update recipient" msgid "Failed to update webhook" msgstr "Failed to update webhook" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:143 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:190 msgid "Fields" msgstr "Fields" @@ -1655,7 +1655,7 @@ msgstr "Inbox documents" msgid "Information" msgstr "Information" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:160 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:78 msgid "Inserted" msgstr "Inserted" @@ -1689,11 +1689,11 @@ msgstr "Invitation accepted!" msgid "Invitation declined" msgstr "Invitation declined" -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:79 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:82 msgid "Invitation has been deleted" msgstr "Invitation has been deleted" -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:62 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:65 msgid "Invitation has been resent" msgstr "Invitation has been resent" @@ -1713,11 +1713,11 @@ msgstr "Invite Members" msgid "Invite team members" msgstr "Invite team members" -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:128 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:130 msgid "Invited At" msgstr "Invited At" -#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:53 +#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:55 msgid "Invoice" msgstr "Invoice" @@ -1761,12 +1761,12 @@ msgstr "Last updated" msgid "Last updated at" msgstr "Last updated at" -#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:69 +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:71 msgid "Last used" msgstr "Last used" #: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:111 -#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:117 +#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:119 msgid "Leave" msgstr "Leave" @@ -1820,7 +1820,7 @@ msgstr "Loading..." msgid "Login" msgstr "Login" -#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:101 +#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:103 msgid "Manage" msgstr "Manage" @@ -1900,8 +1900,8 @@ msgstr "MAU (created document)" msgid "MAU (had document completed)" msgstr "MAU (had document completed)" -#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:90 -#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:113 +#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:92 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:115 msgid "Member Since" msgstr "Member Since" @@ -1952,11 +1952,11 @@ msgstr "Moving..." msgid "My templates" msgstr "My templates" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:101 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:148 #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:99 -#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:98 +#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:66 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:144 -#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:59 +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:61 #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:235 #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:242 #: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:119 @@ -1971,7 +1971,7 @@ msgstr "Name" msgid "Need to sign documents?" msgstr "Need to sign documents?" -#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:74 +#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:76 msgid "Never" msgstr "Never" @@ -2107,12 +2107,12 @@ msgstr "Or continue with" msgid "Otherwise, the document will be created as a draft." msgstr "Otherwise, the document will be created as a draft." -#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:96 +#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:87 #: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:76 msgid "Owner" msgstr "Owner" -#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:77 +#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:79 msgid "Paid" msgstr "Paid" @@ -2299,12 +2299,12 @@ msgstr "Preferences" msgid "Preview and configure template." msgstr "Preview and configure template." -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:133 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:106 #: apps/web/src/components/formatter/template-type.tsx:22 msgid "Private" msgstr "Private" -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:143 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:116 msgid "Private templates can only be modified and viewed by you." msgstr "Private templates can only be modified and viewed by you." @@ -2328,7 +2328,7 @@ msgstr "Profile is currently <0>visible." msgid "Profile updated" msgstr "Profile updated" -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:106 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:79 #: apps/web/src/components/formatter/template-type.tsx:27 msgid "Public" msgstr "Public" @@ -2349,7 +2349,7 @@ msgstr "Public profile URL" msgid "Public profile username" msgstr "Public profile username" -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:110 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:83 msgid "Public templates are connected to your public profile. Any modifications to public templates will also appear in your public profile." msgstr "Public templates are connected to your public profile. Any modifications to public templates will also appear in your public profile." @@ -2370,12 +2370,12 @@ msgstr "Reauthentication is required to sign this field" msgid "Recent activity" msgstr "Recent activity" -#: apps/web/src/app/(dashboard)/documents/data-table.tsx:87 +#: apps/web/src/app/(dashboard)/documents/data-table.tsx:73 #: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:280 msgid "Recipient" msgstr "Recipient" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:71 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:118 msgid "Recipient updated" msgstr "Recipient updated" @@ -2417,8 +2417,8 @@ msgstr "Remembered your password? <0>Sign In" #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:89 #: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:159 #: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:54 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:166 -#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:167 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:168 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:169 #: apps/web/src/components/forms/avatar-image.tsx:169 msgid "Remove" msgstr "Remove" @@ -2427,7 +2427,7 @@ msgstr "Remove" msgid "Remove team email" msgstr "Remove team email" -#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:164 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:166 msgid "Remove team member" msgstr "Remove team member" @@ -2445,7 +2445,7 @@ msgid "Reseal document" msgstr "Reseal document" #: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:118 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:154 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:156 msgid "Resend" msgstr "Resend" @@ -2519,14 +2519,14 @@ msgstr "Revoke access" #: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:283 #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:318 #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:163 -#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:82 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:123 -#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:105 +#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:84 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:125 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:107 msgid "Role" msgstr "Role" #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:131 -#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:108 +#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:76 msgid "Roles" msgstr "Roles" @@ -2543,11 +2543,11 @@ msgstr "Save" msgid "Search" msgstr "Search" -#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:63 +#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:141 msgid "Search by document title" msgstr "Search by document title" -#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:86 +#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:144 msgid "Search by name or email" msgstr "Search by name or email" @@ -2607,7 +2607,7 @@ msgstr "Send document" msgid "Send reminder" msgstr "Send reminder" -#: apps/web/src/app/(dashboard)/documents/data-table.tsx:83 +#: apps/web/src/app/(dashboard)/documents/data-table.tsx:69 msgid "Sender" msgstr "Sender" @@ -2731,7 +2731,7 @@ msgstr "Sign Up with Google" msgid "Sign Up with OIDC" msgstr "Sign Up with OIDC" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:170 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:88 #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:338 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:197 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:227 @@ -2807,8 +2807,8 @@ msgstr "Site Settings" #: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:64 #: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:83 #: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:33 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:67 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:84 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:70 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:87 #: apps/web/src/components/(teams)/team-billing-portal-button.tsx:29 msgid "Something went wrong" msgstr "Something went wrong" @@ -2850,10 +2850,10 @@ msgstr "Sorry, we were unable to download the certificate. Please try again late msgid "Stats" msgstr "Stats" -#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:91 +#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:82 #: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:32 -#: apps/web/src/app/(dashboard)/documents/data-table.tsx:97 -#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:71 +#: apps/web/src/app/(dashboard)/documents/data-table.tsx:83 +#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:73 msgid "Status" msgstr "Status" @@ -2861,7 +2861,7 @@ msgstr "Status" msgid "Subscribe" msgstr "Subscribe" -#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:113 +#: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:81 msgid "Subscription" msgstr "Subscription" @@ -2893,8 +2893,8 @@ msgstr "Subscriptions" #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:92 #: apps/web/src/components/(teams)/forms/update-team-form.tsx:68 #: apps/web/src/components/(teams)/tables/pending-user-teams-data-table-actions.tsx:27 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:61 -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:78 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:64 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:81 #: apps/web/src/components/forms/public-profile-form.tsx:80 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:135 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:172 @@ -2909,8 +2909,8 @@ msgstr "Successfully created passkey" msgid "System Theme" msgstr "System Theme" -#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:65 -#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table.tsx:76 +#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:67 +#: apps/web/src/components/(teams)/tables/pending-user-teams-data-table.tsx:66 msgid "Team" msgstr "Team" @@ -2952,8 +2952,8 @@ msgstr "Team invitation" msgid "Team invitations have been sent." msgstr "Team invitations have been sent." -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:109 -#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:86 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:111 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:88 msgid "Team Member" msgstr "Team Member" @@ -2962,11 +2962,11 @@ msgstr "Team Member" msgid "Team Name" msgstr "Team Name" -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:133 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:106 msgid "Team Only" msgstr "Team Only" -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:138 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:111 msgid "Team only templates are not linked anywhere and are visible only to your team." msgstr "Team only templates are not linked anywhere and are visible only to your team." @@ -3128,7 +3128,7 @@ msgstr "The public description that will be displayed with this template" msgid "The public name for your template" msgstr "The public name for your template" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:72 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:119 msgid "The recipient has been updated successfully" msgstr "The recipient has been updated successfully" @@ -3302,7 +3302,7 @@ msgstr "This username has already been taken" msgid "This username is already taken" msgstr "This username is already taken" -#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:77 +#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:79 msgid "Time" msgstr "Time" @@ -3310,9 +3310,9 @@ msgstr "Time" msgid "Time zone" msgstr "Time zone" -#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:77 -#: apps/web/src/app/(dashboard)/documents/data-table.tsx:78 -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:89 +#: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:68 +#: apps/web/src/app/(dashboard)/documents/data-table.tsx:64 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:62 msgid "Title" msgstr "Title" @@ -3445,8 +3445,8 @@ msgstr "Two-factor authentication enabled" msgid "Two-factor authentication has been disabled for your account. You will no longer be required to enter a code from your authenticator app when signing in." msgstr "Two-factor authentication has been disabled for your account. You will no longer be required to enter a code from your authenticator app when signing in." -#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:155 -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:95 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:73 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:68 msgid "Type" msgstr "Type" @@ -3478,7 +3478,7 @@ msgstr "Unable to create direct template access. Please try again later." msgid "Unable to decline this team invitation at this time." msgstr "Unable to decline this team invitation at this time." -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:85 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:88 msgid "Unable to delete invitation. Please try again." msgstr "Unable to delete invitation. Please try again." @@ -3511,7 +3511,7 @@ msgstr "Unable to remove email verification at this time. Please try again." msgid "Unable to remove team email at this time. Please try again." msgstr "Unable to remove team email at this time. Please try again." -#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:68 +#: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:71 msgid "Unable to resend invitation. Please try again." msgstr "Unable to resend invitation. Please try again." @@ -3546,7 +3546,7 @@ msgstr "Uncompleted" msgid "Unknown error" msgstr "Unknown error" -#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:77 +#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:79 msgid "Unpaid" msgstr "Unpaid" @@ -3575,11 +3575,11 @@ msgstr "Update password" msgid "Update profile" msgstr "Update profile" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:133 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:180 msgid "Update Recipient" msgstr "Update Recipient" -#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:146 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:148 msgid "Update role" msgstr "Update role" @@ -3646,7 +3646,7 @@ msgstr "Use Backup Code" msgid "Use Template" msgstr "Use Template" -#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:82 +#: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:84 msgid "User" msgstr "User" @@ -3666,7 +3666,7 @@ msgstr "User settings" msgid "Users" msgstr "Users" -#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:165 +#: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:83 msgid "Value" msgstr "Value" @@ -3698,7 +3698,7 @@ msgstr "Verify your email to upload documents." #: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:126 #: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:135 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:130 -#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:98 +#: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:100 #: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:168 msgid "View" msgstr "View" @@ -4156,7 +4156,7 @@ msgstr "You have reached the maximum limit of {0} direct templates. <0>Upgrade y msgid "You have reached your document limit." msgstr "You have reached your document limit." -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:71 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:182 msgid "You have reached your document limit. <0>Upgrade your account to continue!" msgstr "You have reached your document limit. <0>Upgrade your account to continue!" diff --git a/packages/ui/primitives/data-table.tsx b/packages/ui/primitives/data-table.tsx index 8836ecd48..242197319 100644 --- a/packages/ui/primitives/data-table.tsx +++ b/packages/ui/primitives/data-table.tsx @@ -17,6 +17,8 @@ import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '. export type DataTableChildren = (_table: TTable) => React.ReactNode; +export type { ColumnDef as DataTableColumnDef } from '@tanstack/react-table'; + export interface DataTableProps { columns: ColumnDef[]; columnVisibility?: VisibilityState;