From 194229516e162ec327ffbf53854239679ebd476e Mon Sep 17 00:00:00 2001 From: Tanish Manku Date: Mon, 26 May 2025 23:59:30 -0700 Subject: [PATCH] Delete WaveformPlayer --- .../components/reusable/WaveformPlayer.tsx | 113 ------------------ .../app/src/components/reusable/index.ts | 1 - 2 files changed, 114 deletions(-) delete mode 100644 frontend/apps/editor3d/app/src/components/reusable/WaveformPlayer.tsx diff --git a/frontend/apps/editor3d/app/src/components/reusable/WaveformPlayer.tsx b/frontend/apps/editor3d/app/src/components/reusable/WaveformPlayer.tsx deleted file mode 100644 index e4c485f972..0000000000 --- a/frontend/apps/editor3d/app/src/components/reusable/WaveformPlayer.tsx +++ /dev/null @@ -1,113 +0,0 @@ -import { useCallback, useEffect, useState, useRef } from "react"; -import { twMerge } from "tailwind-merge"; -import WaveSurfer from "wavesurfer.js"; -import { - faCirclePlay, - faCirclePause, - faSpinnerThird, -} from "@fortawesome/pro-solid-svg-icons"; -import { ButtonIcon } from "@storyteller/ui-button-icon"; - -export const WaveformPlayer = ({ - audio, - hasPlayButton, - onLoad, -}: { - audio: string; - hasPlayButton?: boolean; - onLoad?: ({ duration }: { duration: number }) => void; -}) => { - const waveSurferRef = useRef(undefined); - const [{ isPlaying, isLoading }, setState] = useState<{ - isLoading: boolean; - isPlaying: boolean; - }>({ - isLoading: true, - isPlaying: false, - }); - - const containerRef = useCallback( - (node: HTMLDivElement) => { - const toggleIsPlaying = (newIsPlaying: boolean) => { - setState((curr) => ({ ...curr, isPlaying: newIsPlaying })); - }; - const toggleIsLoading = (newIsLoading: boolean) => { - setState((curr) => ({ ...curr, isLoading: newIsLoading })); - }; - if (node) { - if (waveSurferRef.current) { - //need to destroy previous wavesurfer to not have doubles - waveSurferRef.current.destroy(); - toggleIsLoading(true); - } - const waveSurfer = WaveSurfer.create({ - container: node, - barWidth: 2, - height: 24, - cursorWidth: 0, - waveColor: "#D7C8C8", - progressColor: "#FB8381", - }); - - waveSurfer.load(audio); - waveSurfer.on("ready", () => { - waveSurferRef.current = waveSurfer; - // console.log("here"); - toggleIsLoading(false); - if (onLoad) onLoad({ duration: waveSurfer.getDuration() }); - }); - waveSurfer.on("play", () => { - toggleIsPlaying(true); - }); - waveSurfer.on("pause", () => { - toggleIsPlaying(false); - }); - } - }, - [audio], - ); - - useEffect(() => { - return () => { - //destructor on unmount - waveSurferRef.current?.destroy(); - }; - }, []); - - return ( -
- {hasPlayButton && ( - { - if (!isLoading) waveSurferRef.current?.playPause(); - }} - /> - )} - -
- -
-
-
- ); -}; diff --git a/frontend/apps/editor3d/app/src/components/reusable/index.ts b/frontend/apps/editor3d/app/src/components/reusable/index.ts index 84250aed05..eacf997679 100644 --- a/frontend/apps/editor3d/app/src/components/reusable/index.ts +++ b/frontend/apps/editor3d/app/src/components/reusable/index.ts @@ -8,4 +8,3 @@ export * from "./SearchFilter"; export * from "./UploadModal"; export * from "./UploadModal3D"; export * from "./UploadModalMedia"; -export * from "./WaveformPlayer";