Repository navigation
feat(discovery): build key discovery leaderboard page for top performing keys (#1206) - #1252
Conversation
…rorg#1206) - Add LeaderboardMetric, KeyLeaderboardEntry types and normalizer - Add getKeyDiscoveryLeaderboard to analyticsService with fallback mock data - Add keyLeaderboardService and useKeyDiscoveryLeaderboard React Query hook - Create KeyDiscoveryLeaderboardPage with Volume, Holders, Reputation Score metric tabs - Add real-time search filtering by key name and creator - Add rank badges, metric value formatting, and 24h change indicators with positive/negative styling - Add connected wallet creator key highlighting - Register /discovery/leaderboard route and link from DiscoveryPage - Add comprehensive integration and service tests
|
@ibrahimmujidah1-stack Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
✅ PR Ready for ReviewDue to a recent malware incident affecting our repositories, all PRs are required to pass automated security checks before being reviewed for merging. This PR has passed all automated checks:
Next step: Please share this PR link in our Telegram group so a maintainer can review and merge it: https://t.me/c/accesslayerorg/8514 |
1 similar comment
✅ PR Ready for ReviewDue to a recent malware incident affecting our repositories, all PRs are required to pass automated security checks before being reviewed for merging. This PR has passed all automated checks:
Next step: Please share this PR link in our Telegram group so a maintainer can review and merge it: https://t.me/c/accesslayerorg/8514 |
|
kindly review and merge pr |
Summary
Resolves #1206.
Creates a platform-wide key discovery leaderboard page ranking all creator keys by Volume, Holder count, and Reputation Score, helping users discover top-performing keys on AccessLayer.
Scope & Implementation Details
KeyDiscoveryLeaderboardPage):?metric=Xand refetches from the analytics API.+X.X%in green with upward trend), negative (-X.X%in red with downward trend), and neutral changes.getKeyDiscoveryLeaderboard(metric)toanalyticsServicecallingGET /analytics/keys/leaderboard?metric=X.normalizeKeyLeaderboardEntryfor robust response normalization supporting multiple payload formats.getMockKeyDiscoveryLeaderboardfallback generator providing 50 ranked keys when the backend is offline.useKeyDiscoveryLeaderboardReact Query hook with cache key factoryqueryKeys.keyLeaderboard.byMetric(metric)./discovery/leaderboardroute wrapped withRouteErrorBoundary.DiscoveryPageheader.keyLeaderboard.service.test.tsverifying API parameter passing, normalization, and error fallbacks.KeyDiscoveryLeaderboardPage.test.tsxcovering all acceptance criteria: rank rendering, 24h change formatting, connected wallet creator highlighting, search filtering, and metric tab refetching.Closes #1206