From b045f507d2c5d7d6fa69e24e7a9ac5ab17ffa001 Mon Sep 17 00:00:00 2001 From: MiharyR Date: Fri, 19 Nov 2021 15:42:51 +0100 Subject: [PATCH] =?UTF-8?q?image=20video=20=C3=A0=20la=20place=20de=20ifra?= =?UTF-8?q?me?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controllers/playlist.controller.js | 20 +- app-backend/controllers/user.controller.js | 2 +- app-backend/controllers/video.controller.js | 26 +- app-backend/routes/playlist.routes.js | 8 +- server.js | 2 +- .../page-ad-list-admin.component.ts | 6 +- .../popup-delete-ad-admin.component.ts | 2 + .../page-profil-admin.component.html | 6 +- .../page-profil-admin.component.ts | 6 +- .../popup-update-admin.component.html | 10 +- .../popup-update-admin.component.ts | 10 +- .../input-interests-admin.component.ts | 8 +- .../page-user-list.component.html | 4 +- .../page-user-list.component.ts | 16 +- .../popup-create-user.component.html | 12 +- .../popup-create-user.component.ts | 8 +- .../popup-visualize-user.component.html | 2 +- .../adList/input-tags/input-tags.component.ts | 6 +- .../page-ad-list-advertiser.component.ts | 6 +- .../popup-add-or-update-ad.component.ts | 4 +- .../page-profil-advertiser.component.html | 6 +- .../page-profil-advertiser.component.ts | 6 +- .../popup-update-advertiser.component.html | 10 +- .../popup-update-advertiser.component.ts | 8 +- src/app/app-routing.module.ts | 2 +- src/app/app.module.ts | 8 +- .../input-interests-register.component.ts | 6 +- .../page-register.component.html | 6 +- .../page-register/page-register.component.ts | 8 +- .../page-history-user.component.html | 9 +- .../page-history-user.component.scss | 16 - .../page-history-user.component.ts | 37 +- .../page-my-playlists.component.html | 2 +- .../page-my-playlists.component.ts | 15 +- .../playlist-list.component.html | 3 +- .../playlist-list/playlist-list.component.ts | 15 +- .../video-list/video-list.component.html | 59 ++- .../video-list/video-list.component.scss | 25 +- .../video-list/video-list.component.ts | 58 +-- .../input-interests-profil.component.ts | 7 +- .../page-profil-user.component.html | 6 +- .../page-profil-user.component.ts | 6 +- .../popup-update-user.component.html | 4 +- .../popup-update-user.component.ts | 8 +- .../page-search/page-search.component.ts | 22 +- .../video-grid/video-grid.component.html | 61 +++- .../video-grid/video-grid.component.scss | 39 +- .../search/video-grid/video-grid.component.ts | 22 +- .../components/advert/advert.component.html | 0 .../components/advert/advert.component.scss | 0 .../advert/advert.component.spec.ts | 0 .../components/advert/advert.component.ts | 4 +- .../navbar-user/navbar-user.component.html | 0 .../navbar-user/navbar-user.component.scss | 0 .../navbar-user/navbar-user.component.spec.ts | 0 .../navbar-user/navbar-user.component.ts | 0 ...opup-add-video-to-playlists.component.html | 0 ...opup-add-video-to-playlists.component.scss | 0 ...p-add-video-to-playlists.component.spec.ts | 0 .../popup-add-video-to-playlists.component.ts | 6 +- .../popup-create-playlist.component.html | 0 .../popup-create-playlist.component.scss | 0 .../popup-create-playlist.component.spec.ts | 0 .../popup-create-playlist.component.ts | 15 +- .../add-video-to-playlists.service.spec.ts | 0 .../add-video-to-playlists.service.ts | 18 +- .../userHistory/userHistory.service.spec.ts | 0 .../userHistory/userHistory.service.ts | 14 +- .../videoUrl/video-url.service.spec.ts | 0 .../services/videoUrl/video-url.service.ts | 0 src/app/utils/interfaces/advert.ts | 4 +- src/app/utils/interfaces/playlist.ts | 11 +- src/app/utils/interfaces/user.ts | 10 +- src/app/utils/interfaces/video.ts | 33 +- .../fictitious-datas.service.ts | 340 ------------------ .../fictitious-adverts.service.spec.ts | 16 + .../fictitious-adverts.service.ts | 74 ++++ .../fictitious-users.service.spec.ts} | 8 +- .../fictitious-users.service.ts | 119 ++++++ .../fictitious-utils.service.spec.ts | 16 + .../fictitious-utils.service.ts | 33 ++ .../fictitious-videos.service.spec.ts | 16 + .../fictitious-videos.service.ts | 226 ++++++++++++ .../{Dailymotion.png => dailymotion.png} | Bin .../{Youtube.png => youtube.png} | Bin src/assets/play1.png | Bin 0 -> 11129 bytes src/assets/play2.png | Bin 0 -> 35360 bytes src/assets/play3.png | Bin 0 -> 4424 bytes src/assets/play4.png | Bin 0 -> 25968 bytes src/assets/play5.png | Bin 0 -> 77338 bytes src/assets/play6.png | Bin 0 -> 89585 bytes src/assets/play7.png | Bin 0 -> 3586 bytes 92 files changed, 945 insertions(+), 656 deletions(-) rename src/app/{ => user}/utils/components/advert/advert.component.html (100%) rename src/app/{ => user}/utils/components/advert/advert.component.scss (100%) rename src/app/{ => user}/utils/components/advert/advert.component.spec.ts (100%) rename src/app/{ => user}/utils/components/advert/advert.component.ts (78%) rename src/app/user/{ => utils/components}/navbar-user/navbar-user.component.html (100%) rename src/app/user/{ => utils/components}/navbar-user/navbar-user.component.scss (100%) rename src/app/user/{ => utils/components}/navbar-user/navbar-user.component.spec.ts (100%) rename src/app/user/{ => utils/components}/navbar-user/navbar-user.component.ts (100%) rename src/app/{ => user}/utils/components/popup-add-video-to-playlists/popup-add-video-to-playlists.component.html (100%) rename src/app/{ => user}/utils/components/popup-add-video-to-playlists/popup-add-video-to-playlists.component.scss (100%) rename src/app/{ => user}/utils/components/popup-add-video-to-playlists/popup-add-video-to-playlists.component.spec.ts (100%) rename src/app/{ => user}/utils/components/popup-add-video-to-playlists/popup-add-video-to-playlists.component.ts (91%) rename src/app/{ => user}/utils/components/popup-create-playlist/popup-create-playlist.component.html (100%) rename src/app/{ => user}/utils/components/popup-create-playlist/popup-create-playlist.component.scss (100%) rename src/app/{ => user}/utils/components/popup-create-playlist/popup-create-playlist.component.spec.ts (100%) rename src/app/{ => user}/utils/components/popup-create-playlist/popup-create-playlist.component.ts (84%) rename src/app/{ => user}/utils/services/addVideoToPlaylists/add-video-to-playlists.service.spec.ts (100%) rename src/app/{ => user}/utils/services/addVideoToPlaylists/add-video-to-playlists.service.ts (80%) rename src/app/{ => user}/utils/services/userHistory/userHistory.service.spec.ts (100%) rename src/app/{ => user}/utils/services/userHistory/userHistory.service.ts (61%) rename src/app/{ => user}/utils/services/videoUrl/video-url.service.spec.ts (100%) rename src/app/{ => user}/utils/services/videoUrl/video-url.service.ts (100%) delete mode 100644 src/app/utils/services/fictitiousDatas/fictitious-datas.service.ts create mode 100644 src/app/utils/services/fictitiousDatas/fictitiousAdverts/fictitious-adverts.service.spec.ts create mode 100644 src/app/utils/services/fictitiousDatas/fictitiousAdverts/fictitious-adverts.service.ts rename src/app/utils/services/fictitiousDatas/{fictitious-datas.service.spec.ts => fictitiousUsers/fictitious-users.service.spec.ts} (50%) create mode 100644 src/app/utils/services/fictitiousDatas/fictitiousUsers/fictitious-users.service.ts create mode 100644 src/app/utils/services/fictitiousDatas/fictitiousUtils/fictitious-utils.service.spec.ts create mode 100644 src/app/utils/services/fictitiousDatas/fictitiousUtils/fictitious-utils.service.ts create mode 100644 src/app/utils/services/fictitiousDatas/fictitiousVideos/fictitious-videos.service.spec.ts create mode 100644 src/app/utils/services/fictitiousDatas/fictitiousVideos/fictitious-videos.service.ts rename src/assets/logo_plateforms/{Dailymotion.png => dailymotion.png} (100%) rename src/assets/logo_plateforms/{Youtube.png => youtube.png} (100%) create mode 100644 src/assets/play1.png create mode 100644 src/assets/play2.png create mode 100644 src/assets/play3.png create mode 100644 src/assets/play4.png create mode 100644 src/assets/play5.png create mode 100644 src/assets/play6.png create mode 100644 src/assets/play7.png diff --git a/app-backend/controllers/playlist.controller.js b/app-backend/controllers/playlist.controller.js index 1b5ae3f..26a34e9 100644 --- a/app-backend/controllers/playlist.controller.js +++ b/app-backend/controllers/playlist.controller.js @@ -3,11 +3,11 @@ const {sendError, sendMessage} = require ("../config/response.config"); const {checkLogin} = require("../config/sessionJWT.config"); const Playlist = db.playlists; -// Create a new Playlist +// Create a new PlaylistDB exports.create = (req, res) => { const token = checkLogin(req, res); if(token){ - return sendError(res, 501, -1, "Playlist.create not Implemented", token); + return sendError(res, 501, -1, "PlaylistDB.create not Implemented", token); } }; @@ -15,31 +15,31 @@ exports.create = (req, res) => { exports.findAll = (req, res) => { const token = checkLogin(req, res); if(token){ - return sendError(res, 501, -1, "Playlist.findAll not Implemented", token); + return sendError(res, 501, -1, "PlaylistDB.findAll not Implemented", token); } }; -// Retrieve a single Playlist with id +// Retrieve a single PlaylistDB with id exports.findOne = (req, res) => { const token = checkLogin(req, res); if(token){ - return sendError(res, 501, -1, "Playlist.findOne not Implemented", token); + return sendError(res, 501, -1, "PlaylistDB.findOne not Implemented", token); } }; -// Update a Playlist with id +// Update a PlaylistDB with id exports.update = (req, res) => { const token = checkLogin(req, res); if(token){ - return sendError(res, 501, -1, "Playlist.update not Implemented", token); + return sendError(res, 501, -1, "PlaylistDB.update not Implemented", token); } }; -// Delete a Playlist with id +// Delete a PlaylistDB with id exports.delete = (req, res) => { const token = checkLogin(req, res); if(token){ - return sendError(res, 501, -1, "Playlist.delete not Implemented", token); + return sendError(res, 501, -1, "PlaylistDB.delete not Implemented", token); } }; @@ -47,6 +47,6 @@ exports.delete = (req, res) => { exports.deleteAll = (req, res) => { const token = checkLogin(req, res); if(token){ - return sendError(res, 501, -1, "Playlist.deleteAll not Implemented", token); + return sendError(res, 501, -1, "PlaylistDB.deleteAll not Implemented", token); } }; diff --git a/app-backend/controllers/user.controller.js b/app-backend/controllers/user.controller.js index a2e6ee3..b65d784 100644 --- a/app-backend/controllers/user.controller.js +++ b/app-backend/controllers/user.controller.js @@ -43,7 +43,7 @@ exports.logout = (req, res) => { exports.create = (req, res) => { // Validate request if (!req.body.login || !req.body.hashPass || !req.body.mail) { - sendError(res, 400,-1,"Content can not be empty . (login, hashPass and mail needed"); + sendError(res, 400,-1,"Content can not be empty . (login, hashPass and email needed"); } else{ User.exists({login: req.body.login}, function (err, docs){ diff --git a/app-backend/controllers/video.controller.js b/app-backend/controllers/video.controller.js index d6e3f3d..b59b05e 100644 --- a/app-backend/controllers/video.controller.js +++ b/app-backend/controllers/video.controller.js @@ -3,11 +3,11 @@ const {sendError, sendMessage} = require ("../config/response.config"); const {checkLogin} = require("../config/sessionJWT.config"); const Video = db.video; -// Search Video +// Search VideoDB exports.search = (req, res) => { const token = checkLogin(req, res); if(token){ - return sendError(res, 501, -1, "Video.search not Implemented", token); + return sendError(res, 501, -1, "VideoDB.search not Implemented", token); } }; @@ -15,15 +15,15 @@ exports.search = (req, res) => { exports.history = (req, res) => { const token = checkLogin(req, res); if(token){ - return sendError(res, 501, -1, "Video.search not Implemented", token); + return sendError(res, 501, -1, "VideoDB.search not Implemented", token); } }; -// Create a new Video +// Create a new VideoDB exports.create = (req, res) => { const token = checkLogin(req, res); if(token){ - return sendError(res, 501, -1, "Video.create not Implemented", token); + return sendError(res, 501, -1, "VideoDB.create not Implemented", token); } }; @@ -31,31 +31,31 @@ exports.create = (req, res) => { exports.findAll = (req, res) => { const token = checkLogin(req, res); if(token){ - return sendError(res, 501, -1, "Video.findAll not Implemented", token); + return sendError(res, 501, -1, "VideoDB.findAll not Implemented", token); } }; -// Retrieve a single Video with id +// Retrieve a single VideoDB with id exports.findOne = (req, res) => { const token = checkLogin(req, res); if(token){ - return sendError(res, 501, -1, "Video.findOne not Implemented", token); + return sendError(res, 501, -1, "VideoDB.findOne not Implemented", token); } }; -// Update a Video with id +// Update a VideoDB with id exports.update = (req, res) => { const token = checkLogin(req, res); if(token){ - return sendError(res, 501, -1, "Video.update not Implemented", token); + return sendError(res, 501, -1, "VideoDB.update not Implemented", token); } }; -// Delete a Video with id +// Delete a VideoDB with id exports.delete = (req, res) => { const token = checkLogin(req, res); if(token){ - return sendError(res, 501, -1, "Video.delete not Implemented", token); + return sendError(res, 501, -1, "VideoDB.delete not Implemented", token); } }; @@ -63,6 +63,6 @@ exports.delete = (req, res) => { exports.deleteAll = (req, res) => { const token = checkLogin(req, res); if(token){ - return sendError(res, 501, -1, "Video.deleteAll not Implemented", token); + return sendError(res, 501, -1, "VideoDB.deleteAll not Implemented", token); } }; diff --git a/app-backend/routes/playlist.routes.js b/app-backend/routes/playlist.routes.js index 9150e7c..c15b7b3 100644 --- a/app-backend/routes/playlist.routes.js +++ b/app-backend/routes/playlist.routes.js @@ -2,19 +2,19 @@ const playlists = require("../controllers/playlist.controller"); module.exports = app => { let router = require("express").Router(); - // Create a new Playlist + // Create a new PlaylistDB router.post("/playlist/create", playlists.create); // Retrieve all Playlists router.get("/playlist/findAll", playlists.findAll); - // Retrieve a single Playlist with id + // Retrieve a single PlaylistDB with id router.get("/playlist/findOne/:id", playlists.findOne); - // Update a Playlist with id + // Update a PlaylistDB with id router.put("/playlist/update/:id", playlists.update); - // Delete a Playlist with id + // Delete a PlaylistDB with id router.delete("/playlist/delete/:id", playlists.delete); // Delete all Playlists diff --git a/server.js b/server.js index e1c3244..72d47ed 100644 --- a/server.js +++ b/server.js @@ -37,7 +37,7 @@ const roles = require("./app-backend/config/role.config"); const User = db.users; const login = 'superAdmin'; const hashPass = 'hashPassSuperAdmin'; -const mail = 'superAdmin@mail.admin'; +const mail = 'superAdmin@email.admin'; User.exists({role: roles.SuperAdmin}, function (err, docs){ if(err){ diff --git a/src/app/admin/adList/page-ad-list-admin/page-ad-list-admin.component.ts b/src/app/admin/adList/page-ad-list-admin/page-ad-list-admin.component.ts index e936d40..e5c29b6 100644 --- a/src/app/admin/adList/page-ad-list-admin/page-ad-list-admin.component.ts +++ b/src/app/admin/adList/page-ad-list-admin/page-ad-list-admin.component.ts @@ -2,7 +2,6 @@ import {AfterViewInit, Component, ViewChild} from '@angular/core'; import {MatSort} from "@angular/material/sort"; import {MatPaginator} from "@angular/material/paginator"; import {ThemeService} from "../../../utils/services/theme/theme.service"; -import {FictitiousDatasService} from "../../../utils/services/fictitiousDatas/fictitious-datas.service"; import {MatDialog} from "@angular/material/dialog"; import {MatSnackBar} from "@angular/material/snack-bar"; import {MatTableDataSource} from "@angular/material/table"; @@ -10,6 +9,7 @@ import {Advert} from "../../../utils/interfaces/advert"; import {PopupVisualizeAdAdminComponent} from "../popup-visualize-ad-admin/popup-visualize-ad-admin.component"; import {PopupDeleteAdAdminComponent} from "../popup-delete-ad-admin/popup-delete-ad-admin.component"; import {PopupVisualizeImagesAdminComponent} from "../popup-visualize-images-admin/popup-visualize-images-admin.component"; +import {FictitiousAdvertsService} from "../../../utils/services/fictitiousDatas/fictitiousAdverts/fictitious-adverts.service"; @@ -27,7 +27,7 @@ export class PageAdListAdminComponent implements AfterViewInit constructor( public themeService: ThemeService, - private fictitiousDatasService: FictitiousDatasService, + private fictitiousAdvertsService: FictitiousAdvertsService, public dialog: MatDialog, private snackBar: MatSnackBar ) { } @@ -35,7 +35,7 @@ export class PageAdListAdminComponent implements AfterViewInit ngAfterViewInit(): void { // --- FAUX CODE --- - const tabAdvert = this.fictitiousDatasService.getTabAdvert(8); + const tabAdvert = this.fictitiousAdvertsService.getTabAdvert(8); this.dataSource = new MatTableDataSource(tabAdvert); this.dataSource.sort = this.sort; this.dataSource.paginator = this.paginator; diff --git a/src/app/admin/adList/popup-delete-ad-admin/popup-delete-ad-admin.component.ts b/src/app/admin/adList/popup-delete-ad-admin/popup-delete-ad-admin.component.ts index 474f60b..c1c6e24 100644 --- a/src/app/admin/adList/popup-delete-ad-admin/popup-delete-ad-admin.component.ts +++ b/src/app/admin/adList/popup-delete-ad-admin/popup-delete-ad-admin.component.ts @@ -3,6 +3,8 @@ import {Advert} from "../../../utils/interfaces/advert"; import {MAT_DIALOG_DATA, MatDialogRef} from "@angular/material/dialog"; import {MessageService} from "../../../utils/services/message/message.service"; + + @Component({ selector: 'app-popup-delete-ad-admin', templateUrl: './popup-delete-ad-admin.component.html', diff --git a/src/app/admin/myProfil/page-profil-admin/page-profil-admin.component.html b/src/app/admin/myProfil/page-profil-admin/page-profil-admin.component.html index fb59dcb..6877336 100644 --- a/src/app/admin/myProfil/page-profil-admin/page-profil-admin.component.html +++ b/src/app/admin/myProfil/page-profil-admin/page-profil-admin.component.html @@ -9,7 +9,7 @@
-
@@ -19,10 +19,10 @@
{{admin.login}}
- +
Mail:
-
{{admin.mail}}
+
{{admin.email}}
diff --git a/src/app/admin/myProfil/page-profil-admin/page-profil-admin.component.ts b/src/app/admin/myProfil/page-profil-admin/page-profil-admin.component.ts index 15ee6ab..33998a6 100644 --- a/src/app/admin/myProfil/page-profil-admin/page-profil-admin.component.ts +++ b/src/app/admin/myProfil/page-profil-admin/page-profil-admin.component.ts @@ -1,10 +1,10 @@ import { Component, OnInit } from '@angular/core'; import {User} from "../../../utils/interfaces/user"; import {ThemeService} from "../../../utils/services/theme/theme.service"; -import {FictitiousDatasService} from "../../../utils/services/fictitiousDatas/fictitious-datas.service"; import {MatDialog} from "@angular/material/dialog"; import {MatSnackBar} from "@angular/material/snack-bar"; import {PopupUpdateAdminComponent} from "../popup-update-admin/popup-update-admin.component"; +import {FictitiousUsersService} from "../../../utils/services/fictitiousDatas/fictitiousUsers/fictitious-users.service"; @@ -20,14 +20,14 @@ export class PageProfilAdminComponent implements OnInit constructor( public themeService: ThemeService, - private fictitiousDatasService: FictitiousDatasService, + private fictitiousUsersService: FictitiousUsersService, public dialog: MatDialog, private snackBar: MatSnackBar ) { } ngOnInit(): void { - this.admin = this.fictitiousDatasService.getAdmin(); + this.admin = this.fictitiousUsersService.getAdmin(); } diff --git a/src/app/admin/myProfil/popup-update-admin/popup-update-admin.component.html b/src/app/admin/myProfil/popup-update-admin/popup-update-admin.component.html index 06aa63a..38cf7e5 100644 --- a/src/app/admin/myProfil/popup-update-admin/popup-update-admin.component.html +++ b/src/app/admin/myProfil/popup-update-admin/popup-update-admin.component.html @@ -3,8 +3,8 @@
-
- +
+
@@ -16,12 +16,6 @@
- - - Email - -
-
diff --git a/src/app/admin/myProfil/popup-update-admin/popup-update-admin.component.ts b/src/app/admin/myProfil/popup-update-admin/popup-update-admin.component.ts index e3537d2..52a7584 100644 --- a/src/app/admin/myProfil/popup-update-admin/popup-update-admin.component.ts +++ b/src/app/admin/myProfil/popup-update-admin/popup-update-admin.component.ts @@ -2,6 +2,8 @@ import {Component, Inject, OnInit} from '@angular/core'; import {User} from "../../../utils/interfaces/user"; import {MAT_DIALOG_DATA, MatDialogRef} from "@angular/material/dialog"; + + @Component({ selector: 'app-popup-update-admin', templateUrl: './popup-update-admin.component.html', @@ -28,12 +30,12 @@ export class PopupUpdateAdminComponent implements OnInit _id: admin0._id, login: admin0.login, hashPass: admin0.hashPass, - mail: admin0.mail, + email: admin0.mail, role: { name: admin0.role.name, permission: admin0.role.permission, }, - profilePictureUrl: admin0.profilePictureUrl, + profileImageUrl: admin0.profileImageUrl, dateOfBirth: admin0.dateOfBirth, gender: admin0.gender, interests: [], @@ -68,11 +70,11 @@ export class PopupUpdateAdminComponent implements OnInit this.errorMessage = "Veuillez remplir le champ 'login'" ; this.hasError = true; } - else if(this.adminCopy.mail.length === 0) { + else if(this.adminCopy.email.length === 0) { this.errorMessage = "Veuillez remplir le champ 'email'" ; this.hasError = true; } - else if(!this.isValidEmail(this.adminCopy.mail)) { + else if(!this.isValidEmail(this.adminCopy.email)) { this.errorMessage = "Email invalide" ; this.hasError = true; } diff --git a/src/app/admin/userList/input-interests-admin/input-interests-admin.component.ts b/src/app/admin/userList/input-interests-admin/input-interests-admin.component.ts index 26f3d01..9ec0c25 100644 --- a/src/app/admin/userList/input-interests-admin/input-interests-admin.component.ts +++ b/src/app/admin/userList/input-interests-admin/input-interests-admin.component.ts @@ -2,11 +2,13 @@ import {Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild} f import {COMMA, ENTER} from "@angular/cdk/keycodes"; import {FormControl} from "@angular/forms"; import {Observable} from "rxjs"; -import {FictitiousDatasService} from "../../../utils/services/fictitiousDatas/fictitious-datas.service"; import {MessageService} from "../../../utils/services/message/message.service"; import {map, startWith} from "rxjs/operators"; import {MatChipInputEvent} from "@angular/material/chips"; import {MatAutocompleteSelectedEvent} from "@angular/material/autocomplete"; +import {FictitiousUtilsService} from "../../../utils/services/fictitiousDatas/fictitiousUtils/fictitious-utils.service"; + + @Component({ selector: 'app-input-interests-admin', @@ -26,7 +28,7 @@ export class InputInterestsAdminComponent implements OnInit @ViewChild('tagInput') tagInput: ElementRef; - constructor( private fictitiousDatasService: FictitiousDatasService, + constructor( private fictitiousUtilsService: FictitiousUtilsService, private messageService: MessageService ) {} @@ -37,7 +39,7 @@ export class InputInterestsAdminComponent implements OnInit map((fruit: string | null) => fruit ? this._filter(fruit) : this.allInterests.slice())); // --- FAUX CODE --- - this.allInterests = this.fictitiousDatasService.getTags(); + this.allInterests = this.fictitiousUtilsService.getTags(); this.allInterests.sort(); } diff --git a/src/app/admin/userList/page-user-list/page-user-list.component.html b/src/app/admin/userList/page-user-list/page-user-list.component.html index 8aa68fe..cfebbba 100644 --- a/src/app/admin/userList/page-user-list/page-user-list.component.html +++ b/src/app/admin/userList/page-user-list/page-user-list.component.html @@ -49,10 +49,10 @@ - + Mail - {{user.mail}} + {{user.email}} diff --git a/src/app/admin/userList/page-user-list/page-user-list.component.ts b/src/app/admin/userList/page-user-list/page-user-list.component.ts index 7c0d706..df708dc 100644 --- a/src/app/admin/userList/page-user-list/page-user-list.component.ts +++ b/src/app/admin/userList/page-user-list/page-user-list.component.ts @@ -2,7 +2,6 @@ import {AfterViewInit, Component, ViewChild} from '@angular/core'; import {MatSort} from "@angular/material/sort"; import {MatPaginator} from "@angular/material/paginator"; import {ThemeService} from "../../../utils/services/theme/theme.service"; -import {FictitiousDatasService} from "../../../utils/services/fictitiousDatas/fictitious-datas.service"; import {MatDialog} from "@angular/material/dialog"; import {MatSnackBar} from "@angular/material/snack-bar"; import {MatTableDataSource} from "@angular/material/table"; @@ -10,6 +9,7 @@ import {User} from "../../../utils/interfaces/user"; import {PopupVisualizeUserComponent} from "../popup-visualize-user/popup-visualize-user.component"; import {PopupDeleteUserComponent} from "../popup-delete-user/popup-delete-user.component"; import {PopupCreateUserComponent} from "../popup-create-user/popup-create-user.component"; +import {FictitiousUsersService} from "../../../utils/services/fictitiousDatas/fictitiousUsers/fictitious-users.service"; @@ -21,9 +21,9 @@ import {PopupCreateUserComponent} from "../popup-create-user/popup-create-user.c export class PageUserListComponent implements AfterViewInit { displayedColumns: string[]; - displayedColumnsUser: string[] = [ 'login', 'mail', 'dateOfBirth', 'age', 'sexe', 'interests', 'createdAt', 'lastConnexion', 'actions' ]; - displayedColumnsAdvertiser: string[] = [ 'login', 'mail', 'createdAt', 'lastConnexion', 'isAccepted', 'actions' ]; - displayedColumnsAdmin: string[] = [ 'login', 'mail', 'createdAt', 'lastConnexion', 'actions' ]; + displayedColumnsUser: string[] = [ 'login', 'email', 'dateOfBirth', 'age', 'sexe', 'interests', 'createdAt', 'lastConnexion', 'actions' ]; + displayedColumnsAdvertiser: string[] = [ 'login', 'email', 'createdAt', 'lastConnexion', 'isAccepted', 'actions' ]; + displayedColumnsAdmin: string[] = [ 'login', 'email', 'createdAt', 'lastConnexion', 'actions' ]; tabUser: any[] = []; tabAdvertiser: User[] = []; @@ -36,7 +36,7 @@ export class PageUserListComponent implements AfterViewInit constructor( public themeService: ThemeService, - private fictitiousDatasService: FictitiousDatasService, + private fictitiousUsersService: FictitiousUsersService, public dialog: MatDialog, private snackBar: MatSnackBar ) { } @@ -44,9 +44,9 @@ export class PageUserListComponent implements AfterViewInit ngAfterViewInit(): void { // --- FAUX CODE --- - this.tabUser = this.fictitiousDatasService.getTabUser(32); - this.tabAdvertiser = this.fictitiousDatasService.getTabAdvertiser(8); - this.tabAdmin = this.fictitiousDatasService.getTabAdmin(4); + this.tabUser = this.fictitiousUsersService.getTabUser(32); + this.tabAdvertiser = this.fictitiousUsersService.getTabAdvertiser(8); + this.tabAdmin = this.fictitiousUsersService.getTabAdmin(4); for(const user of this.tabUser) user.age = this.getAge(user.dateOfBirth); diff --git a/src/app/admin/userList/popup-create-user/popup-create-user.component.html b/src/app/admin/userList/popup-create-user/popup-create-user.component.html index 1e0f9a0..c3d2332 100644 --- a/src/app/admin/userList/popup-create-user/popup-create-user.component.html +++ b/src/app/admin/userList/popup-create-user/popup-create-user.component.html @@ -41,8 +41,8 @@
-
- +
+

@@ -53,7 +53,7 @@ Email - +
@@ -113,14 +113,14 @@
-
- +
+

Email - +
diff --git a/src/app/admin/userList/popup-create-user/popup-create-user.component.ts b/src/app/admin/userList/popup-create-user/popup-create-user.component.ts index 890baec..1b88942 100644 --- a/src/app/admin/userList/popup-create-user/popup-create-user.component.ts +++ b/src/app/admin/userList/popup-create-user/popup-create-user.component.ts @@ -29,12 +29,12 @@ export class PopupCreateUserComponent implements OnInit _id: "", login: "", hashPass: "", - mail: "", + email: "", role: { name: "", permission: 0, }, - profilePictureUrl: "", + profileImageUrl: "", dateOfBirth: null, gender: "man", interests: [], @@ -68,7 +68,7 @@ export class PopupCreateUserComponent implements OnInit this.errorMessage = "Veuillez remplir le champ 'login'."; this.hasError = true; } - else if(this.user.mail.length === 0) { + else if(this.user.email.length === 0) { this.errorMessage = "Veuillez remplir le champ 'email'."; this.hasError = true; } @@ -76,7 +76,7 @@ export class PopupCreateUserComponent implements OnInit this.errorMessage = "Veuillez remplir le champ 'date de naissance'."; this.hasError = true; } - else if(!this.isValidEmail(this.user.mail)) { + else if(!this.isValidEmail(this.user.email)) { this.errorMessage = "Email invalide"; this.hasError = true; } diff --git a/src/app/admin/userList/popup-visualize-user/popup-visualize-user.component.html b/src/app/admin/userList/popup-visualize-user/popup-visualize-user.component.html index 6fb982e..9950d4b 100644 --- a/src/app/admin/userList/popup-visualize-user/popup-visualize-user.component.html +++ b/src/app/admin/userList/popup-visualize-user/popup-visualize-user.component.html @@ -12,7 +12,7 @@
{{user.login}}
- +
Mail:
{{user.mail}}
diff --git a/src/app/advertiser/adList/input-tags/input-tags.component.ts b/src/app/advertiser/adList/input-tags/input-tags.component.ts index 71c0cd5..6c54a07 100644 --- a/src/app/advertiser/adList/input-tags/input-tags.component.ts +++ b/src/app/advertiser/adList/input-tags/input-tags.component.ts @@ -5,8 +5,8 @@ import {Observable} from "rxjs"; import {map, startWith} from "rxjs/operators"; import {MatChipInputEvent} from "@angular/material/chips"; import {MatAutocompleteSelectedEvent} from "@angular/material/autocomplete"; -import {FictitiousDatasService} from "../../../utils/services/fictitiousDatas/fictitious-datas.service"; import {MessageService} from "../../../utils/services/message/message.service"; +import {FictitiousUtilsService} from "../../../utils/services/fictitiousDatas/fictitiousUtils/fictitious-utils.service"; @@ -28,7 +28,7 @@ export class InputTagsComponent implements OnInit @ViewChild('tagInput') tagInput: ElementRef; - constructor( private fictitiousDatasService: FictitiousDatasService, + constructor( private fictitiousUtilsService: FictitiousUtilsService, private messageService: MessageService ) {} @@ -39,7 +39,7 @@ export class InputTagsComponent implements OnInit map((fruit: string | null) => fruit ? this._filter(fruit) : this.allTags.slice())); // --- FAUX CODE --- - this.allTags = this.fictitiousDatasService.getTags(); + this.allTags = this.fictitiousUtilsService.getTags(); this.allTags.sort(); } diff --git a/src/app/advertiser/adList/page-ad-list-advertiser/page-ad-list-advertiser.component.ts b/src/app/advertiser/adList/page-ad-list-advertiser/page-ad-list-advertiser.component.ts index 5cc3ca0..b81d2e8 100644 --- a/src/app/advertiser/adList/page-ad-list-advertiser/page-ad-list-advertiser.component.ts +++ b/src/app/advertiser/adList/page-ad-list-advertiser/page-ad-list-advertiser.component.ts @@ -1,7 +1,6 @@ import {AfterViewInit, Component, OnInit, ViewChild} from '@angular/core'; import {MatSort} from "@angular/material/sort"; import {ThemeService} from "../../../utils/services/theme/theme.service"; -import {FictitiousDatasService} from "../../../utils/services/fictitiousDatas/fictitious-datas.service"; import {MatTableDataSource} from "@angular/material/table"; import {Advert} from "../../../utils/interfaces/advert"; import {MatDialog} from "@angular/material/dialog"; @@ -11,6 +10,7 @@ import {PopupDeleteAdAdvertiserComponent} from "../popup-delete-ad-advertiser/po import {PopupVisualizeAdAdvertiserComponent} from "../popup-visualize-ad-advertiser/popup-visualize-ad-advertiser.component"; import {MatPaginator} from "@angular/material/paginator"; import {PopupVisualizeImagesAdvertiserComponent} from "../popup-visualize-images-advertiser/popup-visualize-images-advertiser.component"; +import {FictitiousAdvertsService} from "../../../utils/services/fictitiousDatas/fictitiousAdverts/fictitious-adverts.service"; @@ -28,7 +28,7 @@ export class PageAdListAdvertiserComponent implements AfterViewInit constructor( public themeService: ThemeService, - private fictitiousDatasService: FictitiousDatasService, + private fictitiousAdvertsService: FictitiousAdvertsService, public dialog: MatDialog, private snackBar: MatSnackBar ) { } @@ -36,7 +36,7 @@ export class PageAdListAdvertiserComponent implements AfterViewInit ngAfterViewInit(): void { // --- FAUX CODE --- - const tabAdvert = this.fictitiousDatasService.getTabAdvert(8); + const tabAdvert = this.fictitiousAdvertsService.getTabAdvert(8); this.dataSource = new MatTableDataSource(tabAdvert); this.dataSource.sort = this.sort; this.dataSource.paginator = this.paginator; diff --git a/src/app/advertiser/adList/popup-add-or-update-ad/popup-add-or-update-ad.component.ts b/src/app/advertiser/adList/popup-add-or-update-ad/popup-add-or-update-ad.component.ts index b32a073..a4af930 100644 --- a/src/app/advertiser/adList/popup-add-or-update-ad/popup-add-or-update-ad.component.ts +++ b/src/app/advertiser/adList/popup-add-or-update-ad/popup-add-or-update-ad.component.ts @@ -7,15 +7,17 @@ import {ThemeService} from "../../../utils/services/theme/theme.service"; const ADVERT_VIDE: Advert = { _id: "", + userId: "", title: "", advertiser: "", images: [], tags: [], comment: "", views: 0, + isVisible: true, + isActive: true, createdAt: new Date(), updatedAt: new Date(), - isVisible: true, } diff --git a/src/app/advertiser/myProfil/page-profil-advertiser/page-profil-advertiser.component.html b/src/app/advertiser/myProfil/page-profil-advertiser/page-profil-advertiser.component.html index 0e5470a..5900345 100644 --- a/src/app/advertiser/myProfil/page-profil-advertiser/page-profil-advertiser.component.html +++ b/src/app/advertiser/myProfil/page-profil-advertiser/page-profil-advertiser.component.html @@ -9,7 +9,7 @@
-
@@ -19,10 +19,10 @@
{{advertiser.login}}
- +
Mail:
-
{{advertiser.mail}}
+
{{advertiser.email}}
diff --git a/src/app/advertiser/myProfil/page-profil-advertiser/page-profil-advertiser.component.ts b/src/app/advertiser/myProfil/page-profil-advertiser/page-profil-advertiser.component.ts index 660d7a7..671ce53 100644 --- a/src/app/advertiser/myProfil/page-profil-advertiser/page-profil-advertiser.component.ts +++ b/src/app/advertiser/myProfil/page-profil-advertiser/page-profil-advertiser.component.ts @@ -1,10 +1,10 @@ import { Component, OnInit } from '@angular/core'; import {User} from "../../../utils/interfaces/user"; import {ThemeService} from "../../../utils/services/theme/theme.service"; -import {FictitiousDatasService} from "../../../utils/services/fictitiousDatas/fictitious-datas.service"; import {MatDialog} from "@angular/material/dialog"; import {MatSnackBar} from "@angular/material/snack-bar"; import {PopupUpdateAdvertiserComponent} from "../popup-update-advertiser/popup-update-advertiser.component"; +import {FictitiousUsersService} from "../../../utils/services/fictitiousDatas/fictitiousUsers/fictitious-users.service"; @@ -19,14 +19,14 @@ export class PageProfilAdvertiserComponent implements OnInit constructor( public themeService: ThemeService, - private fictitiousDatasService: FictitiousDatasService, + private fictitiousUsersService: FictitiousUsersService, public dialog: MatDialog, private snackBar: MatSnackBar ) { } ngOnInit(): void { - this.advertiser = this.fictitiousDatasService.getAdvertiser(); + this.advertiser = this.fictitiousUsersService.getAdvertiser(); } diff --git a/src/app/advertiser/myProfil/popup-update-advertiser/popup-update-advertiser.component.html b/src/app/advertiser/myProfil/popup-update-advertiser/popup-update-advertiser.component.html index f047682..bbbcd85 100644 --- a/src/app/advertiser/myProfil/popup-update-advertiser/popup-update-advertiser.component.html +++ b/src/app/advertiser/myProfil/popup-update-advertiser/popup-update-advertiser.component.html @@ -3,8 +3,8 @@
-
- +
+
@@ -16,12 +16,6 @@
- - - Email - -
-
diff --git a/src/app/advertiser/myProfil/popup-update-advertiser/popup-update-advertiser.component.ts b/src/app/advertiser/myProfil/popup-update-advertiser/popup-update-advertiser.component.ts index 957c491..76e5e05 100644 --- a/src/app/advertiser/myProfil/popup-update-advertiser/popup-update-advertiser.component.ts +++ b/src/app/advertiser/myProfil/popup-update-advertiser/popup-update-advertiser.component.ts @@ -30,12 +30,12 @@ export class PopupUpdateAdvertiserComponent implements OnInit _id: advertiser0._id, login: advertiser0.login, hashPass: advertiser0.hashPass, - mail: advertiser0.mail, + email: advertiser0.mail, role: { name: advertiser0.role.name, permission: advertiser0.role.permission, }, - profilePictureUrl: advertiser0.profilePictureUrl, + profileImageUrl: advertiser0.profileImageUrl, dateOfBirth: advertiser0.dateOfBirth, gender: advertiser0.gender, interests: [], @@ -70,11 +70,11 @@ export class PopupUpdateAdvertiserComponent implements OnInit this.errorMessage = "Veuillez remplir le champ 'login'" ; this.hasError = true; } - else if(this.advertiserCopy.mail.length === 0) { + else if(this.advertiserCopy.email.length === 0) { this.errorMessage = "Veuillez remplir le champ 'email'" ; this.hasError = true; } - else if(!this.isValidEmail(this.advertiserCopy.mail)) { + else if(!this.isValidEmail(this.advertiserCopy.email)) { this.errorMessage = "Email invalide" ; this.hasError = true; } diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 7fbbe65..ee385e4 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -36,7 +36,7 @@ const routes: Routes = [ { path: 'admin', component: PageUserListComponent }, { path: 'admin/userList', component: PageUserListComponent }, { path: 'admin/adList', component: PageAdListAdminComponent }, - { path: 'admin/myProfil', component: PageProfilAdminComponent } + { path: 'admin/myProfil', component: PageProfilAdminComponent }, ]; diff --git a/src/app/app.module.ts b/src/app/app.module.ts index e2a2e7a..530dfb4 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -13,10 +13,10 @@ import {HttpClientModule} from "@angular/common/http"; import { PopupConfirmationComponent } from './beforeConnexion/register/popup-confirmation/popup-confirmation.component'; import {MatDialogModule} from '@angular/material/dialog'; import {MatButtonModule} from "@angular/material/button"; -import { AdvertComponent } from './utils/components/advert/advert.component'; +import { AdvertComponent } from './user/utils/components/advert/advert.component'; import { VideoGridComponent } from './user/search/video-grid/video-grid.component'; import {MatIconModule} from "@angular/material/icon"; -import { PopupAddVideoToPlaylistsComponent } from './utils/components/popup-add-video-to-playlists/popup-add-video-to-playlists.component'; +import { PopupAddVideoToPlaylistsComponent } from './user/utils/components/popup-add-video-to-playlists/popup-add-video-to-playlists.component'; import {MatInputModule} from "@angular/material/input"; import {MatDividerModule} from "@angular/material/divider"; import {MatCheckboxModule} from "@angular/material/checkbox"; @@ -27,7 +27,7 @@ import {MatGridListModule} from "@angular/material/grid-list"; import { PageMyPlaylistsComponent } from './user/myPlaylists/page-my-playlists/page-my-playlists.component'; import { PlaylistListComponent } from './user/myPlaylists/playlist-list/playlist-list.component'; import {VideoListComponent} from "./user/myPlaylists/video-list/video-list.component"; -import { PopupCreatePlaylistComponent } from './utils/components/popup-create-playlist/popup-create-playlist.component'; +import { PopupCreatePlaylistComponent } from './user/utils/components/popup-create-playlist/popup-create-playlist.component'; import { PageHistoryUserComponent } from './user/history/page-history-user/page-history-user.component'; import {MatTableModule} from '@angular/material/table'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; @@ -45,7 +45,7 @@ import {IvyCarouselModule} from "angular-responsive-carousel"; import { DragAndDropComponent } from './advertiser/adList/drag-and-drop/drag-and-drop.component'; import { DragAndDropDirective } from './utils/directives/dragAndDrop/drag-and-drop.directive'; import { PageProfilUserComponent } from './user/myProfil/page-profil-user/page-profil-user.component'; -import { NavbarUserComponent } from './user/navbar-user/navbar-user.component'; +import { NavbarUserComponent } from './user/utils/components/navbar-user/navbar-user.component'; import { NavbarAdvertiserComponent } from './advertiser/navbar-advertiser/navbar-advertiser.component'; import { NavbarAdminComponent } from './admin/navbar-admin/navbar-admin.component'; import { PageProfilAdvertiserComponent } from './advertiser/myProfil/page-profil-advertiser/page-profil-advertiser.component'; diff --git a/src/app/beforeConnexion/register/input-interests-register/input-interests-register.component.ts b/src/app/beforeConnexion/register/input-interests-register/input-interests-register.component.ts index 9afdeee..baf610c 100644 --- a/src/app/beforeConnexion/register/input-interests-register/input-interests-register.component.ts +++ b/src/app/beforeConnexion/register/input-interests-register/input-interests-register.component.ts @@ -2,11 +2,11 @@ import {Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild} f import {COMMA, ENTER} from "@angular/cdk/keycodes"; import {FormControl} from "@angular/forms"; import {Observable} from "rxjs"; -import {FictitiousDatasService} from "../../../utils/services/fictitiousDatas/fictitious-datas.service"; import {MessageService} from "../../../utils/services/message/message.service"; import {map, startWith} from "rxjs/operators"; import {MatChipInputEvent} from "@angular/material/chips"; import {MatAutocompleteSelectedEvent} from "@angular/material/autocomplete"; +import {FictitiousUtilsService} from "../../../utils/services/fictitiousDatas/fictitiousUtils/fictitious-utils.service"; @Component({ selector: 'app-input-interests-register', @@ -26,7 +26,7 @@ export class InputInterestsRegisterComponent implements OnInit @ViewChild('tagInput') tagInput: ElementRef; - constructor( private fictitiousDatasService: FictitiousDatasService, + constructor( private fictitiousUtilsService: FictitiousUtilsService, private messageService: MessageService ) {} @@ -37,7 +37,7 @@ export class InputInterestsRegisterComponent implements OnInit map((fruit: string | null) => fruit ? this._filter(fruit) : this.allInterests.slice())); // --- FAUX CODE --- - this.allInterests = this.fictitiousDatasService.getTags(); + this.allInterests = this.fictitiousUtilsService.getTags(); this.allInterests.sort(); } diff --git a/src/app/beforeConnexion/register/page-register/page-register.component.html b/src/app/beforeConnexion/register/page-register/page-register.component.html index fd815f9..98a606a 100644 --- a/src/app/beforeConnexion/register/page-register/page-register.component.html +++ b/src/app/beforeConnexion/register/page-register/page-register.component.html @@ -11,7 +11,7 @@
- + Utilisateur standard    Annonceur @@ -89,7 +89,7 @@ Email - +
@@ -134,7 +134,7 @@ Email - +
diff --git a/src/app/beforeConnexion/register/page-register/page-register.component.ts b/src/app/beforeConnexion/register/page-register/page-register.component.ts index d4b1754..0ad0be0 100644 --- a/src/app/beforeConnexion/register/page-register/page-register.component.ts +++ b/src/app/beforeConnexion/register/page-register/page-register.component.ts @@ -23,12 +23,12 @@ export class PageRegisterComponent _id: "", login: "", hashPass: "", - mail: "", + email: "", role: { name: "user", permission: 0, }, - profilePictureUrl: "", + profileImageUrl: "", dateOfBirth: null, gender: "man", interests: [], @@ -98,11 +98,11 @@ export class PageRegisterComponent this.errorMessage = "Veuillez remplir le champ 'login'."; this.hasError = true; } - else if(this.user.mail.length === 0) { + else if(this.user.email.length === 0) { this.errorMessage = "Veuillez remplir le champ 'email'."; this.hasError = true; } - else if(!this.isValidEmail(this.user.mail)) { + else if(!this.isValidEmail(this.user.email)) { this.errorMessage = "Email invalide."; this.hasError = true; } diff --git a/src/app/user/history/page-history-user/page-history-user.component.html b/src/app/user/history/page-history-user/page-history-user.component.html index 8d252f7..f026a90 100644 --- a/src/app/user/history/page-history-user/page-history-user.component.html +++ b/src/app/user/history/page-history-user/page-history-user.component.html @@ -18,10 +18,13 @@ Aperçu + + @@ -35,9 +38,7 @@ Date -
  • - {{date0 | date:'dd/LL/YYYY à HH:mm:ss'}} -
  • + {{video.watchedDates[video.watchedDates.length-1] | date:'dd/LL/YYYY à HH:mm:ss'}}
    diff --git a/src/app/user/history/page-history-user/page-history-user.component.scss b/src/app/user/history/page-history-user/page-history-user.component.scss index fd80cbc..777893a 100644 --- a/src/app/user/history/page-history-user/page-history-user.component.scss +++ b/src/app/user/history/page-history-user/page-history-user.component.scss @@ -9,27 +9,11 @@ table { margin: 0 auto; } -/* -mat-paginator { - width: 30%; - text-align: center; -} -*/ th.mat-sort-header-sorted { color: black; } -/* -.lightTheme td { - padding: 10px 30px 5px 5px; -} -.darkTheme td { - background-color: #646464; - color: white; - padding: 10px 30px 5px 5px; -} -*/ input { width: 35%; diff --git a/src/app/user/history/page-history-user/page-history-user.component.ts b/src/app/user/history/page-history-user/page-history-user.component.ts index c0dccaa..16418ae 100644 --- a/src/app/user/history/page-history-user/page-history-user.component.ts +++ b/src/app/user/history/page-history-user/page-history-user.component.ts @@ -1,13 +1,13 @@ import {AfterViewInit, Component, ViewChild} from '@angular/core'; import {ThemeService} from "../../../utils/services/theme/theme.service"; import {MessageService} from "../../../utils/services/message/message.service"; -import {FictitiousDatasService} from "../../../utils/services/fictitiousDatas/fictitious-datas.service"; import {MatTableDataSource} from "@angular/material/table"; import {MatSort} from "@angular/material/sort"; -import {VideoUrlService} from "../../../utils/services/videoUrl/video-url.service"; -import {UserHistoryService} from "../../../utils/services/userHistory/userHistory.service"; -import {Video} from "../../../utils/interfaces/video"; +import {VideoUrlService} from "../../utils/services/videoUrl/video-url.service"; +import {UserHistoryService} from "../../utils/services/userHistory/userHistory.service"; import {MatPaginator} from "@angular/material/paginator"; +import {FictitiousVideosService} from "../../../utils/services/fictitiousDatas/fictitiousVideos/fictitious-videos.service"; +import {VideoAll} from "../../../utils/interfaces/video"; @@ -26,7 +26,7 @@ export class PageHistoryUserComponent implements AfterViewInit constructor( public themeService: ThemeService, private messageService: MessageService, - private fictitiousDatasService: FictitiousDatasService, + private fictitiousVideosService: FictitiousVideosService, public videoUrlService: VideoUrlService, private userHistoryService: UserHistoryService ) { } @@ -37,23 +37,8 @@ export class PageHistoryUserComponent implements AfterViewInit this.userHistoryService.clearTabVideoUrlClicked(); // --- FAUX CODE --- - const tabVideo: Video[] = this.fictitiousDatasService.getTabVideo(8); - - const tabVideoChanged = []; - for(let video of tabVideo) - { - tabVideoChanged.push({ - _id: video._id, - url: video.url, - title: video.title, - description: video.description, - views: video.views, - watched: video.watched, - source: this.getSourceByUrl(video.url) - }); - } - - this.dataSource = new MatTableDataSource(tabVideoChanged); + const tabVideo: VideoAll[] = this.fictitiousVideosService.getTabVideoAll(8); + this.dataSource = new MatTableDataSource(tabVideo); this.dataSource.sort = this.sort; this.dataSource.paginator = this.paginator; this.dataSource = this.dataSource; @@ -92,7 +77,7 @@ export class PageHistoryUserComponent implements AfterViewInit // Supprime la video - onDelete(video: Video): void + onDelete(video: VideoAll): void { // --- FAUX CODE --- const index = this.dataSource.data.indexOf(video); @@ -118,11 +103,11 @@ export class PageHistoryUserComponent implements AfterViewInit } - // Ajoute la date actuelle dans watched.video - onIframeClick(video: Video): void + // Ajoute la date actuelle dans watchedDates.video + onIframeClick(video: VideoAll): void { console.log("onIframeClick: " + video.title); - this.userHistoryService.addVideoToHistoque(video); + //this.userHistoryService.addVideoToHistoque(video); } } diff --git a/src/app/user/myPlaylists/page-my-playlists/page-my-playlists.component.html b/src/app/user/myPlaylists/page-my-playlists/page-my-playlists.component.html index 21eadcc..2606531 100644 --- a/src/app/user/myPlaylists/page-my-playlists/page-my-playlists.component.html +++ b/src/app/user/myPlaylists/page-my-playlists/page-my-playlists.component.html @@ -19,7 +19,7 @@ - + diff --git a/src/app/user/myPlaylists/page-my-playlists/page-my-playlists.component.ts b/src/app/user/myPlaylists/page-my-playlists/page-my-playlists.component.ts index 0a4e73a..650be01 100644 --- a/src/app/user/myPlaylists/page-my-playlists/page-my-playlists.component.ts +++ b/src/app/user/myPlaylists/page-my-playlists/page-my-playlists.component.ts @@ -1,9 +1,10 @@ import { Component, OnInit } from '@angular/core'; import {ThemeService} from "../../../utils/services/theme/theme.service"; import {Advert} from "../../../utils/interfaces/advert"; -import {FictitiousDatasService} from "../../../utils/services/fictitiousDatas/fictitious-datas.service"; import {MessageService} from "../../../utils/services/message/message.service"; -import {Playlist} from "../../../utils/interfaces/playlist"; +import {PlaylistDB} from "../../../utils/interfaces/playlist"; +import {FictitiousAdvertsService} from "../../../utils/services/fictitiousDatas/fictitiousAdverts/fictitious-adverts.service"; + @Component({ @@ -13,21 +14,19 @@ import {Playlist} from "../../../utils/interfaces/playlist"; }) export class PageMyPlaylistsComponent implements OnInit { - allPlaylists: Playlist[]; // toutes les playlists ad: Advert; // pub - playlist: Playlist; // la playlist sélectionnée + playlist: PlaylistDB; // la playlist sélectionnée constructor( public themeService: ThemeService, private messageService: MessageService, - private fictitioousData: FictitiousDatasService ) { } + private fictitiousAdvertsService: FictitiousAdvertsService ) { } ngOnInit(): void { // --- FAUX CODE --- - this.allPlaylists = this.fictitioousData.getTabPlaylist(10, 10); - this.ad = this.fictitioousData.getAdvert(); + this.ad = this.fictitiousAdvertsService.getAdvert(); // --- VRAI CODE --- /* @@ -44,7 +43,7 @@ export class PageMyPlaylistsComponent implements OnInit */ } - transmitToVideoList(playlist: Playlist): void + transmitToVideoList(playlist: PlaylistDB): void { this.playlist = playlist; } diff --git a/src/app/user/myPlaylists/playlist-list/playlist-list.component.html b/src/app/user/myPlaylists/playlist-list/playlist-list.component.html index 3ccf848..87ac8b3 100644 --- a/src/app/user/myPlaylists/playlist-list/playlist-list.component.html +++ b/src/app/user/myPlaylists/playlist-list/playlist-list.component.html @@ -15,7 +15,8 @@
    diff --git a/src/app/user/myPlaylists/playlist-list/playlist-list.component.ts b/src/app/user/myPlaylists/playlist-list/playlist-list.component.ts index bb48030..fccb68a 100644 --- a/src/app/user/myPlaylists/playlist-list/playlist-list.component.ts +++ b/src/app/user/myPlaylists/playlist-list/playlist-list.component.ts @@ -1,10 +1,11 @@ import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core'; import {ThemeService} from "../../../utils/services/theme/theme.service"; -import {Playlist} from "../../../utils/interfaces/playlist"; +import {PlaylistDB} from "../../../utils/interfaces/playlist"; import {MessageService} from "../../../utils/services/message/message.service"; import {MatDialog} from "@angular/material/dialog"; import {MatSnackBar} from "@angular/material/snack-bar"; -import {PopupCreatePlaylistComponent} from "../../../utils/components/popup-create-playlist/popup-create-playlist.component"; +import {PopupCreatePlaylistComponent} from "../../utils/components/popup-create-playlist/popup-create-playlist.component"; +import {FictitiousVideosService} from "../../../utils/services/fictitiousDatas/fictitiousVideos/fictitious-videos.service"; @@ -15,19 +16,21 @@ import {PopupCreatePlaylistComponent} from "../../../utils/components/popup-crea }) export class PlaylistListComponent implements OnInit { - @Input() allPlaylists: Playlist[] = []; // toutes les playlists - @Output() eventEmitter = new EventEmitter(); // pour envoyer au parent la playlist selectionner + allPlaylists: PlaylistDB[] = []; // toutes les playlists + @Output() eventEmitter = new EventEmitter(); // pour envoyer au parent la playlist selectionner search: string = "" ; // contenu de la barre de recherche - tabPlaylist: Playlist[] = []; // playlist affichées + tabPlaylist: PlaylistDB[] = []; // playlist affichées constructor( public themeService: ThemeService, public dialog: MatDialog, - public snackBar: MatSnackBar ) { } + public snackBar: MatSnackBar, + private fictitiousVideosService: FictitiousVideosService ) { } ngOnInit(): void { + this.allPlaylists = this.fictitiousVideosService.getTabPlaylistDB(10, 10); this.tabPlaylist = [].concat(this.allPlaylists); } diff --git a/src/app/user/myPlaylists/video-list/video-list.component.html b/src/app/user/myPlaylists/video-list/video-list.component.html index 7c4ff5f..908985f 100644 --- a/src/app/user/myPlaylists/video-list/video-list.component.html +++ b/src/app/user/myPlaylists/video-list/video-list.component.html @@ -4,7 +4,7 @@
    - +
    @@ -27,31 +27,52 @@
    - +
    - + -
    - - - - - -
    +
    + + + + + + + + + + +
    +
    +
    + + +
    +
    +
    +
    + + + + + + +
    + - {{video.title}} + + {{video.title}} + +
    - +
    diff --git a/src/app/user/myPlaylists/video-list/video-list.component.scss b/src/app/user/myPlaylists/video-list/video-list.component.scss index 205f6f1..109aa1f 100644 --- a/src/app/user/myPlaylists/video-list/video-list.component.scss +++ b/src/app/user/myPlaylists/video-list/video-list.component.scss @@ -33,7 +33,30 @@ .videoContainer { border-bottom: solid 1px black; - padding: 25px; + padding: 15px 0px 15px 0px; + width: 100%; +} + +.imgsContainer { + position: relative; + width: 20vw; + height: 15vh; +} + +.imgPlay { + position: absolute; + margin-left: 9vw; + width: 3vw; + margin-top: 5vh; + height: 6vh; + padding: 0px 0px 0px 0px; +} + +.imgVideo { + border: solid 1px black; + width: 20vw; + height: 15vh; + padding: 0px 0px 0px 0px; } // BottomBorder -------------------------------------------------------- diff --git a/src/app/user/myPlaylists/video-list/video-list.component.ts b/src/app/user/myPlaylists/video-list/video-list.component.ts index c46f9fc..afe0acd 100644 --- a/src/app/user/myPlaylists/video-list/video-list.component.ts +++ b/src/app/user/myPlaylists/video-list/video-list.component.ts @@ -1,13 +1,13 @@ -import {Component, Input, OnInit} from '@angular/core'; +import {Component, Input, OnChanges, SimpleChanges} from '@angular/core'; import {ThemeService} from "../../../utils/services/theme/theme.service"; -import {FictitiousDatasService} from "../../../utils/services/fictitiousDatas/fictitious-datas.service"; -import {Video} from "../../../utils/interfaces/video"; -import {VideoUrlService} from "../../../utils/services/videoUrl/video-url.service"; -import {AddVideoToPlaylistsService} from "../../../utils/services/addVideoToPlaylists/add-video-to-playlists.service"; +import {VideoAll, VideoDB} from "../../../utils/interfaces/video"; +import {AddVideoToPlaylistsService} from "../../utils/services/addVideoToPlaylists/add-video-to-playlists.service"; import {MessageService} from "../../../utils/services/message/message.service"; -import {Playlist} from "../../../utils/interfaces/playlist"; +import {PlaylistDB} from "../../../utils/interfaces/playlist"; import {MatSnackBar} from "@angular/material/snack-bar"; -import {UserHistoryService} from "../../../utils/services/userHistory/userHistory.service"; +import {UserHistoryService} from "../../utils/services/userHistory/userHistory.service"; +import {FictitiousUtilsService} from "../../../utils/services/fictitiousDatas/fictitiousUtils/fictitious-utils.service"; +import {FictitiousVideosService} from "../../../utils/services/fictitiousDatas/fictitiousVideos/fictitious-videos.service"; @@ -16,31 +16,49 @@ import {UserHistoryService} from "../../../utils/services/userHistory/userHistor templateUrl: './video-list.component.html', styleUrls: ['./video-list.component.scss'] }) -export class VideoListComponent +export class VideoListComponent implements OnChanges { - @Input() playlist: Playlist; + @Input() playlist: PlaylistDB; + videosInPlaylist: VideoAll[] = []; + allUserVideos: VideoAll[] = this.fictitiousVideosService.getAllVideoAll(); constructor( private messageService: MessageService, public themeService: ThemeService, - private fictitiousDatasService: FictitiousDatasService, - public videoUrlService: VideoUrlService, + private fictitiousUtilsService: FictitiousUtilsService, private addVideoToPlaylistService: AddVideoToPlaylistsService, private snackBar: MatSnackBar, - private historiqueService: UserHistoryService ) { } + public fictitiousVideosService: FictitiousVideosService, + private historiqueService: UserHistoryService ) { } - onAdd(video: Video): void + ngOnChanges(changes: SimpleChanges): void + { + if((this.playlist !== null) && (this.playlist !== undefined)) + { + this.videosInPlaylist = []; + for(let _idVideo of this.playlist.videoIds) + { + const video = this.allUserVideos.find(video => video._id === _idVideo); + this.videosInPlaylist.push(video); + } + } + } + + + onAdd(video: VideoAll): void { this.addVideoToPlaylistService.run(video); } - onDelete(video0: Video, indexVideo: number): void + onDelete(video0: VideoAll, indexVideo: number): void { // --- FAUX CODE --- - let message = "La video a bien été supprimé de la playlist" ; - this.playlist.videos.splice(indexVideo, 1); + this.playlist.videoIds.splice(indexVideo, 1); + this.videosInPlaylist.splice(indexVideo, 1); + + let message = "La video a bien été supprimé de la playlist"; const config = { duration: 1000, panelClass: "custom-class" }; this.snackBar.open( message, "", config); @@ -60,13 +78,9 @@ export class VideoListComponent this.snackBar.open( message, "", config); }) */ - } - - onIframeClick(video: Video): void - { - console.log("onIframeClick: " + video.title); - this.historiqueService.addVideoToHistoque(video); + //Pour relier les collections "Videos" et "Playlists", on a mis l'attribut "playlistIds" dans "Videos" + // Mais en vrai, ça serai plus facile pour moi si on mettait plutot un attribut "videoIds" dans "Playlists" } } diff --git a/src/app/user/myProfil/input-interests-profil/input-interests-profil.component.ts b/src/app/user/myProfil/input-interests-profil/input-interests-profil.component.ts index 5dc370e..cb7bc9e 100644 --- a/src/app/user/myProfil/input-interests-profil/input-interests-profil.component.ts +++ b/src/app/user/myProfil/input-interests-profil/input-interests-profil.component.ts @@ -2,11 +2,12 @@ import {Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild} f import {COMMA, ENTER} from "@angular/cdk/keycodes"; import {FormControl} from "@angular/forms"; import {Observable} from "rxjs"; -import {FictitiousDatasService} from "../../../utils/services/fictitiousDatas/fictitious-datas.service"; import {MessageService} from "../../../utils/services/message/message.service"; import {map, startWith} from "rxjs/operators"; import {MatChipInputEvent} from "@angular/material/chips"; import {MatAutocompleteSelectedEvent} from "@angular/material/autocomplete"; +import {FictitiousUtilsService} from "../../../utils/services/fictitiousDatas/fictitiousUtils/fictitious-utils.service"; + @Component({ @@ -27,7 +28,7 @@ export class InputInterestsProfilComponent implements OnInit @ViewChild('tagInput') tagInput: ElementRef; - constructor( private fictitiousDatasService: FictitiousDatasService, + constructor( private fictitiousUtilsService: FictitiousUtilsService, private messageService: MessageService ) {} @@ -38,7 +39,7 @@ export class InputInterestsProfilComponent implements OnInit map((fruit: string | null) => fruit ? this._filter(fruit) : this.allInterests.slice())); // --- FAUX CODE --- - this.allInterests = this.fictitiousDatasService.getTags(); + this.allInterests = this.fictitiousUtilsService.getTags(); this.allInterests.sort(); } diff --git a/src/app/user/myProfil/page-profil-user/page-profil-user.component.html b/src/app/user/myProfil/page-profil-user/page-profil-user.component.html index 0fdbc78..fa22205 100644 --- a/src/app/user/myProfil/page-profil-user/page-profil-user.component.html +++ b/src/app/user/myProfil/page-profil-user/page-profil-user.component.html @@ -9,7 +9,7 @@
    - +
    @@ -41,10 +41,10 @@
    {{user.login}}
    - +
    Mail:
    -
    {{user.mail}}
    +
    {{user.email}}
    diff --git a/src/app/user/myProfil/page-profil-user/page-profil-user.component.ts b/src/app/user/myProfil/page-profil-user/page-profil-user.component.ts index 12525ea..7544482 100644 --- a/src/app/user/myProfil/page-profil-user/page-profil-user.component.ts +++ b/src/app/user/myProfil/page-profil-user/page-profil-user.component.ts @@ -1,10 +1,10 @@ import { Component, OnInit } from '@angular/core'; import {ThemeService} from "../../../utils/services/theme/theme.service"; -import {FictitiousDatasService} from "../../../utils/services/fictitiousDatas/fictitious-datas.service"; import {User} from "../../../utils/interfaces/user"; import {MatDialog} from "@angular/material/dialog"; import {MatSnackBar} from "@angular/material/snack-bar"; import {PopupUpdateUserComponent} from "../popup-update-user/popup-update-user.component"; +import {FictitiousUsersService} from "../../../utils/services/fictitiousDatas/fictitiousUsers/fictitious-users.service"; @@ -19,14 +19,14 @@ export class PageProfilUserComponent implements OnInit constructor( public themeService: ThemeService, - private fictitiousDatasService: FictitiousDatasService, + private fictitiousUsersService: FictitiousUsersService, public dialog: MatDialog, private snackBar: MatSnackBar ) { } ngOnInit(): void { - this.user = this.fictitiousDatasService.getUser(); + this.user = this.fictitiousUsersService.getUser(); } diff --git a/src/app/user/myProfil/popup-update-user/popup-update-user.component.html b/src/app/user/myProfil/popup-update-user/popup-update-user.component.html index 8d0fff0..6544c05 100644 --- a/src/app/user/myProfil/popup-update-user/popup-update-user.component.html +++ b/src/app/user/myProfil/popup-update-user/popup-update-user.component.html @@ -2,12 +2,12 @@
    -
    +
    + [(ngModel)]="userCopy.profileImageUrl">

    diff --git a/src/app/user/myProfil/popup-update-user/popup-update-user.component.ts b/src/app/user/myProfil/popup-update-user/popup-update-user.component.ts index a971cfc..cf1b889 100644 --- a/src/app/user/myProfil/popup-update-user/popup-update-user.component.ts +++ b/src/app/user/myProfil/popup-update-user/popup-update-user.component.ts @@ -30,12 +30,12 @@ export class PopupUpdateUserComponent implements OnInit _id: user0._id, login: user0.login, hashPass: user0.hashPass, - mail: user0.mail, + email: user0.mail, role: { name: user0.role.name, permission: user0.role.permission, }, - profilePictureUrl: user0.profilePictureUrl, + profileImageUrl: user0.profileImageUrl, dateOfBirth: user0.dateOfBirth, gender: user0.gender, interests: [], @@ -70,11 +70,11 @@ export class PopupUpdateUserComponent implements OnInit this.errorMessage = "Veuillez remplir le champ 'login'." ; this.hasError = true; } - else if(this.userCopy.mail.length === 0) { + else if(this.userCopy.email.length === 0) { this.errorMessage = "Veuillez remplir le champ 'email'." ; this.hasError = true; } - else if(!this.isValidEmail(this.userCopy.mail)) { + else if(!this.isValidEmail(this.userCopy.email)) { this.errorMessage = "Email invalide." ; this.hasError = true; } diff --git a/src/app/user/search/page-search/page-search.component.ts b/src/app/user/search/page-search/page-search.component.ts index c6eca80..2a2187f 100644 --- a/src/app/user/search/page-search/page-search.component.ts +++ b/src/app/user/search/page-search/page-search.component.ts @@ -1,15 +1,16 @@ import { Component, OnInit } from '@angular/core'; import {MessageService} from "../../../utils/services/message/message.service"; -import {FictitiousDatasService} from "../../../utils/services/fictitiousDatas/fictitious-datas.service"; -import {Video} from "../../../utils/interfaces/video"; +import {VideoAll} from "../../../utils/interfaces/video"; import {Advert} from "../../../utils/interfaces/advert"; import {ThemeService} from "../../../utils/services/theme/theme.service"; +import {FictitiousVideosService} from "../../../utils/services/fictitiousDatas/fictitiousVideos/fictitious-videos.service"; +import {FictitiousAdvertsService} from "../../../utils/services/fictitiousDatas/fictitiousAdverts/fictitious-adverts.service"; let TAB_PLATEFORM = [ - { name: "Youtube", isSelected: false }, - { name: "Dailymotion", isSelected: false } + { name: "youtube", isSelected: false }, + { name: "dailymotion", isSelected: false } ]; @@ -22,23 +23,24 @@ let TAB_PLATEFORM = [ export class PageSearchComponent implements OnInit { tabPlateform = TAB_PLATEFORM; - tabVideo: Video[] = []; + tabVideo: VideoAll[] = []; search: string = ""; ad1: Advert; ad2: Advert; constructor( private messageService: MessageService, - private fictitiousDatasService: FictitiousDatasService, + private fictitiousVideosService: FictitiousVideosService, + private fictitiousAdvertsService: FictitiousAdvertsService, public themeService: ThemeService ) { } ngOnInit(): void { // --- FAUX CODE --- - this.tabVideo = this.fictitiousDatasService.getTabVideo(11); - this.ad1 = this.fictitiousDatasService.getAdvert(); - this.ad2 = this.fictitiousDatasService.getAdvert(); + this.tabVideo = this.fictitiousVideosService.getTabVideoAll(90); + this.ad1 = this.fictitiousAdvertsService.getAdvert(); + this.ad2 = this.fictitiousAdvertsService.getAdvert(); // --- VRAI CODE --- /* @@ -62,7 +64,7 @@ export class PageSearchComponent implements OnInit onSearch() { // --- FAUX CODE --- - this.tabVideo = this.fictitiousDatasService.getTabVideo(2); + this.tabVideo = this.fictitiousVideosService.getTabVideoAll(2); // --- VRAI CODE --- /* diff --git a/src/app/user/search/video-grid/video-grid.component.html b/src/app/user/search/video-grid/video-grid.component.html index b94e6f8..5925657 100644 --- a/src/app/user/search/video-grid/video-grid.component.html +++ b/src/app/user/search/video-grid/video-grid.component.html @@ -7,15 +7,43 @@
    -
    - {{tronquage(tabVideo[indexPage+k].title)}} - + +
    + + +
    + + + + + + + + ytb + dlm + + + + +
    + {{tronquage(tabVideo[indexPage+k].title)}} +
    + + {{tabVideo[indexPage+k].views | number: '1.0-0'}} vues. Il y a 2h. + +
    +
    + + + + + + +
    +
    @@ -23,8 +51,25 @@
    + +
    + +   + + + + + {{page}}  + + + {{page}}  + +   + + +
    diff --git a/src/app/user/search/video-grid/video-grid.component.scss b/src/app/user/search/video-grid/video-grid.component.scss index 5a4be0e..ae339eb 100644 --- a/src/app/user/search/video-grid/video-grid.component.scss +++ b/src/app/user/search/video-grid/video-grid.component.scss @@ -1,6 +1,7 @@ mat-grid-list { margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px; + border: none; } mat-grid-tile { @@ -9,19 +10,47 @@ mat-grid-tile { border: solid 1px black; } +.myCell { + margin: 0px 0px 0px 0px; + padding: 7px 0px 0px 0px; +} + // --------------------------------------------------------------------------------------------- -.myCell { - margin: 0px 0px 0px 0px; - padding: 15px 0px 0px 0px; +.imgsContainer { + width: 20vw; + height: 15vh; } -iframe { +.imgPlay { + position: absolute; + margin-left: 9vw; + width: 3vw; + margin-top: 5vh; + height: 6vh; padding: 0px 0px 0px 0px; - width: 85%; +} + +.imgVideo { + border: solid 1px black; + width: 20vw; height: 15vh; + padding: 0px 0px 0px 0px; +} + + +// --------------------------------------------------------------------------------------------- + + +.mat-grid-tile-info-video { + border: none; + font-size: x-small; +} + +mat-icon { + text-align: right; } diff --git a/src/app/user/search/video-grid/video-grid.component.ts b/src/app/user/search/video-grid/video-grid.component.ts index 8ebcdfb..e948f3b 100644 --- a/src/app/user/search/video-grid/video-grid.component.ts +++ b/src/app/user/search/video-grid/video-grid.component.ts @@ -1,8 +1,8 @@ import {Component, Input, OnChanges } from '@angular/core'; -import {Video} from "../../../utils/interfaces/video"; -import {UserHistoryService} from "../../../utils/services/userHistory/userHistory.service"; -import {AddVideoToPlaylistsService} from "../../../utils/services/addVideoToPlaylists/add-video-to-playlists.service"; -import {VideoUrlService} from "../../../utils/services/videoUrl/video-url.service"; +import {VideoAll} from "../../../utils/interfaces/video"; +import {UserHistoryService} from "../../utils/services/userHistory/userHistory.service"; +import {AddVideoToPlaylistsService} from "../../utils/services/addVideoToPlaylists/add-video-to-playlists.service"; +import {VideoUrlService} from "../../utils/services/videoUrl/video-url.service"; @Component({ @@ -12,7 +12,7 @@ import {VideoUrlService} from "../../../utils/services/videoUrl/video-url.servic }) export class VideoGridComponent implements OnChanges { - @Input() tabVideo: Video[] = []; + @Input() tabVideo: VideoAll[] = []; indexPage: number = 0; constructor( private historiqueService: UserHistoryService, @@ -25,21 +25,15 @@ export class VideoGridComponent implements OnChanges //this.historiqueService.clearTabVideoUrlClicked(); } - onAdd(video: Video): void + onAdd(video: VideoAll): void { this.addVideoToPlaylistsService.run(video); } - onIframeClick(video: Video) - { - console.log("onIframeClick: " + video.title); - this.historiqueService.addVideoToHistoque(video); - } - tronquage(str: string) { - if(str.length < 30) return str; - else return str.substring(0, 30) + "..." ; + if(str.length < 40) return str; + else return str.substring(0, 37) + "..." ; } } diff --git a/src/app/utils/components/advert/advert.component.html b/src/app/user/utils/components/advert/advert.component.html similarity index 100% rename from src/app/utils/components/advert/advert.component.html rename to src/app/user/utils/components/advert/advert.component.html diff --git a/src/app/utils/components/advert/advert.component.scss b/src/app/user/utils/components/advert/advert.component.scss similarity index 100% rename from src/app/utils/components/advert/advert.component.scss rename to src/app/user/utils/components/advert/advert.component.scss diff --git a/src/app/utils/components/advert/advert.component.spec.ts b/src/app/user/utils/components/advert/advert.component.spec.ts similarity index 100% rename from src/app/utils/components/advert/advert.component.spec.ts rename to src/app/user/utils/components/advert/advert.component.spec.ts diff --git a/src/app/utils/components/advert/advert.component.ts b/src/app/user/utils/components/advert/advert.component.ts similarity index 78% rename from src/app/utils/components/advert/advert.component.ts rename to src/app/user/utils/components/advert/advert.component.ts index fcde30f..322c49b 100644 --- a/src/app/utils/components/advert/advert.component.ts +++ b/src/app/user/utils/components/advert/advert.component.ts @@ -1,6 +1,6 @@ import {Component, Input, OnInit} from '@angular/core'; -import {Advert} from "../../interfaces/advert"; -import {ThemeService} from "../../services/theme/theme.service"; +import {Advert} from "../../../../utils/interfaces/advert"; +import {ThemeService} from "../../../../utils/services/theme/theme.service"; diff --git a/src/app/user/navbar-user/navbar-user.component.html b/src/app/user/utils/components/navbar-user/navbar-user.component.html similarity index 100% rename from src/app/user/navbar-user/navbar-user.component.html rename to src/app/user/utils/components/navbar-user/navbar-user.component.html diff --git a/src/app/user/navbar-user/navbar-user.component.scss b/src/app/user/utils/components/navbar-user/navbar-user.component.scss similarity index 100% rename from src/app/user/navbar-user/navbar-user.component.scss rename to src/app/user/utils/components/navbar-user/navbar-user.component.scss diff --git a/src/app/user/navbar-user/navbar-user.component.spec.ts b/src/app/user/utils/components/navbar-user/navbar-user.component.spec.ts similarity index 100% rename from src/app/user/navbar-user/navbar-user.component.spec.ts rename to src/app/user/utils/components/navbar-user/navbar-user.component.spec.ts diff --git a/src/app/user/navbar-user/navbar-user.component.ts b/src/app/user/utils/components/navbar-user/navbar-user.component.ts similarity index 100% rename from src/app/user/navbar-user/navbar-user.component.ts rename to src/app/user/utils/components/navbar-user/navbar-user.component.ts diff --git a/src/app/utils/components/popup-add-video-to-playlists/popup-add-video-to-playlists.component.html b/src/app/user/utils/components/popup-add-video-to-playlists/popup-add-video-to-playlists.component.html similarity index 100% rename from src/app/utils/components/popup-add-video-to-playlists/popup-add-video-to-playlists.component.html rename to src/app/user/utils/components/popup-add-video-to-playlists/popup-add-video-to-playlists.component.html diff --git a/src/app/utils/components/popup-add-video-to-playlists/popup-add-video-to-playlists.component.scss b/src/app/user/utils/components/popup-add-video-to-playlists/popup-add-video-to-playlists.component.scss similarity index 100% rename from src/app/utils/components/popup-add-video-to-playlists/popup-add-video-to-playlists.component.scss rename to src/app/user/utils/components/popup-add-video-to-playlists/popup-add-video-to-playlists.component.scss diff --git a/src/app/utils/components/popup-add-video-to-playlists/popup-add-video-to-playlists.component.spec.ts b/src/app/user/utils/components/popup-add-video-to-playlists/popup-add-video-to-playlists.component.spec.ts similarity index 100% rename from src/app/utils/components/popup-add-video-to-playlists/popup-add-video-to-playlists.component.spec.ts rename to src/app/user/utils/components/popup-add-video-to-playlists/popup-add-video-to-playlists.component.spec.ts diff --git a/src/app/utils/components/popup-add-video-to-playlists/popup-add-video-to-playlists.component.ts b/src/app/user/utils/components/popup-add-video-to-playlists/popup-add-video-to-playlists.component.ts similarity index 91% rename from src/app/utils/components/popup-add-video-to-playlists/popup-add-video-to-playlists.component.ts rename to src/app/user/utils/components/popup-add-video-to-playlists/popup-add-video-to-playlists.component.ts index bbfdebf..d02d3a9 100644 --- a/src/app/utils/components/popup-add-video-to-playlists/popup-add-video-to-playlists.component.ts +++ b/src/app/user/utils/components/popup-add-video-to-playlists/popup-add-video-to-playlists.component.ts @@ -1,7 +1,7 @@ import {Component, Inject, OnInit} from '@angular/core'; import {MAT_DIALOG_DATA, MatDialogRef} from "@angular/material/dialog"; -import {Video} from "../../interfaces/video"; -import {MessageService} from "../../services/message/message.service"; +import {VideoDB} from "../../../../utils/interfaces/video"; +import {MessageService} from "../../../../utils/services/message/message.service"; @@ -12,7 +12,7 @@ import {MessageService} from "../../services/message/message.service"; }) export class PopupAddVideoToPlaylistsComponent implements OnInit { - video: Video; + video: VideoDB; tabPlaylistAndBool = []; goToCreatePlaylist = false; newPlaylistName = ""; diff --git a/src/app/utils/components/popup-create-playlist/popup-create-playlist.component.html b/src/app/user/utils/components/popup-create-playlist/popup-create-playlist.component.html similarity index 100% rename from src/app/utils/components/popup-create-playlist/popup-create-playlist.component.html rename to src/app/user/utils/components/popup-create-playlist/popup-create-playlist.component.html diff --git a/src/app/utils/components/popup-create-playlist/popup-create-playlist.component.scss b/src/app/user/utils/components/popup-create-playlist/popup-create-playlist.component.scss similarity index 100% rename from src/app/utils/components/popup-create-playlist/popup-create-playlist.component.scss rename to src/app/user/utils/components/popup-create-playlist/popup-create-playlist.component.scss diff --git a/src/app/utils/components/popup-create-playlist/popup-create-playlist.component.spec.ts b/src/app/user/utils/components/popup-create-playlist/popup-create-playlist.component.spec.ts similarity index 100% rename from src/app/utils/components/popup-create-playlist/popup-create-playlist.component.spec.ts rename to src/app/user/utils/components/popup-create-playlist/popup-create-playlist.component.spec.ts diff --git a/src/app/utils/components/popup-create-playlist/popup-create-playlist.component.ts b/src/app/user/utils/components/popup-create-playlist/popup-create-playlist.component.ts similarity index 84% rename from src/app/utils/components/popup-create-playlist/popup-create-playlist.component.ts rename to src/app/user/utils/components/popup-create-playlist/popup-create-playlist.component.ts index 68fd436..8613b38 100644 --- a/src/app/utils/components/popup-create-playlist/popup-create-playlist.component.ts +++ b/src/app/user/utils/components/popup-create-playlist/popup-create-playlist.component.ts @@ -1,7 +1,7 @@ import {Component, Inject, OnInit} from '@angular/core'; import {MAT_DIALOG_DATA, MatDialogRef} from "@angular/material/dialog"; -import {MessageService} from "../../services/message/message.service"; -import {Playlist} from "../../interfaces/playlist"; +import {MessageService} from "../../../../utils/services/message/message.service"; +import {PlaylistDB} from "../../../../utils/interfaces/playlist"; @@ -36,11 +36,14 @@ export class PopupCreatePlaylistComponent implements OnInit this.checkError(); if(!this.hasError) { - const playlist: Playlist = { - _id: "monId", - user: null, + const playlist: PlaylistDB = { + _id: "", + userId: "userId", name: this.name, - videos: [], + videoIds: [], + isActive: true, + createdAt: new Date(), + updatedAt: new Date(), }; this.dialogRef.close(playlist); } diff --git a/src/app/utils/services/addVideoToPlaylists/add-video-to-playlists.service.spec.ts b/src/app/user/utils/services/addVideoToPlaylists/add-video-to-playlists.service.spec.ts similarity index 100% rename from src/app/utils/services/addVideoToPlaylists/add-video-to-playlists.service.spec.ts rename to src/app/user/utils/services/addVideoToPlaylists/add-video-to-playlists.service.spec.ts diff --git a/src/app/utils/services/addVideoToPlaylists/add-video-to-playlists.service.ts b/src/app/user/utils/services/addVideoToPlaylists/add-video-to-playlists.service.ts similarity index 80% rename from src/app/utils/services/addVideoToPlaylists/add-video-to-playlists.service.ts rename to src/app/user/utils/services/addVideoToPlaylists/add-video-to-playlists.service.ts index 9361802..a4f8fff 100644 --- a/src/app/utils/services/addVideoToPlaylists/add-video-to-playlists.service.ts +++ b/src/app/user/utils/services/addVideoToPlaylists/add-video-to-playlists.service.ts @@ -1,32 +1,34 @@ import { Injectable } from '@angular/core'; -import {MessageService} from "../message/message.service"; +import {MessageService} from "../../../../utils/services/message/message.service"; import {MatDialog} from "@angular/material/dialog"; import {PopupAddVideoToPlaylistsComponent} from "../../components/popup-add-video-to-playlists/popup-add-video-to-playlists.component"; -import {FictitiousDatasService} from "../fictitiousDatas/fictitious-datas.service"; -import {Video} from "../../interfaces/video"; +import {VideoDB} from "../../../../utils/interfaces/video"; import {MatSnackBar} from "@angular/material/snack-bar"; +import {FictitiousVideosService} from "../../../../utils/services/fictitiousDatas/fictitiousVideos/fictitious-videos.service"; + + @Injectable({ providedIn: 'root' }) export class AddVideoToPlaylistsService { - private _video: Video; + private _video: VideoDB; constructor( private messageService: MessageService, public dialog: MatDialog, - private fictitiousDatasService: FictitiousDatasService, + private fictitiousVideosService: FictitiousVideosService, private snackBar: MatSnackBar ) { } // --- FAUX CODE --- - run(video0: Video): void + run(video0: VideoDB): void { this._video = video0; const retour = { status: "success", - data: this.fictitiousDatasService.getTabPlaylist(4, 5), + data: this.fictitiousVideosService.getTabPlaylistDB(4, 5), } this.afterReceivingPlaylists(retour) } @@ -34,7 +36,7 @@ export class AddVideoToPlaylistsService // --- VRAI CODE --- /* - run(video0: Video): void + run(video0: VideoDB): void { this._video = video0; this.messageService diff --git a/src/app/utils/services/userHistory/userHistory.service.spec.ts b/src/app/user/utils/services/userHistory/userHistory.service.spec.ts similarity index 100% rename from src/app/utils/services/userHistory/userHistory.service.spec.ts rename to src/app/user/utils/services/userHistory/userHistory.service.spec.ts diff --git a/src/app/utils/services/userHistory/userHistory.service.ts b/src/app/user/utils/services/userHistory/userHistory.service.ts similarity index 61% rename from src/app/utils/services/userHistory/userHistory.service.ts rename to src/app/user/utils/services/userHistory/userHistory.service.ts index a775cf6..66b0999 100644 --- a/src/app/utils/services/userHistory/userHistory.service.ts +++ b/src/app/user/utils/services/userHistory/userHistory.service.ts @@ -1,6 +1,8 @@ import { Injectable } from '@angular/core'; -import {Video} from "../../interfaces/video"; -import {MessageService} from "../message/message.service"; +import {VideoDB} from "../../../../utils/interfaces/video"; +import {MessageService} from "../../../../utils/services/message/message.service"; + + @Injectable({ providedIn: 'root' @@ -13,12 +15,12 @@ export class UserHistoryService constructor(private messageService: MessageService) { } - public addVideoToHistoque(video: Video): void + public addVideoToHistoque(video: VideoDB): void { - if (!this.tabVideoUrlClicked.includes(video.url)) + if (!this.tabVideoUrlClicked.includes(video.videoId)) { - this.tabVideoUrlClicked.push(video.url); - video.watched.push(new Date()); + this.tabVideoUrlClicked.push(video.videoId); + video.watchedDates.push(new Date()); // --- VRAI CODE --- /* diff --git a/src/app/utils/services/videoUrl/video-url.service.spec.ts b/src/app/user/utils/services/videoUrl/video-url.service.spec.ts similarity index 100% rename from src/app/utils/services/videoUrl/video-url.service.spec.ts rename to src/app/user/utils/services/videoUrl/video-url.service.spec.ts diff --git a/src/app/utils/services/videoUrl/video-url.service.ts b/src/app/user/utils/services/videoUrl/video-url.service.ts similarity index 100% rename from src/app/utils/services/videoUrl/video-url.service.ts rename to src/app/user/utils/services/videoUrl/video-url.service.ts diff --git a/src/app/utils/interfaces/advert.ts b/src/app/utils/interfaces/advert.ts index 857e239..d9d1cb6 100644 --- a/src/app/utils/interfaces/advert.ts +++ b/src/app/utils/interfaces/advert.ts @@ -1,6 +1,7 @@ export interface Advert { _id: string, + userId: string, title: string, advertiser: string, images: { @@ -10,7 +11,8 @@ export interface Advert tags: string[], comment: string, views: number, + isVisible: boolean, + isActive: boolean, createdAt: Date, updatedAt: Date, - isVisible: boolean, } diff --git a/src/app/utils/interfaces/playlist.ts b/src/app/utils/interfaces/playlist.ts index 1581837..4ffa611 100644 --- a/src/app/utils/interfaces/playlist.ts +++ b/src/app/utils/interfaces/playlist.ts @@ -1,9 +1,10 @@ -import {Video} from "./video"; - -export interface Playlist +export interface PlaylistDB { _id: string, - user: any, + userId: string, name: string, - videos: Video[] + videoIds: string[], + isActive: boolean + createdAt: Date, + updatedAt: Date } diff --git a/src/app/utils/interfaces/user.ts b/src/app/utils/interfaces/user.ts index f498313..5985673 100644 --- a/src/app/utils/interfaces/user.ts +++ b/src/app/utils/interfaces/user.ts @@ -1,20 +1,20 @@ export interface User { _id: string, - login: string, + email: string, hashPass: string, - mail: string, + login: string, role: { name: string, permission: number, }, - profilePictureUrl: string, + profileImageUrl: string, dateOfBirth: Date, gender: string, interests: string[], isActive: boolean, isAccepted: boolean, - createdAt: Date, - updatedAt: Date, lastConnexion: Date, + createdAt: Date, + updatedAt: Date } diff --git a/src/app/utils/interfaces/video.ts b/src/app/utils/interfaces/video.ts index 226670a..2926449 100644 --- a/src/app/utils/interfaces/video.ts +++ b/src/app/utils/interfaces/video.ts @@ -1,9 +1,30 @@ -export interface Video +export interface VideoDB { _id: string, - url: string, - title: string, - description: string, - views: number, - watched: Date[] + userId: string, + videoId: string, + source: string, + tags: String[], + watchedDates: Date[], + createdAt: Date, + updatedAt: Date +} + + +export interface VideoAll +{ + _id: string, + userId: string, + videoId: string, + source: string, + tags: String[], + watchedDates: Date[], + createdAt: Date, + updatedAt: Date + + title: string, + views: number, + publishedAt: Date, + description: string, + imageUrl: string } diff --git a/src/app/utils/services/fictitiousDatas/fictitious-datas.service.ts b/src/app/utils/services/fictitiousDatas/fictitious-datas.service.ts deleted file mode 100644 index 1e44c7a..0000000 --- a/src/app/utils/services/fictitiousDatas/fictitious-datas.service.ts +++ /dev/null @@ -1,340 +0,0 @@ -import { Injectable } from '@angular/core'; -import {Video} from "../../interfaces/video"; -import {Playlist} from "../../interfaces/playlist"; -import {Advert} from "../../interfaces/advert"; -import {User} from "../../interfaces/user"; - -// ------------------------------------------------------------------------------------------------------------------------------ - -const TAB_VIDEO: Video[] = [ - { - _id: "Mowgli", - url: "https://www.youtube.com/watch?v=medPORJ8KO0", - title: "PNL - Mowgli", - description: "dans l'album Que la famille", - views: 11, - watched: [] - }, - { - _id: "Mexico", - url: "https://www.youtube.com/watch?v=LZx6oeNeoWM", - title: "PNL - Mexico", - description: "dans l'album Monde chico", - views: 22, - watched: [] - }, - { - _id: "Luz de luna", - url: "https://www.youtube.com/watch?v=fGoPhSV2Jic", - title: "PNL - Luz de luna", - description: "dans l'album Dans la legende", - views: 33, - watched: [] - }, - { - _id: "Blanka", - url: "https://www.youtube.com/watch?v=u8bHjdljyLw", - title: "PNL - Blanka", - description: "dans l'album Deux frères", - views: 44, - watched: [] - }, - { - _id: "Mowgli 2", - url: "https://www.dailymotion.com/video/x7ahxdn", - title: "PNL - Mowgli", - description: "exclu", - views: 55, - watched: [] - }, - { - _id: "Etre humain", - url: "https://www.youtube.com/watch?v=gfVo39B92Ow", - title: "Nekfeu - Etre humain", - description: "dans l'album feu", - views: 66, - watched: [] - }, - { - _id: "Humanoide", - url: "https://www.youtube.com/watch?v=MiyIg__WNOw", - title: "Nekfeu - Humanoide", - description: "dans l'album Cyborg", - views: 77, - watched: [] - }, - { - _id: "Dernier soupir", - url: "https://youtu.be/0GqjIF-4QQM?list=PLqeKQSn3LuAmpF-uIu39RIQRQkUzVol5l", - title: "Nekfeu - Dernier soupir", - description: "dans l'album Les etoiles vagabondes", - views: 88, - watched: [] - }, - { - _id: "Dernier soupir", - url: "https://youtu.be/0GqjIF-4QQM?list=PLqeKQSn3LuAmpF-uIu39RIQRQkUzVol5l", - title: "Nekfeu - Dernier soupir", - description: "dans l'album Les etoiles vagabondes", - views: 99, - watched: [] - }, - { - _id: "Les prélis", - url: "https://www.dailymotion.com/video/x4trtkd", - title: "Columbine - Les prélis", - description: "dans l'album Enfant terrible", - views: 100, - watched: [] - }, - { - _id: "Pierre feuille ciseau", - url: "https://www.dailymotion.com/video/x6agl6i", - title: "Columbine - Pierre feuille ciseau", - description: "exclu", - views: 111, - watched: [] - }, -]; - -// ------------------------------------------------------------------------------------------------------------------------------ - -const TAB_ADVERT: Advert[] = [ - { - _id: "idNutella", - title: "pot de nutella XXL", - advertiser: "nutella", - images: [ - { url: "nutella_v_1.jpeg", description: "image nutella 1" }, - { url: "nutella_v_2.png", description: "image nutella 2" }, - { url: "nutella_v_3.jpg", description: "image nutella 3" } - ], - tags: [ "bon", "petit-déjeuner", "chocolat" ], - comment: "pub pour vacances de noêl", - views: 5, - createdAt: new Date(), - updatedAt: new Date(), - isVisible: true - }, - { - _id: "idRolex", - title: "Rolex", - advertiser: "rolex", - images: [ - { url: "rolex_v_1.jpg", description: "rolex 1" }, - { url: "rolex_v_2.png", description: "rolex 2" }, - ], - tags: [ "montre", "luxe", "suisse" ], - comment: "pub pour cette année", - views: 2, - createdAt: new Date(), - updatedAt: new Date(), - isVisible: true - }, -]; - -// ------------------------------------------------------------------------------------------------------------------------------ - -const USER: User = { - _id: "ririId", - login: "Riri", - hashPass: "agourgroou", - mail: "riri@gmail.com", - role: { - name: "user", - permission: 0, - }, - profilePictureUrl: "https://www.figurines-goodies.com/1185-thickbox_default/huey-duck-tales-disney-funko-pop.jpg", - dateOfBirth: new Date(), - gender: "man", - interests: ["foot", "jeux-vidéo"], - isActive: true, - isAccepted: true, - createdAt: new Date(), - updatedAt: new Date(), - lastConnexion: new Date() -}; - -const ADVERTISER: User = { - _id: "fifiId", - login: "Fifi", - hashPass: "agourgroou", - mail: "fifi@gmail.com", - role: { - name: "advertiser", - permission: 5, - }, - profilePictureUrl: "https://www.figurines-goodies.com/1188-large_default/dewey-duck-tales-disney-funko-pop.jpg", - dateOfBirth: null, - gender: "", - interests: [], - isActive: true, - isAccepted: true, - createdAt: new Date(), - updatedAt: new Date(), - lastConnexion: new Date() -}; - -const ADMIN: User = { - _id: "loulouId", - login: "Loulou", - hashPass: "agourgroou", - mail: "loulou@gmail.com", - role: { - name: "admin", - permission: 5, - }, - profilePictureUrl: "https://www.reference-gaming.com/assets/media/product/41195/figurine-pop-duck-tales-n-309-loulou.jpg?format=product-cover-large&k=1519639530", - dateOfBirth: null, - gender: "", - interests: [], - isActive: true, - isAccepted: true, - createdAt: new Date(), - updatedAt: new Date(), - lastConnexion: new Date() -}; - -// ------------------------------------------------------------------------------------------------------------------------------ - -@Injectable({ - providedIn: 'root' -}) -export class FictitiousDatasService -{ - - private makeid(length) - { - let res = ''; - const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; - for( let i = 0; i < length; i++ ) { - const k = Math.floor(Math.random() * characters.length); - res += characters.charAt(k); - } - return res; - } - - private randomDate(start, end): Date - { - return new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime())); - } - - // ------------------------------------------------------------------------------------------------ - - getVideo(): Video - { - const index = Math.floor(Math.random() * TAB_VIDEO.length); - let video: Video = Object.assign({}, TAB_VIDEO[index]); - - // id - video._id = video._id + this.makeid(5); - - // watched - const nbWatched = 1 + Math.floor(Math.random() * 2); - const start = new Date(2021, 0, 1); - const end = new Date(); - video.watched = []; - for(let i=0 ; i { + let service: FictitiousAdvertsService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(FictitiousAdvertsService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/utils/services/fictitiousDatas/fictitiousAdverts/fictitious-adverts.service.ts b/src/app/utils/services/fictitiousDatas/fictitiousAdverts/fictitious-adverts.service.ts new file mode 100644 index 0000000..3d709b9 --- /dev/null +++ b/src/app/utils/services/fictitiousDatas/fictitiousAdverts/fictitious-adverts.service.ts @@ -0,0 +1,74 @@ +import { Injectable } from '@angular/core'; +import {Advert} from "../../../interfaces/advert"; +import {FictitiousUtilsService} from "../fictitiousUtils/fictitious-utils.service"; + + + +const TAB_ADVERT: Advert[] = [ + { + _id: "idNutella", + userId: "userId", + title: "pot de nutella XXL", + advertiser: "nutella", + images: [ + { url: "nutella_v_1.jpeg", description: "image nutella 1" }, + { url: "nutella_v_2.png", description: "image nutella 2" }, + { url: "nutella_v_3.jpg", description: "image nutella 3" } + ], + tags: [ "bon", "petit-déjeuner", "chocolat" ], + comment: "pub pour vacances de noêl", + views: 5, + isVisible: true, + isActive: true, + createdAt: new Date(), + updatedAt: new Date(), + }, + { + _id: "idRolex", + userId: "userId", + title: "Rolex", + advertiser: "rolex", + images: [ + { url: "rolex_v_1.jpg", description: "rolex 1" }, + { url: "rolex_v_2.png", description: "rolex 2" }, + ], + tags: [ "montre", "luxe", "suisse" ], + comment: "pub pour cette année", + views: 2, + isVisible: true, + isActive: true, + createdAt: new Date(), + updatedAt: new Date(), + }, +]; + + + +@Injectable({ + providedIn: 'root' +}) +export class FictitiousAdvertsService +{ + + constructor(private fictitiousUtilsService: FictitiousUtilsService) {} + + + getAdvert(): Advert + { + const idx = Math.floor(Math.random() * TAB_ADVERT.length); + let advert = Object.assign({}, TAB_ADVERT[idx]); + advert._id = advert._id + this.fictitiousUtilsService.makeid(5); + advert.tags = advert.tags.slice(); + advert.isVisible = (Math.random() < 0.5); + return advert; + } + + + getTabAdvert(n: number): Advert[] + { + let tabAdvert = []; + for(let i=0 ; i { - let service: FictitiousDatasService; +describe('FictitiousUsersService', () => { + let service: FictitiousUsersService; beforeEach(() => { TestBed.configureTestingModule({}); - service = TestBed.inject(FictitiousDatasService); + service = TestBed.inject(FictitiousUsersService); }); it('should be created', () => { diff --git a/src/app/utils/services/fictitiousDatas/fictitiousUsers/fictitious-users.service.ts b/src/app/utils/services/fictitiousDatas/fictitiousUsers/fictitious-users.service.ts new file mode 100644 index 0000000..c331fa7 --- /dev/null +++ b/src/app/utils/services/fictitiousDatas/fictitiousUsers/fictitious-users.service.ts @@ -0,0 +1,119 @@ +import { Injectable } from '@angular/core'; +import {User} from "../../../interfaces/user"; +import {FictitiousUtilsService} from "../fictitiousUtils/fictitious-utils.service"; + + + +const USER: User = { + _id: "ririId", + login: "Riri", + hashPass: "agourgroou", + email: "riri@gmail.com", + role: { + name: "user", + permission: 0, + }, + profileImageUrl: "https://www.figurines-goodies.com/1185-thickbox_default/huey-duck-tales-disney-funko-pop.jpg", + dateOfBirth: new Date(), + gender: "man", + interests: ["foot", "jeux-vidéo"], + isActive: true, + isAccepted: true, + lastConnexion: new Date(), + createdAt: new Date(), + updatedAt: new Date() +}; + +const ADVERTISER: User = { + _id: "fifiId", + login: "Fifi", + hashPass: "agourgroou", + email: "fifi@gmail.com", + role: { + name: "advertiser", + permission: 5, + }, + profileImageUrl: "https://www.figurines-goodies.com/1188-large_default/dewey-duck-tales-disney-funko-pop.jpg", + dateOfBirth: null, + gender: "", + interests: [], + isActive: true, + isAccepted: true, + lastConnexion: new Date(), + createdAt: new Date(), + updatedAt: new Date(), +}; + +const ADMIN: User = { + _id: "loulouId", + login: "Loulou", + hashPass: "agourgroou", + email: "loulou@gmail.com", + role: { + name: "admin", + permission: 5, + }, + profileImageUrl: "https://www.reference-gaming.com/assets/media/product/41195/figurine-pop-duck-tales-n-309-loulou.jpg?format=product-cover-large&k=1519639530", + dateOfBirth: null, + gender: "", + interests: [], + isActive: true, + isAccepted: true, + lastConnexion: new Date(), + createdAt: new Date(), + updatedAt: new Date(), +}; + + + +@Injectable({ + providedIn: 'root' +}) +export class FictitiousUsersService +{ + + constructor(private fictitiousUtilsService: FictitiousUtilsService) { } + + private getUserOrAdvertiserOrAdmin(modele: User): User + { + const res = Object.assign({}, modele); + res._id += this.fictitiousUtilsService.makeid(5); + res.login += (Math.floor(Math.random() * 1000)).toString(); + res.email = res.login + "@gmail.com" ; + res.isAccepted = (Math.random() < 0.5); + return res; + } + + getUser(): User { + return this.getUserOrAdvertiserOrAdmin(USER); + } + + getAdvertiser(): User { + return this.getUserOrAdvertiserOrAdmin(ADVERTISER); + } + + getAdmin(): User { + return this.getUserOrAdvertiserOrAdmin(ADMIN); + } + + getTabUser(n: number): User[] + { + const res: User[] = []; + for(let i=0 ; i { + let service: FictitiousUtilsService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(FictitiousUtilsService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/utils/services/fictitiousDatas/fictitiousUtils/fictitious-utils.service.ts b/src/app/utils/services/fictitiousDatas/fictitiousUtils/fictitious-utils.service.ts new file mode 100644 index 0000000..4c06ecf --- /dev/null +++ b/src/app/utils/services/fictitiousDatas/fictitiousUtils/fictitious-utils.service.ts @@ -0,0 +1,33 @@ +import { Injectable } from '@angular/core'; + + +@Injectable({ + providedIn: 'root' +}) +export class FictitiousUtilsService +{ + + makeid(length) + { + let res = ''; + const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; + for( let i = 0; i < length; i++ ) { + const k = Math.floor(Math.random() * characters.length); + res += characters.charAt(k); + } + return res; + } + + + randomDate(start, end): Date + { + return new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime())); + } + + + getTags(): string[] + { + return [ "musique", "rap", "rock", "sport", "foot", "basket", "tennis", "film", "action", "aventure", "horreur", "romance", "comedie"]; + } + +} diff --git a/src/app/utils/services/fictitiousDatas/fictitiousVideos/fictitious-videos.service.spec.ts b/src/app/utils/services/fictitiousDatas/fictitiousVideos/fictitious-videos.service.spec.ts new file mode 100644 index 0000000..e604845 --- /dev/null +++ b/src/app/utils/services/fictitiousDatas/fictitiousVideos/fictitious-videos.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { FictitiousVideosService } from './fictitious-videos.service'; + +describe('FictitiousVideosService', () => { + let service: FictitiousVideosService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(FictitiousVideosService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/utils/services/fictitiousDatas/fictitiousVideos/fictitious-videos.service.ts b/src/app/utils/services/fictitiousDatas/fictitiousVideos/fictitious-videos.service.ts new file mode 100644 index 0000000..c783fb3 --- /dev/null +++ b/src/app/utils/services/fictitiousDatas/fictitiousVideos/fictitious-videos.service.ts @@ -0,0 +1,226 @@ +import { Injectable } from '@angular/core'; +import {VideoAll} from "../../../interfaces/video"; +import {PlaylistDB} from "../../../interfaces/playlist"; +import {FictitiousUtilsService} from "../fictitiousUtils/fictitious-utils.service"; + + + +const TAB_VIDEO: VideoAll[] = [ + { + _id: "Mowgli", + videoId: "https://www.youtube.com/watch?v=medPORJ8KO0", + userId: "userId", + source: "youtube", + tags: [ "rap", "musique" ], + watchedDates: [new Date()], + createdAt: new Date(), + updatedAt: new Date(), + + title: "PNL - Mowgli", + views: 999999999, + publishedAt: new Date(), + imageUrl: "https://i.ytimg.com/vi/CaeH7TRnI3s/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCr4TMUqy_Lqi9_zh7efICrF_V_Vw", + description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. Ut in risus volutpat libero pharetra tempor. Cras vestibulum bibendum augue. Praesent egestas leo in pede. Praesent blandit odio eu enim. Pellentesque sed dui ut augue blandit sodales. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed pede pellentesque fermentum. Maecenas adipiscing ante non diam sodales hendrerit. " + }, + { + _id: "Mexico", + videoId: "https://www.youtube.com/watch?v=LZx6oeNeoWM", + userId: "userId", + source: "youtube", + tags: [ "rap", "musique" ], + watchedDates: [new Date()], + createdAt: new Date(), + updatedAt: new Date(), + + title: "PNL - Mexico", + views: 999999, + publishedAt: new Date(), + imageUrl: "https://i.ytimg.com/vi/LZx6oeNeoWM/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAIJsokYSLBB3TrnKhX5V1beCTrpQ", + description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. Ut in risus volutpat libero pharetra tempor. Cras vestibulum bibendum augue. Praesent egestas leo in pede. Praesent blandit odio eu enim. Pellentesque sed dui ut augue blandit sodales. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed pede pellentesque fermentum. Maecenas adipiscing ante non diam sodales hendrerit. " + }, + { + _id: "Luz de luna", + videoId: "https://www.youtube.com/watch?v=fGoPhSV2Jic", + userId: "userId", + source: "youtube", + tags: [ "rap", "musique" ], + watchedDates: [new Date()], + createdAt: new Date(), + updatedAt: new Date(), + + title: "PNL - Luz de luna", + views: 999999, + publishedAt: new Date(), + imageUrl: "https://i.ytimg.com/vi/fGoPhSV2Jic/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBICz3ZfnjAXQNZQniiCTRLbdyLcg", + description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. Ut in risus volutpat libero pharetra tempor. Cras vestibulum bibendum augue. Praesent egestas leo in pede. Praesent blandit odio eu enim. Pellentesque sed dui ut augue blandit sodales. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed pede pellentesque fermentum. Maecenas adipiscing ante non diam sodales hendrerit. " + }, + { + _id: "Blanka", + videoId: "https://www.youtube.com/watch?v=u8bHjdljyLw", + userId: "userId", + source: "youtube", + tags: [ "rap", "musique" ], + watchedDates: [new Date()], + createdAt: new Date(), + updatedAt: new Date(), + + title: "PNL - Blanka", + views: 999999, + publishedAt: new Date(), + imageUrl: "https://i.ytimg.com/vi/PCwZnN4zDiY/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCaA-xe5rkkYJbNCbSg0z27Lm1Hgw", + description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. Ut in risus volutpat libero pharetra tempor. Cras vestibulum bibendum augue. Praesent egestas leo in pede. Praesent blandit odio eu enim. Pellentesque sed dui ut augue blandit sodales. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed pede pellentesque fermentum. Maecenas adipiscing ante non diam sodales hendrerit. " + }, + { + _id: "Mowgli 2", + videoId: "https://www.dailymotion.com/video/x7ahxdn", + userId: "userId", + source: "dailymotion", + tags: [ "rap", "musique" ], + watchedDates: [new Date()], + createdAt: new Date(), + updatedAt: new Date(), + + title: "PNL - Mowgli 2", + views: 999999, + publishedAt: new Date(), + imageUrl: "https://i.ytimg.com/vi/tno1qRfO894/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCOBBR6c3woXXIbOSdU06quQcN7pw", + description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. Ut in risus volutpat libero pharetra tempor. Cras vestibulum bibendum augue. Praesent egestas leo in pede. Praesent blandit odio eu enim. Pellentesque sed dui ut augue blandit sodales. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed pede pellentesque fermentum. Maecenas adipiscing ante non diam sodales hendrerit. " + }, + { + _id: "Etre humain", + videoId: "https://www.youtube.com/watch?v=gfVo39B92Ow", + userId: "userId", + source: "youtube", + tags: [ "rap", "musique" ], + watchedDates: [new Date()], + createdAt: new Date(), + updatedAt: new Date(), + + title: "PNL - Etre humain", + views: 999999, + publishedAt: new Date(), + imageUrl: "https://i.ytimg.com/vi/gfVo39B92Ow/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCPJpBqTYk5Nj3RSgase3GdbT7_Pg", + description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. Ut in risus volutpat libero pharetra tempor. Cras vestibulum bibendum augue. Praesent egestas leo in pede. Praesent blandit odio eu enim. Pellentesque sed dui ut augue blandit sodales. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed pede pellentesque fermentum. Maecenas adipiscing ante non diam sodales hendrerit. " + }, + { + _id: "Humanoide", + videoId: "https://www.youtube.com/watch?v=MiyIg__WNOw", + userId: "userId", + source: "youtube", + tags: [ "rap", "musique" ], + watchedDates: [new Date()], + createdAt: new Date(), + updatedAt: new Date(), + + title: "Nekfeu - Humanoide", + views: 999999, + publishedAt: new Date(), + imageUrl: "https://i.ytimg.com/vi/MiyIg__WNOw/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDboAq0TRqXBFGgXdpOD_HOsRZucw", + description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. Ut in risus volutpat libero pharetra tempor. Cras vestibulum bibendum augue. Praesent egestas leo in pede. Praesent blandit odio eu enim. Pellentesque sed dui ut augue blandit sodales. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed pede pellentesque fermentum. Maecenas adipiscing ante non diam sodales hendrerit. ", + }, + { + _id: "Dernier soupir", + videoId: "https://youtu.be/0GqjIF-4QQM?list=PLqeKQSn3LuAmpF-uIu39RIQRQkUzVol5l", + userId: "userId", + source: "youtube", + tags: [ "rap", "musique" ], + watchedDates: [new Date()], + createdAt: new Date(), + updatedAt: new Date(), + + title: "Nekfeu - Dernier soupir", + views: 999999, + publishedAt: new Date(), + imageUrl: "https://i.ytimg.com/vi/-S5IKBvT34c/hqdefault.jpg?sqp=-oaymwEcCOADEI4CSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC1kVCIB2bQGmOH74I5puXIhn7HRQ", + description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. Ut in risus volutpat libero pharetra tempor. Cras vestibulum bibendum augue. Praesent egestas leo in pede. Praesent blandit odio eu enim. Pellentesque sed dui ut augue blandit sodales. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed pede pellentesque fermentum. Maecenas adipiscing ante non diam sodales hendrerit. ", + }, + { + _id: "Les prélis", + videoId: "https://www.dailymotion.com/video/x4trtkd", + userId: "userId", + source: "youtube", + tags: [ "rap", "musique" ], + watchedDates: [new Date()], + createdAt: new Date(), + updatedAt: new Date(), + + title: "Columbine - Les prélis", + views: 999999, + publishedAt: new Date(), + imageUrl: "https://i.ytimg.com/an_webp/LfFI3bzMLU0/mqdefault_6s.webp?du=3000&sqp=CKq33owG&rs=AOn4CLDZmaPGWwcuo9yUWJ-xOzA69r2Qrw", + description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. Ut in risus volutpat libero pharetra tempor. Cras vestibulum bibendum augue. Praesent egestas leo in pede. Praesent blandit odio eu enim. Pellentesque sed dui ut augue blandit sodales. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed pede pellentesque fermentum. Maecenas adipiscing ante non diam sodales hendrerit. ", + }, + { + _id: "Pierre feuille ciseau", + videoId: "https://www.dailymotion.com/video/x6agl6i", + userId: "userId", + source: "dailymotion", + tags: [ "rap", "musique" ], + watchedDates: [new Date()], + createdAt: new Date(), + updatedAt: new Date(), + + title: "Columbine - Pierre feuille ciseau", + views: 999999, + publishedAt: new Date(), + imageUrl: "https://i.ytimg.com/vi/tTo7CrPlbpI/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAhC5bWURH9R8Icdkv6LWRgsW2G-Q", + description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. Ut in risus volutpat libero pharetra tempor. Cras vestibulum bibendum augue. Praesent egestas leo in pede. Praesent blandit odio eu enim. Pellentesque sed dui ut augue blandit sodales. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed pede pellentesque fermentum. Maecenas adipiscing ante non diam sodales hendrerit. ", + }, +]; + + + +@Injectable({ + providedIn: 'root' +}) +export class FictitiousVideosService +{ + + constructor(private fictitiousUtilsService: FictitiousUtilsService) {} + + + getVideoAll(): VideoAll + { + const index = Math.floor(Math.random() * TAB_VIDEO.length); + return TAB_VIDEO[index]; + //return Object.assign({}, TAB_VIDEO[index]); + } + + + getTabVideoAll(nbVideo: number): VideoAll[] + { + let tabVideo = []; + for(let i=0 ; i x._id), + isActive: true, + createdAt: new Date(), + updatedAt: new Date() + }); + } + + return tabPlaylist; + } + + + getAllVideoAll(): VideoAll[] + { + return TAB_VIDEO; + } + +} diff --git a/src/assets/logo_plateforms/Dailymotion.png b/src/assets/logo_plateforms/dailymotion.png similarity index 100% rename from src/assets/logo_plateforms/Dailymotion.png rename to src/assets/logo_plateforms/dailymotion.png diff --git a/src/assets/logo_plateforms/Youtube.png b/src/assets/logo_plateforms/youtube.png similarity index 100% rename from src/assets/logo_plateforms/Youtube.png rename to src/assets/logo_plateforms/youtube.png diff --git a/src/assets/play1.png b/src/assets/play1.png new file mode 100644 index 0000000000000000000000000000000000000000..5a418f281cc5fda8f8ff85e9c5b3fa2741629162 GIT binary patch literal 11129 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 literal 0 HcmV?d00001 diff --git a/src/assets/play2.png b/src/assets/play2.png new file mode 100644 index 0000000000000000000000000000000000000000..fce0322bf7445c35ddd1f06ced32249845e60229 GIT binary patch literal 35360 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 literal 0 HcmV?d00001 diff --git a/src/assets/play3.png b/src/assets/play3.png new file mode 100644 index 0000000000000000000000000000000000000000..f01512d28aea020c2b7ec6ede72411fb6a1ab170 GIT binary patch literal 4424 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ಽUAR;7(A1phstZCH(F~m4da2Sr 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π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