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"
|
class="input edit"
|
||||||
@input="update"
|
@input="update"
|
||||||
@blur="save(false)"
|
@blur="save(false)"
|
||||||
|
@keydown.tab.prevent="indent"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<textarea
|
<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(() => {
|
onMounted(() => {
|
||||||
window.addEventListener('beforeunload', (event) => {
|
window.addEventListener('beforeunload', (event) => {
|
||||||
if (changed.value) {
|
if (changed.value) {
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
{
|
{
|
||||||
"name": "traxxx-web",
|
"name": "traxxx-web",
|
||||||
"version": "0.41.11",
|
"version": "0.41.12",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"version": "0.41.11",
|
"version": "0.41.12",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@brillout/json-serializer": "^0.5.8",
|
"@brillout/json-serializer": "^0.5.8",
|
||||||
"@dicebear/collection": "^7.0.5",
|
"@dicebear/collection": "^7.0.5",
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@
|
||||||
"overrides": {
|
"overrides": {
|
||||||
"vite": "$vite"
|
"vite": "$vite"
|
||||||
},
|
},
|
||||||
"version": "0.41.11",
|
"version": "0.41.12",
|
||||||
"imports": {
|
"imports": {
|
||||||
"#/*": "./*.js"
|
"#/*": "./*.js"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -91,6 +91,8 @@ import Summaries from '#/components/scenes/summaries.vue';
|
||||||
import Revisions from '#/components/edit/revisions.vue';
|
import Revisions from '#/components/edit/revisions.vue';
|
||||||
import ApiKeys from '#/components/user/api-keys.vue';
|
import ApiKeys from '#/components/user/api-keys.vue';
|
||||||
|
|
||||||
|
import mockupRelease from '#/assets/mockup-release.ts';
|
||||||
|
|
||||||
const pageContext = inject('pageContext');
|
const pageContext = inject('pageContext');
|
||||||
|
|
||||||
const section = pageContext.routeParams.section;
|
const section = pageContext.routeParams.section;
|
||||||
|
|
@ -99,45 +101,6 @@ const domain = pageContext.routeParams.domain;
|
||||||
const user = pageContext.user;
|
const user = pageContext.user;
|
||||||
const profile = ref(pageContext.pageProps.profile);
|
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) {
|
function scrollHorizontal(event) {
|
||||||
event.currentTarget.scrollLeft += event.deltaY; // eslint-disable-line no-param-reassign
|
event.currentTarget.scrollLeft += event.deltaY; // eslint-disable-line no-param-reassign
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
import { format } from 'date-fns';
|
import { format } from 'date-fns';
|
||||||
import { parse } from 'yaml';
|
import { parse } from 'yaml';
|
||||||
|
import formatTemplate from 'template-format';
|
||||||
|
|
||||||
import slugify from '#/utils/slugify.js';
|
import slugify from '#/utils/slugify.js';
|
||||||
import ellipsis from '#/utils/ellipsis.js';
|
import ellipsis from '#/utils/ellipsis.js';
|
||||||
|
|
@ -13,6 +14,10 @@ const genderMap = {
|
||||||
};
|
};
|
||||||
|
|
||||||
const propProcessors = {
|
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}`,
|
link: (sceneInfo, _options, env) => `${env.origin}/scene/${sceneInfo.id}/${sceneInfo.slug}`,
|
||||||
channel: (sceneInfo) => sceneInfo.channel?.name || sceneInfo.network?.name,
|
channel: (sceneInfo) => sceneInfo.channel?.name || sceneInfo.network?.name,
|
||||||
network: (sceneInfo) => sceneInfo.network?.name || sceneInfo.channel?.name,
|
network: (sceneInfo) => sceneInfo.network?.name || sceneInfo.channel?.name,
|
||||||
|
|
@ -21,7 +26,19 @@ const propProcessors = {
|
||||||
|
|
||||||
return sceneInfo.actors
|
return sceneInfo.actors
|
||||||
.filter((actor) => genders.includes(actor.gender))
|
.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
|
tags: (sceneInfo, options) => sceneInfo.tags
|
||||||
?.filter((tag) => {
|
?.filter((tag) => {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue