mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-07-16 02:02:55 -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
|
||||
{
|
||||
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))
|
||||
{
|
||||
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 string Id { get; set; }
|
||||
public string MediaType { get; set; }
|
||||
public string Title { get; set; }
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using AutoMapper;
|
||||
using Ombi.Api.TheMovieDb.Models;
|
||||
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.Overview, o => o.MapFrom(s => s.overview))
|
||||
.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));
|
||||
|
||||
CreateMap<SearchMovieViewModel, MovieCollection>().ReverseMap();
|
||||
|
|
|
@ -35,25 +35,9 @@
|
|||
}
|
||||
|
||||
export interface IMultiSearchResult {
|
||||
original_name: string;
|
||||
id: number;
|
||||
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;
|
||||
id: string;
|
||||
mediaType: string;
|
||||
title: string;
|
||||
original_title: string;
|
||||
adult: true;
|
||||
release_date: string;
|
||||
}
|
||||
|
||||
export interface ILanguageRefine {
|
||||
|
|
|
@ -4,24 +4,19 @@
|
|||
|
||||
<ng-template #template let-result="result">
|
||||
|
||||
<div *ngIf="result.media_type === 'movie'">
|
||||
<div *ngIf="result.mediaType === 'movie'">
|
||||
<i class="fa fa-film"></i>
|
||||
<span *ngIf="result.release_date">
|
||||
{{result.title}} ({{result.release_date.slice(0,4)}})
|
||||
</span>
|
||||
<span *ngIf="!result.release_date">{{result.title}}</span>
|
||||
<span >{{result.title}}</span>
|
||||
</div>
|
||||
<div *ngIf="result.media_type === 'tv'">
|
||||
<div *ngIf="result.mediaType === 'tv'">
|
||||
<i class="fa fa-tv"></i>
|
||||
<span *ngIf="result.release_date">
|
||||
{{result.name}} ({{result.release_date.slice(0,4)}})
|
||||
</span>
|
||||
<span *ngIf="!result.release_date">{{result.name}}</span>
|
||||
|
||||
<span>{{result.title}}</span>
|
||||
</div>
|
||||
|
||||
<div *ngIf="result.media_type === 'person'">
|
||||
<div *ngIf="result.mediaType === 'person'">
|
||||
<i class="fa fa-user"></i>
|
||||
<span *ngIf="result.name">{{result.name}}</span>
|
||||
<span >{{result.title}}</span>
|
||||
</div>
|
||||
<!-- Collection -->
|
||||
<!-- <i class="fa fa-file-video-o" aria-hidden="true"></i> -->
|
||||
|
|
|
@ -16,26 +16,11 @@ export class NavSearchComponent {
|
|||
|
||||
public selectedItem: string;
|
||||
|
||||
|
||||
public searching = false;
|
||||
public searchFailed = false;
|
||||
|
||||
public formatter = (result: IMultiSearchResult) => {
|
||||
if(result.media_type === "movie") {
|
||||
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;
|
||||
}
|
||||
return result.title;
|
||||
}
|
||||
|
||||
public searchModel = (text$: Observable<string>) =>
|
||||
|
@ -54,13 +39,13 @@ export class NavSearchComponent {
|
|||
|
||||
|
||||
public selected(event: NgbTypeaheadSelectItemEvent) {
|
||||
if (event.item.media_type == "movie") {
|
||||
if (event.item.mediaType == "movie") {
|
||||
this.router.navigate([`details/movie/${event.item.id}`]);
|
||||
return;
|
||||
} else if (event.item.media_type == "tv") {
|
||||
} else if (event.item.mediaType == "tv") {
|
||||
this.router.navigate([`details/tv/${event.item.id}/true`]);
|
||||
return;
|
||||
} else if (event.item.media_type == "person") {
|
||||
} else if (event.item.mediaType == "person") {
|
||||
this.router.navigate([`discover/actor/${event.item.id}`]);
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue