Use Signal instead of MaybeSignal

This commit is contained in:
Ethan Girouard 2024-12-28 16:09:53 -05:00
parent ec1c57a67d
commit abd0f87d41
Signed by: eta357
GPG Key ID: 7BCDC36DFD11C146
5 changed files with 15 additions and 15 deletions

View File

@ -85,7 +85,7 @@ fn SongListInner<T>(songs: Vec<(SongData, T)>, show_extra: bool) -> impl IntoVie
}
#[component]
pub fn SongListItem<T>(song: SongData, song_playing: MaybeSignal<bool>, extra: Option<T>,
pub fn SongListItem<T>(song: SongData, song_playing: Signal<bool>, extra: Option<T>,
list_index: usize, do_queue_remaining: WriteSignal<Option<usize>>) -> impl IntoView where
T: IntoView + 'static
{
@ -115,7 +115,7 @@ pub fn SongListItem<T>(song: SongData, song_playing: MaybeSignal<bool>, extra: O
/// Display the song's image, with an overlay if the song is playing
/// When the song list item is hovered, the overlay will show the play button
#[component]
pub fn SongImage(image_path: String, song_playing: MaybeSignal<bool>, list_index: usize,
pub fn SongImage(image_path: String, song_playing: Signal<bool>, list_index: usize,
do_queue_remaining: WriteSignal<Option<usize>>) -> impl IntoView
{
let play_song = move |_| {
@ -183,7 +183,7 @@ pub fn SongAlbum(album: Option<Album>) -> impl IntoView {
#[component]
pub fn SongLikeDislike(
#[prop(into)]
song_id: MaybeSignal<i32>,
song_id: Signal<i32>,
liked: RwSignal<bool>,
disliked: RwSignal<bool>) -> impl IntoView
{

View File

@ -46,7 +46,7 @@ pub fn ArtistPage() -> impl IntoView {
}
#[component]
fn ArtistIdProfile(#[prop(into)] id: MaybeSignal<i32>) -> impl IntoView {
fn ArtistIdProfile(#[prop(into)] id: Signal<i32>) -> impl IntoView {
let artist_info = Resource::new(move || id.get(), move |id| {
get_artist_by_id(id)
});
@ -103,7 +103,7 @@ fn ArtistProfile(artist: Artist) -> impl IntoView {
}
#[component]
fn TopSongsByArtist(#[prop(into)] artist_id: MaybeSignal<i32>) -> impl IntoView {
fn TopSongsByArtist(#[prop(into)] artist_id: Signal<i32>) -> impl IntoView {
let top_songs = Resource::new(move || artist_id.get(), |artist_id| async move {
let top_songs = top_songs_by_artist(artist_id, Some(10)).await;
@ -145,7 +145,7 @@ fn TopSongsByArtist(#[prop(into)] artist_id: MaybeSignal<i32>) -> impl IntoView
}
#[component]
fn AlbumsByArtist(#[prop(into)] artist_id: MaybeSignal<i32>) -> impl IntoView {
fn AlbumsByArtist(#[prop(into)] artist_id: Signal<i32>) -> impl IntoView {
use crate::components::dashboard_row::*;
let albums = Resource::new(move || artist_id.get(), |artist_id| async move {

View File

@ -91,7 +91,7 @@ fn OwnProfile() -> impl IntoView {
/// Show a user's profile by ID
#[component]
fn UserIdProfile(#[prop(into)] id: MaybeSignal<i32>) -> impl IntoView {
fn UserIdProfile(#[prop(into)] id: Signal<i32>) -> impl IntoView {
let user_info = Resource::new(move || id.get(), move |id| {
get_user_by_id(id)
});
@ -176,7 +176,7 @@ fn UserProfile(user: User) -> impl IntoView {
/// Show a list of top songs for a user
#[component]
fn TopSongs(#[prop(into)] user_id: MaybeSignal<i32>) -> impl IntoView {
fn TopSongs(#[prop(into)] user_id: Signal<i32>) -> impl IntoView {
let top_songs = Resource::new(move || user_id.get(), |user_id| async move {
use chrono::{Local, Duration};
let now = Local::now();
@ -226,7 +226,7 @@ fn TopSongs(#[prop(into)] user_id: MaybeSignal<i32>) -> impl IntoView {
/// Show a list of recently played songs for a user
#[component]
fn RecentSongs(#[prop(into)] user_id: MaybeSignal<i32>) -> impl IntoView {
fn RecentSongs(#[prop(into)] user_id: Signal<i32>) -> impl IntoView {
let recent_songs = Resource::new(move || user_id.get(), |user_id| async move {
let recent_songs = recent_songs(user_id, Some(RECENT_SONGS_COUNT)).await;
@ -267,7 +267,7 @@ fn RecentSongs(#[prop(into)] user_id: MaybeSignal<i32>) -> impl IntoView {
/// Show a list of top artists for a user
#[component]
fn TopArtists(#[prop(into)] user_id: MaybeSignal<i32>) -> impl IntoView {
fn TopArtists(#[prop(into)] user_id: Signal<i32>) -> impl IntoView {
let top_artists = Resource::new(move || user_id.get(), |user_id| async move {
use chrono::{Local, Duration};

View File

@ -51,7 +51,7 @@ pub fn SongPage() -> impl IntoView {
}
#[component]
fn SongDetails(#[prop(into)] id: MaybeSignal<i32>) -> impl IntoView {
fn SongDetails(#[prop(into)] id: Signal<i32>) -> impl IntoView {
let song_info = Resource::new(move || id.get(), move |id| {
get_song_by_id(id)
});
@ -145,7 +145,7 @@ fn SongOverview(song: SongData) -> impl IntoView {
}
#[component]
fn SongPlays(#[prop(into)] id: MaybeSignal<i32>) -> impl IntoView {
fn SongPlays(#[prop(into)] id: Signal<i32>) -> impl IntoView {
let plays = Resource::new(move || id.get(), move |id| songs::get_song_plays(id));
view! {
@ -174,7 +174,7 @@ fn SongPlays(#[prop(into)] id: MaybeSignal<i32>) -> impl IntoView {
}
#[component]
fn MySongPlays(#[prop(into)] id: MaybeSignal<i32>) -> impl IntoView {
fn MySongPlays(#[prop(into)] id: Signal<i32>) -> impl IntoView {
let plays = Resource::new(move || id.get(), move |id| songs::get_my_song_plays(id));
view! {

View File

@ -230,7 +230,7 @@ fn PlayControls() -> impl IntoView {
/// The elapsed time and total time of the current song
#[component]
fn PlayDuration(elapsed_secs: MaybeSignal<i64>, total_secs: MaybeSignal<i64>) -> impl IntoView {
fn PlayDuration(elapsed_secs: Signal<i64>, total_secs: Signal<i64>) -> impl IntoView {
// Create a derived signal that formats the elapsed and total seconds into a string
let play_duration = Signal::derive(move || {
let elapsed_mins = (elapsed_secs.get() - elapsed_secs.get() % 60) / 60;
@ -407,7 +407,7 @@ fn LikeDislike() -> impl IntoView {
/// The play progress bar, and click handler for skipping to a certain time in the song
#[component]
fn ProgressBar(percentage: MaybeSignal<f64>) -> impl IntoView {
fn ProgressBar(percentage: Signal<f64>) -> impl IntoView {
// Keep a reference to the progress bar div so we can get its width and calculate the time to skip to
let progress_bar_ref = NodeRef::<Div>::new();