use crate::playstatus::PlayStatus; use leptos::ev::MouseEvent; use leptos::leptos_dom::*; use leptos::*; use leptos_icons::*; use leptos_icons::BsIcon::*; const RM_BTN_SIZE: &str = "2rem"; fn remove_song_fn(index: usize, status: RwSignal) { if index == 0 { log!("Error: Trying to remove currently playing song (index 0) from queue"); } else { log!("Remove Song from Queue: Song is not currently playing, deleting song from queue and not adding to history"); status.update(|status| { status.queue.remove(index); }); } } #[component] fn Song(song_image_path: String, song_title: String, song_artist: String) -> impl IntoView { view!{
{song_title.clone()}

{song_title}

{song_artist}

} } #[component] pub fn Queue(status: RwSignal) -> impl IntoView { let remove_song = move |index: usize| { remove_song_fn(index, status); log!("Removed song {}", index + 1); }; let prevent_focus = move |e: MouseEvent| { e.prevent_default(); }; view!{

Queue

    { status.with(|status| status.queue.iter() .enumerate() .map(|(index, song)| view! {
    Playing

    }>
    }) .collect::>()) }
} }