Skip to content

Refactor: Team Members page#291

Merged
sarimrmalik merged 19 commits intomainfrom
refactor/team-members-dashboard
Apr 9, 2026
Merged

Refactor: Team Members page#291
sarimrmalik merged 19 commits intomainfrom
refactor/team-members-dashboard

Conversation

@sarimrmalik
Copy link
Copy Markdown
Collaborator

@sarimrmalik sarimrmalik commented Apr 8, 2026

Summary

Ticket

Refactors the team members page around a richer client-side table with search, pending-invite detection, and clearer inviter and removal behavior.

Testing

  • bun run test:unit -- src/__test__/unit/member-table-utils.test.ts

Images

image Members page image Add new member image Delete a member image Empty state

Restructure the members page around a richer client table and dialog-based invite flow, while preserving the corrected removal and inviter behaviors with focused coverage.

Made-with: Cursor
- Introduced `isPendingTeamMember` utility to determine pending invites based on provider recognition.
- Updated member table row logic to utilize the new utility for better clarity on member status.
- Refined the Add Member dialog and form for improved user experience, including UI adjustments and label updates.
- Enhanced members page content to display pending member counts alongside total members.

These changes aim to streamline the member management process and improve the overall dashboard experience.
- Simplified the Add Member dialog by consolidating class names for better styling.
- Removed unnecessary Card components from MemberCard for a cleaner layout.
- Introduced a new RemoveMemberDialog component to enhance member removal interactions.
- Adjusted member table row and cell components for improved responsiveness and clarity.

These changes aim to streamline the user experience in managing team members on the dashboard.
- Updated the ProvidersCell component to improve responsiveness by displaying a single provider badge on smaller screens and all providers on larger screens.
- Adjusted column widths in the MemberTable for better alignment and consistency across different screen sizes.

These changes enhance the user experience by ensuring that member information is displayed clearly and effectively across various devices.
- Removed unnecessary `not-italic` class from various buttons and input fields in the Add Member dialog and form for a cleaner look.
- Adjusted the `NameCell` and `ProvidersCell` components to enhance readability and responsiveness.
- Updated the search input in the MembersPageContent to streamline styling.

These changes aim to improve the overall user experience and maintain a consistent design across member management components.
@sarimrmalik sarimrmalik self-assigned this Apr 8, 2026
Copy link
Copy Markdown

@claude claude bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Code review skipped — your organization's overage spend limit has been reached.

Code review is billed via overage credits. To resume reviews, an organization admin can raise the monthly limit at claude.ai/admin-settings/claude-code.

Once credits are available, reopen this pull request to trigger a review.

@vercel
Copy link
Copy Markdown

vercel bot commented Apr 8, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
web Ready Ready Preview, Comment Apr 9, 2026 6:30pm
web-juliett Ready Ready Preview, Comment Apr 9, 2026 6:30pm

Request Review

- Introduced a new `Page` component to standardize layout across dashboard pages.
- Updated `MembersPage` to wrap content in the `Page` component for improved structure and styling consistency.

These changes enhance the overall user experience by providing a unified layout approach for member management components.
- Renamed `AddMemberEmailForm` to `AddMemberForm` for better alignment with its functionality.
- Updated type definitions to reflect the new naming convention.
- Adjusted the Add Member dialog to utilize the renamed form component.

These changes enhance code readability and maintain a consistent naming structure across member management components.
- Added `formatDate` utility to format dates with specified structures, improving date handling across the application.
- Updated `MemberTableRow` to utilize the new `formatDate` function for displaying member creation dates.
- Introduced `TableEmptyState` component to replace the previous empty state implementation in the member table for better clarity and consistency.

These changes enhance the user experience by providing clearer date formatting and improving the overall structure of the member table.
Copy link
Copy Markdown
Member

@ben-fornefeld ben-fornefeld left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ux is really nice, implementation wise i have a few nits

- Moved the `RemoveMemberDialog` component to its own file for better organization and maintainability.
- Simplified the `member-table-row` by removing the inline dialog implementation, enhancing readability.
- Updated the dialog's structure and styling for a more consistent user experience.

These changes aim to streamline the member removal process and improve code organization within the dashboard components.
- Renamed `isSystemAddedMember` to `wasAddedBySystem` and `isPendingTeamMember` to `isPendingInvite` for improved clarity in their functionality.
- Updated all relevant tests and components to reflect the new function names, ensuring consistent usage across the application.

These changes enhance code readability and maintain a clear understanding of member status within the dashboard components.
- Introduced a new `pluralize` function to handle singular and plural word forms based on count, enhancing text display consistency.
- Updated `MembersPageContent` to utilize the `pluralize` function for member count display.
- Removed the `isPendingInvite` function from member table utilities and adjusted related components to streamline member status handling.

These changes improve code clarity and enhance the user experience by providing accurate member count representations.
…consistency and clarity.

- Replaced the previous implementation of the InvoicesEmpty component with the new TableEmptyState component, enhancing the visual structure of empty states.
- Updated the member table to streamline the rendering of empty states, ensuring a more uniform approach across the application.

These changes improve code maintainability and user experience by providing a consistent empty state presentation.
Copy link
Copy Markdown
Member

@ben-fornefeld ben-fornefeld left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

two nits, otherwise lgtm~

- Replaced the Plus icon with AddIcon in the AddMemberForm for better visual consistency.
- Adjusted column widths in MemberTable for improved responsiveness across different screen sizes.
- Updated layout classes in MembersPageContent to enhance responsiveness and maintain consistency in styling.

These changes aim to streamline the user interface and improve the overall user experience in the dashboard.
@sarimrmalik sarimrmalik merged commit 2a3114f into main Apr 9, 2026
10 checks passed
@sarimrmalik sarimrmalik deleted the refactor/team-members-dashboard branch April 9, 2026 18:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants