import { format } from "date-fns"; import type { AllocationDragDraft } from "../components/projects/AllocationCreatePopover"; import type { Allocation } from "../types"; export function draftFromAllocation(allocation: Allocation): Pick< AllocationDragDraft, "person_id" | "start_date" | "end_date" | "allocation_pct" | "note" > { return { person_id: allocation.person_id, start_date: allocation.start_date, end_date: allocation.end_date, allocation_pct: allocation.allocation_pct, note: allocation.note ?? undefined, }; } /** Extend assignment through the last visible planner day. */ export function endDateThroughVisibleRange(dayDates: Date[], startDate: string): string { if (dayDates.length === 0) return startDate; const last = format(dayDates[dayDates.length - 1], "yyyy-MM-dd"); return last >= startDate ? last : startDate; }