Skip to content

Commit

Permalink
Merge pull request #3206 from numbersprotocol/feat-confirm-dialog-on-…
Browse files Browse the repository at this point in the history
…pull-to-refresh

fix(capture-tab): prevent refresh/restore during upload
  • Loading branch information
sultanmyrza authored Feb 8, 2024
2 parents 6f79c12 + 313b572 commit 5cbf1d3
Showing 1 changed file with 13 additions and 3 deletions.
16 changes: 13 additions & 3 deletions src/app/features/home/capture-tab/capture-tab.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ import {
DiaBackendAssetRepository,
} from '../../../shared/dia-backend/asset/dia-backend-asset-repository.service';
import { DiaBackendAsseRefreshingService } from '../../../shared/dia-backend/asset/refreshing/dia-backend-asset-refreshing.service';
import { DiaBackendAssetUploadingService } from '../../../shared/dia-backend/asset/uploading/dia-backend-asset-uploading.service';
import { DiaBackendAuthService } from '../../../shared/dia-backend/auth/dia-backend-auth.service';
import { DiaBackendTransactionRepository } from '../../../shared/dia-backend/transaction/dia-backend-transaction-repository.service';
import { ErrorService } from '../../../shared/error/error.service';
Expand Down Expand Up @@ -153,14 +154,15 @@ export class CaptureTabComponent implements OnInit {
)
);

private pendingUploadTasks = 0;

constructor(
private readonly actionSheetController: ActionSheetController,
private readonly router: Router,
private readonly mediaStore: MediaStore,
private readonly database: Database,
private readonly confirmAlert: ConfirmAlert,
private readonly dialog: MatDialog,

private readonly preferenceManager: PreferenceManager,
private readonly changeDetectorRef: ChangeDetectorRef,
private readonly proofRepository: ProofRepository,
Expand All @@ -173,8 +175,13 @@ export class CaptureTabComponent implements OnInit {
private readonly translocoService: TranslocoService,
private readonly errorService: ErrorService,
private readonly blockingActionService: BlockingActionService,
private readonly captureTabService: CaptureTabService
) {}
private readonly captureTabService: CaptureTabService,
private readonly uploadService: DiaBackendAssetUploadingService
) {
this.uploadService.pendingTasks$
.pipe(untilDestroyed(this))
.subscribe(value => (this.pendingUploadTasks = value));
}

ngOnInit(): void {
this.initSegmentListener();
Expand Down Expand Up @@ -340,6 +347,9 @@ export class CaptureTabComponent implements OnInit {
async refreshCaptures(event: Event) {
(<CustomEvent>event).detail.complete();

// Don't refresh if there are still captures being uploaded.
if (this.pendingUploadTasks > 0) return;

const confirmRefresh = await this.showRefreshAlert();
if (confirmRefresh) {
this.capturedTabPageIndex$.next(0);
Expand Down

0 comments on commit 5cbf1d3

Please sign in to comment.