Fix Penny URLs, invert category filter checkbox logic.

This commit is contained in:
Mario Zechner 2023-06-21 16:15:05 +02:00
parent f2ef75e5c4
commit d9ed69f578
3 changed files with 16 additions and 9 deletions

View File

@ -56,7 +56,7 @@ exports.stores = {
budgetBrands: ["bravo", "echt bio!", "san fabio", "federike", "blik", "berida", "today", "ich bin österreich"],
color: "purple",
defaultChecked: true,
getUrl: (item) => `https://www.penny.at/produkte/${item.id}`,
getUrl: (item) => `https://www.penny.at/produkte/${item.url}`,
removeOld: true,
},
dmDe: {

View File

@ -78,7 +78,6 @@ class ItemsFilter extends View {
<custom-checkbox
x-id="category-${index}" x-state x-change
label="${category.name}"
checked
></custom-checkbox>`
)
.join("")}
@ -248,11 +247,11 @@ class ItemsFilter extends View {
for (const category of categories) {
const checkbox = elements["category-" + category.index];
if (filteredCategories[category.index] > 0) {
if (queryChanged) checkbox.checked = true;
if (queryChanged) checkbox.checked = false;
checkbox.label = `${category.name} (${filteredCategories[category.index]})`;
checkbox.classList.remove("hidden");
} else {
if (queryChanged) checkbox.checked = false;
if (queryChanged) checkbox.checked = true;
checkbox.classList.add("hidden");
}
}
@ -261,13 +260,20 @@ class ItemsFilter extends View {
elements.categories.classList.add("hidden");
} else {
elements.categories.classList.remove("hidden");
let numEnabledCategories = 0;
Object.keys(filteredCategories).forEach((categoryIndex) => {
if (elements["category-" + categoryIndex].checked) {
numEnabledCategories++;
}
});
if (numEnabledCategories > 0) {
filteredItems = filteredItems.filter((item) => {
const category = categories[fromCategoryCode(item.category)[0]];
return elements["category-" + category.index].checked;
});
}
}
filteredItems = filteredItems.filter((item) => {
const category = categories[fromCategoryCode(item.category)[0]];
return elements["category-" + category.index].checked;
});
log(`ItemsFilter - Filtering ${this.model.items.length} took ${deltaTime(start).toFixed(4)} secs, ${filteredItems.length} results.`);
this.model.removeListener(this._listener);

View File

@ -26,6 +26,7 @@ exports.getCanonical = function (item, today) {
unit,
quantity,
bio: item.name.toLowerCase().includes("bio") && !item.name.toLowerCase().includes("fabio"),
url: item.sku.replace("-", ""),
},
units,
"penny"