import { Button, Icon, Text, Modal, ModalTrigger, useToasts, Icons } from 'react-basics'; import Page from 'components/layout/Page'; import PageHeader from 'components/layout/PageHeader'; import EmptyPlaceholder from 'components/common/EmptyPlaceholder'; import WebsiteAddForm from 'components/pages/settings/websites/WebsiteAddForm'; import WebsitesTable from 'components/pages/settings/websites/WebsitesTable'; import useApi from 'hooks/useApi'; import useUser from 'hooks/useUser'; import useMessages from 'hooks/useMessages'; import { ROLES } from 'lib/constants'; export function WebsitesList() { const { formatMessage, labels, messages } = useMessages(); const { user } = useUser(); const { get, useQuery } = useApi(); const { data, isLoading, error, refetch } = useQuery( ['websites', user?.id], () => get(`/users/${user?.id}/websites`), { enabled: !!user }, ); const { showToast } = useToasts(); const hasData = data && data.length !== 0; const handleSave = async () => { await refetch(); showToast({ message: formatMessage(messages.saved), variant: 'success' }); }; const addButton = ( <> {user.role !== ROLES.viewOnly && ( {close => } )} ); return ( {addButton} {hasData && } {!hasData && ( {addButton} )} ); } export default WebsitesList;