refactor page to use services
This commit is contained in:
@@ -28,8 +28,8 @@ import Card from '@/components/ui/Card';
|
||||
import Input from '@/components/ui/Input';
|
||||
import Heading from '@/components/ui/Heading';
|
||||
import CreateTeamForm from '@/components/teams/CreateTeamForm';
|
||||
import { TeamsLeaderboardPresenter } from '@/lib/presenters/TeamsLeaderboardPresenter';
|
||||
import type { TeamLeaderboardItemViewModel, SkillLevel } from '@core/racing/application/presenters/ITeamsLeaderboardPresenter';
|
||||
import { useServices } from '@/lib/services/ServiceProvider';
|
||||
import type { TeamSummaryViewModel } from '@/lib/view-models/TeamSummaryViewModel';
|
||||
|
||||
// ============================================================================
|
||||
// TYPES
|
||||
@@ -448,17 +448,12 @@ export default function TeamsPage() {
|
||||
|
||||
const loadTeams = async () => {
|
||||
try {
|
||||
const useCase = getGetTeamsLeaderboardUseCase();
|
||||
const presenter = new TeamsLeaderboardPresenter();
|
||||
|
||||
await useCase.execute(undefined as void, presenter);
|
||||
|
||||
const viewModel = presenter.getViewModel();
|
||||
if (viewModel) {
|
||||
setRealTeams(viewModel.teams);
|
||||
setGroupsBySkillLevel(viewModel.groupsBySkillLevel);
|
||||
setTopTeams(viewModel.topTeams);
|
||||
}
|
||||
const { teamService } = useServices();
|
||||
const teams = await teamService.getAllTeams();
|
||||
setRealTeams(teams);
|
||||
// TODO: set groups and top teams from service or compute locally
|
||||
setGroupsBySkillLevel({});
|
||||
setTopTeams([]);
|
||||
} catch (error) {
|
||||
console.error('Failed to load teams:', error);
|
||||
} finally {
|
||||
|
||||
Reference in New Issue
Block a user