diff --git a/packages/web/components/elements/DropdownElements.tsx b/packages/web/components/elements/DropdownElements.tsx index 6bcb9742c..9ba1030e0 100644 --- a/packages/web/components/elements/DropdownElements.tsx +++ b/packages/web/components/elements/DropdownElements.tsx @@ -123,6 +123,7 @@ type DropdownProps = { disabled?: boolean css?: CSS modal?: boolean + onOpenChange?: (open: boolean) => void } export const DropdownSeparator = styled(Separator, { @@ -142,7 +143,9 @@ export function DropdownOption(props: DropdownOptionProps): JSX.Element { return ( <> { + props.onSelect() + }} onClick={(event) => event.stopPropagation()} > {props.title ?? props.children} @@ -165,9 +168,10 @@ export function Dropdown( alignOffset = 0, css, modal, + onOpenChange, } = props return ( - + {triggerElement} void + onOpenChange?: (open: boolean) => void } export function CardMenu(props: CardMenuProps): JSX.Element { return ( - + {!props.item.isArchived ? ( props.actionHandler('archive')} diff --git a/packages/web/components/patterns/LibraryCards/LibraryGridCard.tsx b/packages/web/components/patterns/LibraryCards/LibraryGridCard.tsx index d845c905e..14e316797 100644 --- a/packages/web/components/patterns/LibraryCards/LibraryGridCard.tsx +++ b/packages/web/components/patterns/LibraryCards/LibraryGridCard.tsx @@ -77,10 +77,14 @@ const siteName = (originalArticleUrl: string, itemUrl: string): string => { // Component export function LibraryGridCard(props: LinkedItemCardProps): JSX.Element { const [isHovered, setIsHovered] = useState(false) + const [menuOpen, setMenuOpen] = useState(false) + const originText = props.item.siteName || siteName(props.item.originalArticleUrl, props.item.url) + console.log(props.item.title, 'menuOpen: ', menuOpen, 'isHovered', isHovered) + return ( { - const element = document.getElementById(props.item.id) - if (!element) { - return - } - element.focus() setIsHovered(true) }} onMouseLeave={() => { @@ -142,7 +141,7 @@ export function LibraryGridCard(props: LinkedItemCardProps): JSX.Element { setMenuOpen(open)} actionHandler={props.handleAction} triggerElement={