import { DateDisplay } from '@/lib/display-objects/DateDisplay'; import { StatusDisplay } from '@/lib/display-objects/StatusDisplay'; 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 { 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: DateDisplay.formatShort(r.requestedAt), statusLabel: StatusDisplay.protestStatus(r.status), // Reusing protest status for now })), }; } }