Compare commits

..

2 Commits

Author SHA1 Message Date
DebaucheryLibrarian 1a9ded19c5 1.186.2 2021-03-18 04:36:09 +01:00
DebaucheryLibrarian 862a29bb6e Using thumbnail size instead of original photo size in image tags. 2021-03-18 04:36:04 +01:00
12 changed files with 98 additions and 8 deletions

View File

@ -17,6 +17,8 @@
:src="getPath(actor.avatar, 'thumbnail')" :src="getPath(actor.avatar, 'thumbnail')"
:style="{ 'background-image': getBgPath(actor.avatar, 'lazy') }" :style="{ 'background-image': getBgPath(actor.avatar, 'lazy') }"
:title="actor.avatar.credit && `© ${actor.avatar.credit}`" :title="actor.avatar.credit && `© ${actor.avatar.credit}`"
:width="actor.avatar.thumbnailWidth"
:height="actor.avatar.thumbnailHeight"
loading="lazy" loading="lazy"
class="avatar photo" class="avatar photo"
@load="$emit('load', $event)" @load="$emit('load', $event)"
@ -35,6 +37,8 @@
:src="getPath(photo, 'thumbnail')" :src="getPath(photo, 'thumbnail')"
:style="{ 'background-image': getBgPath(photo, 'lazy') }" :style="{ 'background-image': getBgPath(photo, 'lazy') }"
:title="`© ${photo.credit || photo.entity.name}`" :title="`© ${photo.credit || photo.entity.name}`"
:width="photo.thumbnailWidth"
:height="photo.thumbnailHeight"
loading="lazy" loading="lazy"
class="photo" class="photo"
@load="$emit('load', $event)" @load="$emit('load', $event)"

View File

@ -28,8 +28,8 @@
<img <img
:src="getPath(item, 'thumbnail', { local })" :src="getPath(item, 'thumbnail', { local })"
:style="{ 'background-image': `url('${getPath(item, 'lazy', { local })}')` }" :style="{ 'background-image': `url('${getPath(item, 'lazy', { local })}')` }"
:width="item.width" :width="item.thumbnailWidth"
:height="item.height" :height="item.thumbnailHeight"
:title="item.title" :title="item.title"
loading="lazy" loading="lazy"
class="item image" class="item image"

View File

@ -13,8 +13,8 @@
:src="getPath(photo, 'thumbnail', { local: true })" :src="getPath(photo, 'thumbnail', { local: true })"
:style="{ 'background-image': `url(${getPath(photo, 'lazy', { local: true })})` }" :style="{ 'background-image': `url(${getPath(photo, 'lazy', { local: true })})` }"
:alt="photo.comment" :alt="photo.comment"
:width="photo.width" :width="photo.thumbnailWidth"
:height="photo.height" :height="photo.thumbnailHeight"
class="photo" class="photo"
@load="$emit('load', $event)" @load="$emit('load', $event)"
> >

View File

@ -94,6 +94,10 @@ function initActorActions(store, router) {
path path
thumbnail thumbnail
lazy lazy
width
height
thumbnailWidth
thumbnailHeight
hash hash
comment comment
credit credit
@ -126,6 +130,10 @@ function initActorActions(store, router) {
path path
thumbnail thumbnail
lazy lazy
width
height
thumbnailWidth
thumbnailHeight
hash hash
isS3 isS3
comment comment

View File

@ -110,6 +110,8 @@ const releasePosterFragment = `
thumbnail thumbnail
width width
height height
thumbnailWidth
thumbnailHeight
lazy lazy
isS3 isS3
comment comment
@ -133,6 +135,8 @@ const releaseCoversFragment = `
thumbnail thumbnail
width width
height height
thumbnailWidth
thumbnailHeight
lazy lazy
isS3 isS3
comment comment
@ -156,6 +160,8 @@ const releasePhotosFragment = `
thumbnail thumbnail
width width
height height
thumbnailWidth
thumbnailHeight
lazy lazy
isS3 isS3
comment comment

View File

@ -109,6 +109,10 @@ function initReleasesActions(store, router) {
path path
thumbnail thumbnail
lazy lazy
width
height
thumbnailWidth
thumbnailHeight
isS3 isS3
sfw: sfwMedia { sfw: sfwMedia {
id id
@ -167,6 +171,10 @@ function initReleasesActions(store, router) {
id id
path path
thumbnail thumbnail
width
height
thumbnailWidth
thumbnailHeight
lazy lazy
isS3 isS3
} }
@ -177,6 +185,10 @@ function initReleasesActions(store, router) {
path path
thumbnail thumbnail
lazy lazy
width
height
thumbnailWidth
thumbnailHeight
isS3 isS3
} }
} }
@ -185,6 +197,10 @@ function initReleasesActions(store, router) {
id id
path path
thumbnail thumbnail
width
height
thumbnailWidth
thumbnailHeight
lazy lazy
isS3 isS3
} }
@ -212,6 +228,10 @@ function initReleasesActions(store, router) {
path path
thumbnail thumbnail
lazy lazy
width
height
thumbnailWidth
thumbnailHeight
isS3 isS3
comment comment
sfw: sfwMedia { sfw: sfwMedia {

View File

@ -41,6 +41,8 @@ function initTagsActions(store, _router) {
path path
width width
height height
thumbnailWidth
thumbnailHeight
comment comment
entity { entity {
id id
@ -73,6 +75,8 @@ function initTagsActions(store, _router) {
path path
width width
height height
thumbnailWidth
thumbnailHeight
comment comment
entity { entity {
id id
@ -166,6 +170,8 @@ function initTagsActions(store, _router) {
lazy lazy
width width
height height
thumbnailWidth
thumbnailHeight
entity { entity {
id id
name name

4
package-lock.json generated
View File

@ -1,11 +1,11 @@
{ {
"name": "traxxx", "name": "traxxx",
"version": "1.186.1", "version": "1.186.2",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"version": "1.186.1", "version": "1.186.2",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@casl/ability": "^5.2.2", "@casl/ability": "^5.2.2",

View File

@ -1,6 +1,6 @@
{ {
"name": "traxxx", "name": "traxxx",
"version": "1.186.1", "version": "1.186.2",
"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": {

43
src/web/plugins/media.js Normal file
View File

@ -0,0 +1,43 @@
'use strict';
const config = require('config');
const { makeExtendSchemaPlugin, gql } = require('graphile-utils');
const schemaExtender = makeExtendSchemaPlugin(_build => ({
typeDefs: gql`
extend type Media {
thumbnailWidth: Int @requires(columns: ["width", "height"])
thumbnailHeight: Int @requires(columns: ["height", "width"])
}
`,
resolvers: {
Media: {
thumbnailWidth(parent, _args, _context, _info) {
if (!parent.width || !parent.height) {
return null;
}
if (parent.height <= config.media.thumbnailSize) {
// thumbnails aren't upscaled
return parent.width;
}
return Math.round(parent.width / (parent.height / config.media.thumbnailSize));
},
thumbnailHeight(parent, _args, _context, _info) {
if (!parent.width || !parent.height) {
return null;
}
if (parent.height <= config.media.thumbnailSize) {
// thumbnails aren't upscaled
return parent.height;
}
return config.media.thumbnailSize;
},
},
},
}));
module.exports = [schemaExtender];

View File

@ -3,9 +3,11 @@
const ActorPlugins = require('./actors'); const ActorPlugins = require('./actors');
const SitePlugins = require('./sites'); const SitePlugins = require('./sites');
// const ReleasePlugins = require('./releases'); // const ReleasePlugins = require('./releases');
const MediaPlugins = require('./media');
module.exports = { module.exports = {
ActorPlugins, ActorPlugins,
SitePlugins, SitePlugins,
ReleasePlugins: [], ReleasePlugins: [],
MediaPlugins,
}; };

View File

@ -8,7 +8,7 @@ const PgConnectionFilterPlugin = require('postgraphile-plugin-connection-filter'
const PgSimplifyInflectorPlugin = require('@graphile-contrib/pg-simplify-inflector'); const PgSimplifyInflectorPlugin = require('@graphile-contrib/pg-simplify-inflector');
const PgOrderByRelatedPlugin = require('@graphile-contrib/pg-order-by-related'); const PgOrderByRelatedPlugin = require('@graphile-contrib/pg-order-by-related');
const { ActorPlugins, SitePlugins, ReleasePlugins } = require('./plugins/plugins'); const { ActorPlugins, SitePlugins, ReleasePlugins, MediaPlugins } = require('./plugins/plugins');
const connectionString = `postgres://${config.database.query.user}:${config.database.query.password}@${config.database.query.host}:5432/${config.database.query.database}`; const connectionString = `postgres://${config.database.query.user}:${config.database.query.password}@${config.database.query.host}:5432/${config.database.query.database}`;
@ -42,6 +42,7 @@ module.exports = postgraphile(
...ActorPlugins, ...ActorPlugins,
...SitePlugins, ...SitePlugins,
...ReleasePlugins, ...ReleasePlugins,
...MediaPlugins,
], ],
pgSettings, pgSettings,
}, },