diff --git a/src/components/moderation/ModerationMenu.tsx b/src/components/moderation/ModerationMenu.tsx index ce9dc97e..21eaea9d 100644 --- a/src/components/moderation/ModerationMenu.tsx +++ b/src/components/moderation/ModerationMenu.tsx @@ -552,7 +552,14 @@ export function ModerationMenu({ className, ...rest }: ModerationMenuProps) { {rest.surface === 'campaign' && ( - <> + // The campaign card wraps everything in a . Radix dialogs portal + // their DOM out of the card, but React synthetic events still bubble + // through the component tree to the Link — so clicks inside the dialog + // would navigate to the campaign page. Stop propagation here. + e.stopPropagation()} + onPointerDown={(e) => e.stopPropagation()} + > - + )} );