diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 0bacb30..ce451d3 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -73,6 +73,7 @@ import { CookiesUploaderDialogComponent } from './dialogs/cookies-uploader-dialo
import { LogsViewerComponent } from './components/logs-viewer/logs-viewer.component';
import { ModifyPlaylistComponent } from './dialogs/modify-playlist/modify-playlist.component';
import { ConfirmDialogComponent } from './dialogs/confirm-dialog/confirm-dialog.component';
+import { EditSubscriptionDialogComponent } from './dialogs/edit-subscription-dialog/edit-subscription-dialog.component';
registerLocaleData(es, 'es');
@@ -113,7 +114,8 @@ export function isVisible({ event, element, scrollContainer, offset }: IsVisible
CookiesUploaderDialogComponent,
LogsViewerComponent,
ModifyPlaylistComponent,
- ConfirmDialogComponent
+ ConfirmDialogComponent,
+ EditSubscriptionDialogComponent
],
imports: [
CommonModule,
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
new file mode 100644
index 0000000..8039805
--- /dev/null
+++ b/src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html
@@ -0,0 +1,60 @@
+
Editing {{sub.name}}
+
+
+
+
+
+ Download all uploads
+
+
+ Download videos uploaded in the last
+
+
+
+
+
+ {{time_unit + (timerange_amount === 1 ? '' : 's')}}
+
+
+
+
+
+
+ Streaming-only mode
+
+
+
+
+
+
+
+ These are added after the standard args.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.scss b/src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.spec.ts b/src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.spec.ts
new file mode 100644
index 0000000..abb5a71
--- /dev/null
+++ b/src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { EditSubscriptionDialogComponent } from './edit-subscription-dialog.component';
+
+describe('EditSubscriptionDialogComponent', () => {
+ let component: EditSubscriptionDialogComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ EditSubscriptionDialogComponent ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(EditSubscriptionDialogComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
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
new file mode 100644
index 0000000..791c12f
--- /dev/null
+++ b/src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.ts
@@ -0,0 +1,53 @@
+import { Component, OnInit, Inject } from '@angular/core';
+import { MAT_DIALOG_DATA } from '@angular/material/dialog';
+import { PostsService } from 'app/posts.services';
+
+@Component({
+ selector: 'app-edit-subscription-dialog',
+ templateUrl: './edit-subscription-dialog.component.html',
+ styleUrls: ['./edit-subscription-dialog.component.scss']
+})
+export class EditSubscriptionDialogComponent implements OnInit {
+
+ sub = null;
+ new_sub = null;
+
+ timerange_amount: string;
+ timerange_unit = 'days';
+
+ time_units = [
+ 'day',
+ 'week',
+ 'month',
+ 'year'
+ ];
+
+ constructor(@Inject(MAT_DIALOG_DATA) public data: any, private postsService: PostsService) {
+ this.sub = this.data.sub;
+ this.new_sub = JSON.parse(JSON.stringify(this.sub));
+ }
+
+ ngOnInit(): void {
+ }
+
+ saveSubscription() {
+ this.postsService.updateSubscription(this.sub).subscribe(res => {
+ this.sub = res['subscription'];
+ this.new_sub = JSON.parse(JSON.stringify(this.sub));
+ })
+ }
+
+ getSubscription() {
+ this.postsService.getSubscription(this.sub.id).subscribe(res => {
+ this.sub = res['subscription'];
+ this.new_sub = JSON.parse(JSON.stringify(this.sub));
+ });
+ }
+
+ timerangeChanged(value, select_changed) {
+ console.log(value);
+ console.log(this.timerange_amount);
+ console.log(this.timerange_unit);
+ }
+
+}
diff --git a/src/app/posts.services.ts b/src/app/posts.services.ts
index b334c1e..2994bad 100644
--- a/src/app/posts.services.ts
+++ b/src/app/posts.services.ts
@@ -285,6 +285,10 @@ export class PostsService implements CanActivate {
audioOnly: audioOnly, customArgs: customArgs, customFileOutput: customFileOutput}, this.httpOptions);
}
+ updateSubscription(subscription) {
+ return this.http.post(this.path + 'updateSubscription', {subscription: subscription}, this.httpOptions);
+ }
+
unsubscribe(sub, deleteMode = false) {
return this.http.post(this.path + 'unsubscribe', {sub: sub, deleteMode: deleteMode}, this.httpOptions)
}