import { useEffect, useRef } from "react"; import WaveSurfer from "wavesurfer.js"; import RegionsPlugin from "wavesurfer.js/dist/plugins/regions.esm.js"; import type { MediaSyncState } from "../hooks/useMediaSync"; import type { Chapter } from "../api/videos"; interface AudioWaveformProps { mediaSync: MediaSyncState; src: string; chapters?: Chapter[]; } /** * Audio-only waveform visualiser powered by wavesurfer.js. * Renders a hidden