Compare commits
2 Commits
0435472489
...
14bca958fd
| Author | SHA1 | Date |
|---|---|---|
|
|
14bca958fd | |
|
|
0b5ce620d6 |
|
|
@ -0,0 +1,43 @@
|
|||
const now = new Date();
|
||||
|
||||
export default {
|
||||
id: 0,
|
||||
shootId: 12345,
|
||||
title: 'Nut For Human Consumption',
|
||||
slug: 'nut-for-human-consumption',
|
||||
link: 'https://traxxx.me/scene/0/nut-for-human-consumption',
|
||||
url: 'https://example.com/video/12345/nut-for-human-consumption',
|
||||
date: now,
|
||||
effectiveDate: now,
|
||||
createdAt: new Date(now.getFullYear(), 0, 1),
|
||||
actors: [
|
||||
{
|
||||
name: 'Chanel Chakra',
|
||||
gender: 'female',
|
||||
ageThen: 26,
|
||||
ageFromBirth: 31,
|
||||
},
|
||||
{
|
||||
name: 'Mo The Fucker',
|
||||
gender: 'male',
|
||||
ageThen: 32,
|
||||
ageFromBirth: 37,
|
||||
},
|
||||
],
|
||||
tags: [
|
||||
{ name: 'anal' },
|
||||
{ name: 'facefucking' },
|
||||
{ name: 'deepthroat' },
|
||||
{ name: 'blowjob' },
|
||||
{ name: 'facial' },
|
||||
],
|
||||
movies: [{
|
||||
title: `Best Of Traxxx ${String(now.getFullYear()).slice(2)}`,
|
||||
}],
|
||||
channel: {
|
||||
name: 'Traxxxed',
|
||||
},
|
||||
network: {
|
||||
name: 'Traxxx',
|
||||
},
|
||||
};
|
||||
|
|
@ -37,6 +37,7 @@
|
|||
class="input edit"
|
||||
@input="update"
|
||||
@blur="save(false)"
|
||||
@keydown.tab.prevent="indent"
|
||||
/>
|
||||
|
||||
<textarea
|
||||
|
|
@ -227,6 +228,11 @@ function reset() {
|
|||
}
|
||||
}
|
||||
|
||||
function indent() {
|
||||
// YAML does not support tabs
|
||||
input.value.setRangeText(' ', input.value.selectionStart, input.value.selectionEnd, 'end');
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
window.addEventListener('beforeunload', (event) => {
|
||||
if (changed.value) {
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
{
|
||||
"name": "traxxx-web",
|
||||
"version": "0.41.11",
|
||||
"version": "0.41.12",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"version": "0.41.11",
|
||||
"version": "0.41.12",
|
||||
"dependencies": {
|
||||
"@brillout/json-serializer": "^0.5.8",
|
||||
"@dicebear/collection": "^7.0.5",
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@
|
|||
"overrides": {
|
||||
"vite": "$vite"
|
||||
},
|
||||
"version": "0.41.11",
|
||||
"version": "0.41.12",
|
||||
"imports": {
|
||||
"#/*": "./*.js"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -91,6 +91,8 @@ import Summaries from '#/components/scenes/summaries.vue';
|
|||
import Revisions from '#/components/edit/revisions.vue';
|
||||
import ApiKeys from '#/components/user/api-keys.vue';
|
||||
|
||||
import mockupRelease from '#/assets/mockup-release.ts';
|
||||
|
||||
const pageContext = inject('pageContext');
|
||||
|
||||
const section = pageContext.routeParams.section;
|
||||
|
|
@ -99,45 +101,6 @@ const domain = pageContext.routeParams.domain;
|
|||
const user = pageContext.user;
|
||||
const profile = ref(pageContext.pageProps.profile);
|
||||
|
||||
const now = new Date();
|
||||
|
||||
const mockupRelease = {
|
||||
id: 0,
|
||||
title: 'Nut For Human Consumption',
|
||||
slug: 'nut-for-human-consumption',
|
||||
link: 'https://traxxx.me/scene/0/nut-for-human-consumption',
|
||||
url: 'https://example.com/video/12345/nut-for-human-consumption',
|
||||
date: now,
|
||||
effectiveDate: now,
|
||||
createdAt: new Date(now.getFullYear(), 0, 1),
|
||||
actors: [
|
||||
{
|
||||
name: 'Chanel Chakra',
|
||||
gender: 'female',
|
||||
},
|
||||
{
|
||||
name: 'Mo The Fucker',
|
||||
gender: 'male',
|
||||
},
|
||||
],
|
||||
tags: [
|
||||
{ name: 'anal' },
|
||||
{ name: 'facefucking' },
|
||||
{ name: 'deepthroat' },
|
||||
{ name: 'blowjob' },
|
||||
{ name: 'facial' },
|
||||
],
|
||||
movies: [{
|
||||
title: `Best Of Traxxx ${String(now.getFullYear()).slice(2)}`,
|
||||
}],
|
||||
channel: {
|
||||
name: 'Traxxxed',
|
||||
},
|
||||
network: {
|
||||
name: 'Traxxx',
|
||||
},
|
||||
};
|
||||
|
||||
function scrollHorizontal(event) {
|
||||
event.currentTarget.scrollLeft += event.deltaY; // eslint-disable-line no-param-reassign
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import { format } from 'date-fns';
|
||||
import { parse } from 'yaml';
|
||||
import formatTemplate from 'template-format';
|
||||
|
||||
import slugify from '#/utils/slugify.js';
|
||||
import ellipsis from '#/utils/ellipsis.js';
|
||||
|
|
@ -13,6 +14,10 @@ const genderMap = {
|
|||
};
|
||||
|
||||
const propProcessors = {
|
||||
...Object.fromEntries(Object.entries({
|
||||
// aliases
|
||||
shoot: 'shootId',
|
||||
}).map(([key, alias]) => [key, (sceneInfo) => sceneInfo[alias]])),
|
||||
link: (sceneInfo, _options, env) => `${env.origin}/scene/${sceneInfo.id}/${sceneInfo.slug}`,
|
||||
channel: (sceneInfo) => sceneInfo.channel?.name || sceneInfo.network?.name,
|
||||
network: (sceneInfo) => sceneInfo.network?.name || sceneInfo.channel?.name,
|
||||
|
|
@ -21,7 +26,19 @@ const propProcessors = {
|
|||
|
||||
return sceneInfo.actors
|
||||
.filter((actor) => genders.includes(actor.gender))
|
||||
.map((actor) => actor.name);
|
||||
.map((actor) => {
|
||||
if (options.format) {
|
||||
return formatTemplate(options.format, Object.fromEntries(Object.entries({
|
||||
...actor,
|
||||
age: actor.ageThen,
|
||||
ageNow: actor.age,
|
||||
g: actor.gender?.charAt(0),
|
||||
G: actor.gender?.charAt(0).toUpperCase(),
|
||||
}).map(([key, value]) => [key, value ?? '']))); // don't render `null`
|
||||
}
|
||||
|
||||
return actor.name;
|
||||
});
|
||||
},
|
||||
tags: (sceneInfo, options) => sceneInfo.tags
|
||||
?.filter((tag) => {
|
||||
|
|
|
|||
Loading…
Reference in New Issue