aboutsummaryrefslogtreecommitdiff
path: root/server/src/ui/admin/import.rs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/ui/admin/import.rs')
-rw-r--r--server/src/ui/admin/import.rs28
1 files changed, 10 insertions, 18 deletions
diff --git a/server/src/ui/admin/import.rs b/server/src/ui/admin/import.rs
index 78db4a4..e199de4 100644
--- a/server/src/ui/admin/import.rs
+++ b/server/src/ui/admin/import.rs
@@ -4,27 +4,23 @@
Copyright (C) 2026 metamuffin <metamuffin.org>
*/
-use crate::{request_info::RequestInfo, ui::error::MyResult, ui_responder::UiResponse};
-use jellycommon::{
- jellyobject::{OBB, ObjectBuffer},
- routes::u_admin_import,
- *,
-};
+use crate::{request_info::RequestInfo, ui::error::MyResult};
+use jellycommon::routes::u_admin_import;
use jellyimport::{
ImportConfig, import_wrap, is_importing,
reporting::{IMPORT_ERRORS, IMPORT_PROGRESS},
};
-use jellyui::tr;
+use jellyui::{components::admin::AdminImport, tr};
use rocket::{
get, post,
- response::{Flash, Redirect},
+ response::{Flash, Redirect, content::RawHtml},
};
use rocket_ws::{Message, Stream, WebSocket};
use std::time::Duration;
use tokio::{spawn, time::sleep};
#[get("/admin/import", rank = 2)]
-pub async fn r_admin_import(ri: RequestInfo<'_>) -> MyResult<UiResponse> {
+pub async fn r_admin_import(ri: RequestInfo<'_>) -> MyResult<RawHtml<String>> {
ri.require_admin()?;
let last_import_err = IMPORT_ERRORS.read().await.clone();
@@ -33,15 +29,11 @@ pub async fn r_admin_import(ri: RequestInfo<'_>) -> MyResult<UiResponse> {
.map(|e| e.as_str())
.collect::<Vec<_>>();
- let mut data = ObjectBuffer::empty();
- if is_importing() {
- data = data.as_object().insert(ADMIN_IMPORT_BUSY, ());
- }
- data = data
- .as_object()
- .insert_multi(ADMIN_IMPORT_ERROR, &last_import_err);
-
- Ok(ri.respond_ui(OBB::new().with(VIEW_ADMIN_IMPORT, data.as_object())))
+ Ok(ri.respond_ui(&AdminImport {
+ busy: is_importing(),
+ errors: &last_import_err,
+ ri: &ri.render_info(),
+ }))
}
#[post("/admin/import?<incremental>")]