diff --git a/packages/twenty-front/src/modules/ui/input/components/IconPicker.tsx b/packages/twenty-front/src/modules/ui/input/components/IconPicker.tsx index 24d70d8f7..f0e6388c7 100644 --- a/packages/twenty-front/src/modules/ui/input/components/IconPicker.tsx +++ b/packages/twenty-front/src/modules/ui/input/components/IconPicker.tsx @@ -107,6 +107,24 @@ export const IconPicker = ({ setHotkeyScopeAndMemorizePreviousScope, } = usePreviousHotkeyScope(); + const [isMouseInsideIconList, setIsMouseInsideIconList] = useState(false); + + const handleMouseEnter = () => { + if (!isMouseInsideIconList) { + setIsMouseInsideIconList(true); + setHotkeyScopeAndMemorizePreviousScope({ + scope: IconPickerHotkeyScope.IconPicker, + }); + } + }; + + const handleMouseLeave = () => { + if (isMouseInsideIconList) { + setIsMouseInsideIconList(false); + goBackToPreviousHotkeyScope(); + } + }; + const { closeDropdown } = useDropdown(dropdownId); const { getIcons, getIcon } = useIcons(); @@ -196,12 +214,8 @@ export const IconPicker = ({ />
{ - setHotkeyScopeAndMemorizePreviousScope({ - scope: IconPickerHotkeyScope.IconPicker, - }); - }} - onMouseLeave={goBackToPreviousHotkeyScope} + onMouseEnter={handleMouseEnter} + onMouseLeave={handleMouseLeave} >