import type { Collection } from "@markone/core" import { Link } from "@tanstack/react-router" import { clsx } from "clsx" import { memo, useCallback, useRef } from "react" import { Button } from "~/components/button" import { List, type ListRef } from "~/components/list" import { DialogKind, useCollectionPageStore } from "./-store" import { useMnemonics } from "~/hooks/use-mnemonics" export enum CollectionListItemAction { Delete = "Delete", Edit = "Edit", } interface CollectionListProps { collections: Collection[] className?: string onItemAction: (collection: Collection, action: CollectionListItemAction) => void } const CollectionListItem = memo( ({ collection, isSelected, isExpanded, onSelect, onExpand, onItemAction, }: { collection: Collection isSelected: boolean isExpanded: boolean onSelect: () => void onExpand: () => void onItemAction: (collection: Collection, action: CollectionListItemAction) => void }) => (
{collection.description}
{isExpanded ? (