Skip to content

feat(profile): add achievement showcase section to user profile#5598

Merged
AmarTrebinjac merged 1 commit intomainfrom
eng-830-achievement-showcae
Feb 26, 2026
Merged

feat(profile): add achievement showcase section to user profile#5598
AmarTrebinjac merged 1 commit intomainfrom
eng-830-achievement-showcae

Conversation

@AmarTrebinjac
Copy link
Contributor

@AmarTrebinjac AmarTrebinjac commented Feb 25, 2026

Summary

  • Adds an Achievement Showcase section to the user profile page, displayed between "About Me" and "Stack & Tools"
  • Users can select up to 3 unlocked achievements to feature on their profile via a selection modal
  • Non-owners see the showcase if achievements are set; owners see an empty state with an "Add" CTA
  • Hover cards on showcased achievements display name, description, points, unlock date, and rarity

Key decisions

  • Showcase achievement IDs stored in user.flags JSONB (showcaseAchievementIds) — no migration needed
  • Modal fetches its own data via useShowcaseAchievements and useProfileAchievements hooks (avoids stale props)
  • New showcaseAchievements GraphQL query is public (no auth) and uses read replica
  • New setShowcaseAchievements mutation requires auth, validates max 3 and all unlocked
  • Lazy-loaded modal via LazyModal pattern for code splitting

Changed files

  • AchievementShowcaseModal.tsx — selection modal (checkboxes, max 3, sorted by selected-first then points)
  • ProfileAchievementShowcase.tsx — profile section with hover cards
  • useShowcaseAchievements.ts — hook for query + mutation with cache invalidation
  • achievements.ts (graphql) — GQL query/mutation definitions and client functions
  • query.ts — new ShowcaseAchievements request key
  • common.tsx / types.ts — lazy modal registration
  • [userId]/index.tsx — profile page integration

Closes ENG-830


Created by Huginn 🐦‍⬛

Preview domain

https://eng-830-achievement-showcae.preview.app.daily.dev

Add ProfileAchievementShowcase component between About Me and Stack & Tools
on the profile page. Users can select up to 3 unlocked achievements to
showcase via AchievementShowcaseModal. Hovering showcased achievements
displays a card with unlock date and rarity details.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@vercel
Copy link

vercel bot commented Feb 25, 2026

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

Project Deployment Actions Updated (UTC)
daily-webapp Building Building Preview Feb 25, 2026 4:11pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
storybook Ignored Ignored Feb 25, 2026 4:11pm

Request Review

@AmarTrebinjac AmarTrebinjac merged commit 054ac68 into main Feb 26, 2026
11 checks passed
@AmarTrebinjac AmarTrebinjac deleted the eng-830-achievement-showcae branch February 26, 2026 00:41
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