v0.16-ACTAUL-V0.1
This commit is contained in:
@@ -548,11 +548,11 @@ async fn list_book(
|
|||||||
|
|
||||||
let page: usize = params.get("page").unwrap().parse().unwrap();
|
let page: usize = params.get("page").unwrap().parse().unwrap();
|
||||||
|
|
||||||
let books = QueryCore::find_books_plus_meta_in_page(conn,page,5)
|
let books = QueryCore::find_books_plus_meta_in_page(conn,page,12)
|
||||||
.await
|
.await
|
||||||
.expect("could not list books");
|
.expect("could not list books");
|
||||||
|
|
||||||
let mut resbooks: Vec<BookUI> = Vec::with_capacity(5);
|
let mut resbooks: Vec<BookUI> = Vec::with_capacity(12);
|
||||||
|
|
||||||
for bookandmeta in books.0.into_iter() {
|
for bookandmeta in books.0.into_iter() {
|
||||||
let mut cover = bookandmeta.clone().book.cover;
|
let mut cover = bookandmeta.clone().book.cover;
|
||||||
@@ -604,11 +604,11 @@ async fn list_search_book(
|
|||||||
let backend_url = env::var("BACKEND_URL").expect("BACKEND_URL is not set in .env file");
|
let backend_url = env::var("BACKEND_URL").expect("BACKEND_URL is not set in .env file");
|
||||||
|
|
||||||
|
|
||||||
let books = booksman_search::search_book(search, page,meili_client)
|
let books = booksman_search::search_book(search, page, meili_client)
|
||||||
.await
|
.await
|
||||||
.expect("could not list books");
|
.expect("could not list books");
|
||||||
|
|
||||||
let mut resbooks: Vec<BookUI> = Vec::with_capacity(24);
|
let mut resbooks: Vec<BookUI> = Vec::with_capacity(12);
|
||||||
|
|
||||||
for bookmeili in books.0.into_iter() {
|
for bookmeili in books.0.into_iter() {
|
||||||
let mut cover = bookmeili.clone().cover;
|
let mut cover = bookmeili.clone().cover;
|
||||||
@@ -642,7 +642,7 @@ let mut resbooks: Vec<BookUI> = Vec::with_capacity(24);
|
|||||||
}
|
}
|
||||||
|
|
||||||
let res = PaginatedBookUIList{
|
let res = PaginatedBookUIList{
|
||||||
num_pages: (books.1/24) as u32,
|
num_pages: (books.1/12) as u32,
|
||||||
books: resbooks
|
books: resbooks
|
||||||
};
|
};
|
||||||
return Json(res);
|
return Json(res);
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ pub async fn delete_book(bookid: i32, client: &Client) {
|
|||||||
pub async fn search_book(search: &str, page: usize, client: &Client) -> Result<(Vec<BookMeili>, usize), meilisearch_sdk::errors::Error> {
|
pub async fn search_book(search: &str, page: usize, client: &Client) -> Result<(Vec<BookMeili>, usize), meilisearch_sdk::errors::Error> {
|
||||||
// An index is where the documents are stored.
|
// An index is where the documents are stored.
|
||||||
let books = client.index("books");
|
let books = client.index("books");
|
||||||
let results : SearchResults<BookMeili> = books.search().with_query(search).with_offset((page-1)*24)
|
let results : SearchResults<BookMeili> = books.search().with_query(search).with_offset((page-1)*12)
|
||||||
.execute::<BookMeili>().await.unwrap();
|
.execute::<BookMeili>().await.unwrap();
|
||||||
|
|
||||||
let formatted_results : Vec<BookMeili> = (results.hits).iter().map(|r| r.result.clone()).collect();
|
let formatted_results : Vec<BookMeili> = (results.hits).iter().map(|r| r.result.clone()).collect();
|
||||||
|
|||||||
@@ -195,7 +195,7 @@ pub fn Header<G: Html>(cx: Scope) -> View<G> {
|
|||||||
app_state.search.set(task);
|
app_state.search.set(task);
|
||||||
app_state.openlibrary.set(false);
|
app_state.openlibrary.set(false);
|
||||||
app_state.internalsearch.set(true);
|
app_state.internalsearch.set(true);
|
||||||
app_state.books.set(Vec::new());
|
app_state.refreshing.set(true);
|
||||||
info!("Fetching search 2\n");
|
info!("Fetching search 2\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -204,6 +204,7 @@ pub fn Header<G: Html>(cx: Scope) -> View<G> {
|
|||||||
let click_listall = |_| {
|
let click_listall = |_| {
|
||||||
app_state.openlibrary.set(false);
|
app_state.openlibrary.set(false);
|
||||||
app_state.internalsearch.set(false);
|
app_state.internalsearch.set(false);
|
||||||
|
app_state.refreshing.set(true);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -229,6 +230,8 @@ pub fn Header<G: Html>(cx: Scope) -> View<G> {
|
|||||||
app_state.search.set(task);
|
app_state.search.set(task);
|
||||||
app_state.openlibrary.set(false);
|
app_state.openlibrary.set(false);
|
||||||
app_state.internalsearch.set(true);
|
app_state.internalsearch.set(true);
|
||||||
|
app_state.refreshing.set(true);
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -327,14 +330,15 @@ async fn ListDB<G: Html>(cx: Scope<'_>) -> View<G> {
|
|||||||
|
|
||||||
if *app_state.openlibrary.get() == false {
|
if *app_state.openlibrary.get() == false {
|
||||||
if *app_state.refreshing.get() == true {
|
if *app_state.refreshing.get() == true {
|
||||||
info!("Refresh triggered");
|
|
||||||
app_state.books.set(Vec::new());
|
|
||||||
app_state.refreshing.set(false);
|
app_state.refreshing.set(false);
|
||||||
|
app_state.books.set(Vec::new());
|
||||||
//TimeoutFuture::new(1000).await;
|
//TimeoutFuture::new(1000).await;
|
||||||
}
|
//info!("Refresh triggered");
|
||||||
|
|
||||||
if *app_state.internalsearch.get() == false {
|
if *app_state.internalsearch.get() == false {
|
||||||
|
info!("DB triggered");
|
||||||
spawn_local(async move {
|
spawn_local(async move {
|
||||||
|
|
||||||
let res = list_books(*app_state.pagenum.get())
|
let res = list_books(*app_state.pagenum.get())
|
||||||
.await.unwrap();
|
.await.unwrap();
|
||||||
app_state.books.set(
|
app_state.books.set(
|
||||||
@@ -345,6 +349,8 @@ async fn ListDB<G: Html>(cx: Scope<'_>) -> View<G> {
|
|||||||
)
|
)
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
info!("IntSearch triggered");
|
||||||
|
|
||||||
spawn_local(async move {
|
spawn_local(async move {
|
||||||
let res = search_books(app_state.search.get().to_string(), *app_state.pagenum.get())
|
let res = search_books(app_state.search.get().to_string(), *app_state.pagenum.get())
|
||||||
.await.unwrap();
|
.await.unwrap();
|
||||||
@@ -356,6 +362,8 @@ async fn ListDB<G: Html>(cx: Scope<'_>) -> View<G> {
|
|||||||
)
|
)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if *app_state.refreshing.get() == false {
|
if *app_state.refreshing.get() == false {
|
||||||
spawn_local(async move {
|
spawn_local(async move {
|
||||||
@@ -933,11 +941,14 @@ async fn PageBar<G: Html>(cx: Scope<'_>) -> View<G> {
|
|||||||
|
|
||||||
let handle_add = move |_| {
|
let handle_add = move |_| {
|
||||||
app_state.pagenum.set(*app_state.pagenum.get()+1);
|
app_state.pagenum.set(*app_state.pagenum.get()+1);
|
||||||
|
app_state.refreshing.set(true);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
let handle_sub = move |_| {
|
let handle_sub = move |_| {
|
||||||
if *app_state.pagenum.get()>1 {
|
if *app_state.pagenum.get()>1 {
|
||||||
app_state.pagenum.set(*app_state.pagenum.get()-1);
|
app_state.pagenum.set(*app_state.pagenum.get()-1);
|
||||||
|
app_state.refreshing.set(true);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -948,6 +959,7 @@ async fn PageBar<G: Html>(cx: Scope<'_>) -> View<G> {
|
|||||||
let pg = currpg.get().as_ref().clone().parse::<u32>().unwrap_or(1);
|
let pg = currpg.get().as_ref().clone().parse::<u32>().unwrap_or(1);
|
||||||
if pg>0 && pg<*app_state.maxpage.get() {
|
if pg>0 && pg<*app_state.maxpage.get() {
|
||||||
app_state.pagenum.set(pg);
|
app_state.pagenum.set(pg);
|
||||||
|
app_state.refreshing.set(true);
|
||||||
} else {
|
} else {
|
||||||
currpg.set((*app_state.pagenum.get()).to_string());
|
currpg.set((*app_state.pagenum.get()).to_string());
|
||||||
}
|
}
|
||||||
@@ -995,7 +1007,7 @@ fn App<G: Html>(cx: Scope) -> View<G> {
|
|||||||
addingbook: create_rc_signal(BookUI::default()),
|
addingbook: create_rc_signal(BookUI::default()),
|
||||||
displaying: create_rc_signal(bool::default()),
|
displaying: create_rc_signal(bool::default()),
|
||||||
displayingbook: create_rc_signal(BookUI::default()),
|
displayingbook: create_rc_signal(BookUI::default()),
|
||||||
refreshing: create_rc_signal(bool::default()),
|
refreshing: create_rc_signal(true),
|
||||||
apibook: create_rc_signal(BookUI::default()),
|
apibook: create_rc_signal(BookUI::default()),
|
||||||
updatingrequest: create_rc_signal(bool::default()),
|
updatingrequest: create_rc_signal(bool::default()),
|
||||||
addingrequest: create_rc_signal(bool::default()),
|
addingrequest: create_rc_signal(bool::default()),
|
||||||
|
|||||||
Reference in New Issue
Block a user