Summary
The campaign detail page (frontend/src/CampaignDetail.jsx) renders basic metadata from the API but lacks critical live on-chain information: current participant count, remaining cap, time window countdown, and a share/copy link button. These are expected features of any production campaign page.
Problem
The current detail page shows off-chain metadata only:
- No live participant count from contract
- No cap remaining indicator (e.g. "142 / 500 spots taken")
- No time window countdown ("Ends in 2d 4h 15m")
- No share button (copy URL, share to Twitter/Discord)
- No visual progress bar for campaign fill rate
Acceptance Criteria
References
frontend/src/CampaignDetail.jsx
frontend/src/stellar.js — checkParticipantStatus()
frontend/src/components/StatusBadge.jsx
Summary
The campaign detail page (
frontend/src/CampaignDetail.jsx) renders basic metadata from the API but lacks critical live on-chain information: current participant count, remaining cap, time window countdown, and a share/copy link button. These are expected features of any production campaign page.Problem
The current detail page shows off-chain metadata only:
Acceptance Criteria
get_participant_count()→ "X participants registered"get_max_cap()→ "X / Y spots" with a progress bar (or "Unlimited" if cap = 0)get_window()→ countdown timer if campaign hasn't started; time-remaining if activeis_active()→ status badge (Active / Paused / Inactive)campaignContractIdis nullReferences
frontend/src/CampaignDetail.jsxfrontend/src/stellar.js—checkParticipantStatus()frontend/src/components/StatusBadge.jsx