From 2d3741d6d92e9bd1f41694c7442a6d1da434e1f2 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 30 Aug 2018 14:58:00 +0200 Subject: Videos overview page: first version --- .../videos/+video-watch/video-watch.component.html | 28 +++++------ .../video-list/video-overview.component.html | 35 ++++++++++++++ .../video-list/video-overview.component.scss | 22 +++++++++ .../videos/video-list/video-overview.component.ts | 56 ++++++++++++++++++++++ client/src/app/videos/videos-routing.module.ts | 10 ++++ client/src/app/videos/videos.module.ts | 4 +- 6 files changed, 140 insertions(+), 15 deletions(-) create mode 100644 client/src/app/videos/video-list/video-overview.component.html create mode 100644 client/src/app/videos/video-list/video-overview.component.scss create mode 100644 client/src/app/videos/video-list/video-overview.component.ts (limited to 'client/src/app/videos') diff --git a/client/src/app/videos/+video-watch/video-watch.component.html b/client/src/app/videos/+video-watch/video-watch.component.html index 333c9d11b..2c8305777 100644 --- a/client/src/app/videos/+video-watch/video-watch.component.html +++ b/client/src/app/videos/+video-watch/video-watch.component.html @@ -38,7 +38,7 @@ Published {{ video.publishedAt | myFromNow }} - {{ video.views | myNumberFormatter }} views - +
{{ video.name }}
@@ -46,7 +46,7 @@
Published {{ video.publishedAt | myFromNow }} - {{ video.views | myNumberFormatter }} views
-
+
@@ -56,57 +56,57 @@ >
- +
- +
Support
- +
Share
- +
- +
- +
diff --git a/client/src/app/videos/video-list/video-overview.component.html b/client/src/app/videos/video-list/video-overview.component.html new file mode 100644 index 000000000..9282dd59c --- /dev/null +++ b/client/src/app/videos/video-list/video-overview.component.html @@ -0,0 +1,35 @@ +
+ +
No results.
+ + + +
+ + +
+ +
+
+ + + +
diff --git a/client/src/app/videos/video-list/video-overview.component.scss b/client/src/app/videos/video-list/video-overview.component.scss new file mode 100644 index 000000000..8d66cf80a --- /dev/null +++ b/client/src/app/videos/video-list/video-overview.component.scss @@ -0,0 +1,22 @@ +@import '_variables'; +@import '_mixins'; + +.section { + padding-top: 10px; + + &:first-child { + padding-top: 30px; + } +} + +.section-title { + font-size: 17px; + font-weight: $font-semibold; + margin-bottom: 20px; + + a { + @include disable-default-a-behaviour; + + color: #000; + } +} \ No newline at end of file diff --git a/client/src/app/videos/video-list/video-overview.component.ts b/client/src/app/videos/video-list/video-overview.component.ts new file mode 100644 index 000000000..c758e115c --- /dev/null +++ b/client/src/app/videos/video-list/video-overview.component.ts @@ -0,0 +1,56 @@ +import { Component, OnInit } from '@angular/core' +import { AuthService } from '@app/core' +import { NotificationsService } from 'angular2-notifications' +import { I18n } from '@ngx-translate/i18n-polyfill' +import { VideosOverview } from '@app/shared/overview/videos-overview.model' +import { OverviewService } from '@app/shared/overview' +import { Video } from '@app/shared/video/video.model' + +@Component({ + selector: 'my-video-overview', + templateUrl: './video-overview.component.html', + styleUrls: [ './video-overview.component.scss' ] +}) +export class VideoOverviewComponent implements OnInit { + overview: VideosOverview = { + categories: [], + channels: [], + tags: [] + } + notResults = false + + constructor ( + private i18n: I18n, + private notificationsService: NotificationsService, + private authService: AuthService, + private overviewService: OverviewService + ) { } + + get user () { + return this.authService.getUser() + } + + ngOnInit () { + this.overviewService.getVideosOverview() + .subscribe( + overview => { + this.overview = overview + + if ( + this.overview.categories.length === 0 && + this.overview.channels.length === 0 && + this.overview.tags.length === 0 + ) this.notResults = true + }, + + err => { + console.log(err) + this.notificationsService.error('Error', err.text) + } + ) + } + + buildVideoChannelBy (object: { videos: Video[] }) { + return object.videos[0].byVideoChannel + } +} diff --git a/client/src/app/videos/videos-routing.module.ts b/client/src/app/videos/videos-routing.module.ts index 18ed52570..58988ffd1 100644 --- a/client/src/app/videos/videos-routing.module.ts +++ b/client/src/app/videos/videos-routing.module.ts @@ -6,6 +6,7 @@ import { VideoRecentlyAddedComponent } from './video-list/video-recently-added.c import { VideoTrendingComponent } from './video-list/video-trending.component' import { VideosComponent } from './videos.component' import { VideoUserSubscriptionsComponent } from '@app/videos/video-list/video-user-subscriptions.component' +import { VideoOverviewComponent } from '@app/videos/video-list/video-overview.component' const videosRoutes: Routes = [ { @@ -13,6 +14,15 @@ const videosRoutes: Routes = [ component: VideosComponent, canActivateChild: [ MetaGuard ], children: [ + { + path: 'overview', + component: VideoOverviewComponent, + data: { + meta: { + title: 'Videos overview' + } + } + }, { path: 'trending', component: VideoTrendingComponent, diff --git a/client/src/app/videos/videos.module.ts b/client/src/app/videos/videos.module.ts index 3c3877273..5cf1e944f 100644 --- a/client/src/app/videos/videos.module.ts +++ b/client/src/app/videos/videos.module.ts @@ -6,6 +6,7 @@ import { VideoTrendingComponent } from './video-list/video-trending.component' import { VideosRoutingModule } from './videos-routing.module' import { VideosComponent } from './videos.component' import { VideoUserSubscriptionsComponent } from '@app/videos/video-list/video-user-subscriptions.component' +import { VideoOverviewComponent } from '@app/videos/video-list/video-overview.component' @NgModule({ imports: [ @@ -19,7 +20,8 @@ import { VideoUserSubscriptionsComponent } from '@app/videos/video-list/video-us VideoTrendingComponent, VideoRecentlyAddedComponent, VideoLocalComponent, - VideoUserSubscriptionsComponent + VideoUserSubscriptionsComponent, + VideoOverviewComponent ], exports: [ -- cgit v1.2.3