This commit is contained in:
2025-12-04 17:07:59 +01:00
parent 60a3c82cd9
commit 88c6befc7c
33 changed files with 602 additions and 261 deletions

View File

@@ -1,6 +1,6 @@
'use client';
import { useState, useEffect } from 'react';
import { useState, useEffect, useCallback } from 'react';
import { Driver } from '@gridpilot/racing/domain/entities/Driver';
import { getDriverRepository, getDriverStats } from '@/lib/di-container';
import {
@@ -8,7 +8,7 @@ import {
getCurrentDriverId,
type LeagueMembership,
type MembershipRole,
} from '@gridpilot/racing/application';
} from '@/lib/racingLegacyFacade';
interface LeagueMembersProps {
leagueId: string;
@@ -29,11 +29,7 @@ export default function LeagueMembers({
const [sortBy, setSortBy] = useState<'role' | 'name' | 'date' | 'rating' | 'points' | 'wins'>('rating');
const currentDriverId = getCurrentDriverId();
useEffect(() => {
loadMembers();
}, [leagueId]);
const loadMembers = async () => {
const loadMembers = useCallback(async () => {
setLoading(true);
try {
const membershipData = getLeagueMembers(leagueId);
@@ -49,7 +45,11 @@ export default function LeagueMembers({
} finally {
setLoading(false);
}
};
}, [leagueId]);
useEffect(() => {
loadMembers();
}, [loadMembers]);
const getDriverName = (driverId: string): string => {
const driver = drivers.find(d => d.id === driverId);