diff --git a/src/main.rs b/src/main.rs index 7e48717..9a565e4 100644 --- a/src/main.rs +++ b/src/main.rs @@ -50,6 +50,7 @@ async fn main() { let app = Router::new() .route("/", routing::get(home)) .route("/play/:hash", routing::get(play_handler)) + .route("/stop", routing::get(stop_handler)) .with_state(state); println!("listening on {}", addr); @@ -89,7 +90,13 @@ async fn play_handler( .unwrap() .send(vbplay::Command::Play(full_file_name.into())) .unwrap(); - //play_clip(&clip.full_file_name()); } "".to_owned() } + +async fn stop_handler(state: State) -> String { + let player = state.player.clone(); + player.lock().unwrap().send(vbplay::Command::Stop).unwrap(); + + "".to_owned() +} diff --git a/templates/index.html b/templates/index.html index 423085b..700d383 100644 --- a/templates/index.html +++ b/templates/index.html @@ -6,11 +6,17 @@ function play(hash) { fetch("/play/" + hash); } + + function stop() { + fetch("/stop"); + } {% for clip in clips %}
{% endfor %} + +