Compare commits
3 Commits
0827ced0d7
...
fa57575cc3
Author | SHA1 | Date |
---|---|---|
|
fa57575cc3 | |
|
73b28866ac | |
|
998774fe5c |
|
@ -26,20 +26,14 @@
|
|||
loading="lazy"
|
||||
>
|
||||
|
||||
<span
|
||||
v-else-if="release.covers && release.covers.length > 0"
|
||||
class="covers"
|
||||
<img
|
||||
v-else-if="release.photos && release.photos.length > 0"
|
||||
:src="sfw ? `/img/${release.photos[0].sfw.thumbnail}` : `/media/${release.photos[0].thumbnail}`"
|
||||
:style="{ 'background-image': sfw ? `/img/${release.photos[0].sfw.lazy}` : `/media/${release.photos[0].lazy}` }"
|
||||
:alt="release.title"
|
||||
class="thumbnail"
|
||||
loading="lazy"
|
||||
>
|
||||
<img
|
||||
v-for="cover in release.covers"
|
||||
:key="cover.id"
|
||||
:src="sfw ? `/img/${cover.sfw.thumbnail}` : `/media/${cover.thumbnail}`"
|
||||
:style="{ 'background-image': sfw ? `/img/${cover.sfw.lazy}` : `/media/${cover.lazy}` }"
|
||||
:alt="release.title"
|
||||
class="thumbnail cover"
|
||||
loading="lazy"
|
||||
>
|
||||
</span>
|
||||
|
||||
<div
|
||||
v-else
|
||||
|
|
|
@ -193,6 +193,7 @@ const releaseFields = `
|
|||
${releaseTagsFragment}
|
||||
${releasePosterFragment}
|
||||
${releaseCoversFragment}
|
||||
${releasePhotosFragment}
|
||||
${siteFragment}
|
||||
studio {
|
||||
id
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "traxxx",
|
||||
"version": "1.168.4",
|
||||
"version": "1.168.5",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "traxxx",
|
||||
"version": "1.168.4",
|
||||
"version": "1.168.5",
|
||||
"description": "All the latest porn releases in one place",
|
||||
"main": "src/app.js",
|
||||
"scripts": {
|
||||
|
|
After Width: | Height: | Size: 1.3 MiB |
After Width: | Height: | Size: 6.5 KiB |
After Width: | Height: | Size: 737 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 3.8 MiB |
After Width: | Height: | Size: 7.2 KiB |
After Width: | Height: | Size: 1.7 MiB |
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 31 KiB |
|
@ -588,7 +588,7 @@ const sfw = Object.entries({
|
|||
const tagPosters = [
|
||||
['69', 1, 'Melody Petite for 21Sextury'],
|
||||
['airtight', 2, 'Dakota Skye in "Dakota Goes Nuts" for ArchAngel'],
|
||||
['anal', 0, 'Adriana Chechik in "Manuel Creampies Their Asses 3" for Jules Jordan'],
|
||||
['anal', 5, 'Abella Danger for HardX'],
|
||||
['anal-fingering', 0, 'Marry Queen in "Queen of Assholes" for Asshole Fever'],
|
||||
['anal-creampie', 4, 'Chloe Cherry in "Chloe\'s Big Anal" for DarkX'],
|
||||
['anal-fisting', 1, 'Jane Wilde fisting Alexis Tae in "Jane Wilde is AGAPE" for Evil Angel'],
|
||||
|
@ -698,6 +698,8 @@ const tagPhotos = [
|
|||
['atm', 6, 'Jane Wilde in "Teen Anal" for Evil Angel'],
|
||||
// ['asian', 1, 'Alina Li in "Oil Overload 11" for Jules Jordan'],
|
||||
// ['anal', 'poster', 'Jynx Maze in "Anal Buffet 6" for Evil Angel'],
|
||||
['anal', 7, 'Anastasia Brokelyn for Bang Bros'],
|
||||
['anal', 0, 'Adriana Chechik in "Manuel Creampies Their Asses 3" for Jules Jordan'],
|
||||
['anal', 6, 'Chloe Cherry in "Chloe\'s Big Anal" for DarkX'],
|
||||
['anal', 4, 'Lana Roy in "Anal In The Club" for 21Naturals'],
|
||||
['anal', 3, 'Dakota Skye for Brazzers'],
|
||||
|
@ -834,6 +836,7 @@ const tagPhotos = [
|
|||
['fake-cum', 3, 'Alexia Anders in "Thanksgiving Creampies" for Cum 4K'],
|
||||
['fake-cum', 0, 'Jynx Maze for Cumshot Surprise (Porn Pros)'],
|
||||
['fake-cum', 1, 'Ricki White for Fucked Up Facials'],
|
||||
['femdom', 1, 'Little Caprice in "Femdom" for Little Caprice Dreams'],
|
||||
['fingering', 2, 'Kylie Page and Hadley Viscara in "Busty Blonde Bombshells" for LesbianX'],
|
||||
['fingering', 0, 'Ashly Anderson in "Rough Love" for Hookup Hotshot'],
|
||||
['gangbang', 'poster', 'Kristen Scott in "Interracial Gangbang!" for Jules Jordan'],
|
||||
|
|
|
@ -240,14 +240,21 @@ async function fetchLatest(entity, page, options) {
|
|||
release.photos = Array.from({ length: Math.floor(Math.random() * 10) + 1 }, () => `${options.source}?id=${nanoid()}`); // ensure source is unique
|
||||
} else {
|
||||
// select from local SFW database
|
||||
const [poster, ...photos] = await knex('media')
|
||||
const [/* poster */, ...photos] = await knex('media')
|
||||
.select('path')
|
||||
.where('is_sfw', true)
|
||||
.pluck('path')
|
||||
.orderByRaw('random()')
|
||||
.limit(Math.floor(Math.random() * 10) + 1);
|
||||
|
||||
release.poster = `http://${config.web.host}:${config.web.port}/img/${poster}?id=${nanoid()}`; // ensure source is unique
|
||||
const [poster] = await knex('media')
|
||||
.select('path')
|
||||
.where('is_sfw', true)
|
||||
.pluck('path')
|
||||
.limit(1);
|
||||
|
||||
// release.poster = `http://${config.web.host}:${config.web.port}/img/${poster}?id=${nanoid()}`; // ensure source is unique
|
||||
release.poster = `http://${config.web.host}:${config.web.port}/img/${poster}`; // ensure source is unique
|
||||
release.photos = photos.map(photo => `http://${config.web.host}:${config.web.port}/img/${photo}?id=${nanoid()}`);
|
||||
}
|
||||
|
||||
|
|
|
@ -356,6 +356,8 @@ async function associateMovieScenes(movies, movieScenes) {
|
|||
return null;
|
||||
}).filter(Boolean);
|
||||
|
||||
console.log(movies, movieScenes, associations);
|
||||
|
||||
await bulkInsert('movies_scenes', associations, false);
|
||||
}
|
||||
|
||||
|
|