mirror of
https://github.com/Tzahi12345/YoutubeDL-Material.git
synced 2026-03-18 10:40:57 +03:00
Merge branch 'master' of https://github.com/Tzahi12345/YoutubeDL-Material into streaming-only-mode
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
<h4 mat-dialog-title>
|
||||
<ng-container *ngIf="is_playlist" i18n="Share playlist dialog title">Share playlist</ng-container>
|
||||
<ng-container *ngIf="!is_playlist && type === 'video'" i18n="Share video dialog title">Share video</ng-container>
|
||||
<ng-container *ngIf="!is_playlist && type === 'audio'" i18n="Share audio dialog title">Share audio</ng-container>
|
||||
</h4>
|
||||
|
||||
<mat-dialog-content>
|
||||
<div>
|
||||
<div>
|
||||
<mat-checkbox [checked]="sharing_enabled" (change)="sharingChanged($event)"><ng-container i18n="Enable sharing checkbox">Enable sharing</ng-container></mat-checkbox>
|
||||
</div>
|
||||
<div>
|
||||
<mat-form-field style="width: 100%">
|
||||
<input matInput [disabled]="!sharing_enabled" [readonly]="true" [value]="share_url">
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px;">
|
||||
<button color="accent" (click)="copiedToClipboard()" [disabled]="!sharing_enabled" [cdkCopyToClipboard]="share_url" mat-raised-button><ng-container i18n="Copy to clipboard button">Copy to clipboard</ng-container></button>
|
||||
</div>
|
||||
</div>
|
||||
</mat-dialog-content>
|
||||
|
||||
<mat-dialog-actions>
|
||||
<button mat-button mat-dialog-close><ng-container i18n="Close button">Close</ng-container></button>
|
||||
</mat-dialog-actions>
|
||||
@@ -0,0 +1,25 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { ShareMediaDialogComponent } from './share-media-dialog.component';
|
||||
|
||||
describe('ShareMediaDialogComponent', () => {
|
||||
let component: ShareMediaDialogComponent;
|
||||
let fixture: ComponentFixture<ShareMediaDialogComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ ShareMediaDialogComponent ]
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(ShareMediaDialogComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,71 @@
|
||||
import { Component, OnInit, Inject } from '@angular/core';
|
||||
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
||||
import { Router } from '@angular/router';
|
||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||
import { PostsService } from 'app/posts.services';
|
||||
|
||||
@Component({
|
||||
selector: 'app-share-media-dialog',
|
||||
templateUrl: './share-media-dialog.component.html',
|
||||
styleUrls: ['./share-media-dialog.component.scss']
|
||||
})
|
||||
export class ShareMediaDialogComponent implements OnInit {
|
||||
|
||||
type = null;
|
||||
uid = null;
|
||||
share_url = null;
|
||||
sharing_enabled = null;
|
||||
is_playlist = null;
|
||||
|
||||
constructor(@Inject(MAT_DIALOG_DATA) public data: any, public router: Router, private snackBar: MatSnackBar,
|
||||
private postsService: PostsService) { }
|
||||
|
||||
ngOnInit(): void {
|
||||
if (this.data) {
|
||||
this.type = this.data.type;
|
||||
this.uid = this.data.uid;
|
||||
this.sharing_enabled = this.data.sharing_enabled;
|
||||
this.is_playlist = this.data.is_playlist;
|
||||
|
||||
const arg = (this.is_playlist ? ';id=' : ';uid=');
|
||||
this.share_url = window.location.href.split(';')[0] + arg + this.uid;
|
||||
}
|
||||
}
|
||||
|
||||
copiedToClipboard() {
|
||||
this.openSnackBar('Copied to clipboard!');
|
||||
}
|
||||
|
||||
sharingChanged(event) {
|
||||
if (event.checked) {
|
||||
this.postsService.enableSharing(this.uid, this.type, this.is_playlist).subscribe(res => {
|
||||
if (res['success']) {
|
||||
this.openSnackBar('Sharing enabled.');
|
||||
this.sharing_enabled = true;
|
||||
} else {
|
||||
this.openSnackBar('Failed to enable sharing.');
|
||||
}
|
||||
}, err => {
|
||||
this.openSnackBar('Failed to enable sharing - server error.');
|
||||
});
|
||||
} else {
|
||||
this.postsService.disableSharing(this.uid, this.type, this.is_playlist).subscribe(res => {
|
||||
if (res['success']) {
|
||||
this.openSnackBar('Sharing disabled.');
|
||||
this.sharing_enabled = false;
|
||||
} else {
|
||||
this.openSnackBar('Failed to disable sharing.');
|
||||
}
|
||||
}, err => {
|
||||
this.openSnackBar('Failed to disable sharing - server error.');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public openSnackBar(message: string, action: string = '') {
|
||||
this.snackBar.open(message, action, {
|
||||
duration: 2000,
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
@@ -18,19 +18,17 @@ export class UpdateProgressDialogComponent implements OnInit {
|
||||
ngOnInit(): void {
|
||||
this.getUpdateProgress();
|
||||
setInterval(() => {
|
||||
this.getUpdateProgress();
|
||||
if (this.updateStatus['updating']) { this.getUpdateProgress(); }
|
||||
}, 250);
|
||||
}
|
||||
|
||||
getUpdateProgress() {
|
||||
this.postsService.getUpdaterStatus().subscribe(res => {
|
||||
this.updateStatus = res;
|
||||
if (!this.updateStatus) {
|
||||
// update complete?
|
||||
console.log('Update complete? or not started');
|
||||
}
|
||||
if (this.updateStatus && this.updateStatus['error']) {
|
||||
this.openSnackBar('Update failed. Check logs for more details.');
|
||||
if (res) {
|
||||
this.updateStatus = res;
|
||||
if (this.updateStatus && this.updateStatus['error']) {
|
||||
this.openSnackBar('Update failed. Check logs for more details.');
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -16,3 +16,7 @@
|
||||
width: 30%;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.a-wrap {
|
||||
word-wrap: break-word
|
||||
}
|
||||
Reference in New Issue
Block a user