Added years filter. Changed default DMCA to generic content e-mail.
This commit is contained in:
@@ -24,6 +24,12 @@
|
||||
/>
|
||||
</div>
|
||||
|
||||
<YearsFilter
|
||||
:filters="filters"
|
||||
:years="aggYears"
|
||||
@update="updateFilter"
|
||||
/>
|
||||
|
||||
<TagsFilter
|
||||
:filters="filters"
|
||||
:tags="aggTags"
|
||||
@@ -157,6 +163,7 @@ import events from '#/src/events.js';
|
||||
import { getActorIdentifier, parseActorIdentifier } from '#/src/query.js';
|
||||
|
||||
import Filters from '#/components/filters/filters.vue';
|
||||
import YearsFilter from '#/components/filters/years.vue';
|
||||
import ActorsFilter from '#/components/filters/actors.vue';
|
||||
import TagsFilter from '#/components/filters/tags.vue';
|
||||
import ChannelsFilter from '#/components/filters/channels.vue';
|
||||
@@ -199,6 +206,7 @@ const {
|
||||
} = pageProps;
|
||||
|
||||
const scenes = ref(pageProps.scenes);
|
||||
const aggYears = ref(pageProps.aggYears || []);
|
||||
const aggActors = ref(pageProps.aggActors || []);
|
||||
const aggTags = ref(pageProps.aggTags || []);
|
||||
const aggChannels = ref(pageProps.aggChannels || []);
|
||||
@@ -218,6 +226,7 @@ const queryEntity = networks[urlParsed.search.e] || channels[urlParsed.search.e]
|
||||
|
||||
const filters = ref({
|
||||
search: urlParsed.search.q,
|
||||
years: urlParsed.search.years?.split(',').filter(Boolean).map(Number) || [],
|
||||
tags: urlParsed.search.tags?.split(',').filter(Boolean) || [],
|
||||
entity: queryEntity,
|
||||
actors: queryActors,
|
||||
@@ -274,6 +283,7 @@ async function search(options = {}) {
|
||||
|
||||
navigate(getPath(scope.value, false), {
|
||||
...query,
|
||||
years: filters.value.years.join(',') || undefined,
|
||||
actors: filters.value.actors.map((filterActor) => getActorIdentifier(filterActor)).join(',') || undefined, // don't include page actor ID in query, already a parameter
|
||||
tags: filters.value.tags.join(',') || undefined,
|
||||
e: filters.value.entity?.type === 'network' ? `_${filters.value.entity.slug}` : (filters.value.entity?.slug || undefined),
|
||||
@@ -281,6 +291,7 @@ async function search(options = {}) {
|
||||
|
||||
const res = await get('/scenes', {
|
||||
...query,
|
||||
years: filters.value.years.filter(Boolean).join(','), // if we're on an actor page, that actor ID needs to be included
|
||||
actors: [pageActor, ...filters.value.actors].filter(Boolean).map((filterActor) => getActorIdentifier(filterActor)).join(','), // if we're on an actor page, that actor ID needs to be included
|
||||
tags: [pageTag?.slug, ...filters.value.tags].filter(Boolean).join(','),
|
||||
stashId: pageStash?.id,
|
||||
@@ -290,6 +301,7 @@ async function search(options = {}) {
|
||||
});
|
||||
|
||||
scenes.value = res.scenes;
|
||||
aggYears.value = res.aggYears;
|
||||
aggActors.value = res.aggActors;
|
||||
aggTags.value = res.aggTags;
|
||||
aggChannels.value = res.aggChannels;
|
||||
|
||||
Reference in New Issue
Block a user