riffusion-app/components/Pause.tsx

42 lines
1.2 KiB
TypeScript
Raw Normal View History

import { useEffect } from "react";
import { FiPause, FiPlay } from "react-icons/fi";
2022-11-23 22:46:32 -07:00
interface PauseProps {
paused: boolean;
setPaused: (value: boolean) => void;
}
export default function Pause({
paused,
setPaused,
}: PauseProps) {
2022-11-24 21:58:44 -07:00
// Print the state into the console
useEffect(() => {
if (paused) {
console.log("Pause");
} else {
console.log("Play");
}
}, [paused]);
2022-11-24 21:58:44 -07:00
var classNameCondition = ""
if (paused) {
2022-12-08 15:20:55 -07:00
classNameCondition="animate-pulse fixed z-20 top-4 right-4 md:top-8 md:right-8 bg-sky-400 w-14 h-14 rounded-full drop-shadow-lg flex justify-center items-center text-white text-2xl hover:bg-sky-500 focus:ring-4 focus:outline-none focus:ring-sky-600 hover:drop-shadow-2xl"
2022-11-24 21:58:44 -07:00
} else {
2022-12-08 15:20:55 -07:00
classNameCondition="fixed z-20 top-4 right-4 md:top-8 md:right-8 bg-slate-100 w-14 h-14 rounded-full drop-shadow-lg flex justify-center items-center text-sky-900 text-2xl hover:text-white hover:bg-sky-600 hover:drop-shadow-2xl"
2022-11-24 21:58:44 -07:00
}
2022-11-23 22:46:32 -07:00
return (
<>
<button
title="Pause"
2022-11-24 21:58:44 -07:00
className= {classNameCondition}
onClick={() => setPaused(!paused)}
2022-11-23 22:46:32 -07:00
>
{paused ? <FiPlay /> : <FiPause />}
2022-11-23 22:46:32 -07:00
</button>
</>
);
};