mirror of
https://github.com/Tzahi12345/YoutubeDL-Material.git
synced 2026-03-20 19:50:58 +03:00
* Fixed download spinner in player component * Downloads UI is more mobile friendly (#905) * Code cleanup * Fixed size of actions in home screen downloads * Errored downloads now display their stage as "Error" in the UI * Moved personal settings from about dialog to profile dialog * Profile dialog can now be opened without logging in/without multi-user mode * Fixed issue where archive dialog could be accessed from anywhere * Misc internationalization improvements * Combined download stage and download progress columns * Added back loading spinner to download actions * Adjusted thresholds for consolidating download action buttons * Implemented virtual scrolling for notifications (helps if many notifications exist) * Fixed minor console error
60 lines
2.0 KiB
TypeScript
60 lines
2.0 KiB
TypeScript
import { Component, OnInit } from '@angular/core';
|
|
import { PostsService } from 'app/posts.services';
|
|
import { Router } from '@angular/router';
|
|
import { MatDialogRef } from '@angular/material/dialog';
|
|
import { isoLangs } from './locales_list';
|
|
|
|
@Component({
|
|
selector: 'app-user-profile-dialog',
|
|
templateUrl: './user-profile-dialog.component.html',
|
|
styleUrls: ['./user-profile-dialog.component.scss']
|
|
})
|
|
export class UserProfileDialogComponent implements OnInit {
|
|
|
|
all_locales = isoLangs;
|
|
supported_locales = ['en', 'es', 'de', 'fr', 'nl', 'pt', 'it', 'ca', 'cs', 'nb', 'ru', 'zh', 'ko', 'id', 'en-GB'];
|
|
initialLocale = localStorage.getItem('locale');
|
|
sidepanel_mode = this.postsService.sidepanel_mode;
|
|
card_size = this.postsService.card_size;
|
|
|
|
constructor(public postsService: PostsService, private router: Router, public dialogRef: MatDialogRef<UserProfileDialogComponent>) { }
|
|
|
|
ngOnInit(): void {
|
|
this.postsService.getSupportedLocales().subscribe(res => {
|
|
if (res && res['supported_locales']) {
|
|
this.supported_locales = ['en', 'en-GB']; // required
|
|
this.supported_locales = this.supported_locales.concat(res['supported_locales']);
|
|
}
|
|
}, err => {
|
|
console.error(`Failed to retrieve list of supported languages! You may need to run: 'node src/postbuild.mjs'. Error below:`);
|
|
console.error(err);
|
|
});
|
|
}
|
|
|
|
loginClicked() {
|
|
this.router.navigate(['/login']);
|
|
this.dialogRef.close();
|
|
}
|
|
|
|
logoutClicked() {
|
|
this.postsService.logout();
|
|
this.dialogRef.close();
|
|
}
|
|
|
|
localeSelectChanged(new_val: string): void {
|
|
localStorage.setItem('locale', new_val);
|
|
this.postsService.openSnackBar($localize`Language successfully changed! Reload to update the page.`)
|
|
}
|
|
|
|
sidePanelModeChanged(new_mode) {
|
|
localStorage.setItem('sidepanel_mode', new_mode);
|
|
this.postsService.sidepanel_mode = new_mode;
|
|
}
|
|
|
|
cardSizeOptionChanged(new_size) {
|
|
localStorage.setItem('card_size', new_size);
|
|
this.postsService.card_size = new_size;
|
|
}
|
|
|
|
}
|