Compare commits
5 Commits
138-load-p
...
109-implem
Author | SHA1 | Date | |
---|---|---|---|
e53f74c0f3 | |||
b4bc605943 | |||
7f58c4b68b | |||
9fb3cd745b | |||
a7905624a6 |
@ -542,24 +542,14 @@ impl Album {
|
||||
pub fn get_album_data(album_id: i32, conn: &mut PgPooledConn) -> Result<AlbumData, Box<dyn Error>> {
|
||||
use crate::schema::*;
|
||||
|
||||
let album: Vec<(Album, std::option::Option<Artist>)> = albums::table
|
||||
.find(album_id)
|
||||
.left_join(songs::table.on(albums::id.nullable().eq(songs::album_id)))
|
||||
.left_join(song_artists::table.inner_join(artists::table).on(songs::id.eq(song_artists::song_id)))
|
||||
.select((
|
||||
albums::all_columns,
|
||||
artists::all_columns.nullable()
|
||||
))
|
||||
.distinct()
|
||||
let artist_list: Vec<Artist> = album_artists::table
|
||||
.filter(album_artists::album_id.eq(album_id))
|
||||
.inner_join(artists::table.on(album_artists::artist_id.eq(artists::id)))
|
||||
.select(
|
||||
artists::all_columns
|
||||
)
|
||||
.load(conn)?;
|
||||
|
||||
let mut artist_list: Vec<Artist> = Vec::new();
|
||||
|
||||
for (_, artist) in album {
|
||||
if let Some(artist) = artist {
|
||||
artist_list.push(artist);
|
||||
}
|
||||
}
|
||||
// Get info of album
|
||||
let albuminfo = albums::table
|
||||
.filter(albums::id.eq(album_id))
|
||||
@ -671,7 +661,7 @@ impl Album {
|
||||
|
||||
// Sort the songs by date
|
||||
let mut songdata: Vec<SongData> = album_songs.into_values().collect();
|
||||
songdata.sort_by(|a, b| b.track.cmp(&a.track));
|
||||
songdata.sort_by(|a, b| a.track.cmp(&b.track));
|
||||
Ok(songdata)
|
||||
}
|
||||
}
|
||||
|
@ -10,6 +10,7 @@ use crate::components::loading::Loading;
|
||||
pub fn Login() -> impl IntoView {
|
||||
let (username_or_email, set_username_or_email) = create_signal("".to_string());
|
||||
let (password, set_password) = create_signal("".to_string());
|
||||
let (two_fa_code, set_two_fa_code) = create_signal("".to_string());
|
||||
|
||||
let (show_password, set_show_password) = create_signal(false);
|
||||
|
||||
@ -27,6 +28,8 @@ pub fn Login() -> impl IntoView {
|
||||
let username_or_email1 = username_or_email.get();
|
||||
let password1 = password.get();
|
||||
|
||||
let two_fa_code1 = two_fa_code.get();
|
||||
|
||||
spawn_local(async move {
|
||||
loading.set(true);
|
||||
error_msg.set(None);
|
||||
@ -106,6 +109,16 @@ pub fn Login() -> impl IntoView {
|
||||
|
||||
</Show>
|
||||
</div>
|
||||
<div class="input-box">
|
||||
<input class="login-2fa" type="text" required
|
||||
on:input = move |ev| {
|
||||
set_two_fa_code(event_target_value(&ev));
|
||||
log!("2FA code changed to: {}", two_fa_code.get());
|
||||
}
|
||||
/>
|
||||
<span>2FA Code</span>
|
||||
<i></i>
|
||||
</div>
|
||||
<a href="" class="forgot-pw">Forgot Password?</a>
|
||||
<div class="error-msg" >{ move || error_msg.get() }</div>
|
||||
<Show
|
||||
|
Reference in New Issue
Block a user