diff --git a/src/components/StatusDropdown.tsx b/src/components/StatusDropdown.tsx index dc3394a6..f7a47066 100644 --- a/src/components/StatusDropdown.tsx +++ b/src/components/StatusDropdown.tsx @@ -1,4 +1,4 @@ -import { useState, useRef, useEffect, useCallback, useMemo } from 'react' +import { useState, useRef, useEffect, useLayoutEffect, useCallback, useMemo } from 'react' import { createPortal } from 'react-dom' import { getStatusStyle, SUGGESTED_STATUSES, setStatusColor, getStatusColorKey } from '../utils/statusStyles' import { ACCENT_COLORS } from '../utils/typeColors' @@ -229,8 +229,10 @@ export function StatusDropdown({ const inputRef = useRef(null) const listRef = useRef(null) const anchorRef = useRef(null) + const dropdownRef = useRef(null) - const positionDropdown = useCallback((node: HTMLDivElement | null) => { + useLayoutEffect(() => { + const node = dropdownRef.current if (!node) return const anchor = anchorRef.current?.parentElement if (!anchor) return @@ -288,7 +290,7 @@ export function StatusDropdown({ <>