@@ -39,48 +23,11 @@
diff --git a/src/Ombi/ClientApp/src/app/media-details/movie/movie-details.component.ts b/src/Ombi/ClientApp/src/app/media-details/components/movie/movie-details.component.ts
similarity index 93%
rename from src/Ombi/ClientApp/src/app/media-details/movie/movie-details.component.ts
rename to src/Ombi/ClientApp/src/app/media-details/components/movie/movie-details.component.ts
index 734f55fd7..e65404f35 100644
--- a/src/Ombi/ClientApp/src/app/media-details/movie/movie-details.component.ts
+++ b/src/Ombi/ClientApp/src/app/media-details/components/movie/movie-details.component.ts
@@ -1,16 +1,16 @@
import { Component, ViewEncapsulation } from "@angular/core";
-import { ImageService, SearchV2Service, RequestService, MessageService, RadarrService } from "../../services";
+import { ImageService, SearchV2Service, RequestService, MessageService, RadarrService } from "../../../services";
import { ActivatedRoute } from "@angular/router";
import { DomSanitizer } from "@angular/platform-browser";
-import { ISearchMovieResultV2 } from "../../interfaces/ISearchMovieResultV2";
+import { ISearchMovieResultV2 } from "../../../interfaces/ISearchMovieResultV2";
import { MatDialog } from "@angular/material";
-import { YoutubeTrailerComponent } from "../youtube-trailer.component";
-import { AuthService } from "../../auth/auth.service";
-import { IMovieRequests, IRadarrProfile, IRadarrRootFolder } from "../../interfaces";
+import { YoutubeTrailerComponent } from "../shared/youtube-trailer.component";
+import { AuthService } from "../../../auth/auth.service";
+import { IMovieRequests, IRadarrProfile, IRadarrRootFolder } from "../../../interfaces";
@Component({
templateUrl: "./movie-details.component.html",
- styleUrls: ["../media-details.component.scss"],
+ styleUrls: ["../../media-details.component.scss"],
encapsulation: ViewEncapsulation.None
})
export class MovieDetailsComponent {
diff --git a/src/Ombi/ClientApp/src/app/media-details/movie/panels/movie-information-panel.component.html b/src/Ombi/ClientApp/src/app/media-details/components/movie/panels/movie-information-panel.component.html
similarity index 100%
rename from src/Ombi/ClientApp/src/app/media-details/movie/panels/movie-information-panel.component.html
rename to src/Ombi/ClientApp/src/app/media-details/components/movie/panels/movie-information-panel.component.html
diff --git a/src/Ombi/ClientApp/src/app/media-details/movie/panels/movie-information-panel.component.ts b/src/Ombi/ClientApp/src/app/media-details/components/movie/panels/movie-information-panel.component.ts
similarity index 69%
rename from src/Ombi/ClientApp/src/app/media-details/movie/panels/movie-information-panel.component.ts
rename to src/Ombi/ClientApp/src/app/media-details/components/movie/panels/movie-information-panel.component.ts
index c27a65855..5d5d9005e 100644
--- a/src/Ombi/ClientApp/src/app/media-details/movie/panels/movie-information-panel.component.ts
+++ b/src/Ombi/ClientApp/src/app/media-details/components/movie/panels/movie-information-panel.component.ts
@@ -1,9 +1,9 @@
import { Component, ViewEncapsulation, Input } from "@angular/core";
-import { ISearchMovieResultV2 } from "../../../interfaces/ISearchMovieResultV2";
+import { ISearchMovieResultV2 } from "../../../../interfaces/ISearchMovieResultV2";
@Component({
templateUrl: "./movie-information-panel.component.html",
- styleUrls: ["../../media-details.component.scss"],
+ styleUrls: ["../../../media-details.component.scss"],
selector: "movie-information-panel",
encapsulation: ViewEncapsulation.None
})
diff --git a/src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.html b/src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.html
new file mode 100644
index 000000000..ef5e29537
--- /dev/null
+++ b/src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.html
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.ts b/src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.ts
new file mode 100644
index 000000000..c21bc10cc
--- /dev/null
+++ b/src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.ts
@@ -0,0 +1,27 @@
+import { Component, Inject, Input, Output, EventEmitter } from "@angular/core";
+
+@Component({
+ selector: "social-icons",
+ templateUrl: "./social-icons.component.html",
+})
+export class SocialIconsComponent {
+
+ @Input() homepage: string;
+ @Input() theMoviedbId: number;
+ @Input() hasTrailer: boolean;
+ @Input() imdbId: string;
+ @Input() tvdbId: string;
+ @Input() twitter: string;
+ @Input() facebook: string;
+ @Input() instagram: string;
+ @Input() available: boolean;
+ @Input() plexUrl: string;
+ @Input() embyUrl: string;
+
+ @Output() openTrailer: EventEmitter
;
+
+
+ public openDialog() {
+ this.openTrailer.emit;
+ }
+}
diff --git a/src/Ombi/ClientApp/src/app/media-details/components/shared/top-banner/top-banner.component.html b/src/Ombi/ClientApp/src/app/media-details/components/shared/top-banner/top-banner.component.html
new file mode 100644
index 000000000..d33fd7788
--- /dev/null
+++ b/src/Ombi/ClientApp/src/app/media-details/components/shared/top-banner/top-banner.component.html
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
{{title}}
+ ({{releaseDate | amLocal | amDateFormat: 'YYYY'}})
+
+
+ {{tagline}}
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Ombi/ClientApp/src/app/media-details/components/shared/top-banner/top-banner.component.ts b/src/Ombi/ClientApp/src/app/media-details/components/shared/top-banner/top-banner.component.ts
new file mode 100644
index 000000000..f833a197a
--- /dev/null
+++ b/src/Ombi/ClientApp/src/app/media-details/components/shared/top-banner/top-banner.component.ts
@@ -0,0 +1,15 @@
+import { Component, Inject, Input } from "@angular/core";
+
+@Component({
+ selector: "top-banner",
+ templateUrl: "./top-banner.component.html",
+})
+export class TopBannerComponent {
+
+ @Input() title: string;
+ @Input() releaseDate: Date;
+ @Input() tagline: string;
+ @Input() available: boolean;
+ @Input() background: any;
+
+}
diff --git a/src/Ombi/ClientApp/src/app/media-details/youtube-trailer.component.html b/src/Ombi/ClientApp/src/app/media-details/components/shared/youtube-trailer.component.html
similarity index 100%
rename from src/Ombi/ClientApp/src/app/media-details/youtube-trailer.component.html
rename to src/Ombi/ClientApp/src/app/media-details/components/shared/youtube-trailer.component.html
diff --git a/src/Ombi/ClientApp/src/app/media-details/youtube-trailer.component.ts b/src/Ombi/ClientApp/src/app/media-details/components/shared/youtube-trailer.component.ts
similarity index 100%
rename from src/Ombi/ClientApp/src/app/media-details/youtube-trailer.component.ts
rename to src/Ombi/ClientApp/src/app/media-details/components/shared/youtube-trailer.component.ts
diff --git a/src/Ombi/ClientApp/src/app/media-details/tv/panels/tv-information-panel.component.html b/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-information-panel.component.html
similarity index 100%
rename from src/Ombi/ClientApp/src/app/media-details/tv/panels/tv-information-panel.component.html
rename to src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-information-panel.component.html
diff --git a/src/Ombi/ClientApp/src/app/media-details/tv/panels/tv-information-panel.component.ts b/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-information-panel.component.ts
similarity index 69%
rename from src/Ombi/ClientApp/src/app/media-details/tv/panels/tv-information-panel.component.ts
rename to src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-information-panel.component.ts
index 0981fbb31..645cbde11 100644
--- a/src/Ombi/ClientApp/src/app/media-details/tv/panels/tv-information-panel.component.ts
+++ b/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-information-panel.component.ts
@@ -1,9 +1,9 @@
import { Component, ViewEncapsulation, Input } from "@angular/core";
-import { ISearchTvResultV2 } from "../../../interfaces/ISearchTvResultV2";
+import { ISearchTvResultV2 } from "../../../../interfaces/ISearchTvResultV2";
@Component({
templateUrl: "./tv-information-panel.component.html",
- styleUrls: ["../../media-details.component.scss"],
+ styleUrls: ["../../../media-details.component.scss"],
selector: "tv-information-panel",
encapsulation: ViewEncapsulation.None
})
diff --git a/src/Ombi/ClientApp/src/app/media-details/tv/tv-details.component.html b/src/Ombi/ClientApp/src/app/media-details/components/tv/tv-details.component.html
similarity index 76%
rename from src/Ombi/ClientApp/src/app/media-details/tv/tv-details.component.html
rename to src/Ombi/ClientApp/src/app/media-details/components/tv/tv-details.component.html
index 53c47b9c9..1de945890 100644
--- a/src/Ombi/ClientApp/src/app/media-details/tv/tv-details.component.html
+++ b/src/Ombi/ClientApp/src/app/media-details/components/tv/tv-details.component.html
@@ -1,25 +1,7 @@
-
-
-
-
-
-
-
-
-
-
{{tv.title}} ({{tv.firstAired | amLocal | amDateFormat: 'YYYY'}})
-
-
- {{tv.certification}}
-
-
-
-
-
+
diff --git a/src/Ombi/ClientApp/src/app/media-details/tv/tv-details.component.ts b/src/Ombi/ClientApp/src/app/media-details/components/tv/tv-details.component.ts
similarity index 85%
rename from src/Ombi/ClientApp/src/app/media-details/tv/tv-details.component.ts
rename to src/Ombi/ClientApp/src/app/media-details/components/tv/tv-details.component.ts
index 70f6762db..326594d98 100644
--- a/src/Ombi/ClientApp/src/app/media-details/tv/tv-details.component.ts
+++ b/src/Ombi/ClientApp/src/app/media-details/components/tv/tv-details.component.ts
@@ -1,15 +1,15 @@
import { Component, ViewEncapsulation } from "@angular/core";
-import { ImageService, SearchV2Service, RequestService, MessageService } from "../../services";
+import { ImageService, SearchV2Service, RequestService, MessageService } from "../../../services";
import { ActivatedRoute } from "@angular/router";
import { DomSanitizer } from "@angular/platform-browser";
-import { ISearchTvResultV2 } from "../../interfaces/ISearchTvResultV2";
+import { ISearchTvResultV2 } from "../../../interfaces/ISearchTvResultV2";
import { MatDialog } from "@angular/material";
-import { YoutubeTrailerComponent } from "../youtube-trailer.component";
-import { EpisodeRequestComponent } from "../../shared/episode-request/episode-request.component";
+import { YoutubeTrailerComponent } from "../shared/youtube-trailer.component";
+import { EpisodeRequestComponent } from "../../../shared/episode-request/episode-request.component";
@Component({
templateUrl: "./tv-details.component.html",
- styleUrls: ["../media-details.component.scss"],
+ styleUrls: ["../../media-details.component.scss"],
encapsulation: ViewEncapsulation.None
})
export class TvDetailsComponent {
diff --git a/src/Ombi/ClientApp/src/app/media-details/media-details.components.ts b/src/Ombi/ClientApp/src/app/media-details/media-details.components.ts
new file mode 100644
index 000000000..e69de29bb
diff --git a/src/Ombi/ClientApp/src/app/media-details/media-details.module.ts b/src/Ombi/ClientApp/src/app/media-details/media-details.module.ts
index b726c3afe..f3bf768e9 100644
--- a/src/Ombi/ClientApp/src/app/media-details/media-details.module.ts
+++ b/src/Ombi/ClientApp/src/app/media-details/media-details.module.ts
@@ -6,17 +6,19 @@ import { SearchService, RequestService, RadarrService } from "../services";
import {CarouselModule} from 'primeng/carousel';
import { SharedModule } from "../shared/shared.module";
-import { MovieDetailsComponent } from "./movie/movie-details.component";
-import { TvDetailsComponent } from "./tv/tv-details.component";
+import { MovieDetailsComponent } from "./components/movie/movie-details.component";
+import { TvDetailsComponent } from "./components/tv/tv-details.component";
import { PipeModule } from "../pipes/pipe.module";
-import { YoutubeTrailerComponent } from "./youtube-trailer.component";
-import { MovieInformationPanelComponent } from "./movie/panels/movie-information-panel.component";
-import { TvInformationPanelComponent } from "./tv/panels/tv-information-panel.component";
+import { YoutubeTrailerComponent } from "./components/shared/youtube-trailer.component";
+
+import * as fromComponents from './components';
+import { AuthGuard } from "../auth/auth.guard";
+
const routes: Routes = [
- { path: "movie/:movieDbId", component: MovieDetailsComponent },
- { path: "tv/:tvdbId/:search", component: TvDetailsComponent },
- { path: "tv/:tvdbId", component: TvDetailsComponent },
+ { path: "movie/:movieDbId", component: MovieDetailsComponent, canActivate: [AuthGuard] },
+ { path: "tv/:tvdbId/:search", component: TvDetailsComponent, canActivate: [AuthGuard] },
+ { path: "tv/:tvdbId", component: TvDetailsComponent, canActivate: [AuthGuard] },
];
@NgModule({
imports: [
@@ -26,11 +28,7 @@ const routes: Routes = [
CarouselModule,
],
declarations: [
- MovieDetailsComponent,
- YoutubeTrailerComponent,
- TvDetailsComponent,
- MovieInformationPanelComponent,
- TvInformationPanelComponent,
+ ...fromComponents.components
],
exports: [
RouterModule,