Files
WatchIt/WatchIt.Website/WatchIt.Website/Pages/HomePage.razor

37 lines
2.2 KiB
Plaintext

@using WatchIt.Common.Model.Movies
@using WatchIt.Common.Model.Persons
@using WatchIt.Common.Model.Series
@using WatchIt.Website.Components.Pages.HomePage.Panels
@page "/"
<PageTitle>WatchIt</PageTitle>
<div class="vstack gap-default">
<ViewRankPanelComponent TItem="MovieResponse"
Name="movies"
GetViewRankAction="@((count, action) => MoviesWebAPIService.GetMoviesViewRank(count, successAction: action))"
ItemUrlFormatString="/media/{0}"
IdSource="@(item => item.Id)"
NameSource="@(item => item.ReleaseDate.HasValue ? $"{item.Title} ({item.ReleaseDate.Value.Year})" : item.Title)"
PosterPlaceholder="/assets/media_poster.png"
GetPictureAction="@((id, action) => MediaWebAPIService.GetMediaPoster(id, action))"/>
<ViewRankPanelComponent TItem="SeriesResponse"
Name="TV series"
GetViewRankAction="@((count, action) => SeriesWebAPIService.GetSeriesViewRank(count, successAction: action))"
ItemUrlFormatString="/media/{0}"
IdSource="@(item => item.Id)"
NameSource="@(item => item.ReleaseDate.HasValue ? $"{item.Title} ({item.ReleaseDate.Value.Year})" : item.Title)"
PosterPlaceholder="/assets/media_poster.png"
GetPictureAction="@((id, action) => MediaWebAPIService.GetMediaPoster(id, action))"/>
<ViewRankPanelComponent TItem="PersonResponse"
Name="people"
GetViewRankAction="@((count, action) => PersonsWebAPIService.GetPersonsViewRank(count, successAction: action))"
ItemUrlFormatString="/person/{0}"
IdSource="@(item => item.Id)"
NameSource="@(item => item.Name)"
PosterPlaceholder="/assets/person_poster.png"
GetPictureAction="@((id, action) => PersonsWebAPIService.GetPersonPhoto(id, action))"/>
</div>