diff --git a/src/_includes/docs/learning-resources-index/side-filters.liquid b/src/_includes/docs/learning-resources-index/side-filters.liquid
index 5cb629df77..600b0610d9 100644
--- a/src/_includes/docs/learning-resources-index/side-filters.liquid
+++ b/src/_includes/docs/learning-resources-index/side-filters.liquid
@@ -1,4 +1,16 @@
+
+
+
+
Filter by
Subject
@@ -33,3 +45,5 @@
+
+
\ No newline at end of file
diff --git a/src/content/assets/js/learning-resources-index.js b/src/content/assets/js/learning-resources-index.js
index b89d02b223..f53c693e54 100644
--- a/src/content/assets/js/learning-resources-index.js
+++ b/src/content/assets/js/learning-resources-index.js
@@ -265,21 +265,43 @@ function _setupDropdownMenu() {
if (!pageContent) return;
const filtersButton = pageContent.querySelector('.show-filters-button');
- const filtersEl = pageContent.querySelector('.right-col');
+ const filtersEl = document.getElementById('resource-filter-group-wrapper') || pageContent.querySelector('.right-col');
+ const closeToggleCheckbox = document.getElementById('close-filter-toggle');
+
if (!filtersButton || !filtersEl) return;
function _closeMenu() {
- filtersEl.classList.remove('show');
- filtersButton.ariaExpanded = 'false';
+ if (closeToggleCheckbox) {
+ closeToggleCheckbox.checked = true;
+ } else {
+ filtersEl.classList.remove('show');
+ }
+ filtersButton.ariaExpanded = 'false';
}
+
+ function _openMenu() {
+ if (closeToggleCheckbox) {
+ closeToggleCheckbox.checked = false;
+ } else {
+ filtersEl.classList.add('show');
+ }
+ filtersButton.ariaExpanded = 'true';
+ }
- filtersButton.addEventListener('click', (_) => {
- if (filtersEl.classList.contains('show')) {
- _closeMenu();
+ function _isMenuOpen() {
+ if (closeToggleCheckbox) {
+ return !closeToggleCheckbox.checked;
} else {
- filtersEl.classList.add('show');
- filtersButton.ariaExpanded = 'true';
+ return filtersEl.classList.contains('show');
}
+ }
+
+ filtersButton.addEventListener('click', (_) => {
+ if (_isMenuOpen()) {
+ _closeMenu();
+ } else {
+ _openMenu();
+ }
});
document.addEventListener('keydown', (event) => {
@@ -290,12 +312,13 @@ function _setupDropdownMenu() {
// Close the dropdown if anywhere not in the filters menu is.
const content = document.getElementById('all-resources-grid');
- content.addEventListener('click', (_) => {
- if (!filtersEl.classList.contains('show')) {
- return;
- }
- _closeMenu();
- });
+ if (content) {
+ content.addEventListener('click', () => {
+ if (_isMenuOpen()) {
+ _closeMenu();
+ }
+ });
+ }
}
function shuffleElements(container) {