import { Button, Icon, Icons, Text } from 'react-basics'; import Link from 'next/link'; import Page from 'components/layout/Page'; import PageHeader from 'components/layout/PageHeader'; import Pager from 'components/common/Pager'; import WebsiteChartList from 'components/pages/websites/WebsiteChartList'; import DashboardSettingsButton from 'components/pages/dashboard/DashboardSettingsButton'; import DashboardEdit from 'components/pages/dashboard/DashboardEdit'; import EmptyPlaceholder from 'components/common/EmptyPlaceholder'; import useApi from 'components/hooks/useApi'; import useDashboard from 'store/dashboard'; import useMessages from 'components/hooks/useMessages'; import useLocale from 'components/hooks/useLocale'; import useApiFilter from 'components/hooks/useApiFilter'; export function Dashboard() { const { formatMessage, labels, messages } = useMessages(); const { showCharts, editing } = useDashboard(); const { dir } = useLocale(); const { get, useQuery } = useApi(); const { page, handlePageChange } = useApiFilter(); const pageSize = 10; const { data: result, isLoading, error, } = useQuery(['websites', page, pageSize], () => get('/websites', { includeTeams: 1, page, pageSize }), ); const { data, count } = result || {}; const hasData = data && data?.length !== 0; return ( {!editing && hasData && } {!hasData && ( )} {hasData && ( <> {editing && } {!editing && ( <> )} )} ); } export default Dashboard;