import { clsx } from 'clsx' import { Show, createSignal } from 'solid-js' import { Icon } from '~/components/_shared/Icon' import { useOutsideClickHandler } from '~/lib/useOutsideClickHandler' import { MediaItem } from '~/types/mediaitem' import styles from './AudioPlayer.module.scss' type Props = { onPlayMedia: () => void playPrevTrack: () => void playNextTrack: () => void onVolumeChange: (volume: number) => void isPlaying: boolean currentTrack: MediaItem } export const PlayerHeader = (props: Props) => { let volumeContainerRef: HTMLDivElement | undefined const [isVolumeBarOpened, setIsVolumeBarOpened] = createSignal(false) const toggleVolumeBar = () => { setIsVolumeBarOpened(!isVolumeBarOpened()) } useOutsideClickHandler({ containerRef: volumeContainerRef, predicate: () => isVolumeBarOpened(), handler: () => toggleVolumeBar() }) return (