Skip to content

feat(shared): add streak progression system and milestone claim UX#5613

Open
tomeredlich wants to merge 38 commits intomainfrom
feat/streak-progression-system
Open

feat(shared): add streak progression system and milestone claim UX#5613
tomeredlich wants to merge 38 commits intomainfrom
feat/streak-progression-system

Conversation

@tomeredlich
Copy link
Contributor

@tomeredlich tomeredlich commented Feb 27, 2026

Summary

  • add the new streak progression experience, including timeline milestones, claim actions, claim animations, and supporting popovers/calendar UI
  • polish streak debug and drawer/tooltip behaviors, including reset handling for claimed milestones and claim-state defaults
  • include related shared UI refinements that are already part of this branch history (social repost metadata consistency and supporting component/test updates)

Test plan

  • open the streak popup in tooltip mode and verify milestone rows default to Claim until clicked
  • claim a cores milestone and verify the icon flies to wallet without snapping back
  • verify no post-claim share popover appears for cores claims
  • click debug Reset and verify claimed milestones are reset
  • run shared lint/tests as needed for touched areas

Made with Cursor

Preview domain

https://feat-streak-progression-system.preview.app.daily.dev

tomeredlich and others added 30 commits February 17, 2026 10:17
Align social Twitter repost cards across grid and list by moving repost identity to metadata, improving embedded tweet presentation, and standardizing the Read on X CTA for clearer feed UX.

Co-authored-by: Cursor <cursoragent@cursor.com>
Align social X repost presentation across grid, list, and modal so author metadata, embed typography, and CTA behavior are consistent and clearer. This also improves embedded avatar handling with better fallbacks and repost labeling to reduce confusing placeholders.

Co-authored-by: Cursor <cursoragent@cursor.com>
Unify social Twitter repost metadata presentation and sizing across grid/list cards and post modal so identity, iconography, and spacing remain consistent.

Co-authored-by: Cursor <cursoragent@cursor.com>
…erList

The metadataBottomLabel variable was being inferred as string from
metadata.bottomLabel, but was then assigned JSX elements in conditional
blocks, causing a TypeScript compilation error.

Added explicit type annotation (ReactElement | string | undefined) to
match the PostMetadataProps['bottomLabel'] type and allow both string
and JSX element assignments.

Co-authored-by: Chris Bongers <rebelchris@users.noreply.github.com>
Match social repost metadata height/order and align quote preview header avatar, typography, and spacing with shared preview styles across list and card layouts.

Co-authored-by: Cursor <cursoragent@cursor.com>
Extract shared social Twitter text/handle/avatar helpers into a single lib module and reuse them across list, grid, markdown, and share post components to remove duplicated logic and keep behavior consistent.

Co-authored-by: Cursor <cursoragent@cursor.com>
Apply prettier formatting for the getSocialPostText call in SharePostContent to satisfy lint_shared and keep CI green.

Co-authored-by: Cursor <cursoragent@cursor.com>
Unify social tweet/repost card and modal metadata presentation, spacing, and fallback behavior so repost-like content renders consistently in grid/list and modal views.

Co-authored-by: Cursor <cursoragent@cursor.com>
Use canonical share-like checks, align sanitization between grid/list rendering, and update grid tests to match repost metadata and link behavior.

Co-authored-by: Cursor <cursoragent@cursor.com>
…tone timeline

Introduce a tier-based streak progression system with animated counter,
milestone timeline, urgency nudges, and debug controls (?debugStreak).

Co-authored-by: Cursor <cursoragent@cursor.com>
…tions, and calendar view

Enhance the streak progression system with visual feedback for streak
changes (increment popover, broken popover), full-screen milestone
celebrations, a monthly calendar view, and new high-tier milestones
(Phoenix, Titan, Godflame). Replace notification image with SVG component.

Co-authored-by: Cursor <cursoragent@cursor.com>
Add subtle white sparkle animation on achieved milestone icons and randomize sparkle placement per milestone for a more lively reward feel.

Co-authored-by: Cursor <cursoragent@cursor.com>
Improve the streak popup with richer milestone interactions, including a sponsored coupon claim flow with reusable reveal modal and updated debug/testing controls to make milestone behavior easier to verify.

Co-authored-by: Cursor <cursoragent@cursor.com>
…verlays

Improve streak UI experimentation by adding a debug-toggleable right drawer variant, refreshed streak popup content, and milestone animations that stay open with explicit close/share actions.

Co-authored-by: Cursor <cursoragent@cursor.com>
Hide the milestones heading when nothing is achieved and add a float-style share action button for achieved milestone tooltips.

Co-authored-by: Cursor <cursoragent@cursor.com>
Make 0-1 reward milestones more compact and improve sponsored milestone gradient visibility while removing stripe overlays for a cleaner look.

Co-authored-by: Cursor <cursoragent@cursor.com>
Refine the streak recover and streak popup UI with updated spacing, animation layering, drawer behavior on tablet, and calendar/milestone visual tweaks while aligning feed tab header background styling with themed surfaces.

Co-authored-by: Cursor <cursoragent@cursor.com>
Unify the reminder popover structure with the +1 animation layout, show daily step progress as current-to-next day with full completion animation, and restore total days left context for the active milestone.

Made-with: Cursor
Keep the streak popup width stable and update the 30-day grid to a rolling 10x3 window with elevator-style row transitions, while improving debug controls for day-by-day streak simulation.

Made-with: Cursor
Promote reward summaries to the primary milestone headline, move day chips to their own top line, and simplify subtext/details while updating milestone reward definitions and sponsored visuals.

Made-with: Cursor
Refine streak recover modal and streak drawer layouts, streamline milestone interactions, and update milestone reward labels/icons for clearer, more consistent UX.

Made-with: Cursor
Move streak greeting from the popup into a dedicated feed hero with night-sky visuals and streak preview controls so users see progress context before opening the modal.

Made-with: Cursor
Allow forcing auto, night, or morning hero variants in streak debug tools and keep night hero preview visible in debug regardless of light theme so visual QA is reliable.

Made-with: Cursor
Make milestone rewards explicitly claimable, restore cores claim animation behavior, and remove post-claim share/confirmation popovers to keep the flow focused and consistent across tooltip and drawer views.

Made-with: Cursor
@vercel
Copy link

vercel bot commented Feb 27, 2026

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

Project Deployment Actions Updated (UTC)
daily-webapp Error Error Mar 1, 2026 8:13am
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
storybook Ignored Ignored Mar 1, 2026 8:13am

Request Review

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

✅ rebelchris
❌ tomeredlich
You have signed the CLA already but the status is still pending? Let us recheck it.

Document a production-ready session animation flow for the updated streak milestone experience so teammates can quickly record or generate a consistent feature demo.

Made-with: Cursor
…on-system

Made-with: Cursor

# Conflicts:
#	packages/shared/src/components/MainFeedLayout.tsx
#	packages/shared/src/components/cards/socialTwitter/EmbeddedTweetPreview.tsx
#	packages/shared/src/components/cards/socialTwitter/SocialTwitterGrid.tsx
#	packages/shared/src/components/cards/socialTwitter/SocialTwitterList.spec.tsx
#	packages/shared/src/components/cards/socialTwitter/SocialTwitterList.tsx
#	packages/shared/src/components/cards/socialTwitter/socialTwitterHelpers.tsx
#	packages/shared/src/components/post/SocialTwitterPostContent.tsx
#	packages/shared/src/components/utilities/DateFormat.tsx
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.

3 participants