import { Button, Text, Icon, Icons, GridTable, GridColumn, useBreakpoint } from 'react-basics'; import { formatDistance } from 'date-fns'; import Link from 'next/link'; import { ROLES } from 'lib/constants'; import { useMessages } from 'components/hooks'; import { useLocale } from 'components/hooks'; import UserDeleteButton from './UserDeleteButton'; 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, }) } {showActions && ( {row => { const { id, username } = row; return ( <> ); }} )} ); } export default UsersTable;