Improved duplicate filtering, now also applying to upcoming updates. Updated Gamma fetchLatest method parameters. Added shortcut for SFW-mode.

This commit is contained in:
2020-03-28 04:37:04 +01:00
parent 95d115b585
commit 6d9f96c5d5
10 changed files with 112 additions and 40 deletions

View File

@@ -5,6 +5,8 @@ import VTooltip from 'v-tooltip';
import router from './router';
import initStore from './store';
import initUiObservers from './ui/observers';
import '../css/style.scss';
import Container from '../components/container/container.vue';
@@ -13,6 +15,8 @@ import Icon from '../components/icon/icon.vue';
function init() {
const store = initStore(router);
initUiObservers(store, router);
if (window.env.sfw) {
store.dispatch('setSfw', true);
}

View File

@@ -122,8 +122,10 @@ function initTagsActions(store, _router) {
poster: tagsPosterByTagId {
media {
thumbnail
comment
sfw: sfwMedia {
thumbnail
comment
}
}
}

30
assets/js/ui/observers.js Normal file
View File

@@ -0,0 +1,30 @@
function initUiObservers(store, _router) {
let keyHistory = [];
document.addEventListener('keypress', (event) => {
if (event.target.tagName === 'INPUT') {
return;
}
keyHistory = keyHistory
.concat({
key: event.key,
time: new Date().getTime(),
})
.slice(-3);
if (keyHistory.length === 3
&& keyHistory.every(input => input.key === 's')
&& new Date().getTime() - keyHistory[0].time < 1000
) {
store.dispatch('setSfw', false);
return;
}
if (event.key === 's') {
store.dispatch('setSfw', true);
}
});
}
export default initUiObservers;