resolve todos in website
This commit is contained in:
@@ -451,9 +451,29 @@ export default function TeamsPage() {
|
||||
const { teamService } = useServices();
|
||||
const teams = await teamService.getAllTeams();
|
||||
setRealTeams(teams);
|
||||
// TODO: set groups and top teams from service or compute locally
|
||||
setGroupsBySkillLevel({});
|
||||
setTopTeams([]);
|
||||
|
||||
// Derive groups by skill level from the loaded teams
|
||||
const byLevel: Record<SkillLevel, TeamDisplayData[]> = {
|
||||
beginner: [],
|
||||
intermediate: [],
|
||||
advanced: [],
|
||||
pro: [],
|
||||
};
|
||||
teams.forEach((team) => {
|
||||
const level = (team.performanceLevel as SkillLevel) || 'intermediate';
|
||||
if (byLevel[level]) {
|
||||
byLevel[level].push(team as TeamDisplayData);
|
||||
}
|
||||
});
|
||||
setGroupsBySkillLevel(byLevel);
|
||||
|
||||
// Select top teams by rating for the preview section
|
||||
const sortedByRating = [...teams].sort((a, b) => {
|
||||
const aRating = typeof a.rating === 'number' && Number.isFinite(a.rating) ? a.rating : 0;
|
||||
const bRating = typeof b.rating === 'number' && Number.isFinite(b.rating) ? b.rating : 0;
|
||||
return bRating - aRating;
|
||||
});
|
||||
setTopTeams(sortedByRating.slice(0, 5));
|
||||
} catch (error) {
|
||||
console.error('Failed to load teams:', error);
|
||||
} finally {
|
||||
|
||||
Reference in New Issue
Block a user