diff --git a/src/components/Attendees/PeopleSearch.tsx b/src/components/Attendees/PeopleSearch.tsx index e74d657..63a8d93 100644 --- a/src/components/Attendees/PeopleSearch.tsx +++ b/src/components/Attendees/PeopleSearch.tsx @@ -26,6 +26,7 @@ import { } from "react"; import { useI18n } from "twake-i18n"; import { ResourceIcon } from "./ResourceIcon"; +import { isValidEmail } from "../../utils/isValidEmail"; export interface User { email: string; @@ -99,8 +100,6 @@ export function PeopleSearch({ setSnackbarMessage, } = useUserSearch({ objectTypes, errorMessage }); - const isValidEmail = (email: string) => - /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email); const theme = useTheme(); const handleBlurCommit = useCallback( diff --git a/src/features/Events/api/getUserDataFromEmail.ts b/src/features/Events/api/getUserDataFromEmail.ts index 8317f55..47cc3f7 100644 --- a/src/features/Events/api/getUserDataFromEmail.ts +++ b/src/features/Events/api/getUserDataFromEmail.ts @@ -1,6 +1,10 @@ import { api } from "@/utils/apiUtils"; +import { isValidEmail } from "@/utils/isValidEmail"; export async function getUserDataFromEmail(email: string) { + if (!isValidEmail(email)) { + return []; + } const r = await api(`api/users?email=${encodeURIComponent(email)}`); const result: Array> = await r.json(); return result; diff --git a/src/utils/isValidEmail.tsx b/src/utils/isValidEmail.tsx new file mode 100644 index 0000000..293ba6d --- /dev/null +++ b/src/utils/isValidEmail.tsx @@ -0,0 +1,3 @@ +export function isValidEmail(email: string) { + return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email); +}