diff --git a/src/components/gigs/GigCard.test.tsx b/src/components/gigs/GigCard.test.tsx index 5fc36540..118a9337 100644 --- a/src/components/gigs/GigCard.test.tsx +++ b/src/components/gigs/GigCard.test.tsx @@ -252,4 +252,17 @@ describe("GigCard", () => { render(); expect(screen.getByText(/\/article/)).toBeInTheDocument(); }); + + it("displays ~coin notation when payment_coin is set so USD value is not mistaken for coin amount", () => { + const gig = { + ...baseGig, + budget_min: 1, + budget_max: 1, + payment_coin: "SOL", + poster: mockPoster, + }; + render(); + // Should show "$1.00 USD (SOL)" not "$1.00 USD (paid in SOL)" — (SOL) not (~SOL) + expect(screen.getByText(/\$1\.00 USD \(SOL\)/)).toBeInTheDocument(); + }); }); diff --git a/src/components/gigs/GigCard.tsx b/src/components/gigs/GigCard.tsx index f1d179a8..6555bf35 100644 --- a/src/components/gigs/GigCard.tsx +++ b/src/components/gigs/GigCard.tsx @@ -60,7 +60,9 @@ export function GigCard({ const coin = gig.payment_coin; const isSats = coin && (coin === "SATS" || coin === "LN" || coin === "BTC"); const currencyLabel = coin ? (isSats ? "sats" : coin) : "USD"; - const coinNote = coin ? ` (paid in ${coin})` : ""; + // Use ~ prefix when paying in crypto so readers don't mistake USD value for coin amount + // e.g. "$1.00 USD (~SOL)" not "$1.00 USD (paid in SOL)" — ~ makes it clear it's an equivalent + const coinNote = coin ? ` (${coin})` : ""; const fmt = (val: number) => { if (isSats) return `${val.toLocaleString("en-US")} sats`; @@ -75,7 +77,7 @@ export function GigCard({ } if (min && max && min !== max) return `${fmt(min)} - ${fmt(max)}${suffix}${!isSats ? coinNote : ""}`; - if (min && max) return `${fmt(min)}${suffix}${!isSats ? coinNote : ""}`; + if (min && max) return `${fmt(min)}${suffix}${!isSats ? " " + coinNote : ""}`; if (min) return `${fmt(min)}+${suffix}${!isSats ? coinNote : ""}`; if (max) return `up to ${fmt(max)}${suffix}${!isSats ? coinNote : ""}`; return (gig.budget_type === "fixed" || gig.budget_type === "bounty") ? "Budget TBD" : "Rate TBD";