Description — what to implement and the why/impact.
Transparency is a core pillar of Mergepay. Users need a comprehensive group activity feed that logs every action—such as expense creation, edits, settlements, and member joins—complete with Stellar transaction hashes and timestamps. This issue introduces an audit trail component with filtering controls.
Context & Requirements — background, constraints, design references, edge cases; grounded in the actual repo (real files, stack, conventions).
The component should be built inside src/components/groups/ utilizing date-fns for date formatting and lucide-react icons. It must support filtering by event type (settlements vs. expenses) and search strings, matching the neobrutalist styling guidelines.
Acceptance Criteria — a checklist ("- [ ] ...") of specific, testable conditions that define "done`".
Implementation Guidance — likely files/modules to touch (use real paths from the repo context) and a suggested approach, without over-prescribing.
- Reference
src/lib/types.ts for activity event data structures.
- Utilize UI primitives from
src/components/ui/ for badges, cards, and input controls.
Testing & Validation — how the contributor should prove it works (tests to add/run, manual checks, screenshots for UI).
- Add unit tests for filter logic and date formatting utilities.
- Verify interactive filtering behavior and responsiveness.
Submission Guidelines — must open a PR that includes "Closes #"; assignment is required before starting; follow the repo's existing style and conventions.
Wave complexity: Medium
Description — what to implement and the why/impact.
Transparency is a core pillar of Mergepay. Users need a comprehensive group activity feed that logs every action—such as expense creation, edits, settlements, and member joins—complete with Stellar transaction hashes and timestamps. This issue introduces an audit trail component with filtering controls.
Context & Requirements — background, constraints, design references, edge cases; grounded in the actual repo (real files, stack, conventions).
The component should be built inside
src/components/groups/utilizingdate-fnsfor date formatting andlucide-reacticons. It must support filtering by event type (settlements vs. expenses) and search strings, matching the neobrutalist styling guidelines.Acceptance Criteria — a checklist ("- [ ] ...") of specific, testable conditions that define "done`".
ActivityFeed.tsxinsrc/components/groups/.date-fnsand render external links for Stellar transaction hashes when applicable.npm run typecheck,npm run lint, andnpm test.Implementation Guidance — likely files/modules to touch (use real paths from the repo context) and a suggested approach, without over-prescribing.
src/lib/types.tsfor activity event data structures.src/components/ui/for badges, cards, and input controls.Testing & Validation — how the contributor should prove it works (tests to add/run, manual checks, screenshots for UI).
Submission Guidelines — must open a PR that includes "Closes #"; assignment is required before starting; follow the repo's existing style and conventions.
Wave complexity: Medium