aboutsummaryrefslogtreecommitdiff
path: root/web_interface
diff options
context:
space:
mode:
authoruser@node5.net <user@node5.net>2025-12-08 21:37:16 +0100
committeruser@node5.net <user@node5.net>2025-12-08 21:37:16 +0100
commit246d46811b831b4f96933b42da9c6444190a4fe5 (patch)
tree800554cee58b76e8f8f93ca204c71ccbd7cc4489 /web_interface
parent37775ae8c0d87745e526572dc0e5b95263ecf1c9 (diff)
Search - Diacritics agnostic
Diffstat (limited to 'web_interface')
-rw-r--r--web_interface/drinks/templates/drinks_overview.html13
1 files changed, 10 insertions, 3 deletions
diff --git a/web_interface/drinks/templates/drinks_overview.html b/web_interface/drinks/templates/drinks_overview.html
index 7bee2d7..dd86886 100644
--- a/web_interface/drinks/templates/drinks_overview.html
+++ b/web_interface/drinks/templates/drinks_overview.html
@@ -12,14 +12,21 @@
<script>
const searchBar = document.getElementById('search-bar');
+ function removeDiacritics(str) {
+ return str.normalize("NFD").replace(/[\u0300-\u036f]/g, "");
+ }
+
function Search(value) {
const drinks = document.getElementById('drinks').children;
- document.getElementById('search-clear').style.visibility = searchBar.value.length > 0 ? '' : 'hidden';
+ const normalizedValue = removeDiacritics(value.toLowerCase());
+
+ document.getElementById('search-clear').style.visibility = value.length > 0 ? '' : 'hidden';
+
// Loop through all list items and hide those that don't match the filter
for (let i = 0; i < drinks.length; i++) {
- const itemText = drinks[i].textContent.toLowerCase();
+ const itemText = removeDiacritics(drinks[i].textContent.toLowerCase());
// Show item if it matches the filter, hide otherwise
- if (itemText.includes(value.toLowerCase())) {
+ if (itemText.includes(normalizedValue)) {
drinks[i].style.display = '';
} else {
drinks[i].style.display = 'none';