HHL
Geomaster
Nicht jeder hat diese beneidenswerte Gabe. Mein Glückwunsch.Ich hab da auch ein Makro, ich sehe Caches und Events, die mich nicht jucken auf der Karte und in Listen und.....es ist mir einfach vollkommen wurst.
Frohes Jagen
Hans
Nicht jeder hat diese beneidenswerte Gabe. Mein Glückwunsch.Ich hab da auch ein Makro, ich sehe Caches und Events, die mich nicht jucken auf der Karte und in Listen und.....es ist mir einfach vollkommen wurst.
// ==UserScript==
// @name Ignore Events
// @version 0.1
// @description Ignore Events by name
// @author capoaira
// @match ^https://www.geocaching.com/account/dashboard
// @require http://code.jquery.com/jquery-3.6.1.min.js
// @icon https://www.google.com/s2/favicons?sz=64&domain=geocaching.com
// @grant none
// ==/UserScript==
/* global $ */
(function() {
'use strict';
/**
* In folgender Liste die Namen der Events eintragen
* Teilnamen reichen, sollten jedoch eideutig sein, damit nicht zuviele Events entfernt werden
* Regex ist möglich
*/
const names = [
"Mittagspause",
"Jünglingshöhe"
]
var url = document.location.pathname
if (url.match(/^\/account\/dashboard/)) {
const waitForCal = (waitCount) => {
if ($('#EventsCalendar')[0]) {
// Removes Events on Blacklist from List, if a day is clicked
const listObserver = new MutationObserver(() => {
listObserver.disconnect()
// Remove Events on Black List
$('.events-list-container ul .activity-item').each((i, e) => {
if ($(e).find('a h3').html().match(new RegExp(names.join('|')))) {
console.info("REMOVED: ", $(e).find('a h3').html())
$(e).remove()
}
})
// Hide List when empty
$('#EventsList')[0].style.display = $('.events-list-container ul li')[0] ? 'unset' : 'none'
listObserver.observe($('#EventsList')[0], {childList: true,attributes: true,subtree: true})
})
listObserver.observe($('#EventsList')[0], {childList: true,attributes: true,subtree: true})
// Removes Event Days if there are only events from blacklist, when month get changed
const daysObserver = new MutationObserver(()=>{
daysObserver.disconnect()
search()
daysObserver.observe($('#EventsCalendar')[0], {childList: true,subtree: true})
})
daysObserver.observe($('#EventsCalendar')[0], {childList: true,subtree: true})
// Removes Event Days if there are only events from blacklist
const search = () => {
$('.day.event:not(.isAttended)').each((j, e) => {
e.click()
let list = Array.from($('.events-list-container ul .activity-item'))
if (list.filter(elem => !$(elem).find('a h3').html().match(new RegExp(names.join('|')))) == 0) {
$(e).removeClass('event');
}
})
if ($(`.calendar-day-${new Date().toISOString().split('T')[0]}`)[0]) {
$(`.calendar-day-${new Date().toISOString().split('T')[0]}`).click()
}
}
search()
} else {waitCount++; if (waitCount <= 100) setTimeout(function(){waitForCal(waitCount);}, 100);}
}
waitForCal(0)
}
})();