summaryrefslogtreecommitdiff
path: root/apps/web/src/lib/ripple/shift.ts
blob: 03ab4a674595f63bbf216d1ef5e36749c564760c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import type { TimelineElement } from "@/lib/timeline/types";

export function rippleShiftElements<TElement extends TimelineElement>({
	elements,
	afterTime,
	shiftAmount,
}: {
	elements: TElement[];
	afterTime: number;
	shiftAmount: number;
}): TElement[] {
	return elements.map((element) =>
		element.startTime >= afterTime
			? ({ ...element, startTime: element.startTime - shiftAmount } as TElement)
			: element,
	);
}