From a28f41fab9f6d65955462feca33ffecddad47a78 Mon Sep 17 00:00:00 2001 From: Camille Moussu <66134347+Eriikah@users.noreply.github.com> Date: Tue, 16 Dec 2025 14:09:09 +0100 Subject: [PATCH] [#415] added keyword field highligh on empty search (#423) Co-authored-by: Camille Moussu --- src/components/Menubar/EventSearchBar.tsx | 38 ++++++++++++++++------- src/locales/en.json | 3 +- src/locales/fr.json | 5 ++- src/locales/ru.json | 5 ++- src/locales/vi.json | 3 +- 5 files changed, 38 insertions(+), 16 deletions(-) diff --git a/src/components/Menubar/EventSearchBar.tsx b/src/components/Menubar/EventSearchBar.tsx index 3d3c734..4dbc9c0 100644 --- a/src/components/Menubar/EventSearchBar.tsx +++ b/src/components/Menubar/EventSearchBar.tsx @@ -56,7 +56,7 @@ export default function SearchBar() { const [anchorEl, setAnchorEl] = useState(null); const filterOpen = Boolean(anchorEl); - + const [filterError, setFilterError] = useState(false); const searchWidth = { xs: "10vw", sm: "20vw", @@ -142,6 +142,7 @@ export default function SearchBar() { attendees: [] as userAttendee[], }); setAnchorEl(null); + setFilterError(false); }; const handleContactSelect = (_event: any, contacts: User[]) => { @@ -174,9 +175,11 @@ export default function SearchBar() { const cleanedQuery = buildQuery(searchQuery, filters); if (cleanedQuery) { dispatch(searchEventsAsync(cleanedQuery)); + dispatch(setView("search")); + setAnchorEl(null); + } else { + filterOpen && setFilterError(true); } - dispatch(setView("search")); - setAnchorEl(null); }; useEffect(() => { @@ -446,11 +449,16 @@ export default function SearchBar() { - handleFilterChange("keywords", e.target.value) - } + onChange={(e) => { + handleFilterChange("keywords", e.target.value); + if (e.target.value.trim()) { + setFilterError(false); + } + }} size="small" /> @@ -468,9 +476,12 @@ export default function SearchBar() { - handleFilterChange("organizers", users) - } + setAttendees={(users: userAttendee[]) => { + handleFilterChange("organizers", users); + if (users.length > 0) { + setFilterError(false); + } + }} /> @@ -487,9 +498,12 @@ export default function SearchBar() { - handleFilterChange("attendees", users) - } + setAttendees={(users: userAttendee[]) => { + handleFilterChange("attendees", users); + if (users.length > 0) { + setFilterError(false); + } + }} /> diff --git a/src/locales/en.json b/src/locales/en.json index 138be09..cab57d2 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -65,7 +65,8 @@ "participants": "Participants", "noResults": "No events found", "resultsTitle": "Search Results", - "noResultsSubtitle": "Try adjusting your filters or search terms." + "noResultsSubtitle": "Try adjusting your filters or search terms.", + "error": { "emptySearch": "Try adding keywords or other filters." } }, "calendarPopover": { "tabs": { diff --git a/src/locales/fr.json b/src/locales/fr.json index 83140a0..e531cc3 100644 --- a/src/locales/fr.json +++ b/src/locales/fr.json @@ -65,7 +65,10 @@ "participants": "Participants", "noResults": "Aucun résultat", "resultsTitle": "Résultats de la recherche", - "noResultsSubtitle": "Essayez de changer vos filtres ou termes recherchés." + "noResultsSubtitle": "Essayez de changer vos filtres ou termes recherchés.", + "error": { + "emptySearch": "Essayez d'ajouter des mots clés ou d'autres filtres." + } }, "calendarPopover": { "tabs": { diff --git a/src/locales/ru.json b/src/locales/ru.json index ab5826f..6069a44 100644 --- a/src/locales/ru.json +++ b/src/locales/ru.json @@ -65,7 +65,10 @@ "participants": "Участники", "noResults": "Результаты не найдены", "resultsTitle": "Результаты поиска", - "noResultsSubtitle": "Попробуйте изменить фильтры или условия поиска." + "noResultsSubtitle": "Попробуйте изменить фильтры или условия поиска.", + "error": { + "emptySearch": "Попробуйте добавить ключевые слова или другие фильтры." + } }, "calendarPopover": { "tabs": { diff --git a/src/locales/vi.json b/src/locales/vi.json index 850e10b..a6a4c9c 100644 --- a/src/locales/vi.json +++ b/src/locales/vi.json @@ -65,7 +65,8 @@ "participants": "Người tham gia", "noResults": "Không tìm thấy kết quả", "resultsTitle": "Kết quả tìm kiếm", - "noResultsSubtitle": "Hãy thử điều chỉnh bộ lọc hoặc thuật ngữ tìm kiếm của bạn." + "noResultsSubtitle": "Hãy thử điều chỉnh bộ lọc hoặc thuật ngữ tìm kiếm của bạn.", + "error": { "emptySearch": "Hãy thử thêm từ khóa hoặc các bộ lọc khác." } }, "calendarPopover": { "tabs": {