feat: enable searching without special characters
This commit is contained in:
+18
-4
@@ -435,13 +435,27 @@ const setupEventListeners = () => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const getCleanName = (foodName: string): string => {
|
||||||
|
const newName = foodName
|
||||||
|
.replace(/á/g, 'a')
|
||||||
|
.replace(/ã/g, 'a')
|
||||||
|
.replace(/â/g, 'a')
|
||||||
|
.replace(/ê/g, 'e')
|
||||||
|
.replace(/é/g, 'e')
|
||||||
|
.replace(/ó/g, 'o')
|
||||||
|
.replace(/ú/g, 'u')
|
||||||
|
.replace(/ç/g, 'c');
|
||||||
|
return newName.toLowerCase();
|
||||||
|
}
|
||||||
|
|
||||||
// Perform search
|
// Perform search
|
||||||
function performSearch(query: string) {
|
function performSearch(query: string) {
|
||||||
// Simulate API call - replace with your actual database search
|
// Simulate API call - replace with your actual database search
|
||||||
const results: FoodItem[] = foodDatabase.filter(food =>
|
const results: FoodItem[] = foodDatabase.filter(food => {
|
||||||
food.name.toLowerCase().includes(query.toLowerCase()) ||
|
const cleanName = getCleanName(food.name);
|
||||||
food.info.category.toLowerCase().includes(query.toLowerCase())
|
const category = food.info.category.toLowerCase();
|
||||||
).slice(0, 5); // Limit to 5 results
|
return cleanName.includes(query.toLowerCase()) || category.includes(query.toLowerCase())
|
||||||
|
}).slice(0, 5); // Limit to 5 results
|
||||||
|
|
||||||
currentResults = results;
|
currentResults = results;
|
||||||
displaySearchResults(results);
|
displaySearchResults(results);
|
||||||
|
|||||||
Reference in New Issue
Block a user