Skip to content

[FE-32] Build Member Directory component with search and avatar fallback #1011

@devwums

Description

@devwums

Problem

There is no way for members to discover other hub members. No member directory or public profile exists, hindering community building.

Proposed Solution

Create frontend/cntr/MemberDirectory/MemberDirectory.tsx. Props: members: { id: string, fullName: string, avatarUrl?: string, role: string, joinedDate: string }[], isLoading?: boolean. Renders a responsive grid of member cards. Each card shows avatar (or initials in a colour circle), full name, role badge, and join date. Includes a client-side search input filtering by fullName. All implementation must live inside frontend/cntr/.

Acceptance Criteria

  • File at frontend/cntr/MemberDirectory/MemberDirectory.tsx
  • Shows skeleton cards when isLoading is true
  • Search input filters members by fullName (case-insensitive)
  • When avatarUrl is null, shows initials in a coloured circle (colour derived from name)
  • Grid is responsive (at least 2 columns on mobile, 3–4 on desktop)
  • Test in frontend/cntr/MemberDirectory/MemberDirectory.test.tsx

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    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