From 9c14319236e2235fab89266cca25f219d1f50e60 Mon Sep 17 00:00:00 2001 From: Chneemann Date: Mon, 21 Apr 2025 09:17:09 +0200 Subject: [PATCH] refactor: optimize code structure and readability --- .../categories/categories.component.html | 4 +- .../browse/categories/categories.component.ts | 40 ++++--------------- .../movie-list/movie-list.component.html | 6 +-- .../hero-banner/hero-banner.component.ts | 2 +- .../upload-movie/upload-movie.component.html | 2 +- .../upload-movie/upload-movie.component.ts | 2 +- frontend/src/app/services/auth.service.ts | 10 ++--- .../btn-large/btn-large.component.html | 6 +-- .../btn-small/btn-small.component.html | 2 +- .../error-toast/error-toast.component.html | 4 +- .../components/header/header.component.html | 6 +-- .../imprint/imprint.component.html | 6 +-- .../privacy-policy.component.html | 6 +-- 13 files changed, 33 insertions(+), 63 deletions(-) diff --git a/frontend/src/app/components/home/browse/categories/categories.component.html b/frontend/src/app/components/home/browse/categories/categories.component.html index 074147e..b587b4f 100644 --- a/frontend/src/app/components/home/browse/categories/categories.component.html +++ b/frontend/src/app/components/home/browse/categories/categories.component.html @@ -29,11 +29,11 @@ @for (filmGenre of filmGenres; track filmGenre) { - @if (allMovies(filmGenre.code).length > 0) { + @if (getAllMovies(filmGenre.code).length > 0) {

{{ filmGenre.name }}

- this.favoriteMovies.includes(movie.id) - ); - } - ngAfterViewInit() { this.checkScroll(); } @@ -63,10 +57,16 @@ export class CategoriesComponent implements AfterViewInit { this.currentMovieId.emit(movieId); } - allMovies(filmGenre: string) { + getAllMovies(filmGenre: string) { return this.movies.filter((movie) => movie.film_genre === filmGenre); } + getFavoriteMovies() { + return this.movies.filter((movie) => + this.favoriteMovies.includes(movie.id) + ); + } + recentMovies() { const today = new Date(); const dayOfWeek = today.getDay(); @@ -80,12 +80,6 @@ export class CategoriesComponent implements AfterViewInit { }); } - getThumbnailUrl(movieId: number, fileName: string): string { - return `${environment.baseUrl}/media/thumbnails/${movieId}/${fileName}_480p.jpg`; - } - - // Category scroll - @HostListener('window:resize') onResize() { this.checkScroll(); @@ -108,24 +102,4 @@ export class CategoriesComponent implements AfterViewInit { } }); } - - scrollLeft(event: MouseEvent) { - const button = event.target as HTMLElement; - const container = button - .closest('.category') - ?.querySelector('.movies') as HTMLElement; - if (container) { - container.scrollLeft -= 217; - } - } - - scrollRight(event: MouseEvent) { - const button = event.target as HTMLElement; - const container = button - .closest('.category') - ?.querySelector('.movies') as HTMLElement; - if (container) { - container.scrollLeft += 217; - } - } } diff --git a/frontend/src/app/components/home/browse/categories/movie-list/movie-list.component.html b/frontend/src/app/components/home/browse/categories/movie-list/movie-list.component.html index 5a6b3b4..94fab90 100644 --- a/frontend/src/app/components/home/browse/categories/movie-list/movie-list.component.html +++ b/frontend/src/app/components/home/browse/categories/movie-list/movie-list.component.html @@ -10,7 +10,7 @@ />
- +
} @@ -20,13 +20,13 @@ diff --git a/frontend/src/app/components/home/browse/hero-banner/hero-banner.component.ts b/frontend/src/app/components/home/browse/hero-banner/hero-banner.component.ts index b3fdfd6..e937160 100644 --- a/frontend/src/app/components/home/browse/hero-banner/hero-banner.component.ts +++ b/frontend/src/app/components/home/browse/hero-banner/hero-banner.component.ts @@ -65,8 +65,8 @@ export class HeroBannerComponent implements OnChanges { getVideoUrls() { this.playUrl = `${this.environmentBaseUrl}/media/videos/${this.currentMovie[0]?.id}/${this.currentMovie[0]?.file_name}`; - this.videoUrl = `${this.environmentBaseUrl}/media/thumbnails/${this.currentMovie[0]?.id}/${this.currentMovie[0]?.file_name}_video-thumbnail.mp4`; this.thumbnailUrl = `${this.environmentBaseUrl}/media/thumbnails/${this.currentMovie[0]?.id}/${this.currentMovie[0]?.file_name}_1080p.jpg`; + this.videoUrl = `${this.environmentBaseUrl}/media/thumbnails/${this.currentMovie[0]?.id}/${this.currentMovie[0]?.file_name}_video-thumbnail.mp4`; } ngOnChanges(changes: SimpleChanges) { diff --git a/frontend/src/app/components/home/browse/upload-movie/upload-movie.component.html b/frontend/src/app/components/home/browse/upload-movie/upload-movie.component.html index 6bd40a2..a5f57e9 100644 --- a/frontend/src/app/components/home/browse/upload-movie/upload-movie.component.html +++ b/frontend/src/app/components/home/browse/upload-movie/upload-movie.component.html @@ -76,7 +76,7 @@ name="videoFile" placeholder="Video file" (change)="onFileChange($event)" - accept="video/*" + accept="video/mp4" required />
diff --git a/frontend/src/app/components/home/browse/upload-movie/upload-movie.component.ts b/frontend/src/app/components/home/browse/upload-movie/upload-movie.component.ts index d64ac5c..b672ac4 100644 --- a/frontend/src/app/components/home/browse/upload-movie/upload-movie.component.ts +++ b/frontend/src/app/components/home/browse/upload-movie/upload-movie.component.ts @@ -21,7 +21,7 @@ import { LoadingDialogComponent } from '../../../../shared/components/loading-di export class UploadMovieComponent { @Output() toggleUploadMovieOverview = new EventEmitter(); errorMsgFileSize: string | null = null; - maxFileSizeMB = 50; + maxFileSizeMB = 20; movieData = { title: '', diff --git a/frontend/src/app/services/auth.service.ts b/frontend/src/app/services/auth.service.ts index d6dc91c..8776c7d 100644 --- a/frontend/src/app/services/auth.service.ts +++ b/frontend/src/app/services/auth.service.ts @@ -10,7 +10,7 @@ import { UserService } from './user.service'; export class AuthService { errorMsg: string | null = null; passwordFieldType: string = 'password'; - passwordIcon: string = './../../../assets/img/close-eye.svg'; + passwordIcon: string = './assets/img/close-eye.svg'; constructor(private http: HttpClient, private userService: UserService) {} @@ -22,9 +22,9 @@ export class AuthService { toggleIcon() { this.passwordIcon = - this.passwordIcon === './../../../assets/img/close-eye.svg' - ? './../../../assets/img/open-eye.svg' - : './../../../assets/img/close-eye.svg'; + this.passwordIcon === './assets/img/close-eye.svg' + ? './assets/img/open-eye.svg' + : './assets/img/close-eye.svg'; } async register(body: any) { @@ -89,7 +89,7 @@ export class AuthService { authToken = sessionStorage.getItem('authToken'); } return new HttpHeaders({ - Authorization: `Token ${authToken}`, // Ensure this matches your backend + Authorization: `Token ${authToken}`, }); } } diff --git a/frontend/src/app/shared/components/buttons/btn-large/btn-large.component.html b/frontend/src/app/shared/components/buttons/btn-large/btn-large.component.html index 7c937b1..e7021e9 100644 --- a/frontend/src/app/shared/components/buttons/btn-large/btn-large.component.html +++ b/frontend/src/app/shared/components/buttons/btn-large/btn-large.component.html @@ -5,11 +5,7 @@ [ngClass]="{ reverse: imgReverse }" > @if(imgPath) { - {{ imgPath }} + {{ imgPath }} }

{{ value }}

diff --git a/frontend/src/app/shared/components/buttons/btn-small/btn-small.component.html b/frontend/src/app/shared/components/buttons/btn-small/btn-small.component.html index ef9fa95..7688247 100644 --- a/frontend/src/app/shared/components/buttons/btn-small/btn-small.component.html +++ b/frontend/src/app/shared/components/buttons/btn-small/btn-small.component.html @@ -7,7 +7,7 @@ }" > {{ imgPath }}
- Achtung + Attention

{{ errorText }}

- Schließen + Close
diff --git a/frontend/src/app/shared/components/header/header.component.html b/frontend/src/app/shared/components/header/header.component.html index acf9cbb..a5e418e 100644 --- a/frontend/src/app/shared/components/header/header.component.html +++ b/frontend/src/app/shared/components/header/header.component.html @@ -1,17 +1,17 @@
@if (showFullLogo) {
- +
- +
} @else {
- +
- +
- Back + Back
diff --git a/frontend/src/app/shared/components/legal-information/privacy-policy/privacy-policy.component.html b/frontend/src/app/shared/components/legal-information/privacy-policy/privacy-policy.component.html index 43b1b81..3f35c5d 100644 --- a/frontend/src/app/shared/components/legal-information/privacy-policy/privacy-policy.component.html +++ b/frontend/src/app/shared/components/legal-information/privacy-policy/privacy-policy.component.html @@ -1,13 +1,13 @@
- +
- +
- Back + Back