All files / Rindu/components/CardTrack PlayButtonIcon.tsx

83.33% Statements 5/6
66.66% Branches 10/15
100% Functions 1/1
83.33% Lines 5/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41    19x                     12x                 12x       12x       12x                    
import { ReactElement } from "react";
 
import { Pause, Play, Playing } from "components/icons";
 
interface IPlayButtonIcon {
  mouseEnter: boolean;
  isTheSameAsCurrentlyPlaying: boolean;
  isPlaying: boolean;
  isFocusing: boolean;
  isPlayable?: boolean | string;
  visualPosition?: number;
  position?: number;
}
export function PlayButtonIcon({
  mouseEnter,
  isTheSameAsCurrentlyPlaying,
  isPlaying,
  isFocusing,
  isPlayable,
  visualPosition,
  position,
}: Readonly<IPlayButtonIcon>): ReactElement {
  Iif (mouseEnter && isTheSameAsCurrentlyPlaying && isPlaying) {
    return <Pause size={24} fill={"#FFF"} />;
  }
 
  Iif (isTheSameAsCurrentlyPlaying && isPlaying) {
    return <Playing />;
  }
 
  if ((mouseEnter || isFocusing) && isPlayable) {
    return <Play fill="#FFF" />;
  }
 
  return (
    <span className="position">{`${
      visualPosition ?? (typeof position === "number" ? position + 1 : "")
    }`}</span>
  );
}