From f413bd832bca304e90f0c598027917d1bf75ce12 Mon Sep 17 00:00:00 2001 From: Benoit TELLIER Date: Mon, 15 Dec 2025 15:08:57 +0100 Subject: [PATCH] DRY - PeopleSearch onKeyDown: handleEnterKey --- src/components/Attendees/AttendeeSearch.tsx | 10 ++++++++-- src/components/Attendees/PeopleSearch.tsx | 21 +++++++++------------ 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/components/Attendees/AttendeeSearch.tsx b/src/components/Attendees/AttendeeSearch.tsx index 756e0bd..94f602f 100644 --- a/src/components/Attendees/AttendeeSearch.tsx +++ b/src/components/Attendees/AttendeeSearch.tsx @@ -1,6 +1,10 @@ import { useEffect, useState } from "react"; import { userAttendee } from "../../features/User/userDataTypes"; -import { PeopleSearch, User, ExtendedAutocompleteRenderInputParams } from "./PeopleSearch"; +import { + PeopleSearch, + User, + ExtendedAutocompleteRenderInputParams, +} from "./PeopleSearch"; export default function UserSearch({ attendees, @@ -11,7 +15,9 @@ export default function UserSearch({ attendees: userAttendee[]; setAttendees: Function; disabled?: boolean; - inputSlot?: (params: ExtendedAutocompleteRenderInputParams) => React.ReactNode; + inputSlot?: ( + params: ExtendedAutocompleteRenderInputParams + ) => React.ReactNode; }) { const [selectedUsers, setSelectedUsers] = useState( attendees.map((a) => ({ diff --git a/src/components/Attendees/PeopleSearch.tsx b/src/components/Attendees/PeopleSearch.tsx index a301d54..a8a2c93 100644 --- a/src/components/Attendees/PeopleSearch.tsx +++ b/src/components/Attendees/PeopleSearch.tsx @@ -191,17 +191,19 @@ export function PeopleSearch({ const { InputProps, ...enhancedParams } = enhancedParamsWithInputProps; + const handleEnterKey = (e: React.KeyboardEvent) => { + if (e.key === "Enter" && onToggleEventPreview) { + e.preventDefault(); + onToggleEventPreview(); + } + }; + const defaultTextFieldProps = { error: !!inputError, helperText: inputError, placeholder: searchPlaceholder, label: "", - onKeyDown: (e: React.KeyboardEvent) => { - if (e.key === "Enter" && onToggleEventPreview) { - e.preventDefault(); - onToggleEventPreview(); - } - }, + onKeyDown: handleEnterKey, slotProps: { input: { ...inputProps, @@ -221,12 +223,7 @@ export function PeopleSearch({ helperText: inputError, placeholder: searchPlaceholder, label: "", - onKeyDown: (e: React.KeyboardEvent) => { - if (e.key === "Enter" && onToggleEventPreview) { - e.preventDefault(); - onToggleEventPreview(); - } - }, + onKeyDown: handleEnterKey, })} );