Compare commits
3 Commits
101f5a1453
...
8902654c4e
Author | SHA1 | Date |
---|---|---|
|
8902654c4e | |
|
15cc970ee2 | |
|
8af562e284 |
|
@ -317,9 +317,10 @@
|
||||||
|
|
||||||
<Album
|
<Album
|
||||||
v-if="showAlbum"
|
v-if="showAlbum"
|
||||||
:items="actor.photos"
|
:items="[actor.avatar, ...actor.photos]"
|
||||||
:title="actor.name"
|
:title="actor.name"
|
||||||
:portrait="true"
|
:portrait="true"
|
||||||
|
:comments="true"
|
||||||
@close="$router.go(-1)"
|
@close="$router.go(-1)"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
:class="{ portrait }"
|
:class="{ portrait }"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
v-for="item in items"
|
v-for="item in albumItems"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
class="item-container"
|
class="item-container"
|
||||||
>
|
>
|
||||||
|
@ -27,15 +27,15 @@
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`${path}/${item.thumbnail}`"
|
:src="`${path}/${item.thumbnail}`"
|
||||||
:title="item.comment"
|
:title="item.title"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="item image"
|
class="item image"
|
||||||
>
|
>
|
||||||
|
|
||||||
<span
|
<span
|
||||||
v-if="comments && item.comment"
|
v-if="comments && item.title"
|
||||||
class="item-comment"
|
class="item-comment"
|
||||||
>{{ item.comment }}</span>
|
>{{ item.title }}</span>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -44,6 +44,13 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
function albumItems() {
|
||||||
|
return this.items.map(item => ({
|
||||||
|
...item,
|
||||||
|
title: item.comment || (item.credit && `© ${item.credit}`) || (item.entity && `© ${item.entity.name}`),
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
items: {
|
items: {
|
||||||
|
@ -67,6 +74,9 @@ export default {
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
albumItems,
|
||||||
|
},
|
||||||
emits: ['close'],
|
emits: ['close'],
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -255,7 +255,7 @@ module.exports = {
|
||||||
thumbnailQuality: 100,
|
thumbnailQuality: 100,
|
||||||
lazySize: 90,
|
lazySize: 90,
|
||||||
lazyQuality: 90,
|
lazyQuality: 90,
|
||||||
trailerQuality: [480, 540, 360, 720, 1080, 320, 1440, 1600, 1920, 2160, 270, 240, 180],
|
trailerQuality: [480, 540, 360, 720, 960, 1080, 320, 1440, 1600, 1920, 2160, 270, 240, 180],
|
||||||
limit: 25, // max number of photos per release
|
limit: 25, // max number of photos per release
|
||||||
streamConcurrency: 2, // max number of video streams (m3u8 etc.) to fetch and process at once
|
streamConcurrency: 2, // max number of video streams (m3u8 etc.) to fetch and process at once
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "traxxx",
|
"name": "traxxx",
|
||||||
"version": "1.167.5",
|
"version": "1.167.6",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "traxxx",
|
"name": "traxxx",
|
||||||
"version": "1.167.5",
|
"version": "1.167.6",
|
||||||
"description": "All the latest porn releases in one place",
|
"description": "All the latest porn releases in one place",
|
||||||
"main": "src/app.js",
|
"main": "src/app.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
|
@ -1963,6 +1963,7 @@ const sites = [
|
||||||
url: 'https://ddfnetworkvr.com',
|
url: 'https://ddfnetworkvr.com',
|
||||||
description: 'VR Porn Videos shot Exclusively in 180 3D 4K Virtual Reality featuring the Hottest European & American VR Pornstar Babes',
|
description: 'VR Porn Videos shot Exclusively in 180 3D 4K Virtual Reality featuring the Hottest European & American VR Pornstar Babes',
|
||||||
parent: 'pornworld',
|
parent: 'pornworld',
|
||||||
|
tags: ['vr'],
|
||||||
parameters: {
|
parameters: {
|
||||||
latest: 'https://ddfnetworkvr.com/home/tagfiltered/keywords/-/',
|
latest: 'https://ddfnetworkvr.com/home/tagfiltered/keywords/-/',
|
||||||
},
|
},
|
||||||
|
|
|
@ -184,9 +184,18 @@ async function fetchEntitiesBySlug(entitySlugs, sort = 'asc') {
|
||||||
FROM entity_tree
|
FROM entity_tree
|
||||||
JOIN entities ON entity_tree.parent_id = entities.id
|
JOIN entities ON entity_tree.parent_id = entities.id
|
||||||
)
|
)
|
||||||
SELECT jsonb_set(entity, '{children}', to_jsonb(COALESCE(json_agg(children) FILTER (WHERE children.id IS NOT NULL), '[]'))) entity
|
SELECT jsonb_set(
|
||||||
|
jsonb_set(
|
||||||
|
entity,
|
||||||
|
'{children}',
|
||||||
|
to_jsonb(COALESCE(json_agg(children) FILTER (WHERE children.id IS NOT NULL), '[]'))),
|
||||||
|
'{tags}',
|
||||||
|
to_jsonb(COALESCE(json_agg(tags) FILTER (WHERE tags.id IS NOT NULL), '[]'))
|
||||||
|
) entity
|
||||||
FROM entity_tree
|
FROM entity_tree
|
||||||
LEFT JOIN entities AS children ON children.parent_id = (entity->>'id')::int
|
LEFT JOIN entities AS children ON children.parent_id = (entity->>'id')::int
|
||||||
|
LEFT JOIN entities_tags ON entities_tags.entity_id = (entity->>'id')::int
|
||||||
|
LEFT JOIN tags ON tags.id = entities_tags.tag_id
|
||||||
WHERE entity_tree.parent_id IS NULL
|
WHERE entity_tree.parent_id IS NULL
|
||||||
GROUP BY entity_tree.entity
|
GROUP BY entity_tree.entity
|
||||||
ORDER BY entity->'type' :sort;
|
ORDER BY entity->'type' :sort;
|
||||||
|
|
|
@ -27,7 +27,7 @@ function scrapeAll(scenes, site, origin) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async function scrapeScene({ query }, url, _site) {
|
async function scrapeScene({ query }, url, channel) {
|
||||||
const release = {};
|
const release = {};
|
||||||
|
|
||||||
release.entryId = url.match(/\/(\d+)$/)[1];
|
release.entryId = url.match(/\/(\d+)$/)[1];
|
||||||
|
@ -55,6 +55,7 @@ async function scrapeScene({ query }, url, _site) {
|
||||||
release.trailer = query.all('source[type="video/mp4"]').map(trailer => ({
|
release.trailer = query.all('source[type="video/mp4"]').map(trailer => ({
|
||||||
src: trailer.src,
|
src: trailer.src,
|
||||||
quality: Number(trailer.attributes.res?.value || trailer.attributes.quality?.value.slice(0, -1)) || null,
|
quality: Number(trailer.attributes.res?.value || trailer.attributes.quality?.value.slice(0, -1)) || null,
|
||||||
|
vr: channel.tags?.some(tag => tag.slug === 'vr'),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
return release;
|
return release;
|
||||||
|
|
Loading…
Reference in New Issue