Added experimental edit page and revision history.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { render } from 'vike/abort'; /* eslint-disable-line import/extensions */
|
||||
import { render, redirect } from 'vike/abort'; /* eslint-disable-line import/extensions */
|
||||
import { fetchScenesById } from '#/src/scenes.js';
|
||||
import { getRandomCampaigns } from '#/src/campaigns.js';
|
||||
import { getIdsBySlug } from '#/src/cache.js';
|
||||
|
||||
function getTitle(scene) {
|
||||
if (scene.title) {
|
||||
@@ -15,6 +16,10 @@ function getTitle(scene) {
|
||||
}
|
||||
|
||||
export async function onBeforeRender(pageContext) {
|
||||
if (pageContext._pageId === '/pages/scene/edit' && !pageContext.user) {
|
||||
throw redirect(`/login?r=${encodeURIComponent(pageContext.urlOriginal)}`);
|
||||
}
|
||||
|
||||
const [scene] = await fetchScenesById([Number(pageContext.routeParams.sceneId)], {
|
||||
reqUser: pageContext.user,
|
||||
includeAssets: true,
|
||||
@@ -22,13 +27,21 @@ export async function onBeforeRender(pageContext) {
|
||||
actorStashes: true,
|
||||
});
|
||||
|
||||
const campaigns = await getRandomCampaigns([
|
||||
{
|
||||
minRatio: 1.5,
|
||||
entityIds: [scene.channel.id, scene.network?.id].filter(Boolean),
|
||||
allowRandomFallback: false,
|
||||
},
|
||||
], { tagFilter: pageContext.tagFilter });
|
||||
const [campaigns, tagIds] = await Promise.all([
|
||||
getRandomCampaigns([
|
||||
{
|
||||
minRatio: 1.5,
|
||||
entityIds: [scene.channel.id, scene.network?.id].filter(Boolean),
|
||||
allowRandomFallback: false,
|
||||
},
|
||||
], { tagFilter: pageContext.tagFilter }),
|
||||
getIdsBySlug([
|
||||
'anal',
|
||||
'creampie',
|
||||
'dp',
|
||||
'facial',
|
||||
], 'tags', true),
|
||||
]);
|
||||
|
||||
if (!scene) {
|
||||
throw render(404, `Cannot find scene '${pageContext.routeParams.sceneId}'.`);
|
||||
@@ -39,6 +52,7 @@ export async function onBeforeRender(pageContext) {
|
||||
title: getTitle(scene),
|
||||
pageProps: {
|
||||
scene,
|
||||
tagIds,
|
||||
},
|
||||
campaigns: {
|
||||
scene: campaigns[0],
|
||||
|
||||
Reference in New Issue
Block a user