background loading

This commit is contained in:
Simon
2025-06-15 07:29:39 +00:00
parent 8cd404d6b1
commit c34d6dcc14
6 changed files with 40 additions and 9 deletions

View File

@@ -3,6 +3,7 @@ use htmlentity::types::Byte;
use ntex::http::header;
use ntex::web;
use ntex::web::HttpRequest;
use tokio::{task, time};
use crate::providers::hanime::HanimeProvider;
use crate::providers::perverzija::PerverzijaProvider;
@@ -324,9 +325,34 @@ async fn videos_post(
let provider = get_provider(channel.as_str())
.ok_or_else(|| web::error::ErrorBadRequest("Invalid channel".to_string()))?;
let video_items = provider
.get_videos(cache.get_ref().clone(), pool.get_ref().clone(), channel, sort, query, page.to_string(), perPage.to_string(), featured)
.get_videos(cache.get_ref().clone(), pool.get_ref().clone(), channel.clone(), sort.clone(), query.clone(), page.to_string(), perPage.to_string(), featured.clone())
.await;
videos.items = video_items.clone();
//###
let next_page = page.to_string().parse::<i32>().unwrap_or(1) + 1;
let provider_clone = provider.clone();
let cache_clone = cache.get_ref().clone();
let pool_clone = pool.get_ref().clone();
let channel_clone = channel.clone();
let sort_clone = sort.clone();
let query_clone = query.clone();
let per_page_clone = perPage.to_string();
let featured_clone = featured.clone();
task::spawn_local(async move {
let _ = provider_clone
.get_videos(
cache_clone,
pool_clone,
channel_clone,
sort_clone,
query_clone,
next_page.to_string(),
per_page_clone,
featured_clone,
)
.await;
});
//###
Ok(web::HttpResponse::Ok().json(&videos))
}