{visibleTags.map((tag, index) => (
#{tag}
))}
{hasOverflow ? {remainingCount} more... : null}
{tags.map((tag, index) => (
{
tagRefs.current[index] = element;
}}
className={`${TAG_CLASS} inline-block`}
>
#{tag}
))}
{tags.length} more...
);
}
export default function EntriesList({
activeGroupId,
loading,
entries,
visibleEntries,
activeFilterCount,
onOpenDetails,
onClearFilters
}: EntriesListProps) {
return (
{!activeGroupId ? (
Select a group to view entries.
) : loading ? (
{[0, 1, 2].map(row => (
))}
) : entries.length ? (
visibleEntries.length ? (
visibleEntries.map((entry, index) => {
const tags = entry.tags ?? [];
return (
onOpenDetails(entry, index)}
>
${entry.amountDollars.toFixed(2)}
{new Date(entry.occurredAt).toISOString().slice(0, 10)}
);
})
) : (
No matching entries.
{activeFilterCount ? (
) : null}
)
) : (
No entries yet.
)}
);
}