Compare commits

...

3 Commits

Author SHA1 Message Date
DebaucheryLibrarian fa57575cc3 1.168.5 2021-02-08 02:11:03 +01:00
DebaucheryLibrarian 73b28866ac Scene tile uses first photo if poster is unavailable. 2021-02-08 02:10:56 +01:00
DebaucheryLibrarian 998774fe5c Added tag photos. 2021-02-06 04:15:28 +01:00
16 changed files with 25 additions and 18 deletions

View File

@ -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

View File

@ -193,6 +193,7 @@ const releaseFields = `
${releaseTagsFragment}
${releasePosterFragment}
${releaseCoversFragment}
${releasePhotosFragment}
${siteFragment}
studio {
id

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "traxxx",
"version": "1.168.4",
"version": "1.168.5",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -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": {

BIN
public/img/tags/anal/7.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 737 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View File

@ -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'],

View File

@ -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()}`);
}

View File

@ -356,6 +356,8 @@ async function associateMovieScenes(movies, movieScenes) {
return null;
}).filter(Boolean);
console.log(movies, movieScenes, associations);
await bulkInsert('movies_scenes', associations, false);
}