Fix noResultsFound.

This commit is contained in:
Brian Cao 2023-08-15 13:01:50 -07:00
parent 14df1e5a29
commit c3d0a1a628
2 changed files with 61 additions and 61 deletions

View file

@ -29,7 +29,6 @@ export function WebsitesList({ showTeam, showHeader = true, includeTeams, onlyTe
{ enabled: !!user }, { enabled: !!user },
); );
const { showToast } = useToasts(); const { showToast } = useToasts();
const hasData = data && data.length !== 0;
const handleSave = async () => { const handleSave = async () => {
await refetch(); await refetch();
@ -57,21 +56,14 @@ export function WebsitesList({ showTeam, showHeader = true, includeTeams, onlyTe
return ( return (
<Page loading={isLoading} error={error}> <Page loading={isLoading} error={error}>
{showHeader && <PageHeader title={formatMessage(labels.websites)}>{addButton}</PageHeader>} {showHeader && <PageHeader title={formatMessage(labels.websites)}>{addButton}</PageHeader>}
{hasData && ( <WebsitesTable
<WebsitesTable data={data}
data={data} showTeam={showTeam}
showTeam={showTeam} onFilterChange={handleFilterChange}
onFilterChange={handleFilterChange} onPageChange={handlePageChange}
onPageChange={handlePageChange} onPageSizeChange={handlePageSizeChange}
onPageSizeChange={handlePageSizeChange} filterValue={filter}
filterValue={filter} />
/>
)}
{!hasData && (
<EmptyPlaceholder message={formatMessage(messages.noDataAvailable)}>
{addButton}
</EmptyPlaceholder>
)}
</Page> </Page>
); );
} }

View file

@ -1,3 +1,4 @@
import EmptyPlaceholder from 'components/common/EmptyPlaceholder';
import Link from 'next/link'; import Link from 'next/link';
import { Button, Text, Icon, Icons } from 'react-basics'; import { Button, Text, Icon, Icons } from 'react-basics';
import SettingsTable from 'components/common/SettingsTable'; import SettingsTable from 'components/common/SettingsTable';
@ -13,10 +14,12 @@ export function WebsitesTable({
onPageSizeChange, onPageSizeChange,
showTeam, showTeam,
}) { }) {
const { formatMessage, labels } = useMessages(); const { formatMessage, labels, messages } = useMessages();
const { openExternal } = useConfig(); const { openExternal } = useConfig();
const { user } = useUser(); const { user } = useUser();
const showTable = data && (filterValue || data?.data.length !== 0);
const teamColumns = [ const teamColumns = [
{ name: 'teamName', label: formatMessage(labels.teamName) }, { name: 'teamName', label: formatMessage(labels.teamName) },
{ name: 'owner', label: formatMessage(labels.owner) }, { name: 'owner', label: formatMessage(labels.owner) },
@ -30,51 +33,56 @@ export function WebsitesTable({
]; ];
return ( return (
<SettingsTable <>
columns={columns} {showTable && (
data={data} <SettingsTable
showSearch={true} columns={columns}
showPaging={true} data={data}
onFilterChange={onFilterChange} showSearch={true}
onPageChange={onPageChange} showPaging={true}
onPageSizeChange={onPageSizeChange} onFilterChange={onFilterChange}
filterValue={filterValue} onPageChange={onPageChange}
> onPageSizeChange={onPageSizeChange}
{row => { filterValue={filterValue}
const { >
id, {row => {
teamWebsite, const {
user: { username, id: ownerId }, id,
} = row; teamWebsite,
if (showTeam) { user: { username, id: ownerId },
row.teamName = teamWebsite[0]?.team.name; } = row;
row.owner = username; if (showTeam) {
} row.teamName = teamWebsite[0]?.team.name;
row.owner = username;
}
return ( return (
<> <>
{(!showTeam || ownerId === user.id) && ( {(!showTeam || ownerId === user.id) && (
<Link href={`/settings/websites/${id}`}> <Link href={`/settings/websites/${id}`}>
<Button> <Button>
<Icon> <Icon>
<Icons.Edit /> <Icons.Edit />
</Icon> </Icon>
<Text>{formatMessage(labels.edit)}</Text> <Text>{formatMessage(labels.edit)}</Text>
</Button> </Button>
</Link> </Link>
)} )}
<Link href={`/websites/${id}`} target={openExternal ? '_blank' : null}> <Link href={`/websites/${id}`} target={openExternal ? '_blank' : null}>
<Button> <Button>
<Icon> <Icon>
<Icons.External /> <Icons.External />
</Icon> </Icon>
<Text>{formatMessage(labels.view)}</Text> <Text>{formatMessage(labels.view)}</Text>
</Button> </Button>
</Link> </Link>
</> </>
); );
}} }}
</SettingsTable> </SettingsTable>
)}
{!showTable && <EmptyPlaceholder message={formatMessage(messages.noDataAvailable)} />}
</>
); );
} }