diff options
Diffstat (limited to 'apps/web/src/lib/timeline')
| -rw-r--r-- | apps/web/src/lib/timeline/audio-state.ts | 2 | ||||
| -rw-r--r-- | apps/web/src/lib/timeline/drop-utils.ts | 15 |
2 files changed, 7 insertions, 10 deletions
diff --git a/apps/web/src/lib/timeline/audio-state.ts b/apps/web/src/lib/timeline/audio-state.ts index 90d34668..4bc3a7e1 100644 --- a/apps/web/src/lib/timeline/audio-state.ts +++ b/apps/web/src/lib/timeline/audio-state.ts @@ -18,7 +18,7 @@ export function clampDb(value: number): number { } export function dBToLinear(db: number): number { - return Math.pow(10, clampDb(db) / 20); + return 10 ** (clampDb(db) / 20); } export function hasAnimatedVolume({ diff --git a/apps/web/src/lib/timeline/drop-utils.ts b/apps/web/src/lib/timeline/drop-utils.ts index b4f53948..d8206474 100644 --- a/apps/web/src/lib/timeline/drop-utils.ts +++ b/apps/web/src/lib/timeline/drop-utils.ts @@ -6,7 +6,11 @@ import type { import { TRACK_CONFIG, TRACK_GAP } from "@/constants/timeline-constants"; import { wouldElementOverlap } from "./element-utils"; import type { ComputeDropTargetParams, DropTarget } from "@/lib/timeline"; -import { isMainTrack, enforceMainTrackStart } from "./track-utils"; +import { + canElementGoOnTrack, + isMainTrack, + enforceMainTrackStart, +} from "./track-utils"; function findElementAtPosition({ mouseX, @@ -85,14 +89,7 @@ function isCompatible({ elementType: ElementType; trackType: TimelineTrack["type"]; }): boolean { - if (elementType === "text") return trackType === "text"; - if (elementType === "audio") return trackType === "audio"; - if (elementType === "sticker") return trackType === "sticker"; - if (elementType === "effect") return trackType === "effect"; - if (elementType === "video" || elementType === "image") { - return trackType === "video"; - } - return false; + return canElementGoOnTrack({ elementType, trackType }); } function getMainTrackIndex({ tracks }: { tracks: TimelineTrack[] }): number { |
