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,4 +1,4 @@
import type { WeekdayAvailability } from "@capakraken/shared";
import { DAY_KEYS, type WeekdayAvailability } from "@capakraken/shared";
export interface ChargeabilityAllocation {
startDate: Date;
@@ -12,11 +12,6 @@ export interface ChargeabilityResult {
chargeability: number; // 0-100, rounded
}
// Maps JS getDay() (0=Sun..6=Sat) to WeekdayAvailability keys
const DAY_KEYS: (keyof WeekdayAvailability)[] = [
"sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday",
];
/** Count working hours a resource has available in [start, end] based on their schedule. */
export function computeAvailableHours(
availability: WeekdayAvailability,