Skip to content

Embed: custom reward unit / currency display #3775

@dhruv92

Description

@dhruv92

Use case

We run a credit-based referral program — partners earn platform credits, not USD. The embed currently shows $0.00, $4,350.00 etc. via currencyFormatter() throughout. We'd like to display rewards in our own unit (e.g. "22k credits" instead of "$220.00").

Proposal

Add a rewardDisplay option to the program or group config that lets programs customize how reward amounts are rendered in the embed:

// Option A: simple prefix/suffix
rewardDisplay: {
  mode: "custom",        // "currency" (default) | "custom"
  prefix: "",            // e.g. "" (no dollar sign)
  suffix: " credits",    // e.g. " credits"
  divisor: 100,          // how to convert cents → display units
  compact: true,         // use compact notation (22k vs 22000)
}

// Option B: format string
rewardDisplay: {
  formatter: "credits",  // predefined formatter name
}

This would replace currencyFormatter() calls in the embed with a configurable formatter. There are ~11 currencyFormatter calls across 5 embed files (activity.tsx, earnings-summary.tsx, earnings.tsx, leaderboard.tsx, links-list.tsx).

Context

Programs using payoutMode: "internal" often have their own reward currency (credits, points, tokens). The embed UI is excellent but the hardcoded $ formatting doesn't fit these use cases. A configurable display would make the embed work for any reward type.

Related: #3774 (hide payouts UI)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions