Fixed tag issue on legal-snippets
This commit is contained in:
@@ -512,7 +512,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
selectedTags.add(preSelectedTag);
|
||||
}
|
||||
|
||||
// Collect all unique tags
|
||||
// Collect all unique tags (normalize case for consistency)
|
||||
const allTags = new Set();
|
||||
cards.forEach(card => {
|
||||
const tags = card.dataset.tags;
|
||||
@@ -527,8 +527,9 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
Array.from(allTags).sort().forEach(tag => {
|
||||
const option = document.createElement('div');
|
||||
option.className = 'tag-option';
|
||||
const isSelected = Array.from(selectedTags).some(selected => selected.toLowerCase() === tag.toLowerCase());
|
||||
option.innerHTML = `
|
||||
<input type="checkbox" ${selectedTags.has(tag) ? 'checked' : ''}>
|
||||
<input type="checkbox" ${isSelected ? 'checked' : ''}>
|
||||
<span>${tag}</span>
|
||||
`;
|
||||
|
||||
@@ -537,7 +538,9 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
if (checkbox.checked) {
|
||||
selectedTags.add(tag);
|
||||
} else {
|
||||
selectedTags.delete(tag);
|
||||
// Remove tag case-insensitively
|
||||
const tagToRemove = Array.from(selectedTags).find(selected => selected.toLowerCase() === tag.toLowerCase());
|
||||
if (tagToRemove) selectedTags.delete(tagToRemove);
|
||||
}
|
||||
updateSelectedTagsDisplay();
|
||||
filterAndSort();
|
||||
@@ -584,8 +587,10 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
const checkboxes = tagOptions.querySelectorAll('input[type="checkbox"]');
|
||||
checkboxes.forEach((checkbox, index) => {
|
||||
const tag = Array.from(allTags).sort()[index];
|
||||
checkbox.checked = selectedTags.has(tag);
|
||||
checkbox.parentElement.classList.toggle('selected', selectedTags.has(tag));
|
||||
// Case-insensitive check for selected tags
|
||||
const isSelected = Array.from(selectedTags).some(selected => selected.toLowerCase() === tag.toLowerCase());
|
||||
checkbox.checked = isSelected;
|
||||
checkbox.parentElement.classList.toggle('selected', isSelected);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -662,10 +667,10 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
description.includes(searchTerm) ||
|
||||
content.includes(searchTerm);
|
||||
|
||||
// Tag filter - must match ALL selected tags
|
||||
const matchesTags = selectedTags.size === 0 ||
|
||||
(tags && Array.from(selectedTags).every(selectedTag =>
|
||||
tags.split(',').map(t => t.trim()).includes(selectedTag)
|
||||
// Tag filter - must match ALL selected tags (case-insensitive)
|
||||
const matchesTags = selectedTags.size === 0 ||
|
||||
(tags && Array.from(selectedTags).every(selectedTag =>
|
||||
tags.split(',').map(t => t.trim().toLowerCase()).includes(selectedTag.toLowerCase())
|
||||
));
|
||||
|
||||
return matchesSearch && matchesTags;
|
||||
|
Reference in New Issue
Block a user