website refactor

This commit is contained in:
2026-01-16 01:00:03 +01:00
parent ce7be39155
commit a98e3e3166
286 changed files with 5522 additions and 5261 deletions

View File

@@ -10,8 +10,11 @@ import {
useRejectJoinRequest,
useUpdateMemberRole,
useRemoveMember,
} from "@/lib/hooks/league/useLeagueRosterAdmin";
} from "@/hooks/league/useLeagueRosterAdmin";
import { RosterAdminTemplate } from '@/templates/RosterAdminTemplate';
import type { JoinRequestData, RosterMemberData } from '@/lib/view-data/LeagueRosterAdminViewData';
import type { LeagueRosterJoinRequestDTO } from '@/lib/types/generated/LeagueRosterJoinRequestDTO';
import type { LeagueRosterMemberDTO } from '@/lib/types/generated/LeagueRosterMemberDTO';
const ROLE_OPTIONS: MembershipRole[] = ['owner', 'admin', 'steward', 'member'];
@@ -71,10 +74,25 @@ export function RosterAdminPage() {
await removeMemberMutation.mutateAsync({ leagueId, driverId });
};
const viewData = useMemo(() => ({
leagueId,
joinRequests: joinRequests.map((req: LeagueRosterJoinRequestDTO): JoinRequestData => ({
id: req.id,
driver: req.driver as { id: string; name: string },
requestedAt: req.requestedAt,
message: req.message || undefined,
})),
members: members.map((m: LeagueRosterMemberDTO): RosterMemberData => ({
driverId: m.driverId,
driver: m.driver as { id: string; name: string },
role: m.role,
joinedAt: m.joinedAt,
})),
}), [leagueId, joinRequests, members]);
return (
<RosterAdminTemplate
joinRequests={joinRequests}
members={members}
viewData={viewData}
loading={loading}
pendingCountLabel={pendingCountLabel}
onApprove={handleApprove}
@@ -84,4 +102,4 @@ export function RosterAdminPage() {
roleOptions={ROLE_OPTIONS}
/>
);
}
}