Commit Graph

327 Commits (989e526abf0c0dd7958deb630df009608561bb67)

Author SHA1 Message Date
Chocobozzz ea9f487b40 Client: fixed header and menu 2017-04-26 21:23:19 +02:00
Chocobozzz 09223546a4 Client Better design for video watch 2017-04-26 21:23:19 +02:00
Chocobozzz 383bfc8356 Client: responsive design 2017-04-26 21:23:19 +02:00
Green-Star 198b205c10 Add ability for an administrator to remove any video (#61)
* Add ability for an admin to remove every video on the pod.

* Server: add BlacklistedVideos relation.

* Server: Insert in BlacklistedVideos relation upon deletion of a video.

* Server: Modify BlacklistedVideos schema to add Pod id information.

* Server: Moving insertion of a blacklisted video from the `afterDestroy` hook into the process of deletion of a video.

To avoid inserting a video when it is removed on its origin pod.
When a video is removed on its origin pod, the `afterDestroy` hook is fire, but no request is made on the delete('/:videoId') interface.
Hence, we insert into `BlacklistedVideos` only on request on delete('/:videoId') (if requirements for insertion are met).

* Server: Add removeVideoFromBlacklist hook on deletion of a video.

We are going to proceed in another way :).
We will add a new route : /:videoId/blacklist to blacklist a video.
We do not blacklist a video upon its deletion now (to distinguish a video blacklist from a regular video delete)
When we blacklist a video, the video remains in the DB, so we don't have any concern about its update. It just doesn't appear in the video list.
When we remove a video, we then have to remove it from the blacklist too.
We could also remove a video from the blacklist to 'unremove' it and make it appear again in the video list (will be another feature).

* Server: Add handler for new route post(/:videoId/blacklist)

* Client: Add isBlacklistable method

* Client: Update isRemovableBy method.

* Client: Move 'Delete video' feature from the video-list to the video-watch module.

* Server: Exclude blacklisted videos from the video list

* Server: Use findAll() in BlacklistedVideos.list() method

* Server: Fix addVideoToBlacklist function.

* Client: Add blacklist feature.

* Server: Use JavaScript Standard Style.

* Server: In checkUserCanDeleteVideo, move the callback call inside the db callback function

* Server: Modify BlacklistVideo relation

* Server: Modifiy Videos methods.

* Server: Add checkVideoIsBlacklistable method

* Server: Rewrite addVideoToBlacklist method

* Server: Fix checkVideoIsBlacklistable method

* Server: Add return to addVideoToBlacklist method
2017-04-26 21:22:10 +02:00
Chocobozzz 3758da9489 Client: use ng2-tag-input for forms with video tags 2017-04-16 14:06:48 +02:00
Chocobozzz ad42bea3a5 Client: update to angular 4 2017-04-12 22:00:17 +02:00
Chocobozzz d8e689b864 Client: add basic support for updating a video 2017-04-10 21:16:36 +02:00
Chocobozzz db216afd98 Client: support video language 2017-04-07 14:57:05 +02:00
Chocobozzz 92fb909c9b Client: Handle NSFW video 2017-04-04 21:37:03 +02:00
Chocobozzz d07137b90b Client: add support for video licences 2017-03-27 21:11:37 +02:00
Chocobozzz e54163c2d5 Relax on tags (accept any characters and not required anymore) 2017-03-22 21:56:02 +01:00
Chocobozzz 6e07c3de88 Add video category support 2017-03-22 21:25:24 +01:00
Chocobozzz 55b3394641 Client: fix routes title 2017-03-12 18:40:05 +01:00
Chocobozzz a2457e9de4 Client: fix prod compilation 2017-03-10 10:42:02 +01:00
Chocobozzz 758b996dc6 Client: switch to @nglibs/meta 2017-03-10 10:33:36 +01:00
Chocobozzz 86e8393986 Allow to sort by likes 2017-03-08 21:52:25 +01:00
Chocobozzz d38b828106 Add like/dislike system for videos 2017-03-08 21:35:43 +01:00
Chocobozzz e2a2d6c86c Client: check token valitidy at startup 2017-03-04 11:45:47 +01:00
Chocobozzz 05a9feaa48 Client: add views information and sort 2017-02-26 20:01:26 +01:00
Chocobozzz 7af75da41b Client: fix lint 2017-02-10 11:52:45 +01:00
Chocobozzz 13fc89f4a4 Client: notify client if there are webtorrent errors 2017-01-29 18:35:19 +01:00
Chocobozzz 5769e1db8d Client: better confirm box for a beautiful world 2017-01-27 16:59:56 +01:00
Chocobozzz 7ddd02c9b8 Client: better notifications for a beautiful world 2017-01-27 16:14:11 +01:00
Chocobozzz 0d4fb7e6d4 Client: fix video timeout 2017-01-27 11:30:36 +01:00
Chocobozzz 11ac88de40 Client: add basic support to report video abuses 2017-01-23 22:18:53 +01:00
Chocobozzz 4f8c0eb0e9 Client: add ability to report a video 2017-01-20 19:22:15 +01:00
Chocobozzz cdcbc81077 Client: update ng2-meta 2017-01-13 14:31:33 +01:00
Chocobozzz c16ce1de8e Client: add basic aot support 2017-01-13 12:16:00 +01:00
Chocobozzz d396a937b6 Client: upgrade angular dep' 2016-12-29 17:34:29 +01:00
Chocobozzz feb4bdfd9b First version with PostgreSQL 2016-12-19 21:22:28 +01:00
Chocobozzz da19d94b63 Client: redirect /videos/:id to /videos/watch/:id 2016-11-29 21:57:19 +01:00
Chocobozzz bf57d5eebf Client: try to improve ux for the upload form 2016-11-27 18:10:26 +01:00
Chocobozzz 693b1aba46 Client: split in angular modules 2016-11-21 22:09:45 +01:00
Chocobozzz 2c8d4697db Client: add warning if the user want to embed a video of a non https website 2016-11-21 22:09:45 +01:00
Chocobozzz cf02fbfb17 Client: move video watch modals in their own component 2016-11-21 22:09:45 +01:00
Chocobozzz 9c89a45cb2 Client: add video not found message if the video... is not found 2016-11-16 20:29:26 +01:00
Chocobozzz 49abbbbedc Pod URL -> pod host. HTTPS is required to make friends.
Reason: in a network with mix http/https pods, https pods won't be able
to play videos from http pod (insecure requests).
2016-11-16 20:29:26 +01:00
Chocobozzz 067e3f84ce Client: remove videojs on destroy 2016-11-08 21:17:17 +01:00
Chocobozzz 99cc4f4948 Client: add share button 2016-11-08 21:11:57 +01:00
Chocobozzz e31f6ad637 Client: use videojs as player 2016-11-08 20:49:43 +01:00
Chocobozzz 3bb2c7f99d Prepare embed page 2016-11-07 22:35:37 +01:00
Chocobozzz 3ec343a41d Client: add opengraph tags 2016-11-04 17:37:44 +01:00
Chocobozzz b58c69a1ed Client: add titles to all pages 2016-11-04 17:25:26 +01:00
Chocobozzz 3154f38219 Client: allow to copy magnet uri 2016-11-04 16:23:18 +01:00
Chocobozzz d1992b93f0 Client: add more informations to watch video view 2016-11-04 16:04:50 +01:00
Chocobozzz 4648530318 Client: fix form upload validation on key enter 2016-10-17 21:14:13 +02:00
Chocobozzz 1a00504203 Client: fix progress bar and tags validation issues 2016-10-07 14:52:18 +02:00
Chocobozzz a6375e6966 Merge branch 'master' into webseed-merged 2016-10-02 15:39:09 +02:00
Chocobozzz da4971c11f Client: fix error alert 2016-09-26 22:54:34 +02:00
Chocobozzz ec8d8440a8 Client: use templateUrl/styleUrls instead of require 2016-09-19 22:49:31 +02:00
Chocobozzz 4b2f33f3c6 Client: reactive forms 2016-09-09 22:16:51 +02:00
Chocobozzz ab32b0fc80 Dirty update to Angular RC6 2016-09-06 22:40:57 +02:00
Chocobozzz bf68dd752d Client: fix error display for component 2016-08-23 17:42:56 +02:00
Chocobozzz de59c48f5f Client: centralize http res extraction in a service 2016-08-23 16:54:21 +02:00
Chocobozzz 0f6da32b14 Client: update to new form api 2016-08-23 14:37:49 +02:00
Chocobozzz 7eef95353f Client: reset pagination when we search something 2016-08-15 19:05:52 +02:00
Chocobozzz c323efb9cd Update webtorrent -> 0.96 2016-08-12 17:35:10 +02:00
Chocobozzz 7da18e4420 Client: add user management 2016-08-09 21:45:21 +02:00
Chocobozzz 71d3476b82 Client: clear timeout error timer for video watch 2016-07-27 21:21:57 +02:00
Chocobozzz 11975ce845 Client: increase min height for videos list 2016-07-22 11:43:09 +02:00
Chocobozzz 1e128cdbb9 Client: video name in the link title for videos list template 2016-07-21 15:47:25 +02:00
Chocobozzz bd5c83a8cb Client: Add authHttp service that authentificates the http request and
optionally refresh the access token if needed
2016-07-20 16:25:06 +02:00
Chocobozzz a64668c024 Client: try to make it work with Android Firefox 2016-07-19 16:45:07 +02:00
Chocobozzz bddab65ae5 Client: save page params as well 2016-07-18 15:39:10 +02:00
Chocobozzz 0629423ce3 Client: Update to Angular RC4 2016-07-18 14:26:56 +02:00
Chocobozzz efb9afc3e8 Client: fix pagination component 2016-07-06 19:56:23 +02:00
Chocobozzz c6de16eb1d Fix redirection after the upload of a video 2016-06-10 18:14:01 +02:00
Chocobozzz 00a446454d Add tags support to the video list 2016-06-10 17:46:29 +02:00
Chocobozzz e822fdaeee Use ng2-file-upload instead of jquery and add tags support to the video
upload form
2016-06-07 22:34:02 +02:00
Chocobozzz 3ad109e449 Add an alert if the video load seems to be too long 2016-06-05 12:20:53 +02:00
Chocobozzz 5555f886c0 Do not import whole rxjs 2016-06-05 09:34:41 +02:00
Chocobozzz e56b20f587 Add loader indication when loading videos list 2016-06-05 08:48:44 +02:00
Chocobozzz 1cdb5c0f58 Handle error for the video upload 2016-06-04 20:37:38 +02:00
Chocobozzz 443ecefe67 Reload videos after removing one to avoid issues with paging etc 2016-06-04 19:02:32 +02:00
Chocobozzz 7914607ecd Apply a fade instead of a loader when loading videos 2016-06-04 18:53:11 +02:00
Chocobozzz af14488f61 Fix styling when clicking on a thumbnail video 2016-06-04 11:29:27 +02:00
Chocobozzz 4a6995be18 First draft to use webpack instead of systemjs 2016-06-03 22:08:03 +02:00