import type { ReactNode } from "react"; import { Icon } from "../../icon"; import type { IconName } from "../../../utils/icons"; interface MobileListItem { id: string; title: string; subtitle?: string; icon?: string; status?: string; } interface MobileListViewProps { items: MobileListItem[]; onItemClick: (id: string) => void; onItemDelete?: (id: string) => void; onItemDuplicate?: (id: string) => void; emptyMessage?: string; searchPlaceholder?: string; onSearch?: (query: string) => void; renderItem?: (item: MobileListItem) => ReactNode; } export const MobileListView: React.FC = ({ items, onItemClick, onItemDelete, onItemDuplicate, emptyMessage = "No items found", searchPlaceholder = "Search...", onSearch, renderItem, }) => { return (
{onSearch && (
onSearch(e.target.value)} className="mobile-list-search-input" />
)} {items.length === 0 ? (

{emptyMessage}

) : (
{items.map((item) => ( )} {onItemDelete && ( )} {!onItemDelete && !onItemDuplicate && ( )}
))}
)} ); };