diff --git a/backend/subscriptions.js b/backend/subscriptions.js index f1d89e6..ee0ff7b 100644 --- a/backend/subscriptions.js +++ b/backend/subscriptions.js @@ -439,7 +439,11 @@ async function getAllSubscriptions() { } async function getSubscription(subID) { - return await db_api.getRecord('subscriptions', {id: subID}); + const sub = await db_api.getRecord('subscriptions', {id: subID}); + // now with the download_queue, we may need to override 'downloading' + const current_downloads = await db_api.getRecords('download_queue', {running: true, sub_id: sub.id}, true); + if (!sub['downloading']) sub['downloading'] = current_downloads > 0; + return sub; } async function getSubscriptionByName(subName, user_uid = null) { diff --git a/src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html b/src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html index 67f6a6e..2d08862 100644 --- a/src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html +++ b/src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html @@ -9,13 +9,13 @@
Download all uploads
-
+
Download videos uploaded in the last - + - + {{time_unit + (timerange_amount === 1 ? '' : 's')}} diff --git a/src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html b/src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html index d8432ae..484dfec 100644 --- a/src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html +++ b/src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html @@ -24,14 +24,14 @@
Download all uploads
-
+
Download videos uploaded in the last
- + - + {{time_unit + (timerange_amount === 1 ? '' : 's')}} diff --git a/src/app/dialogs/subscription-info-dialog/subscription-info-dialog.component.html b/src/app/dialogs/subscription-info-dialog/subscription-info-dialog.component.html index 4517a47..9acebfd 100644 --- a/src/app/dialogs/subscription-info-dialog/subscription-info-dialog.component.html +++ b/src/app/dialogs/subscription-info-dialog/subscription-info-dialog.component.html @@ -23,5 +23,5 @@ - + \ No newline at end of file diff --git a/src/app/dialogs/subscription-info-dialog/subscription-info-dialog.component.ts b/src/app/dialogs/subscription-info-dialog/subscription-info-dialog.component.ts index eebd285..5e14fc3 100644 --- a/src/app/dialogs/subscription-info-dialog/subscription-info-dialog.component.ts +++ b/src/app/dialogs/subscription-info-dialog/subscription-info-dialog.component.ts @@ -1,6 +1,7 @@ import { Component, OnInit, Inject } from '@angular/core'; -import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +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', @@ -13,7 +14,8 @@ export class SubscriptionInfoDialogComponent implements OnInit { unsubbedEmitter = null; constructor(public dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) public data: any, private postsService: PostsService) { } + @Inject(MAT_DIALOG_DATA) public data: any, private postsService: PostsService, + private dialog: MatDialog) { } ngOnInit() { if (this.data) { @@ -22,6 +24,22 @@ export class SubscriptionInfoDialogComponent implements OnInit { } } + 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); @@ -30,7 +48,7 @@ export class SubscriptionInfoDialogComponent implements OnInit { } downloadArchive() { - this.postsService.downloadArchive(this.sub).subscribe(res => { + this.postsService.downloadArchive(null, this.sub.id).subscribe(res => { const blob: Blob = res; saveAs(blob, 'archive.txt'); }); diff --git a/src/app/settings/settings.component.ts b/src/app/settings/settings.component.ts index 820a3c7..7577fb2 100644 --- a/src/app/settings/settings.component.ts +++ b/src/app/settings/settings.component.ts @@ -170,9 +170,9 @@ export class SettingsComponent implements OnInit { deleteCategory(category: Category): void { const dialogRef = this.dialog.open(ConfirmDialogComponent, { data: { - dialogTitle: 'Delete category', - dialogText: `Would you like to delete ${category['name']}?`, - submitText: 'Delete', + dialogTitle: $localize`Delete category`, + dialogText: $localize`Would you like to delete ${category['name']}:category name:?`, + submitText: $localize`Delete`, warnSubmitColor: true } }); @@ -180,12 +180,11 @@ export class SettingsComponent implements OnInit { if (confirmed) { this.postsService.deleteCategory(category['uid']).subscribe(res => { if (res['success']) { - // TODO: Make translatable - this.postsService.openSnackBar(`Successfully deleted ${category['name']}!`); + this.postsService.openSnackBar($localize`Successfully deleted ${category['name']}:category name:!`); this.postsService.reloadCategories(); } }, () => { - this.postsService.openSnackBar(`Failed to delete ${category['name']}!`); + this.postsService.openSnackBar($localize`Failed to delete ${category['name']}:category name:!`); }); } }); diff --git a/src/app/subscription/subscription/subscription.component.html b/src/app/subscription/subscription/subscription.component.html index 586879c..fa0172a 100644 --- a/src/app/subscription/subscription/subscription.component.html +++ b/src/app/subscription/subscription/subscription.component.html @@ -10,9 +10,9 @@
- +
- - - + + +
\ No newline at end of file diff --git a/src/app/subscription/subscription/subscription.component.ts b/src/app/subscription/subscription/subscription.component.ts index c7c7688..4c73efc 100644 --- a/src/app/subscription/subscription/subscription.component.ts +++ b/src/app/subscription/subscription/subscription.component.ts @@ -54,6 +54,9 @@ export class SubscriptionComponent implements OnInit, OnDestroy { this.subscription['downloading'] = res['subscription']['downloading']; } return; + } else if (res['subscription']['videos'].length > (this.subscription?.videos.length || 0)) { + // only when files are added so we don't reload files when one is deleted + this.postsService.files_changed.next(true); } this.subscription = res['subscription']; }); diff --git a/src/app/subscriptions/subscriptions.component.html b/src/app/subscriptions/subscriptions.component.html index e9e8059..2a097d2 100644 --- a/src/app/subscriptions/subscriptions.component.html +++ b/src/app/subscriptions/subscriptions.component.html @@ -15,10 +15,10 @@
- -
@@ -39,10 +39,10 @@
- -
@@ -57,4 +57,4 @@
- \ No newline at end of file + \ No newline at end of file