diff --git a/src/UI/UIWindowUploadProgress.js b/src/UI/UIWindowUploadProgress.js
deleted file mode 100644
index 23c5d5ec..00000000
--- a/src/UI/UIWindowUploadProgress.js
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
- * Copyright (C) 2024 Puter Technologies Inc.
- *
- * This file is part of Puter.
- *
- * Puter is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see .
- */
-
-import UIWindow from './UIWindow.js'
-
-// todo do this using uid rather than item_path, since item_path is way mroe expensive on the DB
-async function UIWindowUploadProgress(options){
- let h = '';
- h += `
`;
- h += `
`;
- // spinner
- h +=`
circle anim `;
- // Progress report
- h +=`
`;
- // msg
- h += `${i18n('preparing_for_upload')} `;
- h += `
`;
- // progress
- h += `
`;
- // cancel
- h += `
${i18n('cancel')} `;
- h +=`
`;
- h += `
`;
-
- const el_window = await UIWindow({
- title: i18n('upload'),
- icon: window.icons[`app-icon-uploader.svg`],
- uid: null,
- is_dir: false,
- body_content: h,
- has_head: false,
- selectable_body: false,
- draggable_body: true,
- allow_context_menu: false,
- is_resizable: false,
- is_droppable: false,
- init_center: true,
- allow_native_ctxmenu: false,
- allow_user_select: false,
- window_class: 'window-upload-progress',
- width: 450,
- dominant: true,
- window_css:{
- height: 'initial',
- },
- body_css: {
- padding: '22px',
- width: 'initial',
- 'background-color': 'rgba(231, 238, 245, .95)',
- 'backdrop-filter': 'blur(3px)',
- }
- });
-
- return el_window;
-}
-
-export default UIWindowUploadProgress
\ No newline at end of file
diff --git a/src/css/style.css b/src/css/style.css
index 69a19e30..dbecf56b 100644
--- a/src/css/style.css
+++ b/src/css/style.css
@@ -2708,7 +2708,7 @@ fieldset[name=number-code] {
}
}
-.progress-bar-container, .upload-progress-bar-container, .download-progress-bar-container {
+.progress-bar-container, .download-progress-bar-container {
box-sizing: border-box;
width: 100%;
height: 17px;
@@ -2718,7 +2718,7 @@ fieldset[name=number-code] {
box-shadow: inset -1px 3px 4px #dfdfdf;
}
-.progress-bar, .upload-progress-bar, .download-progress-bar {
+.progress-bar, .download-progress-bar {
width: 0;
height: 100%;
background-color: rgb(0 137 255);
diff --git a/src/helpers.js b/src/helpers.js
index 4a9d2128..680f4e76 100644
--- a/src/helpers.js
+++ b/src/helpers.js
@@ -27,13 +27,13 @@ import UIWindowSaveAccount from './UI/UIWindowSaveAccount.js';
import UIWindowCopyProgress from './UI/UIWindowCopyProgress.js';
import UIWindowMoveProgress from './UI/UIWindowMoveProgress.js';
import UIWindowNewFolderProgress from './UI/UIWindowNewFolderProgress.js';
-import UIWindowUploadProgress from './UI/UIWindowUploadProgress.js';
import UIWindowProgressEmptyTrash from './UI/UIWindowProgressEmptyTrash.js';
import update_username_in_gui from './helpers/update_username_in_gui.js';
import update_title_based_on_uploads from './helpers/update_title_based_on_uploads.js';
import content_type_to_icon from './helpers/content_type_to_icon.js';
import UIWindowDownloadDirProg from './UI/UIWindowDownloadDirProg.js';
import { PROCESS_RUNNING, PortalProcess, PseudoProcess } from "./definitions.js";
+import UIWindowProgress from './UI/UIWindowProgress.js';
window.is_auth = ()=>{
if(localStorage.getItem("auth_token") === null || window.auth_token === null)
@@ -2685,25 +2685,28 @@ window.upload_items = async function(items, dest_path){
init: async(operation_id, xhr)=>{
opid = operation_id;
// create upload progress window
- upload_progress_window = await UIWindowUploadProgress({operation_id: operation_id});
- // cancel btn
- $(upload_progress_window).find('.upload-cancel-btn').on('click', function(e){
- $(upload_progress_window).close();
- window.show_save_account_notice_if_needed();
- xhr.abort();
- })
+ upload_progress_window = await UIWindowProgress({
+ title: i18n('upload'),
+ icon: window.icons[`app-icon-uploader.svg`],
+ operation_id: operation_id,
+ show_progress: true,
+ on_cancel: () => {
+ window.show_save_account_notice_if_needed();
+ xhr.abort();
+ },
+ });
// add to active_uploads
window.active_uploads[opid] = 0;
},
// start
start: async function(){
// change upload progress window message to uploading
- $(upload_progress_window).find('.upload-progress-msg').html(`Uploading (0% )`);
+ upload_progress_window.set_status('Uploading');
+ upload_progress_window.set_progress(0);
},
// progress
progress: async function(operation_id, op_progress){
- $(`[data-upload-operation-id="${operation_id}"]`).find('.upload-progress-bar').css( 'width', op_progress+'%');
- $(`[data-upload-operation-id="${operation_id}"]`).find('.upload-progress-percent').html(op_progress+'%');
+ upload_progress_window.set_progress(op_progress);
// update active_uploads
window.active_uploads[opid] = op_progress;
// update title if window is not visible
@@ -2731,7 +2734,7 @@ window.upload_items = async function(items, dest_path){
// close progress window after a bit of delay for a better UX
setTimeout(() => {
setTimeout(() => {
- $(upload_progress_window).close();
+ upload_progress_window.close();
window.show_save_account_notice_if_needed();
}, Math.abs(window.upload_progress_hide_delay));
})
@@ -2740,7 +2743,8 @@ window.upload_items = async function(items, dest_path){
},
// error
error: async function(err){
- $(upload_progress_window).close();
+ // TODO: Display error in progress dialog
+ upload_progress_window.close();
// UIAlert(err?.message ?? 'An error occurred while uploading.');
// remove from active_uploads
delete window.active_uploads[opid];