feat(timeline): add pulse animation for in-flight drag mutations

Allocation bars that have active optimistic overrides (post-drag,
awaiting server confirmation) now pulse subtly via animate-pulse.
The pending set is derived from the existing optimisticAllocations
map keys, requiring no additional state.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-09 13:28:46 +02:00
parent 7a5e98e2e9
commit 1df208dbcc
386 changed files with 657 additions and 81650 deletions
@@ -1,5 +1,7 @@
"use client";
import { MILLISECONDS_PER_DAY } from "@capakraken/shared";
export const HOLIDAY_SOURCE_LABELS = {
CALENDAR: "Holiday Calendar",
LEGACY_PUBLIC_HOLIDAY: "Legacy import",
@@ -32,7 +34,7 @@ export function getRequestedDays(vacation: Pick<VacationExplainabilityEntry, "st
const start = new Date(vacation.startDate);
const end = new Date(vacation.endDate);
return Math.round((end.getTime() - start.getTime()) / 86_400_000) + 1;
return Math.round((end.getTime() - start.getTime()) / MILLISECONDS_PER_DAY) + 1;
}
export function getHolidayBasis(vacation: VacationExplainabilityEntry): string[] {