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
@@ -7,15 +7,22 @@ import {
describe("timelineHover", () => {
it("matches vacation hits inclusively across differing time components", () => {
// Use local-noon timestamps so the date is unambiguous in any timezone
// (findVacationHit uses local midnight truncation for comparison)
const localNoon = (iso: string) => {
const d = new Date(iso);
d.setHours(12, 0, 0, 0);
return d;
};
const hit = findVacationHit(
[
{
id: "vacation_1",
startDate: "2026-04-10T15:00:00.000Z",
endDate: "2026-04-12T01:00:00.000Z",
startDate: localNoon("2026-04-10"),
endDate: localNoon("2026-04-12"),
},
],
new Date("2026-04-12T23:59:59.000Z"),
localNoon("2026-04-12"),
);
expect(hit?.id).toBe("vacation_1");