import { DataColumn, DataTable, Icon, MenuItem, Modal, Row, Text } from '@umami/react-zen'; import Link from 'next/link'; import { useState } from 'react'; import { DateDistance } from '@/components/common/DateDistance'; import { useMessages } from '@/components/hooks'; import { Edit, Trash } from '@/components/icons'; import { MenuButton } from '@/components/input/MenuButton'; import { ROLES } from '@/lib/constants'; import { UserDeleteForm } from './UserDeleteForm'; export function UsersTable({ data = [], showActions = true, }: { data: any[]; showActions?: boolean; }) { const { formatMessage, labels } = useMessages(); const [deleteUser, setDeleteUser] = useState(null); return ( <> {(row: any) => {row.username}} {(row: any) => formatMessage( labels[Object.keys(ROLES).find(key => ROLES[key] === row.role)] || labels.unknown, ) } {(row: any) => row._count.websites} {(row: any) => } {showActions && ( {(row: any) => { const { id } = row; return ( {formatMessage(labels.edit)} setDeleteUser(row)} data-test="link-button-delete" > {formatMessage(labels.delete)} ); }} )} { setDeleteUser(null); }} /> ); }