Modularized release component between movie and scene. Added Kink Classics channel.

This commit is contained in:
DebaucheryLibrarian
2020-08-12 03:30:20 +02:00
parent 40aed1086f
commit 5cabeed19d
136 changed files with 610 additions and 361 deletions

View File

@@ -93,6 +93,7 @@ const releaseTagsFragment = `
const releasePosterFragment = `
poster: releasesPosterByReleaseId {
media {
id
index
path
thumbnail
@@ -112,6 +113,7 @@ const releasePosterFragment = `
const releaseCoversFragment = `
covers: releasesCovers {
media {
id
index
path
thumbnail
@@ -131,6 +133,7 @@ const releaseCoversFragment = `
const releasePhotosFragment = `
photos: releasesPhotos {
media {
id
index
path
thumbnail
@@ -150,6 +153,7 @@ const releasePhotosFragment = `
const releaseTrailerFragment = `
trailer: releasesTrailerByReleaseId {
media {
id
index
path
thumbnail
@@ -249,6 +253,29 @@ const releaseFragment = `
slug
url
}
movies: moviesScenesBySceneId {
movie {
id
title
slug
covers: moviesCoversByReleaseId {
media {
index
path
thumbnail
lazy
comment
sfw: sfwMedia {
id
thumbnail
lazy
path
comment
}
}
}
}
}
}
`;

View File

@@ -1,5 +1,5 @@
import { graphql } from '../api';
import { releasesFragment, releaseFragment } from '../fragments';
import { releasesFragment, releaseFragment, releaseFields } from '../fragments';
import { curateRelease } from '../curate';
import getDateRange from '../get-date-range';
@@ -56,7 +56,7 @@ function initReleasesActions(store, _router) {
connection: moviesConnection(
first: $limit
offset: $offset
orderBy: DATE_ASC
orderBy: DATE_DESC
) {
movies: nodes {
id
@@ -109,10 +109,83 @@ function initReleasesActions(store, _router) {
};
}
async function fetchMovieById({ _commit }, movieId) {
// const release = await get(`/releases/${releaseId}`);
const { movie } = await graphql(`
query Movie($movieId: Int!) {
movie(id: $movieId) {
id
title
slug
url
date
actors {
id
name
age
dateOfBirth
birthCountry: countryByBirthCountryAlpha2 {
alpha2
name
alias
}
avatar: avatarMedia {
id
path
thumbnail
lazy
}
}
covers: moviesCoversByReleaseId {
media {
id
path
thumbnail
}
}
trailer: moviesTrailerByReleaseId {
media {
id
path
}
}
scenes: moviesScenes {
scene {
${releaseFields}
}
}
tags {
id
slug
name
}
entity {
id
name
slug
type
parent {
id
name
slug
type
}
}
}
}
`, {
movieId: Number(movieId),
});
return curateRelease(movie);
}
return {
fetchReleases,
fetchReleaseById,
fetchMovies,
fetchMovieById,
};
}

View File

@@ -2,12 +2,13 @@ import Vue from 'vue';
import VueRouter from 'vue-router';
import Home from '../components/home/home.vue';
import Release from '../components/releases/release.vue';
import Scene from '../components/releases/scene.vue';
import Movie from '../components/releases/movie.vue';
import Entity from '../components/entities/entity.vue';
import Networks from '../components/networks/networks.vue';
import Actor from '../components/actors/actor.vue';
import Actors from '../components/actors/actors.vue';
import Movies from '../components/movies/movies.vue';
import Movies from '../components/releases/movies.vue';
import Tag from '../components/tags/tag.vue';
import Tags from '../components/tags/tags.vue';
import Search from '../components/search/search.vue';
@@ -44,12 +45,12 @@ const routes = [
},
{
path: '/scene/:releaseId/:releaseSlug?',
component: Release,
component: Scene,
name: 'scene',
},
{
path: '/movie/:movieId/:movieSlug?',
component: Release,
component: Movie,
name: 'movie',
},
{