Added rudimentary movie relations.

This commit is contained in:
2020-03-09 05:06:37 +01:00
parent 8ca98b394f
commit 638757b6e4
11 changed files with 193 additions and 96 deletions

View File

@@ -98,7 +98,7 @@
<div class="info column">
<h2 class="row title">{{ release.title }}</h2>
<div class="row">
<div class="row associations">
<ul class="actors nolist">
<li
v-for="actor in release.actors"
@@ -107,24 +107,26 @@
<Actor :actor="actor" />
</li>
</ul>
<div
v-if="release.movies && release.movies.length > 0"
class="movies"
>
<Release :release="release.movies[0]" />
</div>
</div>
<div v-if="release.scenes && release.scenes.length > 0">
<div
v-if="release.scenes && release.scenes.length > 0"
class="scenes"
>
<h3>Scenes</h3>
<Releases
v-if="release.scenes && release.scenes.length > 0"
:releases="release.scenes"
class="row"
/>
</div>
<div v-if="release.movie">
<h3>Movie</h3>
<Release :release="release.movie" />
</div>
<div
v-if="release.tags.length > 0"
class="row"
@@ -254,8 +256,8 @@ export default {
components: {
Actor,
Banner,
Releases,
Release,
Releases,
},
data() {
return {
@@ -295,6 +297,10 @@ export default {
align-items: center;
margin: 0 0 1rem 0;
&.associations {
align-items: start;
}
.icon {
display: inline-block;
width: 1rem;
@@ -395,6 +401,7 @@ export default {
.actors {
display: flex;
flex-grow: 1;
flex-wrap: wrap;
}
@@ -403,6 +410,9 @@ export default {
margin: 0 1rem .5rem 0;
}
.movies {
}
.filename {
width: 100%;
padding: .5rem;

View File

@@ -26,11 +26,14 @@ function curateRelease(release) {
};
if (release.site) curatedRelease.network = release.site.network;
if (release.scenes) curatedRelease.scenes = release.scenes.map(({ scene }) => curateRelease(scene));
if (release.movies) curatedRelease.movies = release.movies.map(({ movie }) => curateRelease(movie));
if (release.photos) curatedRelease.photos = release.photos.map(({ media }) => media);
if (release.covers) curatedRelease.covers = release.covers.map(({ media }) => media);
if (release.trailer) curatedRelease.trailer = release.trailer.media;
if (release.teaser) curatedRelease.teaser = release.teaser.media;
if (release.actors) curatedRelease.actors = release.actors.map(({ actor }) => curateActor(actor, curatedRelease));
if (release.movieActors && release.movieActors.length > 0) curatedRelease.actors = release.movieActors.map(({ actor }) => curateActor(actor, curatedRelease));
return curatedRelease;
}

View File

@@ -30,9 +30,7 @@ const sitesFragment = `
}
`;
const releaseActorsFragment = `
actors: releasesActors(orderBy: ACTOR_BY_ACTOR_ID__GENDER_ASC) {
actor {
const actorFields = `
id
name
slug
@@ -49,6 +47,12 @@ const releaseActorsFragment = `
thumbnail
}
}
`;
const releaseActorsFragment = `
actors: releasesActors(orderBy: ACTOR_BY_ACTOR_ID__GENDER_ASC) {
actor {
${actorFields}
}
}
`;
@@ -186,6 +190,35 @@ const releaseFragment = `
${releaseTrailerFragment}
${releaseTeaserFragment}
${siteFragment}
movieActors: movieActorsByMovieId(orderBy: ACTOR_BY_ACTOR_ID__GENDER_ASC) {
actor {
${actorFields}
}
}
movies: releasesMoviesBySceneId {
movie {
id
title
date
slug
createdAt
url
${releaseCoversFragment}
${siteFragment}
actors: movieActorsByMovieId {
actor {
id
name
slug
}
}
}
}
scenes: releasesMoviesByMovieId {
scene {
${releaseFields}
}
}
studio {
id
name