feat(giveback): baseline /giveback page behind feature flag (Phase 1)#6139
Draft
tsahimatsliah wants to merge 11 commits into
Draft
feat(giveback): baseline /giveback page behind feature flag (Phase 1)#6139tsahimatsliah wants to merge 11 commits into
tsahimatsliah wants to merge 11 commits into
Conversation
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>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Default the giveback flag to true and render the route based on the flag value instead of blocking on useConditionalFeature loading, so the page is reviewable in preview/staging where encrypted features can't be decrypted locally. Co-authored-by: Cursor <cursoragent@cursor.com>
Provides a backend-free way to review the Giveback mock UI and its states via Storybook, independent of app boot/GrowthBook. Co-authored-by: Cursor <cursoragent@cursor.com>
…ss bar - Kickstarter-style hero: funding summary + "Join the campaign" CTA - Restructure tabs: Causes (with why intro), Impact (with rewards roadmap), Why (stretch goals + impact), Take action, Updates, Comments, FAQ - Collapse sections to single titles; homepage-style tab bar (no blur) - Fix brand-color contrast by switching saturated *-subtlest fills to *-flat - Casino polish: meter shine, coin stream, reward pop, live activity dot - Sticky bar now shows level/contribution with an action-focused CTA - Budget-driven campaign: remove deadline/days-to-go Co-authored-by: Cursor <cursoragent@cursor.com>
…nd background - Replace background grid/blobs with daily.dev brand gradient canvas - Match post-page/modal comment thread design (flat, indented, connectors) - Slim Why tab to a sharp 3-beat narrative and promote the headline - Make sponsor money prominent on Impact with a goal-linked mini progress bar - Flatten off-brand sponsor banner, compact legal footer, fix sticky-bar overlap Co-authored-by: Cursor <cursoragent@cursor.com>
…video - Add iOS-storage-style SponsorBudgetBar split by color with hover-to-swap logo - Show the bar on Impact and Sponsors tabs; flatten the "into the pot" panel - Rank top 3 sponsors with gold/silver/bronze medals (replaces clashing tier text) - Use uniform green for sponsor card amounts; drop brand color from sponsor bar - Embed the campaign video in the hero via a lightweight click-to-play facade Co-authored-by: Cursor <cursoragent@cursor.com>
- Replace all em dashes in visible copy with natural punctuation/sentences - Drop AI-sounding patterns: negative parallelisms, repeated "real", mirrored phrasing - Update tests for the two changed copy assertions Co-authored-by: Cursor <cursoragent@cursor.com>
…polish - Add action-to-pot reward loop with count-up and celebration overlay - Use real sponsor logos with initials fallback; monochrome podium ranks - Sound/haptics toggle, circular level ring, 3-col actions, always-on love - One-line legal footer, brand-blended sticky bars, home-style tabs Co-authored-by: Cursor <cursoragent@cursor.com>
- Standardize action CTAs to text-only "Take action" across pages - Remove star icons; keep hero "Join the campaign" with a tiny icon - Drop the separator border above the "Just for love" list Co-authored-by: Cursor <cursoragent@cursor.com>
…lish - Use overflow-clip on the new-layout card so sticky tab bars work - Make the funding bar sticky so it aligns to content, not the viewport - Add active-tab underline indicator; increase footer clearance - Replace hero label with full logo + separator + Giveback title - Remove sound feature (toggle, hook) and the closing-CTA eyebrow - Clip only decorative glows so CTA hover effects aren't cut off Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Phase 1 of the Giveback initiative — a flag-gated, mock-backed baseline of the
/givebackpage 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
featureGivebackflag (default on in development only, off in prod).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.ts) +GivebackContextholding state and the dev review controls.GivebackHero— mission framing ("Daily Dev funds the donation. You help unlock it.")CommunityGoalProgress—$X of $10,000with progress bar + honest pending notePersonalRoadmap— level path (reusesQuestLevelProgressCircle) with locked secret-reward tilesGivebackReviewToggle— 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
/givebackredirects home, renders nothing; no existing surface affected.node scripts/typecheck-strict-changed.jspassessrc/features/giveback/components/GivebackPage.spec.tsx)Made with Cursor
Preview domain
https://feat-giveback-mvp.preview.app.daily.dev