mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-07-30 03:28:28 -07:00
Fixed build and collection order
This commit is contained in:
parent
723aa3fffc
commit
cb12160a97
6 changed files with 50 additions and 56 deletions
|
@ -51,7 +51,8 @@ namespace Ombi.Core.Engine.V2
|
||||||
model.Add(new MultiSearchResult
|
model.Add(new MultiSearchResult
|
||||||
{
|
{
|
||||||
MediaType = "Artist",
|
MediaType = "Artist",
|
||||||
Title = artist.name
|
Title = artist.name,
|
||||||
|
Id = artist.id
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -67,10 +68,36 @@ namespace Ombi.Core.Engine.V2
|
||||||
{
|
{
|
||||||
if (multiSearch.release_date.HasValue() && DateTime.TryParse(multiSearch.release_date, out var releaseDate))
|
if (multiSearch.release_date.HasValue() && DateTime.TryParse(multiSearch.release_date, out var releaseDate))
|
||||||
{
|
{
|
||||||
result.Title =
|
result.Title = $"{multiSearch.title} ({releaseDate.Year})";
|
||||||
}
|
}
|
||||||
}
|
else
|
||||||
}
|
{
|
||||||
|
result.Title = multiSearch.title;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (multiSearch.media_type.Equals("tv", StringComparison.InvariantCultureIgnoreCase))
|
||||||
|
{
|
||||||
|
if (multiSearch.release_date.HasValue() && DateTime.TryParse(multiSearch.release_date, out var releaseDate))
|
||||||
|
{
|
||||||
|
result.Title = $"{multiSearch.name} ({releaseDate.Year})";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result.Title = multiSearch.name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (multiSearch.media_type.Equals("person", StringComparison.InvariantCultureIgnoreCase))
|
||||||
|
{
|
||||||
|
result.Title = multiSearch.name;
|
||||||
|
}
|
||||||
|
|
||||||
|
result.Id = multiSearch.id.ToString();
|
||||||
|
model.Add(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
return model;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
{
|
{
|
||||||
public class MultiSearchResult
|
public class MultiSearchResult
|
||||||
{
|
{
|
||||||
|
public string Id { get; set; }
|
||||||
public string MediaType { get; set; }
|
public string MediaType { get; set; }
|
||||||
public string Title { get; set; }
|
public string Title { get; set; }
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
using System.Collections.Generic;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using AutoMapper;
|
using AutoMapper;
|
||||||
using Ombi.Api.TheMovieDb.Models;
|
using Ombi.Api.TheMovieDb.Models;
|
||||||
using Ombi.Core.Models.Search;
|
using Ombi.Core.Models.Search;
|
||||||
|
@ -101,6 +102,7 @@ namespace Ombi.Mapping.Profiles
|
||||||
.ForMember(x => x.Id, o => o.MapFrom(s => s.id))
|
.ForMember(x => x.Id, o => o.MapFrom(s => s.id))
|
||||||
.ForMember(x => x.Overview, o => o.MapFrom(s => s.overview))
|
.ForMember(x => x.Overview, o => o.MapFrom(s => s.overview))
|
||||||
.ForMember(x => x.PosterPath, o => o.MapFrom(s => s.poster_path))
|
.ForMember(x => x.PosterPath, o => o.MapFrom(s => s.poster_path))
|
||||||
|
.ForMember(x => x.ReleaseDate, o => o.MapFrom(s => DateTime.Parse(s.release_date)))
|
||||||
.ForMember(x => x.Title, o => o.MapFrom(s => s.title));
|
.ForMember(x => x.Title, o => o.MapFrom(s => s.title));
|
||||||
|
|
||||||
CreateMap<SearchMovieViewModel, MovieCollection>().ReverseMap();
|
CreateMap<SearchMovieViewModel, MovieCollection>().ReverseMap();
|
||||||
|
|
|
@ -35,25 +35,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface IMultiSearchResult {
|
export interface IMultiSearchResult {
|
||||||
original_name: string;
|
id: string;
|
||||||
id: number;
|
mediaType: string;
|
||||||
media_type: string;
|
|
||||||
name: string;
|
|
||||||
vote_count: number;
|
|
||||||
vote_average: number;
|
|
||||||
poster_path: string;
|
|
||||||
first_air_date: string;
|
|
||||||
popularity: number;
|
|
||||||
genre_ids: number[];
|
|
||||||
original_language: string;
|
|
||||||
backdrop_path: string;
|
|
||||||
overview: string;
|
|
||||||
origin_country: string[];
|
|
||||||
video: true;
|
|
||||||
title: string;
|
title: string;
|
||||||
original_title: string;
|
|
||||||
adult: true;
|
|
||||||
release_date: string;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ILanguageRefine {
|
export interface ILanguageRefine {
|
||||||
|
|
|
@ -4,24 +4,19 @@
|
||||||
|
|
||||||
<ng-template #template let-result="result">
|
<ng-template #template let-result="result">
|
||||||
|
|
||||||
<div *ngIf="result.media_type === 'movie'">
|
<div *ngIf="result.mediaType === 'movie'">
|
||||||
<i class="fa fa-film"></i>
|
<i class="fa fa-film"></i>
|
||||||
<span *ngIf="result.release_date">
|
<span >{{result.title}}</span>
|
||||||
{{result.title}} ({{result.release_date.slice(0,4)}})
|
|
||||||
</span>
|
|
||||||
<span *ngIf="!result.release_date">{{result.title}}</span>
|
|
||||||
</div>
|
</div>
|
||||||
<div *ngIf="result.media_type === 'tv'">
|
<div *ngIf="result.mediaType === 'tv'">
|
||||||
<i class="fa fa-tv"></i>
|
<i class="fa fa-tv"></i>
|
||||||
<span *ngIf="result.release_date">
|
|
||||||
{{result.name}} ({{result.release_date.slice(0,4)}})
|
<span>{{result.title}}</span>
|
||||||
</span>
|
|
||||||
<span *ngIf="!result.release_date">{{result.name}}</span>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div *ngIf="result.media_type === 'person'">
|
<div *ngIf="result.mediaType === 'person'">
|
||||||
<i class="fa fa-user"></i>
|
<i class="fa fa-user"></i>
|
||||||
<span *ngIf="result.name">{{result.name}}</span>
|
<span >{{result.title}}</span>
|
||||||
</div>
|
</div>
|
||||||
<!-- Collection -->
|
<!-- Collection -->
|
||||||
<!-- <i class="fa fa-file-video-o" aria-hidden="true"></i> -->
|
<!-- <i class="fa fa-file-video-o" aria-hidden="true"></i> -->
|
||||||
|
|
|
@ -16,26 +16,11 @@ export class NavSearchComponent {
|
||||||
|
|
||||||
public selectedItem: string;
|
public selectedItem: string;
|
||||||
|
|
||||||
|
|
||||||
public searching = false;
|
public searching = false;
|
||||||
public searchFailed = false;
|
public searchFailed = false;
|
||||||
|
|
||||||
public formatter = (result: IMultiSearchResult) => {
|
public formatter = (result: IMultiSearchResult) => {
|
||||||
if(result.media_type === "movie") {
|
return result.title;
|
||||||
let title = result.title;
|
|
||||||
if(result.release_date) {
|
|
||||||
title += ` (${result.release_date.slice(0,4)})`;
|
|
||||||
}
|
|
||||||
return title;
|
|
||||||
} else if (result.media_type === "tv") {
|
|
||||||
let title = result.name;
|
|
||||||
if(result.release_date) {
|
|
||||||
title += ` (${result.release_date.slice(0,4)})`;
|
|
||||||
}
|
|
||||||
return title;
|
|
||||||
} else if(result.media_type === "person"){
|
|
||||||
return result.name;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public searchModel = (text$: Observable<string>) =>
|
public searchModel = (text$: Observable<string>) =>
|
||||||
|
@ -54,13 +39,13 @@ export class NavSearchComponent {
|
||||||
|
|
||||||
|
|
||||||
public selected(event: NgbTypeaheadSelectItemEvent) {
|
public selected(event: NgbTypeaheadSelectItemEvent) {
|
||||||
if (event.item.media_type == "movie") {
|
if (event.item.mediaType == "movie") {
|
||||||
this.router.navigate([`details/movie/${event.item.id}`]);
|
this.router.navigate([`details/movie/${event.item.id}`]);
|
||||||
return;
|
return;
|
||||||
} else if (event.item.media_type == "tv") {
|
} else if (event.item.mediaType == "tv") {
|
||||||
this.router.navigate([`details/tv/${event.item.id}/true`]);
|
this.router.navigate([`details/tv/${event.item.id}/true`]);
|
||||||
return;
|
return;
|
||||||
} else if (event.item.media_type == "person") {
|
} else if (event.item.mediaType == "person") {
|
||||||
this.router.navigate([`discover/actor/${event.item.id}`]);
|
this.router.navigate([`discover/actor/${event.item.id}`]);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue