feat: add gamification hooks, leaderboard UI, and translations

- Added Directus hooks for automatic point awards:
  - Recording creation/publishing (50 points)
  - Recording featured status (100 points bonus)
  - Comments on recordings (5 points)
- Created /leaderboard route with full UI
  - Server-side data loading with authentication guard
  - Responsive design with medal emojis for top 3
  - User stats display (recordings, plays, achievements)
  - Pagination support
  - "How It Works" info section
- Added comprehensive gamification translations
- Time-weighted scoring displayed for rankings
- Automatic achievement checking on point awards

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Valknar XXX
2025-10-28 13:29:34 +01:00
parent 8f09244188
commit 064894b8bb
4 changed files with 332 additions and 1 deletions

View File

@@ -910,4 +910,25 @@ export default {
head: {
title: "SexyArt | {title}",
},
gamification: {
leaderboard: "Leaderboard",
leaderboard_description: "Compete with other creators and players for the top spot",
leaderboard_subtitle: "Top creators and players ranked by activity points",
top_players: "Top Players",
no_rankings_yet: "No rankings yet. Be the first to earn points!",
points: "Points",
recordings: "Recordings",
plays: "Plays",
achievements: "Achievements",
rank: "Rank",
stats: "Stats",
how_it_works: "How It Works",
how_it_works_description: "Points are awarded for creating recordings, playing others' recordings, and engaging with the community. Rankings use time-weighted scoring to keep things dynamic.",
earn_by_creating: "Create Recordings",
earn_by_creating_desc: "Earn 50 points per published recording",
earn_by_playing: "Play & Complete",
earn_by_playing_desc: "Earn 10 points per play, 5 for completion",
stay_active: "Stay Active",
stay_active_desc: "Recent activity counts more toward your rank",
},
};