Compare commits

..

No commits in common. "1ec2b3ac3606c46b3d78cd4e5a8f057d8a5b5b1e" and "b4f6373605be0de5d006a6d317171fb83dd02fd5" have entirely different histories.

6 changed files with 85 additions and 30 deletions

View File

@ -48,11 +48,12 @@
<a
v-else
:href="release.url"
:class="{ upcoming: isAfter(release.date, new Date()), new: release.isNew }"
title="Scene date N/A, showing date added"
target="_blank"
rel="noopener noreferrer"
class="date"
>{{ `(${formatDate(release.createdAt, 'MMMM D, YYYY')})` }}</a>
>{{ `(${formatDate(release.dateAdded, 'MMMM D, YYYY')})` }}</a>
</span>
</template>

View File

@ -163,12 +163,74 @@ export default {
display: none;
}
.expand-dark {
display: none;
.scroll-light {
background: var(--background-dim);
.scroll-button {
.icon {
fill: var(--darken);
}
&.scroll-start .icon,
&.scroll-end .icon {
fill: var(--darken-weak);
}
&:hover:not(.scroll-start):not(.scroll-end) .icon {
fill: var(--text-dark);
}
}
.scroll-left {
background: linear-gradient(to right, var(--background-dim) 50%, transparent);
}
.scroll-right {
background: linear-gradient(to left, var(--background-dim) 50%, transparent);
}
.expand-dark {
display: none;
}
.expand-light {
display: block;
}
}
.expand-light {
display: block;
.scroll-dark {
background: var(--profile);
.scroll-button {
.icon {
fill: var(--lighten);
}
&.scroll-start .icon,
&.scroll-end .icon {
fill: var(--darken-weak);
}
&:hover:not(.scroll-start):not(.scroll-end) .icon {
fill: var(--text-light);
}
}
.scroll-left {
background: linear-gradient(to right, var(--profile) 50%, transparent);
}
.scroll-right {
background: linear-gradient(to left, var(--profile) 50%, transparent);
}
.expand-light {
display: none;
}
.expand-dark {
display: block;
}
}
.scroll-button {
@ -195,21 +257,6 @@ export default {
right: 0;
}
.icon {
width: 1.5rem;
height: 1.5rem;
fill: var(--lighten);
}
&.scroll-start .icon,
&.scroll-end .icon {
fill: var(--lighten-weak);
}
&:hover:not(.scroll-start):not(.scroll-end) .icon {
fill: var(--lighten-strong);
}
&:hover {
display: flex;
cursor: pointer;

View File

@ -133,6 +133,7 @@ export default {
width: 0;
height: 0;
position: absolute;
z-index : 11;
top: -.5rem;
left: calc(50% - .5rem);
border-left: .5rem solid transparent;

2
package-lock.json generated
View File

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

View File

@ -1,6 +1,6 @@
{
"name": "traxxx",
"version": "1.149.3",
"version": "1.149.2",
"description": "All the latest porn releases in one place",
"main": "src/app.js",
"scripts": {

View File

@ -2,7 +2,7 @@
const qu = require('../utils/qu');
function scrapeAll(scenes) {
async function scrapeAll(scenes) {
return scenes.map(({ query }) => {
const release = {
director: 'Mike Adriano',
@ -11,8 +11,7 @@ function scrapeAll(scenes) {
release.title = query.cnt('h3.title a, .content-title-wrap a');
release.url = query.url('h3.title a, .content-title-wrap a');
const pathname = new URL(release.url).pathname;
release.entryId = pathname.match(/\/view\/(\d+)/)?.[1] || pathname.match(/\/view\/([\w-]+)/)?.[1];
release.entryId = new URL(release.url).pathname.match(/\/view\/(\d+)/)[1];
release.description = query.cnt('.desc, .content-description');
release.date = query.date('.date, time, .hide', 'Do MMM YYYY');
@ -30,15 +29,14 @@ function scrapeAll(scenes) {
});
}
async function scrapeScene({ query }, url) {
function scrapeScene({ query }, url) {
const release = { director: 'Mike Adriano' };
if (query.exists('a[href*="stackpath.com"]')) {
throw new Error('URL blocked by StackPath');
}
const pathname = new URL(url).pathname;
release.entryId = pathname.match(/\/view\/(\d+)/)?.[1] || pathname.match(/\/view\/([\w-]+)/)?.[1];
release.entryId = new URL(url).pathname.match(/\/view\/(\d+)/)[1];
release.title = query.cnt('.content-page-info .title');
release.description = query.cnt('.content-page-info .desc');
@ -47,8 +45,16 @@ async function scrapeScene({ query }, url) {
release.actors = query.cnts('.content-page-info .models a');
release.duration = query.dur('.content-page-info .total-time:last-child');
release.poster = query.poster('.content-page-header video, .content-page-header-inner video') || query.poster('#main-player', 'data-screenshot');
release.trailer = query.video('.content-page-header source, .content-page-header-inner source') || query.q('#main-player', 'data-url');
release.poster = query.poster('.content-page-header video, .content-page-header-inner video');
const trailerEl = query.q('.content-page-header source, .content-page-header-inner source');
if (trailerEl) {
release.trailer = {
src: trailerEl.src,
type: trailerEl.type,
};
}
return release;
}