From 312ab6b80b377845ee88dcd8089d793e51b6f0a2 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Sat, 5 Oct 2019 22:46:51 +0200 Subject: [PATCH] Adding collections support. --- Kyoo/ClientApp/src/app/app-routing.module.ts | 8 ++- Kyoo/ClientApp/src/app/app.component.html | 4 +- Kyoo/ClientApp/src/app/app.component.ts | 9 +-- Kyoo/ClientApp/src/app/app.module.ts | 8 ++- .../src/app/browse/browse.component.html | 4 +- .../src/app/browse/browse.component.scss | 3 +- .../app/collection/collection.component.html | 1 + .../app/collection/collection.component.scss | 0 .../collection/collection.component.spec.ts | 25 ++++++++ .../app/collection/collection.component.ts | 15 +++++ .../episodes-list.component.scss | 9 --- .../src/app/player/player.component.html | 18 +++--- .../services/collection-resolver.service.ts | 32 ++++++++++ .../show-details/show-details.component.html | 10 +-- .../show-details/show-details.component.scss | 13 ++-- Kyoo/ClientApp/src/models/collection.js | 3 + Kyoo/ClientApp/src/models/collection.js.map | 1 + Kyoo/ClientApp/src/models/collection.ts | 9 +++ Kyoo/Controllers/CollectionController.cs | 30 +++++++++ .../LibraryManager/ILibraryManager.cs | 3 + .../LibraryManager/LibraryManager.cs | 63 +++++++++++++++++++ Kyoo/Kyoo.csproj | 2 + Kyoo/Models/Collection.cs | 42 +++++++++++++ Kyoo/Program.cs | 2 + Kyoo/appsettings.json | 2 +- 25 files changed, 270 insertions(+), 46 deletions(-) create mode 100644 Kyoo/ClientApp/src/app/collection/collection.component.html create mode 100644 Kyoo/ClientApp/src/app/collection/collection.component.scss create mode 100644 Kyoo/ClientApp/src/app/collection/collection.component.spec.ts create mode 100644 Kyoo/ClientApp/src/app/collection/collection.component.ts create mode 100644 Kyoo/ClientApp/src/app/services/collection-resolver.service.ts create mode 100644 Kyoo/ClientApp/src/models/collection.js create mode 100644 Kyoo/ClientApp/src/models/collection.js.map create mode 100644 Kyoo/ClientApp/src/models/collection.ts create mode 100644 Kyoo/Controllers/CollectionController.cs create mode 100644 Kyoo/Models/Collection.cs diff --git a/Kyoo/ClientApp/src/app/app-routing.module.ts b/Kyoo/ClientApp/src/app/app-routing.module.ts index 9ab10171..668c8d09 100644 --- a/Kyoo/ClientApp/src/app/app-routing.module.ts +++ b/Kyoo/ClientApp/src/app/app-routing.module.ts @@ -8,18 +8,24 @@ import { ShowResolverService } from './services/show-resolver.service'; import { LibraryResolverService } from './services/library-resolver.service'; import { PlayerComponent } from "./player/player.component"; import { StreamResolverService } from "./services/stream-resolver.service"; +import { CollectionComponent } from "./collection/collection.component"; +import { CollectionResolverService } from "./services/collection-resolver.service"; const routes: Routes = [ { path: "browse", component: BrowseComponent, pathMatch: "full", resolve: { shows: LibraryResolverService } }, { path: "browse/:library-slug", component: BrowseComponent, resolve: { shows: LibraryResolverService } }, { path: "show/:show-slug", component: ShowDetailsComponent, resolve: { show: ShowResolverService } }, + { path: "collection/:collection-slug", component: CollectionComponent, resolve: { shows: CollectionResolverService } }, { path: "watch/:item", component: PlayerComponent, resolve: { item: StreamResolverService } }, { path: "**", component: NotFoundComponent } ]; @NgModule({ - imports: [RouterModule.forRoot(routes)], + imports: [RouterModule.forRoot(routes, + { + scrollPositionRestoration: "enabled" + })], exports: [RouterModule], providers: [LibraryResolverService, ShowResolverService, StreamResolverService] }) diff --git a/Kyoo/ClientApp/src/app/app.component.html b/Kyoo/ClientApp/src/app/app.component.html index 60fde282..e2a76bd6 100644 --- a/Kyoo/ClientApp/src/app/app.component.html +++ b/Kyoo/ClientApp/src/app/app.component.html @@ -16,10 +16,10 @@