necessário

This commit is contained in:
silva guimaraes 2025-07-24 19:31:03 -03:00
parent 92b0a902ca
commit 7edb0a17ed
5 changed files with 199 additions and 162 deletions

View file

@ -10,13 +10,77 @@ hotkeys('/', {keyup: true}, function (event, _){
});
let filtered_tags = new Set();
/**
* @param {string} name
*/
function filter_tags(name) {
filtered_tags.add(name);
/**
* @type {NodeListOf<HTMLElement>}
*/
let covers = document.querySelectorAll('.cover');
for (let cover of covers) {
/**
* @type {Array<string>}
*/
let tags = eval(cover.dataset['tags']); // yeehaw!!! eu sou um cowboy yeehaw!!!
if (!(tags.includes(name))) {
cover.classList.add('hidden');
}
}
const url = new URL(window.location.href);
const new_params = new URLSearchParams([
['tags', Array.from(filtered_tags).join('&')]
// ...Array.from(url.searchParams.entries()),
]).toString();
window.history.replaceState(null, "", `${url.pathname}?${new_params}`);
}
/**
* @param {string} name
*/
function filter_artists(name) {
filtered_tags.add(name);
/**
* @type {NodeListOf<HTMLElement>}
*/
let covers = document.querySelectorAll('.cover');
for (let cover of covers) {
/**
* @type {Array<string>}
*/
let tags = eval(cover.dataset['tags']); // yeehaw!!! eu sou um cowboy yeehaw!!!
if (!(tags.includes(name))) {
cover.classList.add('hidden');
}
}
const url = new URL(window.location.href);
const new_params = new URLSearchParams([
['tags', Array.from(filtered_tags).join('&')]
// ...Array.from(url.searchParams.entries()),
]).toString();
window.history.replaceState(null, "", `${url.pathname}?${new_params}`);
}
// filtra tags na url da página
const url = new URL(window.location.href);
filtered_tags = new Set(url.searchParams.get('tags')?.split('&'));
filtered_tags?.forEach(filter_tags);
function clear_filters() {
window.history.replaceState(null, "", url.pathname);
document.querySelectorAll('.cover').forEach(x => x.classList.remove('hidden'));
filtered_tags = new Set();
}
/**
* @param {Event & {target: HTMLElement}} event
*/
function inspectSetTimeout(event) {
let target = event.target;
let id = setTimeout(
() => {
let targetId = '#' + target.id;
@ -33,7 +97,7 @@ function inspectSetTimeout(event) {
500
);
target.dataset['timeout'] = id
target.dataset['timeout'] = id;
}
/**
@ -41,6 +105,6 @@ function inspectSetTimeout(event) {
*/
function inspectClearTimeout(event) {
let target = event.target;
clearTimeout(target.dataset['timeout'])
clearTimeout(target.dataset['timeout']);
}