diff --git a/assets/components/actors/actor.vue b/assets/components/actors/actor.vue
index e9908176..ba6af9e8 100644
--- a/assets/components/actors/actor.vue
+++ b/assets/components/actors/actor.vue
@@ -199,11 +199,11 @@
Hair
- {{ actor.hair }}
+ {{ actor.hairLength }}, {{ actor.hairColor }}
-
-
- Latest
+
+
+ Latest
- Upcoming
+ Upcoming
- New
+ New
-
-
+
-
-
-
+
-
-
+
+
+
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
@@ -178,6 +193,10 @@ export default {
}
}
+.tags {
+ flex-shrink: 0;
+}
+
@media(max-width: $breakpoint) {
.filters-container {
display: none;
diff --git a/assets/components/home/home.vue b/assets/components/home/home.vue
index 43d9feec..7e3c319e 100644
--- a/assets/components/home/home.vue
+++ b/assets/components/home/home.vue
@@ -3,15 +3,11 @@
-
-
-
diff --git a/assets/img/avatars/Ace Rockwood - outline - hardon.svg b/assets/img/avatars/Ace Rockwood - outline - hardon.svg
new file mode 100644
index 00000000..96bfed2c
--- /dev/null
+++ b/assets/img/avatars/Ace Rockwood - outline - hardon.svg
@@ -0,0 +1,235 @@
+
+
diff --git a/assets/img/avatars/Megan Snow - outline.svg b/assets/img/avatars/Megan Snow - outline.svg
new file mode 100644
index 00000000..e6db4a89
--- /dev/null
+++ b/assets/img/avatars/Megan Snow - outline.svg
@@ -0,0 +1,311 @@
+
+
diff --git a/assets/img/avatars/Megan Snow.jpg b/assets/img/avatars/Megan Snow.jpg
new file mode 100644
index 00000000..345880c6
Binary files /dev/null and b/assets/img/avatars/Megan Snow.jpg differ
diff --git a/assets/img/avatars/Megan Snow.svg b/assets/img/avatars/Megan Snow.svg
new file mode 100644
index 00000000..b580bd76
--- /dev/null
+++ b/assets/img/avatars/Megan Snow.svg
@@ -0,0 +1,11884 @@
+
+
diff --git a/assets/img/avatars/Tan.jpg b/assets/img/avatars/Tan.jpg
new file mode 100644
index 00000000..ec08231e
Binary files /dev/null and b/assets/img/avatars/Tan.jpg differ
diff --git a/public/img/avatar_female1.png b/assets/img/avatars/avatar_female1.png
similarity index 100%
rename from public/img/avatar_female1.png
rename to assets/img/avatars/avatar_female1.png
diff --git a/public/img/avatar_female2.png b/assets/img/avatars/avatar_female2.png
similarity index 100%
rename from public/img/avatar_female2.png
rename to assets/img/avatars/avatar_female2.png
diff --git a/assets/js/actors/actions.js b/assets/js/actors/actions.js
index b43ff614..5287a175 100644
--- a/assets/js/actors/actions.js
+++ b/assets/js/actors/actions.js
@@ -47,7 +47,8 @@ function initActorActions(store, _router) {
heightImperial: height(units:IMPERIAL)
weightMetric: weight(units:METRIC)
weightImperial: weight(units:IMPERIAL)
- hair
+ hairColor
+ hairLength
eyes
hasTattoos
hasPiercings
diff --git a/assets/js/networks/actions.js b/assets/js/networks/actions.js
index 69c40f37..48752c61 100644
--- a/assets/js/networks/actions.js
+++ b/assets/js/networks/actions.js
@@ -4,13 +4,19 @@ import { curateNetwork } from '../curate';
import getDateRange from '../get-date-range';
function initNetworksActions(store, _router) {
- async function fetchNetworkBySlug({ _commit }, { networkSlug, limit = 100, range = 'latest' }) {
+ async function fetchNetworkBySlug({ _commit }, {
+ networkSlug,
+ limit = 10,
+ pageNumber = 1,
+ range = 'latest',
+ }) {
const { before, after, orderBy } = getDateRange(range);
const { network, releases } = await graphql(`
query Network(
$networkSlug: String!
- $limit:Int = 1000,
+ $limit:Int = 10,
+ $offset:Int = 0,
$after:Date = "1900-01-01",
$before:Date = "2100-01-01",
$afterTime:Datetime = "1900-01-01",
@@ -66,8 +72,9 @@ function initNetworksActions(store, _router) {
}
}
releases(
- first: $limit,
- orderBy: $orderBy,
+ first: $limit
+ offset: $offset
+ orderBy: $orderBy
filter: {
site: {
or: [
@@ -109,6 +116,7 @@ function initNetworksActions(store, _router) {
`, {
networkSlug,
limit,
+ offset: Math.max(0, (pageNumber - 1)) * limit,
after,
before,
orderBy,
diff --git a/assets/js/sites/actions.js b/assets/js/sites/actions.js
index 4ae530a8..88686da9 100644
--- a/assets/js/sites/actions.js
+++ b/assets/js/sites/actions.js
@@ -1,16 +1,22 @@
import { graphql } from '../api';
-import { releasesFragment } from '../fragments';
+import { releaseFields } from '../fragments';
import { curateSite } from '../curate';
import getDateRange from '../get-date-range';
function initSitesActions(store, _router) {
- async function fetchSiteBySlug({ _commit }, { siteSlug, limit = 100, range = 'latest' }) {
+ async function fetchSiteBySlug({ _commit }, {
+ siteSlug,
+ limit = 10,
+ pageNumber = 1,
+ range = 'latest',
+ }) {
const { before, after, orderBy } = getDateRange(range);
const { site } = await graphql(`
query Site(
$siteSlug: String!,
$limit:Int = 100,
+ $offset:Int = 0,
$after:Date = "1900-01-01",
$before:Date = "2100-01-01",
$orderBy:[ReleasesOrderBy!]
@@ -33,12 +39,34 @@ function initSitesActions(store, _router) {
slug
url
}
- ${releasesFragment}
+ releases(
+ filter: {
+ date: {
+ lessThan: $before,
+ greaterThan: $after,
+ },
+ releasesTagsConnection: {
+ none: {
+ tag: {
+ slug: {
+ in: $exclude
+ }
+ }
+ }
+ }
+ }
+ first: $limit
+ offset: $offset
+ orderBy: $orderBy
+ ) {
+ ${releaseFields}
+ }
}
}
`, {
siteSlug,
limit,
+ offset: Math.max(0, (pageNumber - 1)) * limit,
after,
before,
orderBy,
diff --git a/migrations/20190325001339_releases.js b/migrations/20190325001339_releases.js
index 8c36cd49..f8e56a5e 100644
--- a/migrations/20190325001339_releases.js
+++ b/migrations/20190325001339_releases.js
@@ -1,34 +1,34 @@
exports.up = knex => Promise.resolve()
.then(() => knex.schema.createTable('countries', (table) => {
- table.string('alpha2', 2)
+ table.text('alpha2', 2)
.unique()
.primary();
- table.string('alpha3', 3)
+ table.text('alpha3', 3)
.unique();
- table.string('name')
+ table.text('name')
.notNullable();
- table.string('alias');
+ table.text('alias');
table.integer('code', 3);
- table.string('nationality');
+ table.text('nationality');
table.integer('priority', 2)
.defaultTo(0);
}))
.then(() => knex.schema.createTable('media', (table) => {
- table.string('id', 21)
+ table.text('id', 21)
.primary();
- table.string('path');
- table.string('thumbnail');
- table.string('lazy');
+ table.text('path');
+ table.text('thumbnail');
+ table.text('lazy');
table.integer('index');
- table.string('mime');
+ table.text('mime');
- table.string('hash');
+ table.text('hash');
table.integer('size', 12);
table.integer('quality', 6);
@@ -36,14 +36,14 @@ exports.up = knex => Promise.resolve()
table.integer('height', 6);
table.float('entropy');
- table.string('scraper', 32);
- table.string('copyright', 100);
+ table.text('scraper', 32);
+ table.text('copyright', 100);
- table.string('source', 2100);
- table.string('source_page', 2100);
+ table.text('source', 2100);
+ table.text('source_page', 2100);
table.text('comment');
- table.string('group');
+ table.text('group');
table.unique('hash');
table.unique('source');
@@ -52,10 +52,10 @@ exports.up = knex => Promise.resolve()
.defaultTo(knex.fn.now());
}))
.then(() => knex.schema.createTable('media_sfw', (table) => {
- table.string('id', 21)
+ table.text('id', 21)
.primary();
- table.string('media_id', 21)
+ table.text('media_id', 21)
.references('id')
.inTable('media')
.unique();
@@ -71,7 +71,7 @@ exports.up = knex => Promise.resolve()
`);
})
.then(() => knex.schema.alterTable('media', (table) => {
- table.string('sfw_media_id', 21)
+ table.text('sfw_media_id', 21)
.references('id')
.inTable('media')
.defaultTo(knex.raw('get_random_sfw_media_id()'));
@@ -79,10 +79,10 @@ exports.up = knex => Promise.resolve()
.then(() => knex.schema.createTable('tags_groups', (table) => {
table.increments('id', 12);
- table.string('name', 32);
+ table.text('name', 32);
table.text('description');
- table.string('slug', 32)
+ table.text('slug', 32)
.unique();
table.datetime('created_at')
@@ -90,7 +90,7 @@ exports.up = knex => Promise.resolve()
}))
.then(() => knex.schema.createTable('tags', (table) => {
table.increments('id', 12);
- table.string('name');
+ table.text('name');
table.text('description');
@@ -108,7 +108,7 @@ exports.up = knex => Promise.resolve()
.references('id')
.inTable('tags');
- table.string('slug', 32)
+ table.text('slug', 32)
.unique();
table.datetime('created_at')
@@ -120,7 +120,7 @@ exports.up = knex => Promise.resolve()
.references('id')
.inTable('tags');
- table.string('media_id', 21)
+ table.text('media_id', 21)
.notNullable()
.references('id')
.inTable('media');
@@ -133,7 +133,7 @@ exports.up = knex => Promise.resolve()
.references('id')
.inTable('tags');
- table.string('media_id', 21)
+ table.text('media_id', 21)
.notNullable()
.references('id')
.inTable('media');
@@ -143,9 +143,9 @@ exports.up = knex => Promise.resolve()
.then(() => knex.schema.createTable('networks', (table) => {
table.increments('id', 12);
- table.string('name');
- table.string('alias');
- table.string('url');
+ table.text('name');
+ table.text('alias');
+ table.text('url');
table.text('description');
table.json('parameters');
@@ -153,7 +153,7 @@ exports.up = knex => Promise.resolve()
.references('id')
.inTable('networks');
- table.string('slug', 32)
+ table.text('slug', 32)
.unique();
table.datetime('created_at')
@@ -162,8 +162,8 @@ exports.up = knex => Promise.resolve()
.then(() => knex.schema.createTable('networks_social', (table) => {
table.increments('id', 16);
- table.string('url');
- table.string('platform');
+ table.text('url');
+ table.text('platform');
table.integer('network_id', 12)
.notNullable()
@@ -183,13 +183,13 @@ exports.up = knex => Promise.resolve()
.references('id')
.inTable('networks');
- table.string('name');
- table.string('slug', 32)
+ table.text('name');
+ table.text('slug', 32)
.unique();
- table.string('alias');
+ table.text('alias');
- table.string('url');
+ table.text('url');
table.text('description');
table.json('parameters');
@@ -221,8 +221,8 @@ exports.up = knex => Promise.resolve()
.then(() => knex.schema.createTable('sites_social', (table) => {
table.increments('id', 16);
- table.string('url');
- table.string('platform');
+ table.text('url');
+ table.text('platform');
table.integer('site_id', 12)
.notNullable()
@@ -242,11 +242,11 @@ exports.up = knex => Promise.resolve()
.references('id')
.inTable('networks');
- table.string('name');
- table.string('url');
+ table.text('name');
+ table.text('url');
table.text('description');
- table.string('slug', 32)
+ table.text('slug', 32)
.unique();
table.datetime('created_at')
@@ -262,13 +262,13 @@ exports.up = knex => Promise.resolve()
.then(() => knex.schema.createTable('actors', (table) => {
table.increments('id', 12);
- table.string('name')
+ table.text('name')
.notNullable();
- table.string('slug', 32)
+ table.text('slug', 32)
.notNullable();
- table.string('real_name');
+ table.text('real_name');
table.integer('network_id', 12)
.references('id')
@@ -281,24 +281,24 @@ exports.up = knex => Promise.resolve()
table.date('date_of_birth');
table.date('date_of_death');
- table.string('gender', 18);
+ table.text('gender', 18);
table.text('description');
- table.string('birth_city');
- table.string('birth_state');
- table.string('birth_country_alpha2', 2)
+ table.text('birth_city');
+ table.text('birth_state');
+ table.text('birth_country_alpha2', 2)
.references('alpha2')
.inTable('countries');
- table.string('residence_city');
- table.string('residence_state');
- table.string('residence_country_alpha2', 2)
+ table.text('residence_city');
+ table.text('residence_state');
+ table.text('residence_country_alpha2', 2)
.references('alpha2')
.inTable('countries');
- table.string('ethnicity');
+ table.text('ethnicity');
- table.string('cup', 4);
+ table.text('cup', 4);
table.integer('bust', 3);
table.integer('waist', 3);
table.integer('hip', 3);
@@ -306,15 +306,16 @@ exports.up = knex => Promise.resolve()
table.integer('height', 3);
table.integer('weight', 3);
- table.string('eyes');
- table.string('hair');
+ table.text('eyes');
+ table.text('hair_color');
+ table.text('hair_length');
table.boolean('has_tattoos');
table.boolean('has_piercings');
- table.string('piercings');
- table.string('tattoos');
+ table.text('piercings');
+ table.text('tattoos');
- table.string('avatar_media_id', 21)
+ table.text('avatar_media_id', 21)
.references('id')
.inTable('media');
@@ -348,30 +349,30 @@ exports.up = knex => Promise.resolve()
table.integer('priority', 4)
.defaultTo(1);
- table.string('real_name');
- table.string('gender', 18);
+ table.text('real_name');
+ table.text('gender', 18);
table.date('date_of_birth');
table.date('date_of_death');
table.text('description');
- table.string('description_hash');
+ table.text('description_hash');
- table.string('birth_city');
- table.string('birth_state');
- table.string('birth_country_alpha2', 2)
+ table.text('birth_city');
+ table.text('birth_state');
+ table.text('birth_country_alpha2', 2)
.references('alpha2')
.inTable('countries');
- table.string('residence_city');
- table.string('residence_state');
- table.string('residence_country_alpha2', 2)
+ table.text('residence_city');
+ table.text('residence_state');
+ table.text('residence_country_alpha2', 2)
.references('alpha2')
.inTable('countries');
- table.string('ethnicity');
+ table.text('ethnicity');
- table.string('cup', 4);
+ table.text('cup', 4);
table.integer('bust', 3);
table.integer('waist', 3);
table.integer('hip', 3);
@@ -379,15 +380,16 @@ exports.up = knex => Promise.resolve()
table.integer('height', 3);
table.integer('weight', 3);
- table.string('eyes');
- table.string('hair');
+ table.text('eyes');
+ table.text('hair_color');
+ table.text('hair_length');
table.boolean('has_tattoos');
table.boolean('has_piercings');
- table.string('piercings');
- table.string('tattoos');
+ table.text('piercings');
+ table.text('tattoos');
- table.string('avatar_media_id', 21)
+ table.text('avatar_media_id', 21)
.references('id')
.inTable('media');
@@ -401,10 +403,10 @@ exports.up = knex => Promise.resolve()
.defaultTo(knex.fn.now());
}))
.then(() => knex.schema.createTable('body', (table) => {
- table.string('slug', 20)
+ table.text('slug', 20)
.primary();
- table.string('name');
+ table.text('name');
}))
.then(() => { // eslint-disable-line arrow-body-style
// allow vim fold
@@ -533,13 +535,13 @@ exports.up = knex => Promise.resolve()
.references('id')
.inTable('actors');
- table.string('body_slug', 20)
+ table.text('body_slug', 20)
.references('slug')
.inTable('body');
table.enum('side', ['left', 'right', 'center', 'both']);
- table.string('description');
+ table.text('description');
table.datetime('created_at')
.defaultTo(knex.fn.now());
@@ -552,13 +554,13 @@ exports.up = knex => Promise.resolve()
.references('id')
.inTable('actors');
- table.string('body_slug', 20)
+ table.text('body_slug', 20)
.references('slug')
.inTable('body');
table.enum('side', ['left', 'right', 'center', 'both']);
- table.string('description');
+ table.text('description');
table.datetime('created_at')
.defaultTo(knex.fn.now());
@@ -569,7 +571,7 @@ exports.up = knex => Promise.resolve()
.references('id')
.inTable('actors_profiles');
- table.string('media_id', 21)
+ table.text('media_id', 21)
.notNullable()
.references('id')
.inTable('media');
@@ -582,7 +584,7 @@ exports.up = knex => Promise.resolve()
.references('id')
.inTable('actors');
- table.string('media_id', 21)
+ table.text('media_id', 21)
.notNullable()
.references('id')
.inTable('media');
@@ -592,8 +594,8 @@ exports.up = knex => Promise.resolve()
.then(() => knex.schema.createTable('actors_social', (table) => {
table.increments('id', 16);
- table.string('url');
- table.string('platform');
+ table.text('url');
+ table.text('platform');
table.integer('actor_id', 12)
.notNullable()
@@ -608,12 +610,12 @@ exports.up = knex => Promise.resolve()
.then(() => knex.schema.createTable('directors', (table) => {
table.increments('id', 12);
- table.string('name');
+ table.text('name');
table.integer('alias_for', 12)
.references('id')
.inTable('directors');
- table.string('slug', 32)
+ table.text('slug', 32)
.unique();
table.datetime('created_at')
@@ -634,16 +636,16 @@ exports.up = knex => Promise.resolve()
.references('id')
.inTable('studios');
- table.string('type', 10)
+ table.text('type', 10)
.defaultTo('scene');
- table.string('shoot_id');
- table.string('entry_id');
+ table.text('shoot_id');
+ table.text('entry_id');
table.unique(['site_id', 'network_id', 'entry_id', 'type']);
- table.string('url', 1000);
- table.string('title');
- table.string('slug');
+ table.text('url', 1000);
+ table.text('title');
+ table.text('slug');
table.date('date');
table.index('date');
@@ -654,7 +656,7 @@ exports.up = knex => Promise.resolve()
.unsigned();
table.boolean('deep');
- table.string('deep_url', 1000);
+ table.text('deep_url', 1000);
table.integer('created_batch_id', 12)
.references('id')
@@ -718,7 +720,7 @@ exports.up = knex => Promise.resolve()
.references('id')
.inTable('releases');
- table.string('media_id', 21)
+ table.text('media_id', 21)
.notNullable()
.references('id')
.inTable('media');
@@ -731,7 +733,7 @@ exports.up = knex => Promise.resolve()
.references('id')
.inTable('releases');
- table.string('media_id', 21)
+ table.text('media_id', 21)
.notNullable()
.references('id')
.inTable('media');
@@ -744,7 +746,7 @@ exports.up = knex => Promise.resolve()
.references('id')
.inTable('releases');
- table.string('media_id', 21)
+ table.text('media_id', 21)
.notNullable()
.references('id')
.inTable('media');
@@ -757,7 +759,7 @@ exports.up = knex => Promise.resolve()
.references('id')
.inTable('releases');
- table.string('media_id', 21)
+ table.text('media_id', 21)
.notNullable()
.references('id')
.inTable('media');
@@ -770,7 +772,7 @@ exports.up = knex => Promise.resolve()
.references('id')
.inTable('releases');
- table.string('media_id', 21)
+ table.text('media_id', 21)
.notNullable()
.references('id')
.inTable('media');
diff --git a/public/img/avatar_male.svg b/public/img/avatar_male.svg
index d0ecd0da..ab86d884 100644
--- a/public/img/avatar_male.svg
+++ b/public/img/avatar_male.svg
@@ -1,5 +1,5 @@
diff --git a/public/img/avatar_male2.svg b/public/img/avatar_male2.svg
new file mode 100644
index 00000000..d0ecd0da
--- /dev/null
+++ b/public/img/avatar_male2.svg
@@ -0,0 +1,5 @@
+
diff --git a/public/img/avatar_transsexual.svg b/public/img/avatar_transsexual.svg
new file mode 100644
index 00000000..0ddda9e8
--- /dev/null
+++ b/public/img/avatar_transsexual.svg
@@ -0,0 +1,65 @@
+
+
diff --git a/public/img/logos/bangbros/filthyfamily.png b/public/img/logos/bangbros/filthyfamily.png
new file mode 100644
index 00000000..337ae8a9
Binary files /dev/null and b/public/img/logos/bangbros/filthyfamily.png differ
diff --git a/public/img/logos/bangbros/lazy/assparade.png b/public/img/logos/bangbros/lazy/assparade.png
index 56415c34..8c61ffec 100644
Binary files a/public/img/logos/bangbros/lazy/assparade.png and b/public/img/logos/bangbros/lazy/assparade.png differ
diff --git a/public/img/logos/bangbros/lazy/avaspice.png b/public/img/logos/bangbros/lazy/avaspice.png
index a0415b1f..f635e88e 100644
Binary files a/public/img/logos/bangbros/lazy/avaspice.png and b/public/img/logos/bangbros/lazy/avaspice.png differ
diff --git a/public/img/logos/bangbros/lazy/backroomfacials.png b/public/img/logos/bangbros/lazy/backroomfacials.png
index 0cd4bebd..a81be223 100644
Binary files a/public/img/logos/bangbros/lazy/backroomfacials.png and b/public/img/logos/bangbros/lazy/backroomfacials.png differ
diff --git a/public/img/logos/bangbros/lazy/backroommilf.png b/public/img/logos/bangbros/lazy/backroommilf.png
index 1ed503dd..8a7c07c3 100644
Binary files a/public/img/logos/bangbros/lazy/backroommilf.png and b/public/img/logos/bangbros/lazy/backroommilf.png differ
diff --git a/public/img/logos/bangbros/lazy/ballhoneys.png b/public/img/logos/bangbros/lazy/ballhoneys.png
index 3d1b55fa..f332a582 100644
Binary files a/public/img/logos/bangbros/lazy/ballhoneys.png and b/public/img/logos/bangbros/lazy/ballhoneys.png differ
diff --git a/public/img/logos/bangbros/lazy/bangbros18.png b/public/img/logos/bangbros/lazy/bangbros18.png
index a1afc56a..31673cff 100644
Binary files a/public/img/logos/bangbros/lazy/bangbros18.png and b/public/img/logos/bangbros/lazy/bangbros18.png differ
diff --git a/public/img/logos/bangbros/lazy/bangbrosangels.png b/public/img/logos/bangbros/lazy/bangbrosangels.png
index 6b812918..7e508756 100644
Binary files a/public/img/logos/bangbros/lazy/bangbrosangels.png and b/public/img/logos/bangbros/lazy/bangbrosangels.png differ
diff --git a/public/img/logos/bangbros/lazy/bangbroscasting.png b/public/img/logos/bangbros/lazy/bangbroscasting.png
index 15bb4629..aafe47f7 100644
Binary files a/public/img/logos/bangbros/lazy/bangbroscasting.png and b/public/img/logos/bangbros/lazy/bangbroscasting.png differ
diff --git a/public/img/logos/bangbros/lazy/bangbrosclips.png b/public/img/logos/bangbros/lazy/bangbrosclips.png
index 71d7efd7..0e6003ce 100644
Binary files a/public/img/logos/bangbros/lazy/bangbrosclips.png and b/public/img/logos/bangbros/lazy/bangbrosclips.png differ
diff --git a/public/img/logos/bangbros/lazy/bangbrosremastered.png b/public/img/logos/bangbros/lazy/bangbrosremastered.png
index 5219f627..172632c9 100644
Binary files a/public/img/logos/bangbros/lazy/bangbrosremastered.png and b/public/img/logos/bangbros/lazy/bangbrosremastered.png differ
diff --git a/public/img/logos/bangbros/lazy/bangbus.png b/public/img/logos/bangbros/lazy/bangbus.png
index 1b6fd7ef..8e277f83 100644
Binary files a/public/img/logos/bangbros/lazy/bangbus.png and b/public/img/logos/bangbros/lazy/bangbus.png differ
diff --git a/public/img/logos/bangbros/lazy/bangpov.png b/public/img/logos/bangbros/lazy/bangpov.png
index 045b1430..f0bdcec4 100644
Binary files a/public/img/logos/bangbros/lazy/bangpov.png and b/public/img/logos/bangbros/lazy/bangpov.png differ
diff --git a/public/img/logos/bangbros/lazy/bangtryouts.png b/public/img/logos/bangbros/lazy/bangtryouts.png
index 1616a175..8f66df5f 100644
Binary files a/public/img/logos/bangbros/lazy/bangtryouts.png and b/public/img/logos/bangbros/lazy/bangtryouts.png differ
diff --git a/public/img/logos/bangbros/lazy/bigmouthfuls.png b/public/img/logos/bangbros/lazy/bigmouthfuls.png
index c7ba1e93..a624d336 100644
Binary files a/public/img/logos/bangbros/lazy/bigmouthfuls.png and b/public/img/logos/bangbros/lazy/bigmouthfuls.png differ
diff --git a/public/img/logos/bangbros/lazy/bigtitcreampie.png b/public/img/logos/bangbros/lazy/bigtitcreampie.png
index a14c1731..00e80234 100644
Binary files a/public/img/logos/bangbros/lazy/bigtitcreampie.png and b/public/img/logos/bangbros/lazy/bigtitcreampie.png differ
diff --git a/public/img/logos/bangbros/lazy/bigtitsroundasses.png b/public/img/logos/bangbros/lazy/bigtitsroundasses.png
index dcdcb467..4abd3c2c 100644
Binary files a/public/img/logos/bangbros/lazy/bigtitsroundasses.png and b/public/img/logos/bangbros/lazy/bigtitsroundasses.png differ
diff --git a/public/img/logos/bangbros/lazy/blowjobfridays.png b/public/img/logos/bangbros/lazy/blowjobfridays.png
index eb8f5711..4aebe4c3 100644
Binary files a/public/img/logos/bangbros/lazy/blowjobfridays.png and b/public/img/logos/bangbros/lazy/blowjobfridays.png differ
diff --git a/public/img/logos/bangbros/lazy/blowjobninjas.png b/public/img/logos/bangbros/lazy/blowjobninjas.png
index 14b060ad..96463329 100644
Binary files a/public/img/logos/bangbros/lazy/blowjobninjas.png and b/public/img/logos/bangbros/lazy/blowjobninjas.png differ
diff --git a/public/img/logos/bangbros/lazy/boobsquad.png b/public/img/logos/bangbros/lazy/boobsquad.png
index 0f7c31da..3c4d254f 100644
Binary files a/public/img/logos/bangbros/lazy/boobsquad.png and b/public/img/logos/bangbros/lazy/boobsquad.png differ
diff --git a/public/img/logos/bangbros/lazy/brownbunnies.png b/public/img/logos/bangbros/lazy/brownbunnies.png
index cbcf54c1..9fe512cb 100644
Binary files a/public/img/logos/bangbros/lazy/brownbunnies.png and b/public/img/logos/bangbros/lazy/brownbunnies.png differ
diff --git a/public/img/logos/bangbros/lazy/canhescore.png b/public/img/logos/bangbros/lazy/canhescore.png
index b17f3d92..59abd8cc 100644
Binary files a/public/img/logos/bangbros/lazy/canhescore.png and b/public/img/logos/bangbros/lazy/canhescore.png differ
diff --git a/public/img/logos/bangbros/lazy/casting.png b/public/img/logos/bangbros/lazy/casting.png
index b59159b5..bfa27ccc 100644
Binary files a/public/img/logos/bangbros/lazy/casting.png and b/public/img/logos/bangbros/lazy/casting.png differ
diff --git a/public/img/logos/bangbros/lazy/chongas.png b/public/img/logos/bangbros/lazy/chongas.png
index 3d76a237..46688c15 100644
Binary files a/public/img/logos/bangbros/lazy/chongas.png and b/public/img/logos/bangbros/lazy/chongas.png differ
diff --git a/public/img/logos/bangbros/lazy/colombiafuckfest.png b/public/img/logos/bangbros/lazy/colombiafuckfest.png
index 6f227c6f..1e46deeb 100644
Binary files a/public/img/logos/bangbros/lazy/colombiafuckfest.png and b/public/img/logos/bangbros/lazy/colombiafuckfest.png differ
diff --git a/public/img/logos/bangbros/lazy/dirtyworldtour.png b/public/img/logos/bangbros/lazy/dirtyworldtour.png
index 584c254c..60a3f60b 100644
Binary files a/public/img/logos/bangbros/lazy/dirtyworldtour.png and b/public/img/logos/bangbros/lazy/dirtyworldtour.png differ
diff --git a/public/img/logos/bangbros/lazy/dorminvasion.png b/public/img/logos/bangbros/lazy/dorminvasion.png
index 2d7d18d3..a6de82d6 100644
Binary files a/public/img/logos/bangbros/lazy/dorminvasion.png and b/public/img/logos/bangbros/lazy/dorminvasion.png differ
diff --git a/public/img/logos/bangbros/lazy/facialfest.png b/public/img/logos/bangbros/lazy/facialfest.png
index cb53ae18..9dc80d91 100644
Binary files a/public/img/logos/bangbros/lazy/facialfest.png and b/public/img/logos/bangbros/lazy/facialfest.png differ
diff --git a/public/img/logos/bangbros/lazy/favicon.png b/public/img/logos/bangbros/lazy/favicon.png
new file mode 100644
index 00000000..cb1fb04a
Binary files /dev/null and b/public/img/logos/bangbros/lazy/favicon.png differ
diff --git a/public/img/logos/bangbros/lazy/filthyfamily.png b/public/img/logos/bangbros/lazy/filthyfamily.png
new file mode 100644
index 00000000..8c33489a
Binary files /dev/null and b/public/img/logos/bangbros/lazy/filthyfamily.png differ
diff --git a/public/img/logos/bangbros/lazy/fuckteamfive.png b/public/img/logos/bangbros/lazy/fuckteamfive.png
index f60f82e0..087d9acc 100644
Binary files a/public/img/logos/bangbros/lazy/fuckteamfive.png and b/public/img/logos/bangbros/lazy/fuckteamfive.png differ
diff --git a/public/img/logos/bangbros/lazy/gloryholeloads.png b/public/img/logos/bangbros/lazy/gloryholeloads.png
index ccf4e14c..bc70e731 100644
Binary files a/public/img/logos/bangbros/lazy/gloryholeloads.png and b/public/img/logos/bangbros/lazy/gloryholeloads.png differ
diff --git a/public/img/logos/bangbros/lazy/latinarampage.png b/public/img/logos/bangbros/lazy/latinarampage.png
index 125a4e08..a90f3384 100644
Binary files a/public/img/logos/bangbros/lazy/latinarampage.png and b/public/img/logos/bangbros/lazy/latinarampage.png differ
diff --git a/public/img/logos/bangbros/lazy/livingwithanna.png b/public/img/logos/bangbros/lazy/livingwithanna.png
index 27c9653c..ea924b5d 100644
Binary files a/public/img/logos/bangbros/lazy/livingwithanna.png and b/public/img/logos/bangbros/lazy/livingwithanna.png differ
diff --git a/public/img/logos/bangbros/lazy/magicalfeet.png b/public/img/logos/bangbros/lazy/magicalfeet.png
index 749d9130..f6b10230 100644
Binary files a/public/img/logos/bangbros/lazy/magicalfeet.png and b/public/img/logos/bangbros/lazy/magicalfeet.png differ
diff --git a/public/img/logos/bangbros/lazy/milflessons.png b/public/img/logos/bangbros/lazy/milflessons.png
index d58205a1..9e7b2280 100644
Binary files a/public/img/logos/bangbros/lazy/milflessons.png and b/public/img/logos/bangbros/lazy/milflessons.png differ
diff --git a/public/img/logos/bangbros/lazy/milfsoup.png b/public/img/logos/bangbros/lazy/milfsoup.png
index 2cc0ce49..a5e08502 100644
Binary files a/public/img/logos/bangbros/lazy/milfsoup.png and b/public/img/logos/bangbros/lazy/milfsoup.png differ
diff --git a/public/img/logos/bangbros/lazy/momishorny.png b/public/img/logos/bangbros/lazy/momishorny.png
index 1268ec66..661a8580 100644
Binary files a/public/img/logos/bangbros/lazy/momishorny.png and b/public/img/logos/bangbros/lazy/momishorny.png differ
diff --git a/public/img/logos/bangbros/lazy/monstersofcock.png b/public/img/logos/bangbros/lazy/monstersofcock.png
index 7089c3a2..1f86de5b 100644
Binary files a/public/img/logos/bangbros/lazy/monstersofcock.png and b/public/img/logos/bangbros/lazy/monstersofcock.png differ
diff --git a/public/img/logos/bangbros/lazy/mranal.png b/public/img/logos/bangbros/lazy/mranal.png
index 934322d0..07c3ad83 100644
Binary files a/public/img/logos/bangbros/lazy/mranal.png and b/public/img/logos/bangbros/lazy/mranal.png differ
diff --git a/public/img/logos/bangbros/lazy/mrcameltoe.png b/public/img/logos/bangbros/lazy/mrcameltoe.png
index 1ff3c708..b84b2f36 100644
Binary files a/public/img/logos/bangbros/lazy/mrcameltoe.png and b/public/img/logos/bangbros/lazy/mrcameltoe.png differ
diff --git a/public/img/logos/bangbros/lazy/mydirtymaid.png b/public/img/logos/bangbros/lazy/mydirtymaid.png
index b785c21e..5be7f900 100644
Binary files a/public/img/logos/bangbros/lazy/mydirtymaid.png and b/public/img/logos/bangbros/lazy/mydirtymaid.png differ
diff --git a/public/img/logos/bangbros/lazy/mylifeinbrazil.png b/public/img/logos/bangbros/lazy/mylifeinbrazil.png
index c0a07dad..452c3730 100644
Binary files a/public/img/logos/bangbros/lazy/mylifeinbrazil.png and b/public/img/logos/bangbros/lazy/mylifeinbrazil.png differ
diff --git a/public/img/logos/bangbros/lazy/network.png b/public/img/logos/bangbros/lazy/network.png
index 94d45dba..7bc9e165 100644
Binary files a/public/img/logos/bangbros/lazy/network.png and b/public/img/logos/bangbros/lazy/network.png differ
diff --git a/public/img/logos/bangbros/lazy/newbieblack.png b/public/img/logos/bangbros/lazy/newbieblack.png
index c3bcd613..0f35564d 100644
Binary files a/public/img/logos/bangbros/lazy/newbieblack.png and b/public/img/logos/bangbros/lazy/newbieblack.png differ
diff --git a/public/img/logos/bangbros/lazy/partyofthree.png b/public/img/logos/bangbros/lazy/partyofthree.png
index 4a357d16..0c092970 100644
Binary files a/public/img/logos/bangbros/lazy/partyofthree.png and b/public/img/logos/bangbros/lazy/partyofthree.png differ
diff --git a/public/img/logos/bangbros/lazy/pawg.png b/public/img/logos/bangbros/lazy/pawg.png
index 34157e7a..f03e34b0 100644
Binary files a/public/img/logos/bangbros/lazy/pawg.png and b/public/img/logos/bangbros/lazy/pawg.png differ
diff --git a/public/img/logos/bangbros/lazy/pennyshow.png b/public/img/logos/bangbros/lazy/pennyshow.png
index 367e52da..aee21308 100644
Binary files a/public/img/logos/bangbros/lazy/pennyshow.png and b/public/img/logos/bangbros/lazy/pennyshow.png differ
diff --git a/public/img/logos/bangbros/lazy/pornstarspa.png b/public/img/logos/bangbros/lazy/pornstarspa.png
index ef93339c..5695dc25 100644
Binary files a/public/img/logos/bangbros/lazy/pornstarspa.png and b/public/img/logos/bangbros/lazy/pornstarspa.png differ
diff --git a/public/img/logos/bangbros/lazy/powermunch.png b/public/img/logos/bangbros/lazy/powermunch.png
index 8ee1e9bd..31877de4 100644
Binary files a/public/img/logos/bangbros/lazy/powermunch.png and b/public/img/logos/bangbros/lazy/powermunch.png differ
diff --git a/public/img/logos/bangbros/lazy/publicbang.png b/public/img/logos/bangbros/lazy/publicbang.png
index dd408a25..62fa5683 100644
Binary files a/public/img/logos/bangbros/lazy/publicbang.png and b/public/img/logos/bangbros/lazy/publicbang.png differ
diff --git a/public/img/logos/bangbros/lazy/sluttywhitegirls.png b/public/img/logos/bangbros/lazy/sluttywhitegirls.png
index 30d85520..a4903c1f 100644
Binary files a/public/img/logos/bangbros/lazy/sluttywhitegirls.png and b/public/img/logos/bangbros/lazy/sluttywhitegirls.png differ
diff --git a/public/img/logos/bangbros/lazy/stepmomvideos.png b/public/img/logos/bangbros/lazy/stepmomvideos.png
index ef926ffc..9443acc7 100644
Binary files a/public/img/logos/bangbros/lazy/stepmomvideos.png and b/public/img/logos/bangbros/lazy/stepmomvideos.png differ
diff --git a/public/img/logos/bangbros/lazy/streetranger.png b/public/img/logos/bangbros/lazy/streetranger.png
index 44408dc1..daf17b0e 100644
Binary files a/public/img/logos/bangbros/lazy/streetranger.png and b/public/img/logos/bangbros/lazy/streetranger.png differ
diff --git a/public/img/logos/bangbros/lazy/tugjobs.png b/public/img/logos/bangbros/lazy/tugjobs.png
index 5560747a..87623591 100644
Binary files a/public/img/logos/bangbros/lazy/tugjobs.png and b/public/img/logos/bangbros/lazy/tugjobs.png differ
diff --git a/public/img/logos/bangbros/lazy/workinglatinas.png b/public/img/logos/bangbros/lazy/workinglatinas.png
index cf6f751b..da27ec6b 100644
Binary files a/public/img/logos/bangbros/lazy/workinglatinas.png and b/public/img/logos/bangbros/lazy/workinglatinas.png differ
diff --git a/public/img/logos/bangbros/thumbs/assparade.png b/public/img/logos/bangbros/thumbs/assparade.png
index 4964823f..5992f380 100644
Binary files a/public/img/logos/bangbros/thumbs/assparade.png and b/public/img/logos/bangbros/thumbs/assparade.png differ
diff --git a/public/img/logos/bangbros/thumbs/avaspice.png b/public/img/logos/bangbros/thumbs/avaspice.png
index 84b746e2..9229326e 100644
Binary files a/public/img/logos/bangbros/thumbs/avaspice.png and b/public/img/logos/bangbros/thumbs/avaspice.png differ
diff --git a/public/img/logos/bangbros/thumbs/backroomfacials.png b/public/img/logos/bangbros/thumbs/backroomfacials.png
index 78073aa5..ff2a3ece 100644
Binary files a/public/img/logos/bangbros/thumbs/backroomfacials.png and b/public/img/logos/bangbros/thumbs/backroomfacials.png differ
diff --git a/public/img/logos/bangbros/thumbs/backroommilf.png b/public/img/logos/bangbros/thumbs/backroommilf.png
index 7ad8abfa..19e57a38 100644
Binary files a/public/img/logos/bangbros/thumbs/backroommilf.png and b/public/img/logos/bangbros/thumbs/backroommilf.png differ
diff --git a/public/img/logos/bangbros/thumbs/ballhoneys.png b/public/img/logos/bangbros/thumbs/ballhoneys.png
index a9a93407..b863082c 100644
Binary files a/public/img/logos/bangbros/thumbs/ballhoneys.png and b/public/img/logos/bangbros/thumbs/ballhoneys.png differ
diff --git a/public/img/logos/bangbros/thumbs/bangbros18.png b/public/img/logos/bangbros/thumbs/bangbros18.png
index e49f6400..8f7f5e53 100644
Binary files a/public/img/logos/bangbros/thumbs/bangbros18.png and b/public/img/logos/bangbros/thumbs/bangbros18.png differ
diff --git a/public/img/logos/bangbros/thumbs/bangbrosangels.png b/public/img/logos/bangbros/thumbs/bangbrosangels.png
index 61a13e42..5bb53ea0 100644
Binary files a/public/img/logos/bangbros/thumbs/bangbrosangels.png and b/public/img/logos/bangbros/thumbs/bangbrosangels.png differ
diff --git a/public/img/logos/bangbros/thumbs/bangbroscasting.png b/public/img/logos/bangbros/thumbs/bangbroscasting.png
index de9ce21d..d5b5b8f2 100644
Binary files a/public/img/logos/bangbros/thumbs/bangbroscasting.png and b/public/img/logos/bangbros/thumbs/bangbroscasting.png differ
diff --git a/public/img/logos/bangbros/thumbs/bangbrosclips.png b/public/img/logos/bangbros/thumbs/bangbrosclips.png
index f0bb93c6..419eb6ea 100644
Binary files a/public/img/logos/bangbros/thumbs/bangbrosclips.png and b/public/img/logos/bangbros/thumbs/bangbrosclips.png differ
diff --git a/public/img/logos/bangbros/thumbs/bangbrosremastered.png b/public/img/logos/bangbros/thumbs/bangbrosremastered.png
index 4db1754c..48f12f69 100644
Binary files a/public/img/logos/bangbros/thumbs/bangbrosremastered.png and b/public/img/logos/bangbros/thumbs/bangbrosremastered.png differ
diff --git a/public/img/logos/bangbros/thumbs/bangbus.png b/public/img/logos/bangbros/thumbs/bangbus.png
index 42860486..cd725beb 100644
Binary files a/public/img/logos/bangbros/thumbs/bangbus.png and b/public/img/logos/bangbros/thumbs/bangbus.png differ
diff --git a/public/img/logos/bangbros/thumbs/bangpov.png b/public/img/logos/bangbros/thumbs/bangpov.png
index 308eb0c2..c8abeede 100644
Binary files a/public/img/logos/bangbros/thumbs/bangpov.png and b/public/img/logos/bangbros/thumbs/bangpov.png differ
diff --git a/public/img/logos/bangbros/thumbs/bangtryouts.png b/public/img/logos/bangbros/thumbs/bangtryouts.png
index f4b173c5..b2ede3f6 100644
Binary files a/public/img/logos/bangbros/thumbs/bangtryouts.png and b/public/img/logos/bangbros/thumbs/bangtryouts.png differ
diff --git a/public/img/logos/bangbros/thumbs/bigmouthfuls.png b/public/img/logos/bangbros/thumbs/bigmouthfuls.png
index 2a59935d..06237380 100644
Binary files a/public/img/logos/bangbros/thumbs/bigmouthfuls.png and b/public/img/logos/bangbros/thumbs/bigmouthfuls.png differ
diff --git a/public/img/logos/bangbros/thumbs/bigtitcreampie.png b/public/img/logos/bangbros/thumbs/bigtitcreampie.png
index 4ef6a195..145b9235 100644
Binary files a/public/img/logos/bangbros/thumbs/bigtitcreampie.png and b/public/img/logos/bangbros/thumbs/bigtitcreampie.png differ
diff --git a/public/img/logos/bangbros/thumbs/bigtitsroundasses.png b/public/img/logos/bangbros/thumbs/bigtitsroundasses.png
index 324c7081..12239a2b 100644
Binary files a/public/img/logos/bangbros/thumbs/bigtitsroundasses.png and b/public/img/logos/bangbros/thumbs/bigtitsroundasses.png differ
diff --git a/public/img/logos/bangbros/thumbs/blowjobfridays.png b/public/img/logos/bangbros/thumbs/blowjobfridays.png
index a5ba71d9..3b94aa11 100644
Binary files a/public/img/logos/bangbros/thumbs/blowjobfridays.png and b/public/img/logos/bangbros/thumbs/blowjobfridays.png differ
diff --git a/public/img/logos/bangbros/thumbs/blowjobninjas.png b/public/img/logos/bangbros/thumbs/blowjobninjas.png
index cd8caeb6..ee6430f1 100644
Binary files a/public/img/logos/bangbros/thumbs/blowjobninjas.png and b/public/img/logos/bangbros/thumbs/blowjobninjas.png differ
diff --git a/public/img/logos/bangbros/thumbs/boobsquad.png b/public/img/logos/bangbros/thumbs/boobsquad.png
index 2d67fb93..b1aa4ff4 100644
Binary files a/public/img/logos/bangbros/thumbs/boobsquad.png and b/public/img/logos/bangbros/thumbs/boobsquad.png differ
diff --git a/public/img/logos/bangbros/thumbs/brownbunnies.png b/public/img/logos/bangbros/thumbs/brownbunnies.png
index 16fea32d..3cad73b5 100644
Binary files a/public/img/logos/bangbros/thumbs/brownbunnies.png and b/public/img/logos/bangbros/thumbs/brownbunnies.png differ
diff --git a/public/img/logos/bangbros/thumbs/canhescore.png b/public/img/logos/bangbros/thumbs/canhescore.png
index b6d4025f..2bb5958a 100644
Binary files a/public/img/logos/bangbros/thumbs/canhescore.png and b/public/img/logos/bangbros/thumbs/canhescore.png differ
diff --git a/public/img/logos/bangbros/thumbs/casting.png b/public/img/logos/bangbros/thumbs/casting.png
index ca3cb33a..a2e206a3 100644
Binary files a/public/img/logos/bangbros/thumbs/casting.png and b/public/img/logos/bangbros/thumbs/casting.png differ
diff --git a/public/img/logos/bangbros/thumbs/chongas.png b/public/img/logos/bangbros/thumbs/chongas.png
index 92c2d642..13a957b0 100644
Binary files a/public/img/logos/bangbros/thumbs/chongas.png and b/public/img/logos/bangbros/thumbs/chongas.png differ
diff --git a/public/img/logos/bangbros/thumbs/colombiafuckfest.png b/public/img/logos/bangbros/thumbs/colombiafuckfest.png
index 8d599832..c00dfc2f 100644
Binary files a/public/img/logos/bangbros/thumbs/colombiafuckfest.png and b/public/img/logos/bangbros/thumbs/colombiafuckfest.png differ
diff --git a/public/img/logos/bangbros/thumbs/dirtyworldtour.png b/public/img/logos/bangbros/thumbs/dirtyworldtour.png
index 677c5f04..dbee700a 100644
Binary files a/public/img/logos/bangbros/thumbs/dirtyworldtour.png and b/public/img/logos/bangbros/thumbs/dirtyworldtour.png differ
diff --git a/public/img/logos/bangbros/thumbs/dorminvasion.png b/public/img/logos/bangbros/thumbs/dorminvasion.png
index 924cb6c4..444db263 100644
Binary files a/public/img/logos/bangbros/thumbs/dorminvasion.png and b/public/img/logos/bangbros/thumbs/dorminvasion.png differ
diff --git a/public/img/logos/bangbros/thumbs/facialfest.png b/public/img/logos/bangbros/thumbs/facialfest.png
index b8820b91..55ff9838 100644
Binary files a/public/img/logos/bangbros/thumbs/facialfest.png and b/public/img/logos/bangbros/thumbs/facialfest.png differ
diff --git a/public/img/logos/bangbros/thumbs/favicon.png b/public/img/logos/bangbros/thumbs/favicon.png
index 21f087ff..9173b111 100644
Binary files a/public/img/logos/bangbros/thumbs/favicon.png and b/public/img/logos/bangbros/thumbs/favicon.png differ
diff --git a/public/img/logos/bangbros/thumbs/filthyfamily.png b/public/img/logos/bangbros/thumbs/filthyfamily.png
new file mode 100644
index 00000000..583b073b
Binary files /dev/null and b/public/img/logos/bangbros/thumbs/filthyfamily.png differ
diff --git a/public/img/logos/bangbros/thumbs/fuckteamfive.png b/public/img/logos/bangbros/thumbs/fuckteamfive.png
index d56afe5f..b2604ddc 100644
Binary files a/public/img/logos/bangbros/thumbs/fuckteamfive.png and b/public/img/logos/bangbros/thumbs/fuckteamfive.png differ
diff --git a/public/img/logos/bangbros/thumbs/gloryholeloads.png b/public/img/logos/bangbros/thumbs/gloryholeloads.png
index 8266be9c..3ada8d63 100644
Binary files a/public/img/logos/bangbros/thumbs/gloryholeloads.png and b/public/img/logos/bangbros/thumbs/gloryholeloads.png differ
diff --git a/public/img/logos/bangbros/thumbs/latinarampage.png b/public/img/logos/bangbros/thumbs/latinarampage.png
index f26aabec..ed3fcb25 100644
Binary files a/public/img/logos/bangbros/thumbs/latinarampage.png and b/public/img/logos/bangbros/thumbs/latinarampage.png differ
diff --git a/public/img/logos/bangbros/thumbs/livingwithanna.png b/public/img/logos/bangbros/thumbs/livingwithanna.png
index 2cc62ef2..1accfa89 100644
Binary files a/public/img/logos/bangbros/thumbs/livingwithanna.png and b/public/img/logos/bangbros/thumbs/livingwithanna.png differ
diff --git a/public/img/logos/bangbros/thumbs/magicalfeet.png b/public/img/logos/bangbros/thumbs/magicalfeet.png
index ed90ad09..ce80500d 100644
Binary files a/public/img/logos/bangbros/thumbs/magicalfeet.png and b/public/img/logos/bangbros/thumbs/magicalfeet.png differ
diff --git a/public/img/logos/bangbros/thumbs/milflessons.png b/public/img/logos/bangbros/thumbs/milflessons.png
index 1397095d..b0c1d788 100644
Binary files a/public/img/logos/bangbros/thumbs/milflessons.png and b/public/img/logos/bangbros/thumbs/milflessons.png differ
diff --git a/public/img/logos/bangbros/thumbs/milfsoup.png b/public/img/logos/bangbros/thumbs/milfsoup.png
index ae66ab0b..d0590c2d 100644
Binary files a/public/img/logos/bangbros/thumbs/milfsoup.png and b/public/img/logos/bangbros/thumbs/milfsoup.png differ
diff --git a/public/img/logos/bangbros/thumbs/momishorny.png b/public/img/logos/bangbros/thumbs/momishorny.png
index 212bb891..110d4da7 100644
Binary files a/public/img/logos/bangbros/thumbs/momishorny.png and b/public/img/logos/bangbros/thumbs/momishorny.png differ
diff --git a/public/img/logos/bangbros/thumbs/monstersofcock.png b/public/img/logos/bangbros/thumbs/monstersofcock.png
index 271c4f70..393882f2 100644
Binary files a/public/img/logos/bangbros/thumbs/monstersofcock.png and b/public/img/logos/bangbros/thumbs/monstersofcock.png differ
diff --git a/public/img/logos/bangbros/thumbs/mranal.png b/public/img/logos/bangbros/thumbs/mranal.png
index 9bb65e85..b31ae1fd 100644
Binary files a/public/img/logos/bangbros/thumbs/mranal.png and b/public/img/logos/bangbros/thumbs/mranal.png differ
diff --git a/public/img/logos/bangbros/thumbs/mrcameltoe.png b/public/img/logos/bangbros/thumbs/mrcameltoe.png
index 278170ef..f1024a69 100644
Binary files a/public/img/logos/bangbros/thumbs/mrcameltoe.png and b/public/img/logos/bangbros/thumbs/mrcameltoe.png differ
diff --git a/public/img/logos/bangbros/thumbs/mydirtymaid.png b/public/img/logos/bangbros/thumbs/mydirtymaid.png
index 94c9a138..f099780c 100644
Binary files a/public/img/logos/bangbros/thumbs/mydirtymaid.png and b/public/img/logos/bangbros/thumbs/mydirtymaid.png differ
diff --git a/public/img/logos/bangbros/thumbs/mylifeinbrazil.png b/public/img/logos/bangbros/thumbs/mylifeinbrazil.png
index 93f8a896..4701cd75 100644
Binary files a/public/img/logos/bangbros/thumbs/mylifeinbrazil.png and b/public/img/logos/bangbros/thumbs/mylifeinbrazil.png differ
diff --git a/public/img/logos/bangbros/thumbs/network.png b/public/img/logos/bangbros/thumbs/network.png
index 1853947a..a63c185e 100644
Binary files a/public/img/logos/bangbros/thumbs/network.png and b/public/img/logos/bangbros/thumbs/network.png differ
diff --git a/public/img/logos/bangbros/thumbs/newbieblack.png b/public/img/logos/bangbros/thumbs/newbieblack.png
index 86e6db2d..a1c0b2eb 100644
Binary files a/public/img/logos/bangbros/thumbs/newbieblack.png and b/public/img/logos/bangbros/thumbs/newbieblack.png differ
diff --git a/public/img/logos/bangbros/thumbs/partyofthree.png b/public/img/logos/bangbros/thumbs/partyofthree.png
index d98db584..82b1416c 100644
Binary files a/public/img/logos/bangbros/thumbs/partyofthree.png and b/public/img/logos/bangbros/thumbs/partyofthree.png differ
diff --git a/public/img/logos/bangbros/thumbs/pawg.png b/public/img/logos/bangbros/thumbs/pawg.png
index 1f0a5ef1..48eee627 100644
Binary files a/public/img/logos/bangbros/thumbs/pawg.png and b/public/img/logos/bangbros/thumbs/pawg.png differ
diff --git a/public/img/logos/bangbros/thumbs/pennyshow.png b/public/img/logos/bangbros/thumbs/pennyshow.png
index 004167b8..2ab8d470 100644
Binary files a/public/img/logos/bangbros/thumbs/pennyshow.png and b/public/img/logos/bangbros/thumbs/pennyshow.png differ
diff --git a/public/img/logos/bangbros/thumbs/pornstarspa.png b/public/img/logos/bangbros/thumbs/pornstarspa.png
index 42ce63e2..aa37732b 100644
Binary files a/public/img/logos/bangbros/thumbs/pornstarspa.png and b/public/img/logos/bangbros/thumbs/pornstarspa.png differ
diff --git a/public/img/logos/bangbros/thumbs/powermunch.png b/public/img/logos/bangbros/thumbs/powermunch.png
index 9ec5661f..01ecffe2 100644
Binary files a/public/img/logos/bangbros/thumbs/powermunch.png and b/public/img/logos/bangbros/thumbs/powermunch.png differ
diff --git a/public/img/logos/bangbros/thumbs/publicbang.png b/public/img/logos/bangbros/thumbs/publicbang.png
index 98e4eef1..0125fe2b 100644
Binary files a/public/img/logos/bangbros/thumbs/publicbang.png and b/public/img/logos/bangbros/thumbs/publicbang.png differ
diff --git a/public/img/logos/bangbros/thumbs/sluttywhitegirls.png b/public/img/logos/bangbros/thumbs/sluttywhitegirls.png
index e00f9134..2dedab91 100644
Binary files a/public/img/logos/bangbros/thumbs/sluttywhitegirls.png and b/public/img/logos/bangbros/thumbs/sluttywhitegirls.png differ
diff --git a/public/img/logos/bangbros/thumbs/stepmomvideos.png b/public/img/logos/bangbros/thumbs/stepmomvideos.png
index da7cc755..1ecc114f 100644
Binary files a/public/img/logos/bangbros/thumbs/stepmomvideos.png and b/public/img/logos/bangbros/thumbs/stepmomvideos.png differ
diff --git a/public/img/logos/bangbros/thumbs/streetranger.png b/public/img/logos/bangbros/thumbs/streetranger.png
index 673b2116..94eb679e 100644
Binary files a/public/img/logos/bangbros/thumbs/streetranger.png and b/public/img/logos/bangbros/thumbs/streetranger.png differ
diff --git a/public/img/logos/bangbros/thumbs/tugjobs.png b/public/img/logos/bangbros/thumbs/tugjobs.png
index 06651c5c..a043a7b8 100644
Binary files a/public/img/logos/bangbros/thumbs/tugjobs.png and b/public/img/logos/bangbros/thumbs/tugjobs.png differ
diff --git a/public/img/logos/bangbros/thumbs/workinglatinas.png b/public/img/logos/bangbros/thumbs/workinglatinas.png
index e73aaf8b..e9bf7de3 100644
Binary files a/public/img/logos/bangbros/thumbs/workinglatinas.png and b/public/img/logos/bangbros/thumbs/workinglatinas.png differ
diff --git a/public/img/tags/ass-eating/0.jpeg b/public/img/tags/ass-eating/0.jpeg
index 5f0451ff..30b41189 100644
Binary files a/public/img/tags/ass-eating/0.jpeg and b/public/img/tags/ass-eating/0.jpeg differ
diff --git a/public/img/tags/ass-eating/lazy/0.jpeg b/public/img/tags/ass-eating/lazy/0.jpeg
index 873914b5..943e0ba0 100644
Binary files a/public/img/tags/ass-eating/lazy/0.jpeg and b/public/img/tags/ass-eating/lazy/0.jpeg differ
diff --git a/public/img/tags/ass-eating/thumbs/0.jpeg b/public/img/tags/ass-eating/thumbs/0.jpeg
index cb139591..023229b1 100644
Binary files a/public/img/tags/ass-eating/thumbs/0.jpeg and b/public/img/tags/ass-eating/thumbs/0.jpeg differ
diff --git a/seeds/02_sites.js b/seeds/02_sites.js
index 95aff319..def75356 100644
--- a/seeds/02_sites.js
+++ b/seeds/02_sites.js
@@ -882,6 +882,14 @@ const sites = [
network: 'bangbros',
parameters: { code: 'ff' },
},
+ {
+ name: 'Filthy Family',
+ url: 'https://filthyfamily.com',
+ slug: 'filthyfamily',
+ description: null,
+ network: 'bangbros',
+ parameters: { legacy: true },
+ },
{
name: 'Fuck Team Five',
url: 'https://bangbros.com/websites/fuckteamfive',
diff --git a/seeds/04_media.js b/seeds/04_media.js
index 73fb44c4..a69f23e6 100644
--- a/seeds/04_media.js
+++ b/seeds/04_media.js
@@ -589,7 +589,7 @@ const tagPosters = [
['airtight', 6, 'Remy Lacroix in "Ass Worship 14" for Jules Jordan'],
['anal', 0, 'Adriana Chechik in "Manuel Creampies Their Asses 3" for Jules Jordan'],
['anal-creampie', 0, 'Gina Valentina and Jane Wilde in "A Very Special Anniversary" for Tushy'],
- ['ass-eating', 0, 'Kendra Sunderland and Ana Foxxx in "Kendra\'s Obsession, Part 3" for Blacked'],
+ ['ass-eating', 0, 'Angelica Heart and Leanna Sweet in "ATM Bitches" for Asshole Fever'],
['asian', 0, 'Alina Li in "Slut Puppies 8" for Jules Jordan'],
['ass-to-mouth', 'poster', 'Alysa Gap and Logan in "Anal Buffet 4" for Evil Angel'],
['bdsm', 0, 'Dani Daniels in "The Traning of Dani Daniels, Day 2" for The Training of O at Kink'],
diff --git a/src/actors.js b/src/actors.js
index c82da2d9..e80f5e49 100644
--- a/src/actors.js
+++ b/src/actors.js
@@ -169,7 +169,7 @@ function curateActor(actor, withDetails = false) {
height: actor.height,
weight: actor.weight,
eyes: actor.eyes,
- hair: actor.hair,
+ hairColor: actor.hair_color,
hasTattoos: actor.has_tattoos,
hasPiercings: actor.has_piercings,
tattoos: actor.tattoos,
@@ -245,7 +245,7 @@ function curateProfileEntry(profile) {
natural_boobs: profile.naturalBoobs,
height: profile.height,
weight: profile.weight,
- hair: profile.hair,
+ hair_color: profile.hairColor,
eyes: profile.eyes,
has_tattoos: profile.hasTattoos,
has_piercings: profile.hasPiercings,
@@ -284,7 +284,7 @@ async function curateProfile(profile) {
curatedProfile.nationality = profile.nationality?.trim() || null; // used to derive country when country not available
curatedProfile.ethnicity = ethnicities[profile.ethnicity?.trim().toLowerCase()] || null;
- curatedProfile.hair = hairColors[profile.hair?.trim().toLowerCase()] || null;
+ curatedProfile.hairColor = hairColors[(profile.hairColor || profile.hair)?.trim().toLowerCase()] || null;
curatedProfile.eyes = eyeColors[profile.eyes?.trim().toLowerCase()] || null;
curatedProfile.tattoos = profile.tattoos?.trim() || null;
@@ -352,7 +352,7 @@ async function curateProfile(profile) {
curatedProfile.releases = toBaseReleases(profile.releases);
if (profile.ethnicity && !curatedProfile.ethnicity) logger.warn(`Unrecognized ethnicity returned by '${profile.site?.name || profile.network?.slug}' scraper: ${profile.ethnicity}`);
- if (profile.hair && !curatedProfile.hair) logger.warn(`Unrecognized hair color returned by '${profile.site?.name || profile.network?.slug}' scraper: ${profile.hair}`);
+ if ((profile.hairColor || profile.hair) && !curatedProfile.hairColor) logger.warn(`Unrecognized hair color returned by '${profile.site?.name || profile.network?.slug}' scraper: ${profile.hairColor || profile.hair}`);
if (profile.eyes && !curatedProfile.eyes) logger.warn(`Unrecognized eye color returned by '${profile.site?.name || profile.network?.slug}' scraper: ${profile.eyes}`);
return curatedProfile;
@@ -417,7 +417,7 @@ async function interpolateProfiles(actors) {
'hip',
'natural_boobs',
'height',
- 'hair',
+ 'hair_color',
'eyes',
'has_tattoos',
'has_piercings',
diff --git a/src/scrapers/bangbros.js b/src/scrapers/bangbros.js
index 183219d2..5af4bf3e 100644
--- a/src/scrapers/bangbros.js
+++ b/src/scrapers/bangbros.js
@@ -7,7 +7,7 @@ const moment = require('moment');
const logger = require('../logger')(__filename);
const slugify = require('../utils/slugify');
-const { ex } = require('../utils/q');
+const { get, getAll, ex } = require('../utils/q');
function scrape(html, site) {
const $ = cheerio.load(html, { normalizeWhitespace: true });
@@ -16,7 +16,9 @@ function scrape(html, site) {
return sceneElements.map((element) => {
const sceneLinkElement = $(element).find('.thmb_lnk');
const title = sceneLinkElement.attr('title');
- const url = `https://bangbros.com${sceneLinkElement.attr('href')}`;
+ const url = site.legacy
+ ? `https://${site.url}{sceneLinkElement.attr('href')}`
+ : `https://bangbros.com${sceneLinkElement.attr('href')}`;
const shootId = sceneLinkElement.attr('id') && sceneLinkElement.attr('id').split('-')[1];
const entryId = url.split('/')[3].slice(5);
@@ -50,6 +52,26 @@ function scrape(html, site) {
});
}
+function scrapeLegacy(scenes, site) {
+ return scenes.map(({ qu }) => {
+ const release = {};
+
+ const pathname = qu.url('.mainplayer a, .palyer a'); // sic
+ release.url = `${site.url}${pathname}`;
+ release.entryId = pathname.match(/video\d+/)?.[0];
+
+ release.title = qu.q('h2', true);
+ release.date = qu.date('div:not(.videoDisc)', 'MMM DD, YYYY', /\w+ \d{1,2}, \d{4}/);
+ release.description = qu.q('div + .videoDisc p', true);
+ release.duration = qu.dur('.videoTag .title');
+
+ release.poster = qu.img('.mainplayer img, .palyer img'); // sic
+ release.photos = qu.imgs('article img').concat(qu.imgs('article img', 'data-original')).filter(Boolean);
+
+ return release;
+ });
+}
+
/* no dates available, breaks database
function scrapeUpcoming(html, site) {
const { document } = ex(html);
@@ -114,6 +136,20 @@ function scrapeScene(html, url, _site) {
return release;
}
+function scrapeSceneLegacy({ qu }, url) {
+ const release = {};
+
+ release.entryId = new URL(url).pathname.match(/video\d+/)?.[0];
+
+ release.title = qu.q('h1', true);
+ release.description = qu.q('.videoDetail', true);
+ release.duration = qu.dur('.tags p span');
+
+ release.poster = qu.img('#video_container + div img, .videoOverlay img');
+
+ return release;
+}
+
function scrapeProfile(html) {
const { q } = ex(html);
const profile = {};
@@ -134,9 +170,24 @@ function scrapeProfileSearch(html, actorName) {
}
async function fetchLatest(site, page = 1) {
- const res = await bhttp.get(`${site.url}/${page}`);
+ if (site.parameters?.legacy) {
+ const url = `${site.url}/videos/${page}`;
+ const res = await getAll(url, '.videoList');
- return scrape(res.body.toString(), site);
+ if (res.ok) {
+ return scrapeLegacy(res.items, site);
+ }
+
+ return res.status;
+ }
+
+ const res = await get(`${site.url}/${page}`);
+
+ if (res.ok) {
+ return scrape(res.item.html, site);
+ }
+
+ return res.status;
}
/*
@@ -153,13 +204,21 @@ async function fetchScene(url, site, release) {
}
const { origin } = new URL(url);
- const res = await bhttp.get(url);
+ const res = await get(url);
+
+ if (!res.ok) {
+ return res.status;
+ }
+
+ if (site.parameters?.legacy) {
+ return scrapeSceneLegacy(res.item, url, site);
+ }
if (!/https?:\/\/(www.)?bangbros.com\/?$/.test(origin)) {
throw new Error('Cannot fetch from this URL. Please find the scene on https://bangbros.com and try again.');
}
- return scrapeScene(res.body.toString(), url, site);
+ return scrapeScene(res.item.html, url, site);
}
async function fetchProfile(actorName) {