All files / Rindu/components/PlaybackExtraControls PlaybackExtraControls.tsx

57.14% Statements 4/7
0% Branches 0/4
0% Functions 0/1
57.14% Lines 4/7

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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56              19x 19x 19x 19x                                                                                          
import { ReactElement } from "react";
 
import {
  DeviceConnectControl,
  FullScreenControl,
  LyricsPIPButton,
  VolumeControl,
} from "components";
import { FullScreen, Lyrics, Queue } from "components/icons";
import { useAuth, useSpotify } from "hooks";
import { DisplayInFullScreen } from "types/spotify";
 
export default function PlaybackExtraControls(): ReactElement {
  const { currentlyPlaying } = useSpotify();
  const { isPremium } = useAuth();
  return (
    <div className="extras">
      {currentlyPlaying?.type === "track" && (
        <>
          {isPremium && !!document?.pictureInPictureEnabled && (
            <LyricsPIPButton />
          )}
          <FullScreenControl
            icon={Lyrics}
            displayInFullScreen={DisplayInFullScreen.Lyrics}
          />
        </>
      )}
      <FullScreenControl
        icon={Queue}
        displayInFullScreen={DisplayInFullScreen.Queue}
      />
      <DeviceConnectControl />
      <VolumeControl />
      <FullScreenControl
        icon={FullScreen}
        displayInFullScreen={DisplayInFullScreen.Player}
      />
      <style jsx>{`
        .extras {
          display: flex;
          width: 100%;
          column-gap: 0px;
          align-items: center;
          justify-content: flex-end;
        }
        @media (max-width: 1100px) {
          .extras {
            column-gap: 5px;
          }
        }
      `}</style>
    </div>
  );
}