implement bookmark list mouse hover
This commit is contained in:
@@ -268,6 +268,7 @@ const BookmarkListItem = memo(
|
|||||||
const store = useBookmarkListStoreContext()
|
const store = useBookmarkListStoreContext()
|
||||||
const alwaysExpandItem = useBookmarkListStore((state) => state.alwaysExpandItem)
|
const alwaysExpandItem = useBookmarkListStore((state) => state.alwaysExpandItem)
|
||||||
const isBookmarkItemExpanded = useBookmarkListStore((state) => state.alwaysExpandItem || state.isItemExpanded)
|
const isBookmarkItemExpanded = useBookmarkListStore((state) => state.alwaysExpandItem || state.isItemExpanded)
|
||||||
|
const setSelectedBookmarkId = useBookmarkListStore((state) => state.setSelectedBookmarkId)
|
||||||
const setIsItemExpanded = useBookmarkListStore((state) => state.setIsItemExpanded)
|
const setIsItemExpanded = useBookmarkListStore((state) => state.setIsItemExpanded)
|
||||||
const onItemAction = useBookmarkListStore((state) => state.onItemAction)
|
const onItemAction = useBookmarkListStore((state) => state.onItemAction)
|
||||||
|
|
||||||
@@ -289,12 +290,19 @@ const BookmarkListItem = memo(
|
|||||||
onItemAction(bookmark, BookmarkListItemAction.Edit)
|
onItemAction(bookmark, BookmarkListItemAction.Edit)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function onItemHover() {
|
||||||
|
if (!store.getState().isItemExpanded) {
|
||||||
|
setSelectedBookmarkId(bookmark.id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<li
|
<li
|
||||||
className={clsx("group flex flex-row justify-start py-2", {
|
className={clsx("group flex flex-row justify-start py-2", {
|
||||||
"bg-teal-600 text-stone-100": isBookmarkItemExpanded && selected,
|
"bg-teal-600 text-stone-100": isBookmarkItemExpanded && selected,
|
||||||
"text-teal-600": selected && !isBookmarkItemExpanded,
|
"text-teal-600": selected && !isBookmarkItemExpanded,
|
||||||
})}
|
})}
|
||||||
|
onMouseEnter={onItemHover}
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
|
Reference in New Issue
Block a user