Skip to content

feat(giveback): baseline /giveback page behind feature flag (Phase 1)#6139

Draft
tsahimatsliah wants to merge 1 commit into
mainfrom
feat/giveback-mvp
Draft

feat(giveback): baseline /giveback page behind feature flag (Phase 1)#6139
tsahimatsliah wants to merge 1 commit into
mainfrom
feat/giveback-mvp

Conversation

@tsahimatsliah
Copy link
Copy Markdown
Member

@tsahimatsliah tsahimatsliah commented Jun 3, 2026

Summary

Phase 1 of the Giveback initiative — a flag-gated, mock-backed baseline of the /giveback page so design can review the core layout and feel before we layer richer interactions.

This PR is purely additive: a new route + a new packages/shared/src/features/giveback/ folder. It touches no existing surfaces and renders nothing when the flag is off.

What's included

  • featureGiveback flag (default on in development only, off in prod).
  • Typed model (types.ts) with compliance fields (isLoveAction, donationEligible, isComplianceSensitive, isRewarded) and full status enums — shaped to mirror the intended backend GraphQL contract for a clean future swap.
  • Mock campaign/levels/profile (mock.ts) + GivebackContext holding state and the dev review controls.
  • Baseline UI:
    • GivebackHero — mission framing ("Daily Dev funds the donation. You help unlock it.")
    • CommunityGoalProgress$X of $10,000 with progress bar + honest pending note
    • PersonalRoadmap — level path (reuses QuestLevelProgressCircle) with locked secret-reward tiles
  • GivebackReviewToggle — minimal dev-only control to preview goal % (0/25/50/99/100) and level (1–5). The full QA/dev panel comes in a later phase.

Out of scope (later phases)

Action catalog, submission win-moment + thresholds, causes + Love actions, community feed + celebrations, full QA/dev panel, entry points (Wallet/Profile/banner/feed), geo-gating + paid-flow, public page, and backend wiring. See the master plan.

Test plan

  • Flag off (prod default): /giveback redirects home, renders nothing; no existing surface affected.
  • Flag on (dev): page renders hero + community goal + roadmap.
  • Dev review toggle changes goal % (0/25/50/99/100) and level (1–5); progress bar and current-level highlight update.
  • Secret-reward tiles show as locked mystery until the holding level is reached.
  • Responsive (mobile/desktop) + reduced-motion friendly.
  • node scripts/typecheck-strict-changed.js passes
  • eslint clean on changed files
  • RTL specs pass (src/features/giveback/components/GivebackPage.spec.tsx)

Made with Cursor

Preview domain

https://feat-giveback-mvp.preview.app.daily.dev

Phase 1 of the Giveback initiative: a flag-gated, mock-backed baseline of the
/giveback page so design can review the core layout. Purely additive - new route
plus a new shared features/giveback folder, touching no existing surfaces.

- featureGiveback flag (default on in development only)
- Typed model with compliance fields + full status enums (mirrors intended API)
- Mock campaign/levels/profile + GivebackContext with dev review controls
- Baseline UI: hero, community goal progress, personal roadmap/levels with
  locked secret-reward tiles
- Minimal dev review toggle to preview goal % and level states
- RTL specs for baseline render + toggle behavior

Co-authored-by: Cursor <cursoragent@cursor.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 3, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
daily-webapp Ready Ready Preview Jun 3, 2026 10:56am
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
storybook Ignored Ignored Jun 3, 2026 10:56am

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant