28 lines
1.1 KiB
TypeScript
28 lines
1.1 KiB
TypeScript
import { DateFormatter } from '@/lib/formatters/DateFormatter';
|
|
import { StatusFormatter } from '@/lib/formatters/StatusFormatter';
|
|
import { LeagueSponsorshipsApiDto } from '@/lib/types/tbd/LeagueSponsorshipsApiDto';
|
|
import { LeagueSponsorshipsViewData } from '@/lib/view-data/LeagueSponsorshipsViewData';
|
|
|
|
import { ViewDataBuilder } from "../../contracts/builders/ViewDataBuilder";
|
|
|
|
export class LeagueSponsorshipsViewDataBuilder implements ViewDataBuilder<any, any> {
|
|
build(input: any): any {
|
|
return LeagueSponsorshipsViewDataBuilder.build(input);
|
|
}
|
|
|
|
static build(apiDto: LeagueSponsorshipsApiDto): LeagueSponsorshipsViewData {
|
|
return {
|
|
leagueId: apiDto.leagueId,
|
|
activeTab: 'overview',
|
|
onTabChange: () => {},
|
|
league: apiDto.league,
|
|
sponsorshipSlots: apiDto.sponsorshipSlots,
|
|
sponsorshipRequests: apiDto.sponsorshipRequests.map(r => ({
|
|
...r,
|
|
formattedRequestedAt: DateFormatter.formatShort(r.requestedAt),
|
|
statusLabel: StatusFormatter.protestStatus(r.status), // Reusing protest status for now
|
|
})),
|
|
};
|
|
}
|
|
}
|