Files
YoutubeDL-Material/src/app/dialogs/subscription-info-dialog/subscription-info-dialog.component.ts
Tzahi12345 970e3834be UI updates to subscriptions
Improved translation coverage
2023-01-24 21:45:19 -05:00

58 lines
1.7 KiB
TypeScript

import { Component, OnInit, Inject } from '@angular/core';
import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
import { PostsService } from 'app/posts.services';
import { ConfirmDialogComponent } from '../confirm-dialog/confirm-dialog.component';
@Component({
selector: 'app-subscription-info-dialog',
templateUrl: './subscription-info-dialog.component.html',
styleUrls: ['./subscription-info-dialog.component.scss']
})
export class SubscriptionInfoDialogComponent implements OnInit {
sub = null;
unsubbedEmitter = null;
constructor(public dialogRef: MatDialogRef<SubscriptionInfoDialogComponent>,
@Inject(MAT_DIALOG_DATA) public data: any, private postsService: PostsService,
private dialog: MatDialog) { }
ngOnInit() {
if (this.data) {
this.sub = this.data.sub;
this.unsubbedEmitter = this.data.unsubbedEmitter;
}
}
confirmUnsubscribe() {
const dialogRef = this.dialog.open(ConfirmDialogComponent, {
data: {
dialogTitle: $localize`Unsubscribe from ${this.sub['name']}:subscription name:`,
dialogText: $localize`Would you like to unsubscribe from ${this.sub['name']}:subscription name:?`,
submitText: $localize`Unsubscribe`,
warnSubmitColor: true
}
});
dialogRef.afterClosed().subscribe(confirmed => {
if (confirmed) {
this.unsubscribe();
}
});
}
unsubscribe() {
this.postsService.unsubscribe(this.sub, true).subscribe(res => {
this.unsubbedEmitter.emit(true);
this.dialogRef.close();
});
}
downloadArchive() {
this.postsService.downloadArchive(null, this.sub.id).subscribe(res => {
const blob: Blob = res;
saveAs(blob, 'archive.txt');
});
}
}