import Link from 'next/link'; import { Button, Text, Icon, Icons, GridTable, GridColumn } from 'react-basics'; import SettingsTable from 'components/common/SettingsTable'; import Empty from 'components/common/Empty'; import useMessages from 'components/hooks/useMessages'; import useUser from 'components/hooks/useUser'; import DataTable, { DataTableStyles } from 'components/common/DataTable'; export function WebsitesTable({ data = [], showTeam, showEditButton, openExternal = false, onChange, }) { const { formatMessage, labels } = useMessages(); const { user } = useUser(); const showTable = data.length !== 0; return ( {showTable && ( {showTeam && ( {row => row.teamWebsite[0]?.team.name} )} {showTeam && ( {row => row.user.username} )} {row => { const { id, user: { id: ownerId }, } = row; return ( <> {showEditButton && (!showTeam || ownerId === user.id) && ( )} ); }} )} ); } export function WebsitesTable2({ data = [], filterValue, onFilterChange, onPageChange, onPageSizeChange, showTeam, showEditButton, openExternal = false, }) { const { formatMessage, labels } = useMessages(); const { user } = useUser(); const showTable = data && (filterValue || data?.data?.length !== 0); const teamColumns = [ { name: 'teamName', label: formatMessage(labels.teamName) }, { name: 'owner', label: formatMessage(labels.owner) }, ]; const columns = [ { name: 'name', label: formatMessage(labels.name) }, { name: 'domain', label: formatMessage(labels.domain) }, ...(showTeam ? teamColumns : []), { name: 'action', label: ' ' }, ]; return ( <> {showTable && ( {row => { const { id, teamWebsite, user: { username, id: ownerId }, } = row; if (showTeam) { row.teamName = teamWebsite[0]?.team.name; row.owner = username; } return ( <> {showEditButton && (!showTeam || ownerId === user.id) && ( )} ); }} )} {!showTable && } ); } export default WebsitesTable;