Repository navigation
v0.2.3
We’re excited to announce the release of v0.2.3, which brings a mix of new features, enhancements, bug fixes, and dependency updates to elevate both the developer and user experience.
This release focuses on:
- Enhancing the leaderboard functionality
- Improving UI consistency
- Ensuring a smoother collaboration workflow
🎉 New Features
Dynamic Footer Components
- Added
Large.tsxandMini.tsxfooter components for the dashboard layout, supporting both compact and expanded sidebar views. - Footer dynamically displays the current year and BCFCODE branding with responsive styling.
- Integrated into the dashboard layout using the
DashboardLayoutslots API for improved modularity.
Enhanced Leaderboard Table
- TimeAgoCell: Displays relative time (e.g., "5m ago") for completed challenges using
dayjswith custom configuration. - StatusCell + StatusChip: Color-coded visual feedback for challenge completion status (
success,info,warning,default). - RankCell: Uses rank-specific icons and colors to distinguish challenge difficulty.
- NameCell: Truncates and styles long challenge names for better readability.
Challenge Filtering Hooks
- Added
useFilter.ts,useUntrackedChallenges.ts, anduseMarkUntrackedChallenges.tsto manage filter logic (claimed,unclaimed,both) and untracked challenges.
Day.js Utility
- Introduced
dayjs.tsutility withrelativeTimeandupdateLocaleplugins. - Ensures consistent relative time formatting (e.g., “Just now”, “1h ago”).
- Includes documentation for customization and usage.
Chart References
- Created
links.txtwith references to:- Recharts
- ECharts
- MUI X Charts
For potential future charting and data visualization implementations.
🛠 Enhancements
Leaderboard Table Improvements
- Restructured
SingleRowto incorporate new cells (TimeAgoCell,NameCell,StatusCell) and reordered columns for improved UX. - Updated
DateCompletedCellandSolvedOnCellwith consistent text alignment. - Added
TooltiptoCollectDiamondsCell(improved interactivity, though not fully visible in diff).
Type Safety
- Refactored
codewars.tstypes:- Modularized
RanksandCodeChallenges. - Added
completedAttoCodewarsDiamondsRecordfor better diamond tracking.
- Modularized
- Consolidated user-related types:
- Removed redundant
google.tsandnext-auth.d.ts. - Updated
users.tsto defineGoogleUserandAuthenticatedUser.
- Removed redundant
Version Update
- Bumped app version from
v0.2.0tov0.2.3in theUnderDevelopmentbanner.
🐛 Bug Fixes
Spelling & Config
- Fixed typo in
Guide.txt:isCollapse→isCollapsedfor improved clarity. - Cleared
cSpell.wordsarray in.vscode/settings.jsonto clean up unnecessary spell check entries.
🔄 Dependency Updates
Updated several dependencies to their latest versions for improved performance, compatibility, and security:
| Package | From | To |
|---|---|---|
@typescript-eslint/* |
8.28.0 | 8.29.1 |
eslint |
9.23.0 | 9.24.0 |
typescript |
5.8.2 | 5.8.3 |
next |
15.2.4 | 15.3.0 |
react, react-dom |
19.0.0 | 19.1.0 |
sharp |
0.33.5 | 0.34.1 |
cypress |
14.2.1 | 14.3.0 |
mongoose |
8.13.0 | 8.13.2 |
...and more – see package-lock.json for complete details. |
📝 Notes
useSetLatestUntrackedChallenge.tsis currently commented out and may be reintroduced in a future release.- Some
console.logstatements are commented in hook files (e.g.,useFilter.ts,useUntrackedChallenges.ts) for debugging and will be cleaned up in future commits. - Deprecated components:
ChallengeNameCell.tsx- Old
RankCell.tsx
These have been removed in favor of newer, maintainable implementations.
🏷 Tagging Recommendations
-
Stable Release Tag:
v0.2.3
Suitable for production deployments. Introduces stable, tested features and fixes. -
Pre-release Tag (optional):
v0.2.3-beta.1
Use if additional QA or testing is required before promoting to the latest.
This release is now the latest stable version.
📈 What’s Next?
- Finalize untracked challenge logic and uncomment related hook code.
- Implement charting features using references from
links.txt. - Refine leaderboard UI with tooltips, sorting, and more interactivity.
- Begin exploring internationalization (
i18n) support fordayjs.
🙌 Thanks
Huge thanks to all contributors, testers, and collaborators for making this release possible. Let’s keep building an awesome platform together!