import { For, Show, createSignal, lazy } from 'solid-js' import { Icon } from '~/components/_shared/Icon' import { Popover } from '~/components/_shared/Popover' import { useLocalize } from '~/context/localize' import { MediaItem } from '~/types/mediaitem' import { descFromBody } from '~/utils/meta' import { SharePopup, getShareUrl } from '../SharePopup' import styles from './AudioPlayer.module.scss' const MicroEditor = lazy(() => import('../../Editor/MicroEditor/MicroEditor')) const GrowingTextarea = lazy(() => import('~/components/_shared/GrowingTextarea/GrowingTextarea')) type Props = { media: MediaItem[] currentTrackIndex: number isPlaying: boolean onPlayMedia: (trackIndex: number) => void articleSlug?: string body?: string editorMode?: boolean onMediaItemFieldChange?: (index: number, field: keyof MediaItem, value: string) => void onChangeMediaIndex?: (direction: 'up' | 'down', index: number) => void } const _getMediaTitle = (itm: MediaItem, idx: number) => `${idx}. ${itm.artist} - ${itm.title}` export const PlayerPlaylist = (props: Props) => { const { t } = useLocalize() const [activeEditIndex, setActiveEditIndex] = createSignal(-1) const toggleDropDown = (index: number) => { setActiveEditIndex(activeEditIndex() === index ? -1 : index) } const handleMediaItemFieldChange = (field: keyof MediaItem, value: string) => { props.onMediaItemFieldChange?.(activeEditIndex(), field, value) } const play = (index: number) => { props.onPlayMedia(index) //const mi = props.media[index] //gtag('event', 'select_item', { //item_list_id: props.articleSlug, //item_list_name: getMediaTitle(mi, index), //items: props.media.map((it, ix) => getMediaTitle(it, ix)), //}) } return ( ) }