Browse Source

fix(frontend): set player on ended only on mount

Miguel Ángel Moreno 1 year ago
parent
commit
ac36640493
1 changed files with 2 additions and 2 deletions
  1. 2 2
      src/frontend/tubo/components/audio_player.cljs

+ 2 - 2
src/frontend/tubo/components/audio_player.cljs

@@ -19,7 +19,8 @@
       :component-did-mount
       (fn [this]
         (when stream
-          (set! (.-src (rdom/dom-node this)) stream)))
+          (set! (.-src (rdom/dom-node this)) stream)
+          (set! (.-onended @!player) #(rf/dispatch [::events/change-media-queue-pos (+ media-queue-pos 1)]))))
       :reagent-render
       (fn [!player]
         (let [!elapsed-time @(rf/subscribe [:elapsed-time])
@@ -32,7 +33,6 @@
             :loop           (= loop-playback :stream)
             :muted          muted?
             :on-loaded-data #(rf/dispatch [::events/player-start])
-            :on-ended       #(rf/dispatch [::events/change-media-queue-pos (+ media-queue-pos 1)])
             :on-time-update #(reset! !elapsed-time (.-currentTime @!player))
             :on-pause       #(rf/dispatch [::events/change-player-paused true])
             :on-play        #(rf/dispatch [::events/change-player-paused false])}]))})))