Added 'newly added' filter. Handling paywalled videos in Private scraper. Added shoot ID to search.

This commit is contained in:
2020-03-02 03:41:41 +01:00
parent d0d3d150ee
commit e79a6b33fb
17 changed files with 157 additions and 41 deletions

View File

@@ -3,47 +3,80 @@
<span>
<label class="range">
<input
:id="`${_uid}-new`"
:checked="range === 'new'"
:id="`${_uid}-range-latest`"
:checked="range === 'latest'"
type="radio"
class="range-input"
@click="setRange('new')"
@click="setRange('latest')"
>
<label
:for="`${_uid}-new`"
:for="`${_uid}-range-latest`"
class="range-button"
>New</label>
>Latest</label>
</label>
<label class="range">
<input
:id="`${_uid}-upcoming`"
:id="`${_uid}-range-upcoming`"
:checked="range === 'upcoming'"
type="radio"
class="range-input"
@click="setRange('upcoming')"
>
<label
:for="`${_uid}-upcoming`"
:for="`${_uid}-range-upcoming`"
class="range-button"
>Upcoming</label>
</label>
<label class="range">
<input
:id="`${_uid}-all`"
:id="`${_uid}-range-all`"
:checked="range === 'all'"
type="radio"
class="range-input"
@click="setRange('all')"
>
<label
:for="`${_uid}-all`"
:for="`${_uid}-range-all`"
class="range-button"
>All</label>
</label>
</span>
<span>
<label class="batch">
<input
:id="`${_uid}-batch-all`"
:checked="batch === 'all'"
type="radio"
class="range-input"
@click="setBatch('all')"
>
<label
:for="`${_uid}-batch-all`"
class="range-button"
>All</label>
</label>
<label
v-tooltip="'Only show newly added'"
class="batch"
>
<input
:id="`${_uid}-batch-new`"
:checked="batch === 'new'"
type="radio"
class="range-input"
@click="setBatch('new')"
>
<label
:for="`${_uid}-batch-new`"
class="range-button"
>New</label>
</label>
</span>
<span>
<span class="filters-container">
<Icon icon="filter" />
@@ -82,6 +115,10 @@ function range(state) {
return state.ui.range;
}
function batch(state) {
return state.ui.batch;
}
async function setFilter(newFilter) {
this.$store.dispatch('setFilter', newFilter);
@@ -94,6 +131,12 @@ async function setRange(newRange) {
await this.fetchReleases();
}
async function setBatch(newBatch) {
this.$store.dispatch('setBatch', newBatch);
await this.fetchReleases();
}
export default {
components: {
Filters,
@@ -108,11 +151,13 @@ export default {
...mapState({
filter,
range,
batch,
}),
},
methods: {
setFilter,
setRange,
setBatch,
},
};
</script>

View File

@@ -44,7 +44,7 @@
v-tooltip.bottom="release.url && `View scene on ${release.site.name}`"
:title="release.url && `View scene on ${release.site.name}`"
:href="release.url"
:class="{ upcoming: isAfter(release.date, new Date()) }"
:class="{ upcoming: isAfter(release.date, new Date()), new: release.isNew }"
target="_blank"
rel="noopener noreferrer"
class="date"
@@ -53,7 +53,7 @@
<a
v-else
:href="release.url"
:class="{ upcoming: isAfter(release.date, new Date()) }"
:class="{ upcoming: isAfter(release.date, new Date()), new: release.isNew }"
title="Scene date N/A, showing date added"
target="_blank"
rel="noopener noreferrer"
@@ -224,19 +224,21 @@ export default {
text-decoration: none;
}
.date.upcoming:before {
content: '';
color: $text-contrast;
background: $primary;
width: .25rem;
display: inline-block;
position: absolute;
top: 0;
bottom: 0;
left: -.75rem;
padding: .25rem;
font-size: .8rem;
font-weight: bold;
.date {
&.upcoming:before {
content: '';
background: $primary;
width: .5rem;
display: inline-block;
position: absolute;
top: 0;
bottom: 0;
left: -.5rem;
}
&.new {
font-weight: bold;
}
}
.site {