I thought it would be cool to have a filter that only shows the legendary days girls (the native "event"-based one is unusable). Here is a simple module implementation that might be helpful for others (sorry, I am too lazy to create a PR and contribute it properly):
class HaremFiltersModule extends MyModule {
constructor () {
const baseKey = 'haremFilters'
const configSchema = {
baseKey,
default: true,
label: `Show additional harem filters`,
}
super({name: baseKey, configSchema})
}
shouldRun() {return HHPlusPlus.Helpers.isCurrentPage('harem') && !HHPlusPlus.Helpers.isCurrentPage('hero')}
run () {
if (this.hasRun || !this.shouldRun()) {return}
HHPlusPlus.Helpers.defer(() => {
// figure out the event ids for LD
const ld_event_ids = $("select[name=event] option")
.filter((idx, opt) => opt.text.includes("Legendary Days"))
.map((idx, opt) => opt.value)
.get()
.map(id => parseInt(id));
// mark the girls as LD girls
Object.values(window.girlsDataList)
.filter(e => e.source_selectors.event)
.filter(e => e.source_selectors.event.filter(id => ld_event_ids.includes(id)).length)
.forEach(g => g.source_selectors.legendary_days = [0]); // TODO fill id, optional
// add dropdown option
$("select[name=lists]").append(new Option("Legendary Days", "legendary_days"));
});
this.hasRun = true;
}
}
I thought it would be cool to have a filter that only shows the legendary days girls (the native "event"-based one is unusable). Here is a simple module implementation that might be helpful for others (sorry, I am too lazy to create a PR and contribute it properly):