diff --git a/assets/components/tags/tags.vue b/assets/components/tags/tags.vue index 0bfb7d76..0a588e8a 100644 --- a/assets/components/tags/tags.vue +++ b/assets/components/tags/tags.vue @@ -50,6 +50,7 @@ const tagSlugsByCategory = { 'facial', 'creampie', 'squirting', + 'transsexual', ], appearance: [ 'asian', @@ -64,6 +65,11 @@ const tagSlugsByCategory = { 'tattoos', 'piercings', ], + sexuality: [ + 'gay', + 'bisexual', + 'transsexual', + ], oral: [ 'blowjob', 'pussy-eating', @@ -162,10 +168,18 @@ async function fetchTags() { const tagsBySlug = tags.reduce((acc, tag) => ({ ...acc, [tag.slug]: tag }), {}); - this.categories = Object.entries(tagSlugsByCategory).reduce((acc, [category, tagSlugs]) => ({ - ...acc, - [category]: tagSlugs.map(tagSlug => tagsBySlug[tagSlug]), - }), {}); + this.categories = Object.entries(tagSlugsByCategory).reduce((acc, [category, tagSlugs]) => { + const categoryTags = tagSlugs.map((tagSlug) => tagsBySlug[tagSlug]).filter(Boolean); + + if (categoryTags.length === 0) { + return acc; + } + + return { + ...acc, + [category]: categoryTags, + }; + }, {}); } async function searchTags() { @@ -202,6 +216,7 @@ export default { }, watch: { $route: fetchTags, + '$store.state.ui.tagFilter': fetchTags, }, mounted, methods: { diff --git a/assets/js/tags/actions.js b/assets/js/tags/actions.js index 84c96331..1bc8442c 100644 --- a/assets/js/tags/actions.js +++ b/assets/js/tags/actions.js @@ -210,9 +210,15 @@ function initTagsActions(store, _router) { query Tags( $slugs: [String!] = [], $limit: Int = 100 + $exclude: [String!] ) { tags( - filter: { slug: { in: $slugs } }, + filter: { + slug: { + in: $slugs + notIn: $exclude + } + }, first: $limit ) { id @@ -257,6 +263,7 @@ function initTagsActions(store, _router) { `, { slugs, limit, + exclude: store.state.ui.tagFilter, }); return tags.map((tag) => curateTag(tag, store.state.ui.sfw)); diff --git a/public/img/tags/transsexual/kelly_silva_mel_almeida_brazilliantranssexuals.jpeg b/public/img/tags/transsexual/kelly_silva_mel_almeida_brazilliantranssexuals.jpeg new file mode 100644 index 00000000..ba9f9608 Binary files /dev/null and b/public/img/tags/transsexual/kelly_silva_mel_almeida_brazilliantranssexuals.jpeg differ diff --git a/public/img/tags/transsexual/lazy/kelly_silva_mel_almeida_brazilliantranssexuals.jpeg b/public/img/tags/transsexual/lazy/kelly_silva_mel_almeida_brazilliantranssexuals.jpeg new file mode 100644 index 00000000..83c35adc Binary files /dev/null and b/public/img/tags/transsexual/lazy/kelly_silva_mel_almeida_brazilliantranssexuals.jpeg differ diff --git a/public/img/tags/transsexual/thumbs/kelly_silva_mel_almeida_brazilliantranssexuals.jpeg b/public/img/tags/transsexual/thumbs/kelly_silva_mel_almeida_brazilliantranssexuals.jpeg new file mode 100644 index 00000000..b269a853 Binary files /dev/null and b/public/img/tags/transsexual/thumbs/kelly_silva_mel_almeida_brazilliantranssexuals.jpeg differ diff --git a/seeds/00_tags.js b/seeds/00_tags.js index 9c043cfc..2bf231be 100644 --- a/seeds/00_tags.js +++ b/seeds/00_tags.js @@ -1983,6 +1983,14 @@ const aliases = [ for: 'transsexual', secondary: true, }, + { + name: 'shemale', + for: 'transsexual', + }, + { + name: 'tranny', + for: 'transsexual', + }, { name: 'ts', for: 'transsexual', diff --git a/seeds/04_media.js b/seeds/04_media.js index bcdca9e8..52f5336b 100644 --- a/seeds/04_media.js +++ b/seeds/04_media.js @@ -1023,6 +1023,7 @@ const tagMedia = [ ['teen', 1, 'Stalfra aka Precious', 'nubiles'], ['trainbang', 1, 'Ria Sunn', 'private'], ['trainbang', 0, 'Nicole Black in GIO971', 'legalporno'], + ['transsexual', 'kelly_silva_mel_almeida_brazilliantranssexuals', 'Kelly Silva and Mel Almeida', 'brazilliantranssexuals'], ['tap', 4, 'Francys Belle in GIO1103', 'legalporno'], ['tap', 'lisey_sweet_legalporno', 'Lisey Sweet in GIO816', 'legalporno'], ['tap', 3, 'Julia Red in GIO1007', 'legalporno'], diff --git a/src/scrapers/gamma.js b/src/scrapers/gamma.js index 67fbffac..7d586d42 100644 --- a/src/scrapers/gamma.js +++ b/src/scrapers/gamma.js @@ -631,7 +631,7 @@ async function fetchLatestApi(site, page = 1, preData, include, upcoming = false requests: [ { indexName: 'all_scenes', - params: `query=&hitsPerPage=36&maxValuesPerFacet=100&page=${page - 1}&facetFilters=[["lesbian:"],["bisex:"],["shemale:"],["upcoming:${upcoming ? 1 : 0}"]]&filters=sitename:${site.slug} OR channels.id:${site.slug}`, + params: `query=&hitsPerPage=36&maxValuesPerFacet=100&page=${page - 1}&facetFilters=[["lesbian:"],["bisex:"],["shemale:"],["upcoming:${upcoming ? 1 : 0}"]]&filters=sitename:${site.slug}`, // OR channels.id:${site.slug}`, }, ], }, {