feat: show queued upload count in panel header

This commit is contained in:
Hiren Kangad
2026-03-10 20:51:25 +05:30
parent 9dc0815a12
commit b6b615957b
2 changed files with 13 additions and 1 deletions
+3
View File
@@ -113,6 +113,9 @@ export default function UploadPanel({ uploadManager }: UploadPanelProps) {
}}> }}>
<span style={{ fontSize: '11px', color: '#888', fontWeight: 600 }}> <span style={{ fontSize: '11px', color: '#888', fontWeight: 600 }}>
Uploads{uploadManager.activeCount > 0 ? ` (${uploadManager.activeCount})` : ''} Uploads{uploadManager.activeCount > 0 ? ` (${uploadManager.activeCount})` : ''}
{uploadManager.queuedCount > 0 && (
<span style={{ color: '#555', fontWeight: 400 }}> · {uploadManager.queuedCount} queued</span>
)}
</span> </span>
{jobs.some((j) => j.status === 'done' || j.status === 'failed') && ( {jobs.some((j) => j.status === 'done' || j.status === 'failed') && (
<button onClick={() => uploadManager.clearFinished()} style={{ <button onClick={() => uploadManager.clearFinished()} style={{
+9
View File
@@ -199,6 +199,15 @@ export class UploadManager {
return count; return count;
} }
/** Get queued job count. */
get queuedCount(): number {
let count = 0;
for (const job of this.jobs.values()) {
if (job.status === 'queued') count++;
}
return count;
}
private _autoDismiss(jobId: string) { private _autoDismiss(jobId: string) {
this._clearDismissTimer(jobId); this._clearDismissTimer(jobId);
this._dismissTimers.set(jobId, setTimeout(() => { this._dismissTimers.set(jobId, setTimeout(() => {