2024-02-17 23:12:14 +00:00
|
|
|
'use client';
|
2023-09-29 12:29:22 +00:00
|
|
|
import { usePathname } from 'next/navigation';
|
2023-07-10 11:35:19 +00:00
|
|
|
import FilterTags from 'components/metrics/FilterTags';
|
2024-05-25 16:31:38 +00:00
|
|
|
import { useNavigation } from 'components/hooks';
|
2023-09-29 12:29:22 +00:00
|
|
|
import WebsiteChart from './WebsiteChart';
|
2023-12-10 10:02:24 +00:00
|
|
|
import WebsiteExpandedView from './WebsiteExpandedView';
|
2023-07-10 11:35:19 +00:00
|
|
|
import WebsiteHeader from './WebsiteHeader';
|
2023-09-29 12:29:22 +00:00
|
|
|
import WebsiteMetricsBar from './WebsiteMetricsBar';
|
2023-10-15 20:12:29 +00:00
|
|
|
import WebsiteTableView from './WebsiteTableView';
|
2024-05-22 04:15:31 +00:00
|
|
|
import { FILTER_COLUMNS } from 'lib/constants';
|
2023-07-10 11:35:19 +00:00
|
|
|
|
2024-05-25 16:31:38 +00:00
|
|
|
export default function WebsiteDetailsPage({ websiteId }: { websiteId: string }) {
|
2023-09-29 12:29:22 +00:00
|
|
|
const pathname = usePathname();
|
2024-04-01 17:10:56 +00:00
|
|
|
const { query } = useNavigation();
|
2023-07-10 11:35:19 +00:00
|
|
|
|
2024-04-01 17:10:56 +00:00
|
|
|
const showLinks = !pathname.includes('/share/');
|
2024-05-22 04:15:31 +00:00
|
|
|
const { view } = query;
|
|
|
|
|
|
|
|
|
|
const params = Object.keys(query).reduce((obj, key) => {
|
|
|
|
|
if (FILTER_COLUMNS[key]) {
|
|
|
|
|
obj[key] = query[key];
|
|
|
|
|
}
|
|
|
|
|
return obj;
|
|
|
|
|
}, {});
|
2024-04-01 17:10:56 +00:00
|
|
|
|
2023-07-10 11:35:19 +00:00
|
|
|
return (
|
2024-07-29 08:38:36 +00:00
|
|
|
<>
|
2023-07-12 02:33:34 +00:00
|
|
|
<WebsiteHeader websiteId={websiteId} showLinks={showLinks} />
|
2024-04-01 17:10:56 +00:00
|
|
|
<FilterTags websiteId={websiteId} params={params} />
|
2024-05-29 05:15:44 +00:00
|
|
|
<WebsiteMetricsBar websiteId={websiteId} showFilter={true} showChange={true} sticky={true} />
|
2023-08-25 23:05:02 +00:00
|
|
|
<WebsiteChart websiteId={websiteId} />
|
2024-05-25 16:31:38 +00:00
|
|
|
{!view && <WebsiteTableView websiteId={websiteId} />}
|
|
|
|
|
{view && <WebsiteExpandedView websiteId={websiteId} />}
|
2024-07-29 08:38:36 +00:00
|
|
|
</>
|
2023-07-10 11:35:19 +00:00
|
|
|
);
|
|
|
|
|
}
|