'use client'; import { Text, Icon, Icons, GridTable, GridColumn, useBreakpoint } from 'react-basics'; import { formatDistance } from 'date-fns'; import { ROLES } from 'lib/constants'; import { useMessages, useLocale } from 'components/hooks'; import UserDeleteButton from './UserDeleteButton'; import LinkButton from 'components/common/LinkButton'; export function UsersTable({ data = [], showActions = true, }: { data: any[]; showActions?: boolean; }) { const { formatMessage, labels } = useMessages(); const { dateLocale } = useLocale(); const breakpoint = useBreakpoint(); return ( {row => formatMessage( labels[Object.keys(ROLES).find(key => ROLES[key] === row.role)] || labels.unknown, ) } {row => formatDistance(new Date(row.createdAt), new Date(), { addSuffix: true, locale: dateLocale, }) } {row => row._count.website} {showActions && ( {row => { const { id, username } = row; return ( <> {formatMessage(labels.edit)} ); }} )} ); } export default UsersTable;