Files
twenty/packages/twenty-front/src/modules/ui/utilities/scroll/hooks/useScrollWrapperHTMLElement.ts
T
Charles Bochet 1fa55bfd02 Fix bugs tied to jotai migration (#18227)
Fixing a few bugs:
- CommandMenu not reactive
- Filtering on index view infinite loop
2026-02-25 17:11:12 +01:00

33 lines
1.1 KiB
TypeScript

import { useCallback } from 'react';
import { ScrollWrapperComponentInstanceContext } from '@/ui/utilities/scroll/states/contexts/ScrollWrapperComponentInstanceContext';
import { useAvailableComponentInstanceIdOrThrow } from '@/ui/utilities/state/component-state/hooks/useAvailableComponentInstanceIdOrThrow';
import { useHTMLElementByIdWhenAvailable } from '~/hooks/useHTMLElementByIdWhenAvailable';
export const useScrollWrapperHTMLElement = (
targetComponentInstanceId?: string,
) => {
const instanceId = useAvailableComponentInstanceIdOrThrow(
ScrollWrapperComponentInstanceContext,
targetComponentInstanceId,
);
const scrollWrapperId = `scroll-wrapper-${instanceId}`;
const { element: scrollWrapperHTMLElement } =
useHTMLElementByIdWhenAvailable(scrollWrapperId);
const getScrollWrapperElement = useCallback(() => {
const scrollWrapperElement = document.getElementById(scrollWrapperId);
return {
scrollWrapperElement,
};
}, [scrollWrapperId]);
return {
scrollWrapperHTMLElement,
getScrollWrapperElement,
};
};