import { StickyBelowHeader } from '@/app/(app)/[organizationSlug]/[projectId]/layout-sticky-below-header'; import { OverviewFiltersButtons } from '@/components/overview/filters/overview-filters-buttons'; import ServerLiveCounter from '@/components/overview/live-counter'; import OverviewMetrics from '@/components/overview/overview-metrics'; import OverviewTopDevices from '@/components/overview/overview-top-devices'; import OverviewTopEvents from '@/components/overview/overview-top-events'; import OverviewTopGeo from '@/components/overview/overview-top-geo'; import OverviewTopPages from '@/components/overview/overview-top-pages'; import OverviewTopSources from '@/components/overview/overview-top-sources'; import { notFound } from 'next/navigation'; import { ShareEnterPassword } from '@/components/auth/share-enter-password'; import { OverviewRange } from '@/components/overview/overview-range'; import { getOrganizationById, getShareOverviewById } from '@openpanel/db'; import { cookies } from 'next/headers'; interface PageProps { params: { id: string; }; searchParams: { header: string; }; } export default async function Page({ params: { id }, searchParams, }: PageProps) { const share = await getShareOverviewById(id); if (!share) { return notFound(); } if (!share.public) { return notFound(); } const projectId = share.projectId; const organization = await getOrganizationById(share.organizationId); if (share.password) { const cookie = cookies().get(`shared-overview-${share.id}`)?.value; if (!cookie) { return ; } } return (
{searchParams.header !== '0' && (
{organization?.name}

{share.project?.name}

POWERED BY openpanel.dev
)}
); }