forked from DebaucheryLibrarian/traxxx
Added timerange filters. Refactored releases module for more efficient queries.
This commit is contained in:
@@ -2,7 +2,9 @@
|
||||
<div class="content">
|
||||
<FilterBar
|
||||
:filter="filter"
|
||||
:range="range"
|
||||
@set-filter="setFilter"
|
||||
@set-range="setRange"
|
||||
/>
|
||||
|
||||
<div class="content-inner">
|
||||
@@ -23,9 +25,12 @@
|
||||
import FilterBar from './filter-bar.vue';
|
||||
import ReleaseTile from '../tile/release.vue';
|
||||
|
||||
import rangeDates from '../../js/range-dates';
|
||||
|
||||
async function fetchReleases() {
|
||||
this.releases = await this.$store.dispatch('fetchReleases', {
|
||||
filter: this.filter,
|
||||
...rangeDates(this.range),
|
||||
});
|
||||
}
|
||||
|
||||
@@ -36,6 +41,13 @@ async function setFilter(filter) {
|
||||
await this.fetchReleases();
|
||||
}
|
||||
|
||||
async function setRange(range) {
|
||||
this.range = range;
|
||||
localStorage.setItem('range', this.range);
|
||||
|
||||
await this.fetchReleases();
|
||||
}
|
||||
|
||||
async function mounted() {
|
||||
this.pageTitle = '';
|
||||
|
||||
@@ -49,9 +61,11 @@ export default {
|
||||
},
|
||||
data() {
|
||||
const storedFilter = localStorage.getItem('filter');
|
||||
const storedRange = localStorage.getItem('range');
|
||||
|
||||
return {
|
||||
filter: storedFilter ? storedFilter.split(',') : ['gay', 'transsexual'],
|
||||
range: storedRange || 'new',
|
||||
releases: [],
|
||||
networks: [],
|
||||
pageTitle: null,
|
||||
@@ -61,6 +75,7 @@ export default {
|
||||
methods: {
|
||||
fetchReleases,
|
||||
setFilter,
|
||||
setRange,
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user