mirror of
https://github.com/navidrome/navidrome.git
synced 2025-04-15 11:40:36 +03:00
Only reset player scrobbled state on track change or end (#1432)
* Only reset player scrobbled state on track change or end * Only reset player start time on track change or end
This commit is contained in:
parent
d3e142233b
commit
ccc871d1f7
@ -140,13 +140,14 @@ const Player = () => {
|
||||
const onAudioPlay = useCallback(
|
||||
(info) => {
|
||||
dispatch(currentPlaying(info))
|
||||
setStartTime(Date.now())
|
||||
if (startTime === null) {
|
||||
setStartTime(Date.now())
|
||||
}
|
||||
if (info.duration) {
|
||||
const song = info.song
|
||||
document.title = `${song.title} - ${song.artist} - Navidrome`
|
||||
subsonic.nowPlaying(info.trackId)
|
||||
setPreload(false)
|
||||
setScrobbled(false)
|
||||
if (config.gaTrackingId) {
|
||||
ReactGA.event({
|
||||
category: 'Player',
|
||||
@ -163,9 +164,18 @@ const Player = () => {
|
||||
}
|
||||
}
|
||||
},
|
||||
[dispatch, showNotifications]
|
||||
[dispatch, showNotifications, startTime]
|
||||
)
|
||||
|
||||
const onAudioPlayTrackChange = useCallback(() => {
|
||||
if (scrobbled) {
|
||||
setScrobbled(false)
|
||||
}
|
||||
if (startTime !== null) {
|
||||
setStartTime(null)
|
||||
}
|
||||
}, [scrobbled, startTime])
|
||||
|
||||
const onAudioPause = useCallback(
|
||||
(info) => dispatch(currentPlaying(info)),
|
||||
[dispatch]
|
||||
@ -173,6 +183,8 @@ const Player = () => {
|
||||
|
||||
const onAudioEnded = useCallback(
|
||||
(currentPlayId, audioLists, info) => {
|
||||
setScrobbled(false)
|
||||
setStartTime(null)
|
||||
dispatch(currentPlaying(info))
|
||||
dataProvider
|
||||
.getOne('keepalive', { id: info.trackId })
|
||||
@ -212,6 +224,7 @@ const Player = () => {
|
||||
onAudioVolumeChange={onAudioVolumeChange}
|
||||
onAudioProgress={onAudioProgress}
|
||||
onAudioPlay={onAudioPlay}
|
||||
onAudioPlayTrackChange={onAudioPlayTrackChange}
|
||||
onAudioPause={onAudioPause}
|
||||
onAudioEnded={onAudioEnded}
|
||||
onCoverClick={onCoverClick}
|
||||
|
Loading…
x
Reference in New Issue
Block a user