website refactor
This commit is contained in:
@@ -23,7 +23,7 @@ export function LeaderboardsPageClient({ viewData }: ClientWrapperProps<Leaderbo
|
||||
};
|
||||
|
||||
const handleNavigateToTeams = () => {
|
||||
router.push(routes.team.leaderboard);
|
||||
router.push(routes.leaderboards.teams);
|
||||
};
|
||||
|
||||
return (
|
||||
|
||||
39
apps/website/client-wrapper/TeamRankingsPageClient.tsx
Normal file
39
apps/website/client-wrapper/TeamRankingsPageClient.tsx
Normal file
@@ -0,0 +1,39 @@
|
||||
'use client';
|
||||
|
||||
import React, { useState } from 'react';
|
||||
import { useRouter } from 'next/navigation';
|
||||
import { TeamRankingsTemplate } from '@/templates/TeamRankingsTemplate';
|
||||
import { routes } from '@/lib/routing/RouteConfig';
|
||||
import type { TeamRankingsViewData } from '@/lib/view-data/TeamRankingsViewData';
|
||||
import { ClientWrapperProps } from '@/lib/contracts/components/ComponentContracts';
|
||||
|
||||
export function TeamRankingsPageClient({ viewData }: ClientWrapperProps<TeamRankingsViewData>) {
|
||||
const router = useRouter();
|
||||
const [searchQuery, setSearchQuery] = useState('');
|
||||
|
||||
const handleTeamClick = (id: string) => {
|
||||
router.push(routes.team.detail(id));
|
||||
};
|
||||
|
||||
const handleBackToLeaderboards = () => {
|
||||
router.push(routes.leaderboards.root);
|
||||
};
|
||||
|
||||
const filteredTeams = viewData.teams.filter(team =>
|
||||
team.name.toLowerCase().includes(searchQuery.toLowerCase()) ||
|
||||
team.tag.toLowerCase().includes(searchQuery.toLowerCase())
|
||||
);
|
||||
|
||||
return (
|
||||
<TeamRankingsTemplate
|
||||
viewData={{
|
||||
...viewData,
|
||||
teams: filteredTeams
|
||||
}}
|
||||
searchQuery={searchQuery}
|
||||
onSearchChange={setSearchQuery}
|
||||
onTeamClick={handleTeamClick}
|
||||
onBackToLeaderboards={handleBackToLeaderboards}
|
||||
/>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user