import { useComputed, useSignal, type ReadonlySignal } from '@preact/signals' import type { JSX } from 'preact/jsx-runtime' export const ShowMore = ({ items, pageSize, children, }: { items: ReadonlySignal pageSize: number children: (item: T) => JSX.Element }) => { const $shownItems = useSignal(pageSize) const $paginatedItems = useComputed(() => { return items.value.slice(0, $shownItems.value) }) return ( <> {$paginatedItems.value.map(children)}
{$shownItems.value < items.value.length && ( )}
) }