Skip to content

Commit eeadfda

Browse files
committed
feat(leaderboard): gate miles toggle and Referral Leaders Miles tab behind show_miles_estimate
Hides the leaderboard's "Miles" toggle (defaulting to volume mode) and the "Miles" tab in the Referral Leaders card when show_miles_estimate is off, so all miles-related UI is controlled by a single flag.
1 parent 14dd58a commit eeadfda

1 file changed

Lines changed: 26 additions & 17 deletions

File tree

src/components/dashboard/LeaderboardTable.tsx

Lines changed: 26 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,9 @@ export const LeaderboardTable = ({
9898

9999
const totalVol = useMemo(() => swapVolumeUsd ?? null, [swapVolumeUsd])
100100

101-
const [leaderboardMode, setLeaderboardMode] = useState<"volume" | "miles" | "stats">("miles")
101+
const [leaderboardMode, setLeaderboardMode] = useState<"volume" | "miles" | "stats">(
102+
FEATURE_FLAGS.show_miles_estimate ? "miles" : "volume"
103+
)
102104

103105
// Shared Fuul miles leaderboard query. Listens for `refetch-user-miles`
104106
// events so that when a swap transitions from pending → processed the
@@ -393,16 +395,18 @@ export const LeaderboardTable = ({
393395
<div className="flex flex-col shrink-0">
394396
<div className="flex items-center gap-2 mb-1">
395397
<div className="flex items-center bg-white/[0.04] border border-white/10 rounded-full p-0.5">
396-
<button
397-
onClick={() => setLeaderboardMode("miles")}
398-
className={`px-3.5 py-1 text-[10px] font-black uppercase tracking-wider rounded-full transition-all ${
399-
leaderboardMode === "miles"
400-
? "bg-primary text-primary-foreground shadow-sm"
401-
: "text-muted-foreground/50 hover:text-muted-foreground/80"
402-
}`}
403-
>
404-
Miles
405-
</button>
398+
{FEATURE_FLAGS.show_miles_estimate && (
399+
<button
400+
onClick={() => setLeaderboardMode("miles")}
401+
className={`px-3.5 py-1 text-[10px] font-black uppercase tracking-wider rounded-full transition-all ${
402+
leaderboardMode === "miles"
403+
? "bg-primary text-primary-foreground shadow-sm"
404+
: "text-muted-foreground/50 hover:text-muted-foreground/80"
405+
}`}
406+
>
407+
Miles
408+
</button>
409+
)}
406410
<button
407411
onClick={() => setLeaderboardMode("volume")}
408412
className={`px-3.5 py-1 text-[10px] font-black uppercase tracking-wider rounded-full transition-all ${
@@ -2281,8 +2285,11 @@ interface ReferralLeaderEntry {
22812285
referrals: number
22822286
}
22832287

2284-
const REFERRAL_TABS = ["Total Refs", "Miles"] as const
2285-
type ReferralTab = (typeof REFERRAL_TABS)[number]
2288+
const ALL_REFERRAL_TABS = ["Total Refs", "Miles"] as const
2289+
type ReferralTab = (typeof ALL_REFERRAL_TABS)[number]
2290+
const REFERRAL_TABS: readonly ReferralTab[] = FEATURE_FLAGS.show_miles_estimate
2291+
? ALL_REFERRAL_TABS
2292+
: ["Total Refs"]
22862293

22872294
const REFERRAL_TAB_TO_LABEL: Record<ReferralTab, string> = {
22882295
"Total Refs": "REFERRALS",
@@ -2356,10 +2363,12 @@ const ReferralLeadersCard = ({
23562363
<p>
23572364
<span className="font-bold text-foreground">Total Refs</span> — Most referrals made
23582365
</p>
2359-
<p>
2360-
<span className="font-bold text-foreground">Miles</span> — Most miles earned from
2361-
referrals
2362-
</p>
2366+
{FEATURE_FLAGS.show_miles_estimate && (
2367+
<p>
2368+
<span className="font-bold text-foreground">Miles</span> — Most miles earned from
2369+
referrals
2370+
</p>
2371+
)}
23632372
</TooltipContent>
23642373
</Tooltip>
23652374
</div>

0 commit comments

Comments
 (0)