aboutsummaryrefslogtreecommitdiffstats
path: root/pydis_site/static
diff options
context:
space:
mode:
authorGravatar Leon Sandøy <[email protected]>2022-01-31 18:02:59 +0100
committerGravatar Leon Sandøy <[email protected]>2022-01-31 18:02:59 +0100
commit91935d88476bade9701d354e82cafba912a33f69 (patch)
treebf9428423f5944e62bafd04a51b8a111a0a4e8ba /pydis_site/static
parentAdded margins and max-width to filtering column. (diff)
Get rid of invalid filters in the URL.
Diffstat (limited to 'pydis_site/static')
-rw-r--r--pydis_site/static/js/resources/resources.js24
1 files changed, 17 insertions, 7 deletions
diff --git a/pydis_site/static/js/resources/resources.js b/pydis_site/static/js/resources/resources.js
index 44d4db5c..ad26afd4 100644
--- a/pydis_site/static/js/resources/resources.js
+++ b/pydis_site/static/js/resources/resources.js
@@ -67,17 +67,27 @@ function deserializeURLParams() {
if (paramFilterContent !== null) {
// We use split here because we always want an array, not a string.
let paramFilterArray = paramFilterContent.split(",");
- activeFilters[filterType] = paramFilterArray;
// Update the corresponding filter UI, so it reflects the internal state.
$(paramFilterArray).each(function(_, filter) {
- let checkbox = $(`.filter-checkbox[data-filter-name='${filterType}'][data-filter-item='${filter}']`);
- let filterTag = $(`.filter-box-tag[data-filter-name='${filterType}'][data-filter-item='${filter}']`);
- let resourceTags = $(`.resource-tag[data-filter-name='${filterType}'][data-filter-item='${filter}']`);
- checkbox.prop("checked", true);
- filterTag.show();
- resourceTags.addClass("active");
+ // Make sure the filter is valid before we do anything.
+ if (String(filter) === "rickroll" && filterType === "type") {
+ window.location.href = "https://www.youtube.com/watch?v=dQw4w9WgXcQ";
+ } else if (String(filter) === "sneakers" && filterType === "topics") {
+ window.location.href = "https://www.youtube.com/watch?v=NNZscmNE9QI";
+ } else if (validFilters[filterType].includes(String(filter))) {
+ let checkbox = $(`.filter-checkbox[data-filter-name='${filterType}'][data-filter-item='${filter}']`);
+ let filterTag = $(`.filter-box-tag[data-filter-name='${filterType}'][data-filter-item='${filter}']`);
+ let resourceTags = $(`.resource-tag[data-filter-name='${filterType}'][data-filter-item='${filter}']`);
+ checkbox.prop("checked", true);
+ filterTag.show();
+ resourceTags.addClass("active");
+ activeFilters[filterType].push(filter);
+ }
});
+
+ // Ditch all the params from the URL, and recalculate the URL params
+ updateURL();
}
});
}