Files
WatchIt/WatchIt.Website/WatchIt.Website/Components/Pages/MediaPage/Panels/MediaActorRolesPanelComponent.razor

26 lines
1.6 KiB
Plaintext

@using WatchIt.Common.Model.Persons
@using WatchIt.Common.Model.Roles
<div class="panel @(Class)">
<div class="vstack gap-3">
<span class="panel-text-title">Actors</span>
<RoleListComponent TRole="ActorRoleResponse"
TQuery="ActorRoleMediaQueryParameters"
TRoleParent="PersonResponse"
Id="@(Id)"
GetRolesAction="@(MediaWebAPIService.GetMediaAllActorRoles)"
NameSource="@((_, parent) => parent.Name)"
AdditionalInfoSource="@((item, _) => $" as {item.Name}")"
GetRoleParentMethod="@((id, action) => PersonsWebAPIService.GetPerson(id, action))"
ParentItemIdSource="@(item => item.PersonId)"
ParentUrlTemplate="/person/{0}"
PosterPlaceholder="/assets/person_poster.png"
PosterDownloadingTask="@((id, action) => PersonsWebAPIService.GetPersonPhoto(id, action))"
GetGlobalRatingMethod="@((id, action) => RolesWebAPIService.GetActorRoleRating(id, action))"
GetUserRatingMethod="@((id, userId, actionSuccess, actionNotFound) => RolesWebAPIService.GetActorRoleRatingByUser(id, userId, actionSuccess, actionNotFound))"
PutRatingMethod="@((id, request) => RolesWebAPIService.PutActorRoleRating(id, request))"
DeleteRatingMethod="@(id => RolesWebAPIService.DeleteActorRoleRating(id))"/>
</div>
</div>