Superadmin and org dashboards are the separate Remix app: run
npm run dev in donation-frontend (default
http://localhost:3000), then open
/admin/auth/login there — not on this widget dev port. Replace
data-campaign-id with a campaign UUID from your admin. In Vite dev,
omit VITE_API_URL to use the dev proxy to Nest on port 4000 (same origin, no
CORS); set VITE_API_URL only to hit a remote API (e.g. production). Production
builds default to https://api.aidconnect.net. For recent-donations, add
data-demo="true" only when you want static sample rows (no API); omit it
to load live donations for data-campaign-id. Frequency options (e.g.
monthly) come from each campaign's published API settings (see
GET /campaign/getCampaignById/<id> — many campaigns only list e.g.
one-time + quarterly).