Update seconds when tracking
This commit is contained in:
parent
00278d81a1
commit
89f30e0225
1 changed files with 14 additions and 5 deletions
|
@ -49,6 +49,7 @@ pub type Msg {
|
|||
StartUserSkip
|
||||
EndUserSkip
|
||||
PositionSelected(Int)
|
||||
PositionChanged(Int)
|
||||
}
|
||||
|
||||
pub fn init(
|
||||
|
@ -110,10 +111,13 @@ pub fn update(model: Model, msg) {
|
|||
)
|
||||
StartUserSkip -> #(Model(..model, user_is_skipping: True), effect.none())
|
||||
EndUserSkip -> #(Model(..model, user_is_skipping: False), effect.none())
|
||||
PositionSelected(time) -> {
|
||||
skip_to_time(time)
|
||||
PositionSelected(pos) -> {
|
||||
skip_to_time(pos)
|
||||
|
||||
#(Model(..model, position: time), effect.none())
|
||||
#(Model(..model, position: pos), effect.none())
|
||||
}
|
||||
PositionChanged(pos) -> {
|
||||
#(Model(..model, position: pos), effect.none())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -184,9 +188,10 @@ pub fn view(model: Model) {
|
|||
attribute.min("0"),
|
||||
attribute.max(int.to_string(model.track.length)),
|
||||
attribute.attribute("aria-label", "Track position"),
|
||||
event.on("change", event_slider_change),
|
||||
event.on("change", event_track_change),
|
||||
event.on_mouse_down(StartUserSkip),
|
||||
event.on_mouse_up(EndUserSkip),
|
||||
event.on_input(event_track_input),
|
||||
]),
|
||||
p(
|
||||
[attribute.id("player-times")],
|
||||
|
@ -234,10 +239,14 @@ fn event_timeupdate(_: a) {
|
|||
Ok(UpdateTime(current_time()))
|
||||
}
|
||||
|
||||
fn event_slider_change(_: a) {
|
||||
fn event_track_change(_: a) {
|
||||
Ok(PositionSelected(current_track_position()))
|
||||
}
|
||||
|
||||
fn event_track_input(_: a) {
|
||||
PositionChanged(current_track_position())
|
||||
}
|
||||
|
||||
@external(javascript, "../../../player_ffi.mjs", "play")
|
||||
fn play() -> Nil
|
||||
|
||||
|
|
Loading…
Reference in a new issue