### Description Implement a search functionality that allows users to easily find and add ingredients to their fridge. The search should be scalable, efficient, and handle common user input errors such as misspellings, incomplete words, and different ingredient names. ### Requirements - **Autocomplete:** Suggest relevant ingredients as the user types. - **Typo tolerance:** Handle common spelling mistakes (e.g., "tomatoe" → "tomato"). - **Fuzzy search:** Return relevant results even when the search query is not an exact match. - **Scalability:** Ensure good performance as the ingredient database grows. - **Case-insensitive search:** Ignore uppercase and lowercase differences. - **Error handling:** Handle empty queries, no matches, and API errors gracefully. ### Acceptance Criteria - [ ] Users can search for ingredients and add them to their fridge. - [ ] Search suggestions appear while typing. - [ ] Common spelling mistakes still return relevant ingredients. - [ ] Search remains responsive with a large ingredient database. - [ ] Appropriate feedback is displayed when no results are found. - [ ] Search requests are optimized to avoid unnecessary API calls (e.g., debouncing).