diff --git a/src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.ts b/src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.ts index b1d2dd4f..19ff03bf 100644 --- a/src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.ts +++ b/src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.ts @@ -61,9 +61,13 @@ export class EditSubscriptionDialogComponent implements OnInit { ]; constructor(@Inject(MAT_DIALOG_DATA) public data: any, private dialog: MatDialog, private postsService: PostsService) { - this.sub = this.data.sub; + this.sub = JSON.parse(JSON.stringify(this.data.sub)); this.new_sub = JSON.parse(JSON.stringify(this.sub)); + // ignore videos to keep requests small + delete this.sub['videos']; + delete this.new_sub['videos']; + this.audioOnlyMode = this.sub.type === 'audio'; this.download_all = !this.sub.timerange; diff --git a/src/app/subscription/subscription/subscription.component.ts b/src/app/subscription/subscription/subscription.component.ts index 5f32f407..461dcfc0 100644 --- a/src/app/subscription/subscription/subscription.component.ts +++ b/src/app/subscription/subscription/subscription.component.ts @@ -56,7 +56,7 @@ export class SubscriptionComponent implements OnInit, OnDestroy { if (init) { this.getConfig(); this.getSubscription(); - this.sub_interval = setInterval(() => this.getSubscription(), 1000); + this.sub_interval = setInterval(() => this.getSubscription(true), 1000); } }); } @@ -79,8 +79,14 @@ export class SubscriptionComponent implements OnInit, OnDestroy { this.router.navigate(['/subscriptions']); } - getSubscription() { + getSubscription(low_cost = false) { this.postsService.getSubscription(this.id).subscribe(res => { + if (low_cost && res['subscription'].videos.length === this.subscription?.videos.length) { + if (res['subscription']['downloading'] !== this.subscription['downloading']) { + this.subscription['downloading'] = res['subscription']['downloading']; + } + return; + } this.subscription = res['subscription']; this.files = res['files']; if (this.search_mode) {