'use client'; import { Icon, Icons, Loading, Text } from '@umami/react-zen'; import { PageHeader } from '@/components/layout/PageHeader'; import { Pager } from '@/components/common/Pager'; import { WebsiteChartList } from '../websites/[websiteId]/WebsiteChartList'; import { DashboardSettingsButton } from '@/app/(main)/dashboard/DashboardSettingsButton'; import { DashboardEdit } from '@/app/(main)/dashboard/DashboardEdit'; import { EmptyPlaceholder } from '@/components/common/EmptyPlaceholder'; import { useMessages, useLocale, useTeamUrl, useWebsites } from '@/components/hooks'; import { useDashboard } from '@/store/dashboard'; import { LinkButton } from '@/components/common/LinkButton'; export function DashboardPage() { const { formatMessage, labels, messages } = useMessages(); const { teamId, renderTeamUrl } = useTeamUrl(); const { showCharts, editing, isEdited } = useDashboard(); const { dir } = useLocale(); const pageSize = isEdited ? 200 : 10; const { result, query, params, setParams } = useWebsites({ teamId }, { pageSize }); const { page } = params; const hasData = !!result?.data?.length; const handlePageChange = (page: number) => { setParams({ ...params, page }); }; if (query.isLoading) { return ; } return (
{!editing && hasData && } {!hasData && ( {formatMessage(messages.goToSettings)} )} {hasData && ( <> {editing && } {!editing && ( <> )} )}
); }