import {Box, IconButton} from '@mui/material'
import PropTypes from 'prop-types'
import {useRouter} from 'next/router'
import {
Tidal,
Spotify,
Deezer,
Soundcloud,
Applemusic
} from '@icons-pack/react-simple-icons'
import {useEffect, useState} from 'react'
const kouteyAchteyIcons = {
Tidal: ,
Deezer: ,
Spotify: ,
Soundcloud: ,
Applemusic:
}
function RannIframe({plateforme, url, isMobile}) {
let src = ''
switch (plateforme) {
case 'Tidal': {
const trackArray = url.split('/')
const trackId = trackArray[trackArray.length - 1]
src = `https://embed.tidal.com/tracks/${trackId}?disableAnalytics=true`
break
}
case 'Deezer': {
const trackArray = url.split('/')
const trackId = trackArray[trackArray.length - 1]
src = `https://widget.deezer.com/widget/auto/track/${trackId}?tracklist=false`
break
}
case 'Spotify': {
const trackArray = url.split('/')
const trackId = trackArray[trackArray.length - 1]
src = `https://open.spotify.com/embed/track/${trackId}`
break
}
case 'Soundcloud': {
src = `https://w.soundcloud.com/player/?url=${url}`
break
}
case 'Applemusic': {
const embedUrl = url.replace('//music', '//embed.music')
src = embedUrl
break
}
// No default
}
return (
{plateforme === 'Tidal' && (
)}
{plateforme === 'Deezer' && (
)}
{plateforme === 'Spotify' && (
)}
{plateforme === 'Soundcloud' && (
)}
{plateforme === 'Applemusic' && (
)}
)
}
function EntegreMizik({parole, isMobile}) {
const [chwaMizik, meteChwaMizik] = useState(null)
const router = useRouter()
const {streamAudio, slug, okiMizikID} = parole
const filteredKouteyAchtey = streamAudio.filter(({plateforme}) => plateforme === 'Tidal' || plateforme === 'Spotify' || plateforme === 'Deezer' || plateforme === 'Soundcloud' || plateforme === 'Applemusic')
const handleClick = (plateforme, url) => {
if (chwaMizik && chwaMizik.plateforme === plateforme) {
return meteChwaMizik(null)
}
meteChwaMizik({plateforme, url})
}
useEffect(() => {
if (router.asPath === `/paroles/${slug}` || router.asPath === `/paroles/${slug}#${slug}`) {
meteChwaMizik(null)
}
}, [router, slug])
return (
{!okiMizikID && filteredKouteyAchtey.map(({id, plateforme, url}) => (
handleClick(plateforme, url)}
>
{kouteyAchteyIcons[plateforme]}
))}
{chwaMizik && (
)}
)
}
EntegreMizik.propTypes = {
parole: PropTypes.object.isRequired,
isMobile: PropTypes.bool.isRequired
}
RannIframe.propTypes = {
plateforme: PropTypes.string.isRequired,
url: PropTypes.string.isRequired,
isMobile: PropTypes.bool.isRequired
}
export default EntegreMizik