Storing directors.

This commit is contained in:
DebaucheryLibrarian
2021-03-07 00:01:02 +01:00
parent 9ae113ab92
commit 17e6f5a5da
17 changed files with 102 additions and 27 deletions

View File

@@ -68,6 +68,20 @@
:tags="release.tags"
/>
<div
v-if="release.directors"
class="row"
>
<span class="row-label">Director</span>
<router-link
v-for="director in release.directors"
:key="`director-${director.id}`"
class="link director"
:to="`/director/${director.id}/${director.slug}`"
>{{ director.name }}</router-link>
</div>
<div
v-if="release.movies && release.movies.length > 0"
class="row"
@@ -423,6 +437,10 @@ export default {
color: var(--link);
text-decoration: none;
&.director:not(:last-child)::after {
content: ', ';
}
&:hover {
color: var(--primary);

View File

@@ -75,6 +75,7 @@ function curateRelease(release) {
if (release.trailer) curatedRelease.trailer = release.trailer.media;
if (release.teaser) curatedRelease.teaser = release.teaser.media;
if (release.actors) curatedRelease.actors = release.actors.filter(Boolean).map(actor => curateActor(actor.actor || actor, curatedRelease));
if (release.directors) curatedRelease.directors = release.directors.filter(Boolean).map(director => curateActor(director.director || director, curatedRelease));
if (release.movieTags && release.movieTags.length > 0) curatedRelease.tags = release.movieTags.filter(Boolean).map(({ tag }) => tag);
if (release.movieActors && release.movieActors.length > 0) curatedRelease.actors = release.movieActors.filter(Boolean).map(({ actor }) => curateActor(actor, curatedRelease));

View File

@@ -82,6 +82,14 @@ const releaseActorsFragment = `
}
`;
const releaseDirectorFragment = `
directors: releasesDirectors(orderBy: ACTOR_BY_DIRECTOR_ID__NAME_ASC) {
director {
${actorFields}
}
}
`;
const releaseTagsFragment = `
tags: releasesTags(orderBy: TAG_BY_TAG_ID__PRIORITY_DESC) {
tag {
@@ -261,6 +269,7 @@ const releaseFragment = `
comment
url
${releaseActorsFragment}
${releaseDirectorFragment}
${releaseTagsFragment}
${releasePosterFragment}
${releasePhotosFragment}

View File

@@ -67,6 +67,23 @@ const routes = [
component: Actor,
name: 'actorRange',
},
{
path: '/director/:actorId/:actorSlug',
name: 'director',
redirect: from => ({
name: 'directorRange',
params: {
...from.params,
range: 'latest',
pageNumber: 1,
},
}),
},
{
path: '/director/:actorId/:actorSlug',
component: Actor,
name: 'directorRange',
},
{
path: '/channel/:entitySlug',
redirect: from => ({