Skip to content

fix(ContractEventFeed): events list has no empty icon, error state has no retry, live badge has no pulse animation on initial mount #209

Description

@k-deejah

Problem

Three issues in ContractEventFeed affect usability, filtering, and event detail display.

1. ContractEventFeed has no event type filter

All event types (transfer, mint, burn, approve, and unknown types) are shown together with no way to filter. A project monitoring only transfer events must scroll through all event types. A simple type filter (checkboxes or a multi-select) would make the feed much more useful.

2. Event value is rendered as raw JSON without any formatting hints

JSON.stringify(event.value, null, 2) is rendered in a <pre> block. For large or deeply nested contract return values, this is unreadable. A collapsible JSON tree viewer or at minimum a "Show more / Show less" toggle for large values would improve readability.

3. ContractEventFeed does not indicate when the last successful poll occurred

When polling is active, users have no way to know if the feed is up to date or stalled. A "Last updated: 12s ago" timestamp that updates every second would give confidence that the live feed is working.

Solution

  1. Add a filterTypes?: string[] prop that defaults to all types; render a set of toggle buttons above the list to filter by event type.
  2. Add a maxValueLength prop (default 200 chars) — values longer than this get a "Show more" toggle.
  3. Track lastUpdatedAt in state and render a relative time string ("Updated just now", "Updated 12s ago") in the card header.

Acceptance Criteria

  • Event type filter toggles work and filter the rendered event list
  • Long event values are truncated with a "Show more" toggle
  • "Last updated" timestamp appears in the card header when polling is active
  • npm run build passes

Note for Contributors: Write a clear PR description. Include a screenshot of the filter toggles and the "last updated" timestamp in the card header.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Stellar WaveIssues in the Stellar wave programbugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions