Added tables to compare screen.

This commit is contained in:
Mike Cao 2024-05-25 09:31:38 -07:00
parent 154b559315
commit 13e11ee371
15 changed files with 199 additions and 66 deletions

View file

@ -4,18 +4,21 @@ import MetricsTable, { MetricsTableProps } from './MetricsTable';
import { useMessages } from 'components/hooks';
import { useNavigation } from 'components/hooks';
import { emptyFilter } from 'lib/filters';
import { useContext } from 'react';
import { WebsiteContext } from 'app/(main)/websites/[websiteId]/WebsiteProvider';
export interface PagesTableProps extends MetricsTableProps {
allowFilter?: boolean;
}
export function PagesTable({ allowFilter, domainName, ...props }: PagesTableProps) {
export function PagesTable({ allowFilter, ...props }: PagesTableProps) {
const {
router,
renderUrl,
query: { view = 'url' },
} = useNavigation();
const { formatMessage, labels } = useMessages();
const { domain } = useContext(WebsiteContext);
const handleSelect = (key: any) => {
router.push(renderUrl({ view: key }), { scroll: true });
@ -39,9 +42,7 @@ export function PagesTable({ allowFilter, domainName, ...props }: PagesTableProp
value={x}
label={!x && formatMessage(labels.none)}
externalUrl={
view === 'url'
? `${domainName.startsWith('http') ? domainName : `https://${domainName}`}${x}`
: null
view === 'url' ? `${domain.startsWith('http') ? domain : `https://${domain}`}${x}` : null
}
/>
);
@ -50,12 +51,11 @@ export function PagesTable({ allowFilter, domainName, ...props }: PagesTableProp
return (
<MetricsTable
{...props}
domainName={domainName}
title={formatMessage(labels.pages)}
type={view}
metric={formatMessage(labels.views)}
dataFilter={emptyFilter}
renderLabel={renderLink}
renderLabel={props.renderLabel || renderLink}
>
{allowFilter && <FilterButtons items={buttons} selectedKey={view} onSelect={handleSelect} />}
</MetricsTable>