Co-authored-by: Camille Moussu <cmoussu@linagora.com>
This commit is contained in:
@@ -56,7 +56,7 @@ export default function SearchBar() {
|
|||||||
|
|
||||||
const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null);
|
const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null);
|
||||||
const filterOpen = Boolean(anchorEl);
|
const filterOpen = Boolean(anchorEl);
|
||||||
|
const [filterError, setFilterError] = useState(false);
|
||||||
const searchWidth = {
|
const searchWidth = {
|
||||||
xs: "10vw",
|
xs: "10vw",
|
||||||
sm: "20vw",
|
sm: "20vw",
|
||||||
@@ -142,6 +142,7 @@ export default function SearchBar() {
|
|||||||
attendees: [] as userAttendee[],
|
attendees: [] as userAttendee[],
|
||||||
});
|
});
|
||||||
setAnchorEl(null);
|
setAnchorEl(null);
|
||||||
|
setFilterError(false);
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleContactSelect = (_event: any, contacts: User[]) => {
|
const handleContactSelect = (_event: any, contacts: User[]) => {
|
||||||
@@ -174,9 +175,11 @@ export default function SearchBar() {
|
|||||||
const cleanedQuery = buildQuery(searchQuery, filters);
|
const cleanedQuery = buildQuery(searchQuery, filters);
|
||||||
if (cleanedQuery) {
|
if (cleanedQuery) {
|
||||||
dispatch(searchEventsAsync(cleanedQuery));
|
dispatch(searchEventsAsync(cleanedQuery));
|
||||||
|
dispatch(setView("search"));
|
||||||
|
setAnchorEl(null);
|
||||||
|
} else {
|
||||||
|
filterOpen && setFilterError(true);
|
||||||
}
|
}
|
||||||
dispatch(setView("search"));
|
|
||||||
setAnchorEl(null);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -446,11 +449,16 @@ export default function SearchBar() {
|
|||||||
</InputLabel>
|
</InputLabel>
|
||||||
<TextField
|
<TextField
|
||||||
fullWidth
|
fullWidth
|
||||||
|
error={filterError}
|
||||||
|
helperText={filterError ? t("search.error.emptySearch") : ""}
|
||||||
placeholder={t("search.keywordsPlaceholder")}
|
placeholder={t("search.keywordsPlaceholder")}
|
||||||
value={filters.keywords}
|
value={filters.keywords}
|
||||||
onChange={(e) =>
|
onChange={(e) => {
|
||||||
handleFilterChange("keywords", e.target.value)
|
handleFilterChange("keywords", e.target.value);
|
||||||
}
|
if (e.target.value.trim()) {
|
||||||
|
setFilterError(false);
|
||||||
|
}
|
||||||
|
}}
|
||||||
size="small"
|
size="small"
|
||||||
/>
|
/>
|
||||||
</Box>
|
</Box>
|
||||||
@@ -468,9 +476,12 @@ export default function SearchBar() {
|
|||||||
</InputLabel>
|
</InputLabel>
|
||||||
<UserSearch
|
<UserSearch
|
||||||
attendees={filters.organizers}
|
attendees={filters.organizers}
|
||||||
setAttendees={(users: userAttendee[]) =>
|
setAttendees={(users: userAttendee[]) => {
|
||||||
handleFilterChange("organizers", users)
|
handleFilterChange("organizers", users);
|
||||||
}
|
if (users.length > 0) {
|
||||||
|
setFilterError(false);
|
||||||
|
}
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
</Box>
|
</Box>
|
||||||
|
|
||||||
@@ -487,9 +498,12 @@ export default function SearchBar() {
|
|||||||
</InputLabel>
|
</InputLabel>
|
||||||
<UserSearch
|
<UserSearch
|
||||||
attendees={filters.attendees}
|
attendees={filters.attendees}
|
||||||
setAttendees={(users: userAttendee[]) =>
|
setAttendees={(users: userAttendee[]) => {
|
||||||
handleFilterChange("attendees", users)
|
handleFilterChange("attendees", users);
|
||||||
}
|
if (users.length > 0) {
|
||||||
|
setFilterError(false);
|
||||||
|
}
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
</Box>
|
</Box>
|
||||||
</Stack>
|
</Stack>
|
||||||
|
|||||||
+2
-1
@@ -65,7 +65,8 @@
|
|||||||
"participants": "Participants",
|
"participants": "Participants",
|
||||||
"noResults": "No events found",
|
"noResults": "No events found",
|
||||||
"resultsTitle": "Search Results",
|
"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": {
|
"calendarPopover": {
|
||||||
"tabs": {
|
"tabs": {
|
||||||
|
|||||||
+4
-1
@@ -65,7 +65,10 @@
|
|||||||
"participants": "Participants",
|
"participants": "Participants",
|
||||||
"noResults": "Aucun résultat",
|
"noResults": "Aucun résultat",
|
||||||
"resultsTitle": "Résultats de la recherche",
|
"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": {
|
"calendarPopover": {
|
||||||
"tabs": {
|
"tabs": {
|
||||||
|
|||||||
+4
-1
@@ -65,7 +65,10 @@
|
|||||||
"participants": "Участники",
|
"participants": "Участники",
|
||||||
"noResults": "Результаты не найдены",
|
"noResults": "Результаты не найдены",
|
||||||
"resultsTitle": "Результаты поиска",
|
"resultsTitle": "Результаты поиска",
|
||||||
"noResultsSubtitle": "Попробуйте изменить фильтры или условия поиска."
|
"noResultsSubtitle": "Попробуйте изменить фильтры или условия поиска.",
|
||||||
|
"error": {
|
||||||
|
"emptySearch": "Попробуйте добавить ключевые слова или другие фильтры."
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"calendarPopover": {
|
"calendarPopover": {
|
||||||
"tabs": {
|
"tabs": {
|
||||||
|
|||||||
+2
-1
@@ -65,7 +65,8 @@
|
|||||||
"participants": "Người tham gia",
|
"participants": "Người tham gia",
|
||||||
"noResults": "Không tìm thấy kết quả",
|
"noResults": "Không tìm thấy kết quả",
|
||||||
"resultsTitle": "Kết quả tìm kiếm",
|
"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": {
|
"calendarPopover": {
|
||||||
"tabs": {
|
"tabs": {
|
||||||
|
|||||||
Reference in New Issue
Block a user