fix bounce checkbox for share page

This commit is contained in:
Francis Cao 2026-02-04 11:58:21 -08:00
parent f84b9f041d
commit 8f15741b68
2 changed files with 29 additions and 24 deletions

View file

@ -1,4 +1,5 @@
import { Column, Heading, Row, Text } from '@umami/react-zen';
import { LoadingPanel } from 'dist';
import { Plus } from 'lucide-react';
import { useMessages, useWebsiteSharesQuery } from '@/components/hooks';
import { DialogButton } from '@/components/input/DialogButton';
@ -11,33 +12,36 @@ export interface WebsiteShareFormProps {
export function WebsiteShareForm({ websiteId }: WebsiteShareFormProps) {
const { formatMessage, labels, messages } = useMessages();
const { data } = useWebsiteSharesQuery({ websiteId });
const { data, error, isLoading } = useWebsiteSharesQuery({ websiteId });
const shares = data?.data || [];
const hasShares = shares.length > 0;
return (
<Column gap="4">
<Row justifyContent="space-between" alignItems="center">
<Heading>{formatMessage(labels.share)}</Heading>
<DialogButton
icon={<Plus size={16} />}
label={formatMessage(labels.add)}
title={formatMessage(labels.share)}
variant="primary"
width="600px"
>
{({ close }) => <ShareEditForm websiteId={websiteId} onClose={close} />}
</DialogButton>
</Row>
{hasShares ? (
<>
<Text>{formatMessage(messages.shareUrl)}</Text>
<SharesTable data={shares} />
</>
) : (
<Text color="muted">{formatMessage(messages.noDataAvailable)}</Text>
)}
</Column>
<LoadingPanel data={data} isLoading={isLoading} error={error}>
<Column gap="4">
<Row justifyContent="space-between" alignItems="center">
<Heading>{formatMessage(labels.share)}</Heading>
<DialogButton
icon={<Plus size={16} />}
label={formatMessage(labels.add)}
title={formatMessage(labels.share)}
variant="primary"
width="600px"
>
{({ close }) => <ShareEditForm websiteId={websiteId} onClose={close} />}
</DialogButton>
</Row>
{hasShares ? (
<>
<Text>{formatMessage(messages.shareUrl)}</Text>
<SharesTable data={shares} />
</>
) : (
<Text color="muted">{formatMessage(messages.noDataAvailable)}</Text>
)}
</Column>
</LoadingPanel>
);
}

View file

@ -16,7 +16,8 @@ export function WebsiteFilterButton({
const { formatMessage, labels } = useMessages();
const { updateParams, pathname, router, query } = useNavigation();
const [excludeBounce, setExcludeBounce] = useState(!!query.excludeBounce);
const isOverview = /^\/teams\/[^/]+\/websites\/[^/]+$/.test(pathname);
const isOverview =
/^\/teams\/[^/]+\/websites\/[^/]+$/.test(pathname) || /^\/share\/[^/]+$/.test(pathname);
const handleChange = ({ filters, segment, cohort }: any) => {
const params = filtersArrayToObject(filters);