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
@@ -6,6 +6,7 @@ import {
type AssignmentSlice,
} from "@capakraken/engine";
import { VacationStatus } from "@capakraken/db";
import { round1, averagePerWorkingDay } from "@capakraken/shared";
import type { CalculationRule, SpainScheduleRule, WeekdayAvailability } from "@capakraken/shared";
import { z } from "zod";
import {
@@ -106,13 +107,6 @@ function summarizeResolvedHolidaySummary(holidays: Array<ReturnType<typeof forma
};
}
function round1(value: number): number {
return Math.round(value * 10) / 10;
}
function averagePerWorkingDay(totalHours: number, workingDays: number): number {
return workingDays > 0 ? round1(totalHours / workingDays) : 0;
}
export async function resolveResponsiblePersonName(
ctx: ResourceSummaryReadContext,