Files
twenty/packages/twenty-front/src/modules/ui/layout/dropdown/components/DropdownOnToggleEffect.tsx
T
Charles Bochet 6e7d2db58f Fix From Many relation for deleted notes crashing (#11117)
In this PR, I'm: 
- fixing the root cause (we should not try to render a RecordChip if the
record is not defined in RelationFromMany Display)
- fixing related typing issues
- we won't be able to catch the issue from TS perspective as
ObjectRecord is a Record of string, any
2025-03-24 13:29:44 +01:00

30 lines
791 B
TypeScript

import { useEffect, useState } from 'react';
import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown';
export const DropdownOnToggleEffect = ({
onDropdownClose,
onDropdownOpen,
}: {
onDropdownClose?: () => void;
onDropdownOpen?: () => void;
}) => {
const { isDropdownOpen } = useDropdown();
const [currentIsDropdownOpen, setCurrentIsDropdownOpen] =
useState(isDropdownOpen);
useEffect(() => {
if (isDropdownOpen && !currentIsDropdownOpen) {
setCurrentIsDropdownOpen(isDropdownOpen);
onDropdownOpen?.();
}
if (!isDropdownOpen && currentIsDropdownOpen) {
setCurrentIsDropdownOpen(isDropdownOpen);
onDropdownClose?.();
}
}, [currentIsDropdownOpen, isDropdownOpen, onDropdownClose, onDropdownOpen]);
return null;
};