Skip to content

Add member form and wire CSV import into Members page - #110

Merged
Arshadul-Monir merged 7 commits into
mainfrom
bulk-import-member-form
Oct 22, 2026
Merged

Arshadul-Monir merged 7 commits into
mainfrom
bulk-import-member-form

Conversation

@Arshadul-Monir

@Arshadul-Monir Arshadul-Monir commented Sep 18, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Add a modal for manual member entry and CSV import, with validation and submission feedback.
  • Connect the modal to the Members page.
  • Test manual submission, CSV import, API errors, and existing page behavior.

Stack

2 of 3. Depends on #109. #108 is the final stage.

Verification

  • TypeScript type check passed at this branch tip.
  • All 14 Members page tests passed at this branch tip.

@graphite-app

graphite-app Bot commented Sep 18, 2026

Copy link
Copy Markdown

Graphite Automations

"Request reviewers once CI passes" took an action on this PR • (09/18/26)

1 reviewer was added to this PR based on Henry Chen's automation.

Arshadul-Monir commented Sep 18, 2026 •

Copy link
Copy Markdown
Member Author

@Arshadul-Monir
Arshadul-Monir force-pushed the bulk-import-member-form branch 2 times, most recently from 5b3bc9f to ff8ec84 Compare September 21, 2026 18:35
@Arshadul-Monir
Arshadul-Monir force-pushed the bulk-import-csv-upload branch from 50eb91b to 9ec83c8 Compare October 9, 2026 22:37
@Arshadul-Monir
Arshadul-Monir force-pushed the bulk-import-member-form branch 2 times, most recently from 95237df to f18a5fb Compare October 9, 2026 22:53
@Arshadul-Monir
Arshadul-Monir force-pushed the bulk-import-csv-upload branch from 9ec83c8 to 22fa2f6 Compare October 9, 2026 22:53
Comment thread js/src/features/members/api/useSubmitMembers.ts
Comment thread js/src/features/members/api/useSubmitMembers.ts Outdated
Comment thread js/src/features/members/components/AddMembersModal.tsx
@Arshadul-Monir
Arshadul-Monir force-pushed the bulk-import-csv-upload branch 2 times, most recently from 3807c94 to 9a36916 Compare October 14, 2026 20:50
@Arshadul-Monir
Arshadul-Monir force-pushed the bulk-import-member-form branch from f18a5fb to 6b5f5fc Compare October 14, 2026 20:50
@Arshadul-Monir
Arshadul-Monir force-pushed the bulk-import-member-form branch from 6b5f5fc to d508ae7 Compare October 16, 2026 22:02
@Arshadul-Monir
Arshadul-Monir force-pushed the bulk-import-member-form branch from d508ae7 to 56b0762 Compare October 22, 2026 02:08
@spiffyy99
spiffyy99 self-requested a review October 22, 2026 16:42
spiffyy99
spiffyy99 previously approved these changes Oct 22, 2026
@Arshadul-Monir
Arshadul-Monir changed the base branch from bulk-import-csv-upload to graphite-base/110 October 22, 2026 20:40
Arshadul-Monir added a commit that referenced this pull request Oct 22, 2026
## Summary
- Parse member CSV files, validate required headers and row values, and flag duplicate emails.
- Add a CSV file picker with a preview of parsed rows and validation errors.

## Stack
1 of 3. #110 connects this component to the Members page; #108 adds interaction and feedback refinements.

## Verification
- TypeScript type check passed at this branch tip.
@Arshadul-Monir
Arshadul-Monir force-pushed the bulk-import-member-form branch from 88aa3ab to 04b1f2a Compare October 22, 2026 20:40
@graphite-app
graphite-app Bot changed the base branch from graphite-base/110 to main October 22, 2026 20:40
@graphite-app
graphite-app Bot dismissed spiffyy99’s stale review October 22, 2026 20:40

The base branch was changed.

@graphite-app
graphite-app Bot requested a review from a team October 22, 2026 20:40
@Arshadul-Monir
Arshadul-Monir removed the request for review from arklian October 22, 2026 20:40
@Arshadul-Monir
Arshadul-Monir force-pushed the bulk-import-member-form branch from 04b1f2a to 4fdb3aa Compare October 22, 2026 20:40
@sonarqubecloud

Copy link
Copy Markdown

Arshadul-Monir commented Oct 22, 2026 •

Copy link
Copy Markdown
Member Author

Merge activity

  • Oct 22, 8:49 PM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Oct 22, 8:49 PM UTC: @Arshadul-Monir merged this pull request with Graphite.

@Arshadul-Monir
Arshadul-Monir merged commit 34de6e6 into main Oct 22, 2026
7 checks passed
@Arshadul-Monir
Arshadul-Monir deleted the bulk-import-member-form branch October 22, 2026 20:49
Arshadul-Monir added a commit that referenced this pull request Oct 26, 2026
## Summary

- Add drag and drop to the member CSV uploader.
- Summarize bulk import successes in one notification and retain per-member error feedback.
- Update member page tests for the revised notifications.

## Stack

3 of 3. Depends on #110, which depends on #109.

## Verification

- TypeScript type check passed at this branch tip.
- All 15 Members page tests passed at this branch tip.

## Images

### Manual Entry Modal
![image.png](https://app.graphite.com/user-attachments/assets/8586f81a-d8c5-4495-9330-5043e44a92e0.png)

### Bulk CSV Upload Modal
<img width="773" height="382" alt="image" src="https://github.com/user-attachments/assets/2bc3b1ab-579c-420c-8b94-bbc49740879b" />

### Successful Upload
![image.png](https://app.graphite.com/user-attachments/assets/1eca3199-111a-4284-af09-fc2c842cc027.png)

### Additional Headers
<img width="767" height="328" alt="image" src="https://github.com/user-attachments/assets/e4e9f12b-b3ef-4d21-9820-deff40e496cb" />

### Uploading Duplicate User
<img width="468" height="83" alt="image" src="https://github.com/user-attachments/assets/668f725f-6d3d-4cd3-9ed4-a7f199c5c3b8" />

### Invalid Column Order
<img width="763" height="261" alt="image" src="https://github.com/user-attachments/assets/230f4fbb-8e66-4e09-94a8-50db47f6f7b9" />
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants