navidrome/ui/src/SharePlayer.js

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

56 lines
1.4 KiB
JavaScript
Raw Normal View History

2023-01-20 04:52:55 +01:00
import ReactJkMusicPlayer from 'navidrome-music-player'
import { shareInfo } from './config'
import { shareCoverUrl, shareStreamUrl } from './utils'
2023-01-20 04:52:55 +01:00
import { makeStyles } from '@material-ui/core/styles'
const useStyle = makeStyles({
player: {
'& .group .next-audio': {
pointerEvents: (props) => props.single && 'none',
opacity: (props) => props.single && 0.65,
},
'@media (min-width: 768px)': {
'& .react-jinke-music-player-mobile > div': {
width: 768,
margin: 'auto',
},
'& .react-jinke-music-player-mobile-cover': {
width: 'auto !important',
},
},
},
})
2023-01-21 01:53:53 +01:00
const SharePlayer = () => {
const classes = useStyle({ single: shareInfo?.tracks.length === 1 })
2023-01-20 04:52:55 +01:00
const list = shareInfo?.tracks.map((s) => {
return {
name: s.title,
2023-01-22 03:01:50 +01:00
musicSrc: shareStreamUrl(s.id),
cover: shareCoverUrl(s.id),
2023-01-20 04:52:55 +01:00
singer: s.artist,
duration: s.duration,
}
})
const options = {
audioLists: list,
mode: 'full',
2023-01-22 03:10:35 +01:00
toggleMode: false,
2023-01-20 04:52:55 +01:00
mobileMediaQuery: '',
showDownload: false,
showReload: false,
showMediaSession: true,
2023-01-21 01:53:53 +01:00
theme: 'auto',
showThemeSwitch: false,
restartCurrentOnPrev: true,
2023-01-22 03:10:35 +01:00
remove: false,
spaceBar: true,
volumeFade: { fadeIn: 200, fadeOut: 200 },
2023-01-20 04:52:55 +01:00
}
return <ReactJkMusicPlayer {...options} className={classes.player} />
2023-01-20 04:52:55 +01:00
}
2023-01-21 01:53:53 +01:00
export default SharePlayer