feat: add club membership system with roles and policies#662
Open
SinhSinhAn wants to merge 4 commits intodevelopfrom
Open
feat: add club membership system with roles and policies#662SinhSinhAn wants to merge 4 commits intodevelopfrom
SinhSinhAn wants to merge 4 commits intodevelopfrom
Conversation
Add a membership policy setting (open/request/closed) to each club and expand the member role system with Follower, Member, and Requested roles. Schema changes: - Add membershipPolicy enum and column to club table - Add Follower and Requested values to clubRoleEnum - Migration converts all existing Member rows to Follower JoinButton now has multi-state behavior: - Not connected: Follow button - Follower: Split button with Join/Request + Unfollow dropdown - Member: Leave button - Requested: Remove Request button New API mutations: follow, unfollow, join, leave, requestJoin, cancelRequest, updateMemberStatus, updateMembershipPolicy Admin/manage updates: - Member Settings card with MUI Select for membership policy - Members & Followers button and page header - Show Only Members filter toggle in toolbar - Approve/deny buttons for Requested users in the data grid
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
- Replace anchorRef with state-based anchorEl for Popper in JoinButton - Remove render-phase ref assignment in MemberList, use mutation onSuccess callback instead - Fix prettier formatting in 4 files
Broken merge conflict resolution nested clubSizeEnum inside membershipPolicyEnum's array brackets, causing ESLint parse failure.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #618
Adds a proper membership system to clubs. Previously, "Member" was the only non-officer role and it functioned as "following." Now clubs have three tiers of non-officer engagement: Follower, Member, and Requested.
Schema and migration:
membership_policyenum on the club table (open,request,closed)FollowerandRequestedvalues tomember_typeenumMemberrows toFollowerJoinButton behavior:
Admin/manage page:
New API mutations:
follow,unfollow,join,leave,requestJoin,cancelRequestupdateMemberStatus(for admins to approve/deny requests)updateMembershipPolicy(for admins to change the club setting)Updated references:
inArraychecks for['Member', 'Officer', 'President']now includeFollowerwhere appropriateFollowerinstead ofMemberisUserOfficerin clubEdit now explicitly checks forOfficer/Presidentinstead of!== 'Member'