diff --git a/backend/videoflix/users/serializer.py b/backend/videoflix/users/serializer.py index d008966..6b3ea0f 100644 --- a/backend/videoflix/users/serializer.py +++ b/backend/videoflix/users/serializer.py @@ -4,7 +4,7 @@ from .models import CustomUser class UserSerializer(serializers.ModelSerializer): class Meta: model = CustomUser - fields = ["id", "username", "email", "liked_videos"] + fields = ["id", "username", "email", "liked_videos", "watched_videos"] class LikedVideosSerializer(serializers.ModelSerializer): diff --git a/frontend/src/app/components/home/browse/browse.component.html b/frontend/src/app/components/home/browse/browse.component.html index 4e3ce09..d128ea6 100644 --- a/frontend/src/app/components/home/browse/browse.component.html +++ b/frontend/src/app/components/home/browse/browse.component.html @@ -33,6 +33,7 @@ [movies]="movies" [currentMovie]="currentMovie[0]?.id" [favoriteMovies]="favoriteMovies" + [watchedMovies]="watchedMovies" (currentMovieId)="currentMovieId($event)" > } @else { diff --git a/frontend/src/app/components/home/browse/browse.component.ts b/frontend/src/app/components/home/browse/browse.component.ts index 457aa93..c5e7adb 100644 --- a/frontend/src/app/components/home/browse/browse.component.ts +++ b/frontend/src/app/components/home/browse/browse.component.ts @@ -28,6 +28,7 @@ export class BrowseComponent implements OnInit { @ViewChild(VideoPlayerComponent) videoPlayer!: VideoPlayerComponent; movies: any[] = []; favoriteMovies: number[] = []; + watchedMovies: number[] = []; currentMovie: any[] = []; playMovie: string = ''; isLoading: boolean = true; @@ -46,17 +47,18 @@ export class BrowseComponent implements OnInit { ) {} async ngOnInit() { - this.loadLikedMovies(); + this.loadLikedAndWatchedMovies(); await this.loadAllMovies(); if (this.checkScreenWidth()) { this.currentMovie.length === 0 ? this.loadRandomMovie() : null; } } - async loadLikedMovies() { + async loadLikedAndWatchedMovies() { try { - const likedMovies = await this.userService.getLikedMovies(); - this.favoriteMovies = likedMovies.liked_videos; + const userData = await this.userService.getLikedAndWatchedMovies(); + this.favoriteMovies = userData.liked_videos; + this.watchedMovies = userData.watched_videos; } catch (error) { console.error(error); } 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 8c924e5..c0d4b58 100644 --- a/frontend/src/app/components/home/browse/categories/categories.component.html +++ b/frontend/src/app/components/home/browse/categories/categories.component.html @@ -46,7 +46,6 @@ - @for (filmGenre of filmGenres; track filmGenre) { @@ -56,12 +55,20 @@