async solve, now to fix list updating
This commit is contained in:
@@ -1,28 +1,29 @@
|
||||
use crate::components::{MediaGrid, Pagination, Search};
|
||||
use dioxus::prelude::*;
|
||||
|
||||
#[component]
|
||||
pub fn Home() -> Element
|
||||
{
|
||||
let query = use_signal(|| "".to_string());
|
||||
let page = use_signal(|| 1 as i32);
|
||||
let max_page = use_signal(|| 1 as i32);
|
||||
let item_count = use_signal(|| 0 as i32);
|
||||
rsx! {
|
||||
div {
|
||||
class: "stickyTop",
|
||||
Search { query, page },
|
||||
Pagination { page, max_page, item_count },
|
||||
}
|
||||
MediaGrid { query: query.cloned(), page: page.cloned(), max_page, total_items: item_count }
|
||||
}
|
||||
}
|
||||
// #[component]
|
||||
// pub fn Home() -> Element
|
||||
// {
|
||||
// let query = use_signal(|| "".to_string());
|
||||
// let page = use_signal(|| 1 as i32);
|
||||
// let max_page = use_signal(|| 1 as i32);
|
||||
// let item_count = use_signal(|| 0 as i32);
|
||||
// rsx! {
|
||||
// div {
|
||||
// class: "stickyTop",
|
||||
// Search { query, page },
|
||||
// Pagination { page, max_page, item_count },
|
||||
// }
|
||||
// MediaGrid { query: query.cloned(), page: page.cloned(), max_page, total_items: item_count }
|
||||
// }
|
||||
// }
|
||||
|
||||
#[component]
|
||||
pub fn HomePaged(page: i32, q: String) -> Element
|
||||
pub fn Home(page: Option<i32>, q: Option<String>) -> Element
|
||||
{
|
||||
let query = use_signal(|| q);
|
||||
let page = use_signal(|| page);
|
||||
let query = use_signal(|| q.unwrap_or("".to_string()));
|
||||
let page = use_signal(|| page.unwrap_or(1));
|
||||
let page_size = use_signal::<i32>(|| 100);
|
||||
let max_page = use_signal(|| 1 as i32);
|
||||
let item_count = use_signal(|| 0 as i32);
|
||||
rsx! {
|
||||
@@ -31,6 +32,6 @@ pub fn HomePaged(page: i32, q: String) -> Element
|
||||
Search { query, page },
|
||||
Pagination { page, max_page, item_count },
|
||||
}
|
||||
MediaGrid { query: query.cloned(), page: page.cloned(), max_page, total_items: item_count }
|
||||
MediaGrid { query: query, page: page, max_page, total_items: item_count, page_size }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,16 +39,16 @@ fn MediaPage(media: MediaModel) -> Element
|
||||
{
|
||||
let url = media.thumb_url;
|
||||
let id = media.id.expect("Media has no id").value.clone();
|
||||
let cur_class = match media.class
|
||||
let cur_class = use_signal(|| match media.class
|
||||
{
|
||||
0 => "Standard",
|
||||
1 => "NSFW",
|
||||
2 => "Secret",
|
||||
_ => "Unkown",
|
||||
};
|
||||
});
|
||||
rsx! {
|
||||
img { src: "{HOST}{url}", }
|
||||
label { "Media Class: {cur_class}" }
|
||||
label { "Media Class: {cur_class()}" }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user