Added actor profile revisions.

This commit is contained in:
2024-10-22 03:12:42 +02:00
parent b5bef49f73
commit 3967745fb3
31 changed files with 1907 additions and 67 deletions

View File

@@ -1,10 +1,11 @@
import { render } from 'vike/abort'; /* eslint-disable-line import/extensions */
import { redirect, render } from 'vike/abort'; /* eslint-disable-line import/extensions */
import { fetchActorsById } from '#/src/actors.js';
import { fetchScenes } from '#/src/scenes.js';
import { fetchMovies } from '#/src/movies.js';
import { curateScenesQuery } from '#/src/web/scenes.js';
import { curateMoviesQuery } from '#/src/web/movies.js';
import { fetchCountries } from '#/src/countries.js';
async function fetchReleases(pageContext) {
if (pageContext.routeParams.domain === 'movies') {
@@ -33,9 +34,16 @@ async function fetchReleases(pageContext) {
}
export async function onBeforeRender(pageContext) {
const [[actor], actorReleases] = await Promise.all([
const isEditing = pageContext._pageId === '/pages/actors/@actorId/edit';
if (isEditing && !pageContext.user) {
throw redirect(`/login?r=${encodeURIComponent(pageContext.urlOriginal)}`);
}
const [[actor], actorReleases, countries] = await Promise.all([
fetchActorsById([Number(pageContext.routeParams.actorId)], {}, pageContext.user),
fetchReleases(pageContext),
isEditing && fetchCountries(),
]);
if (!actor) {
@@ -44,9 +52,12 @@ export async function onBeforeRender(pageContext) {
return {
pageContext: {
title: actor.name,
title: isEditing
? `Editing '${actor.name}'`
: actor.name,
pageProps: {
actor,
countries,
...actorReleases,
},
},