import React from "react"; interface ListViewProps { hook: ReturnType>; renderHorizontal: (item: TItem) => React.ReactNode; renderSquare: (item: TItem) => React.ReactNode; } export function ListView({ hook, renderHorizontal, renderSquare }: ListViewProps) { const { items, search, setSearch, viewMode, setViewMode, loadMore, hasMore } = hook; return (
{/* Search + Layout Switcher */}
setSearch(e.target.value)} />
{/* Items */}
{items.map(item => viewMode === "horizontal" ? renderHorizontal(item) : renderSquare(item) )}
{hasMore && ( )}
); }