Additional CTA

Most game components support an extra call-to-action button on their completion / results screen via the additionalCTA prop. This is useful for cross-promoting other content, sending users to a campaign page, or wiring up a custom journey.

A separate onSuccessCTA (with the same shape) exists on CollectLead for the post-submission success screen — see the CollectLead page.

AdditionalCTADetails

interface AdditionalCTADetails {
  defaultLabel?: string;
  onClick?: () => void;
  url?: string | null;
  target?: LinkTargetType; // "_blank" | "_self" | "_parent" | "_top"
  component?: React.ReactElement | null;
}
FieldDescription
defaultLabelButton label. Required unless component is provided.
onClickClick handler.
urlDestination URL.
targetAnchor target. Defaults to _self.
componentCustom React element rendered in place of the default button.

Priority order

Same rendering rules as signInCTA:

  1. component if provided
  2. onClick if provided
  3. url if provided
  4. Otherwise, the button is not rendered

Unlike signInCTA, the additional CTA is purely optional — if you don't pass it, nothing is rendered. There is no disabled-fallback.

Examples

import { AdditionalCTADetails } from "fansunited-frontend-core";

// Click handler
const additionalCTA: AdditionalCTADetails = {
  defaultLabel: "See More",
  onClick: () => console.log("clicked"),
};

// URL navigation
const additionalCTA: AdditionalCTADetails = {
  defaultLabel: "Visit Website",
  url: "https://your-website.com",
  target: "_blank",
};

// Custom component
const additionalCTA: AdditionalCTADetails = {
  component: <CustomCTAButton />,
};

<ClassicQuizPlay {...otherProps} additionalCTA={additionalCTA} />;

Placement by component and template

ComponentStandardSplitOverlay
ClassicQuizPlayAfter Play Again and Share ResultAfter Play Again (in thank-you container)After Play Again and Share Result
PollVoteBefore Vote AgainSame container as Vote AgainAfter Vote Again
PersonalityQuizPlayBefore Play AgainIn thank-you container after Play AgainAfter Play Again (if available)
MatchQuizPlaySame line as branding logoCentered after main contentSame line as branding logo
EventGamePlayAfter prediction summaryAfter prediction summaryAfter prediction summary
EitherOrPlayOn results screenn/aOn results screen

Supported components

ClassicQuizPlay, PollVote, PersonalityQuizPlay, MatchQuizPlay, EventGamePlay, EitherOrPlay.