From 18a7e80dfa66bfc882f2600ca80b7b7e334d4180 Mon Sep 17 00:00:00 2001 From: Yusufa09 Date: Mon, 20 Jul 2026 15:21:42 -0400 Subject: [PATCH 1/2] Removed Upload label, advanced options from Upload Page as per Dr.Zhou's Request --- PanTS-Demo/src/routes/UploadPage.css | 65 ------------------------ PanTS-Demo/src/routes/UploadPage.tsx | 75 +++------------------------- 2 files changed, 7 insertions(+), 133 deletions(-) diff --git a/PanTS-Demo/src/routes/UploadPage.css b/PanTS-Demo/src/routes/UploadPage.css index c200874..9b25cc7 100644 --- a/PanTS-Demo/src/routes/UploadPage.css +++ b/PanTS-Demo/src/routes/UploadPage.css @@ -59,15 +59,6 @@ padding: 28px 32px 32px; position: relative; } -.upload-card-label { - font-family: 'Space Grotesk', sans-serif; - font-size: 11px; - font-weight: 600; - letter-spacing: 0.12em; - text-transform: uppercase; - color: #8f8f8f; - margin-bottom: 20px; -} /* ── Drop zone ── */ .dropzone { @@ -624,62 +615,6 @@ color: #111; } -/* ── Advanced options ── */ -.advanced-section { - margin-top: 20px; - padding-top: 20px; - border-top: 1px solid rgba(0,0,0,.06); -} -.advanced-toggle { - display: flex; - align-items: center; - gap: 6px; - background: none; - border: none; - color: #6a6a6a; - font-family: 'JetBrains Mono', monospace; - font-size: 10px; - letter-spacing: 0.08em; - text-transform: uppercase; - cursor: pointer; - padding: 4px 0; - transition: color 0.2s; -} -.advanced-toggle:hover { - color: #8f8f8f; -} -.advanced-toggle svg { - transition: transform 0.2s; -} -.advanced-toggle.open svg { - transform: rotate(90deg); -} -.advanced-fields { - display: flex; - flex-direction: column; - gap: 10px; - margin-top: 12px; -} -.advanced-input { - width: 100%; - padding: 10px 14px; - background: rgba(0,0,0,.03); - border: 1px solid rgba(0,0,0,.06); - border-radius: 8px; - color: #111111; - font-family: 'JetBrains Mono', monospace; - font-size: 12px; - outline: none; - transition: all 0.2s; -} -.advanced-input::placeholder { - color: #6a6a6a; -} -.advanced-input:focus { - border-color: rgba(0,0,0,.25); - box-shadow: 0 0 0 2px rgba(0,0,0,.06); -} - /* ── Action bar (check status, download) ── */ .action-bar { display: flex; diff --git a/PanTS-Demo/src/routes/UploadPage.tsx b/PanTS-Demo/src/routes/UploadPage.tsx index c009b9c..f9674c8 100644 --- a/PanTS-Demo/src/routes/UploadPage.tsx +++ b/PanTS-Demo/src/routes/UploadPage.tsx @@ -73,9 +73,7 @@ const UploadPage: React.FC = () => { // Which selected item's inline preview is open (null = none). One at a time. const [previewItemId, setPreviewItemId] = useState(null); const [message, setMessage] = useState(""); - const [serverPath, setServerPath] = useState(""); const [sessionId, setSessionId] = useState(""); - const [bdmapId, setBdmapId] = useState(""); const [uploadProgress, setUploadProgress] = useState(0); const [isUploading, setIsUploading] = useState(false); const [inferenceCompleted, setInferenceCompleted] = useState(false); @@ -88,7 +86,6 @@ const UploadPage: React.FC = () => { const [postDropOpen, setPostDropOpen] = useState(false); const postDropRef = useRef(null); const [postValue, setPostValue] = useState(""); - const [showAdvanced, setShowAdvanced] = useState(false); const [isDragOver, setIsDragOver] = useState(false); const [recentUploads, setRecentUploads] = useState(() => loadRecentUploads()); // Sub-state of each Active card: "uploading" | "queued" | "running". @@ -535,16 +532,14 @@ const UploadPage: React.FC = () => { return; } - const path = serverPath.trim(); - if (!item && !path) { - alert("Provide a server file path or upload/select a file first."); + if (!item) { + alert("Select a file to upload first."); return; } const model = selectedModel; const sid = crypto.randomUUID(); - const itemName = item ? (item.kind === 'dicom' ? item.label : item.file.name) : undefined; - const label = bdmapId.trim() || (path ? path.split("/").pop() : itemName) || sid; + const label = (item.kind === 'dicom' ? item.label : item.file.name) || sid; setInferenceCompleted(false); setRecentUploads( @@ -558,47 +553,23 @@ const UploadPage: React.FC = () => { }) ); - // Server-path run: nothing to upload, kick off inference directly. A server - // path always wins over a selected file, matching the prior behavior. - if (path) { - try { - setSessionId(sid); - setMessage(`Starting ${model} inference...`); - const fd = new FormData(); - fd.append("session_id", sid); - fd.append("model_name", model); - fd.append("INPUT_SERVER_PATH", path); - const res = await fetch(`${API_BASE}/api/run-epai-inference`, { method: "POST", body: fd }); - const data = await parseApiResponse(res); - if (!res.ok) throw new Error(data.error || "Failed to start inference"); - setMessage(`${model} inference started. Session: ${sid}`); - setPhase(sid, "queued"); - startInferencePolling(sid, model); - } catch (err) { - console.error(err); - setRecentUploads(updateRecentUploadStatus(sid, "Failed")); - setMessage("Failed: " + (err as Error).message); - } - return; - } - // Consume the first item so the next can be queued. A DICOM folder uploads its // slices and converts server-side; a NIfTI file rides the resumable path (stashed // in IndexedDB so an interrupted upload can resume). setSelectedItems(prev => prev.slice(1)); - if (item!.kind === 'dicom') { - runDicomUpload(sid, item!.files, model); + if (item.kind === 'dicom') { + runDicomUpload(sid, item.files, model); return; } - const file = item!.file; + const file = item.file; const pending: PendingUpload = { sessionId: sid, file, filename: file.name, model, - bdmapId: bdmapId.trim(), + bdmapId: "", totalChunks: Math.ceil(file.size / CHUNK_SIZE), nextChunk: 0, }; @@ -729,8 +700,6 @@ const UploadPage: React.FC = () => {
-
Upload
- {/* ── Drop zone ── */}
{
{/* ── Advanced options ── */} -
- - {showAdvanced && ( -
- setServerPath(e.target.value)} - /> - setBdmapId(e.target.value)} - /> -
- )} -
- {/* ── Action bar ── */} {sessionId && (
From 2b1b6e889c5d0c80f700f62a6581bfd45d12b4b7 Mon Sep 17 00:00:00 2001 From: Yusufa09 Date: Mon, 20 Jul 2026 15:23:15 -0400 Subject: [PATCH 2/2] changed "None" model option color to match pre and post processing --- PanTS-Demo/src/routes/UploadPage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PanTS-Demo/src/routes/UploadPage.tsx b/PanTS-Demo/src/routes/UploadPage.tsx index f9674c8..1b4dc97 100644 --- a/PanTS-Demo/src/routes/UploadPage.tsx +++ b/PanTS-Demo/src/routes/UploadPage.tsx @@ -851,7 +851,7 @@ const UploadPage: React.FC = () => {