normalizePeriod((string) $request->query('period', 'weekly')); $type = match ((string) $request->query('type', 'creators')) { 'artworks', Leaderboard::TYPE_ARTWORK => Leaderboard::TYPE_ARTWORK, 'groups', Leaderboard::TYPE_GROUP => Leaderboard::TYPE_GROUP, 'stories', Leaderboard::TYPE_STORY => Leaderboard::TYPE_STORY, 'worlds', Leaderboard::TYPE_WORLD => Leaderboard::TYPE_WORLD, default => Leaderboard::TYPE_CREATOR, }; $title = match ($type) { Leaderboard::TYPE_GROUP => 'Top Groups Leaderboard — Skinbase', Leaderboard::TYPE_STORY => 'Top Stories Leaderboard — Skinbase', Leaderboard::TYPE_ARTWORK => 'Top Artworks Leaderboard — Skinbase', Leaderboard::TYPE_WORLD => 'Top Worlds Leaderboard — Skinbase', default => 'Top Creators & Artworks Leaderboard — Skinbase', }; $description = match ($type) { Leaderboard::TYPE_GROUP => 'Track the leading groups across Skinbase by daily, weekly, monthly, and all-time performance.', Leaderboard::TYPE_STORY => 'Track the leading stories across Skinbase by daily, weekly, monthly, and all-time performance.', Leaderboard::TYPE_ARTWORK => 'Track the leading artworks across Skinbase by daily, weekly, monthly, and all-time performance.', Leaderboard::TYPE_WORLD => 'Track the leading Worlds across Skinbase by daily, weekly, monthly, and all-time performance.', default => 'Track the leading creators, groups, artworks, stories, and Worlds across Skinbase by daily, weekly, monthly, and all-time performance.', }; return Inertia::render('Leaderboard/LeaderboardPage', [ 'initialType' => $type, 'initialPeriod' => $period, 'initialData' => $leaderboards->getLeaderboard($type, $period), 'seo' => app(SeoFactory::class)->leaderboardPage( $title, $description, route('leaderboard') )->toArray(), ]); } }