Overview
Add the initial member-side experience for a community within the Owner Community Community Portal by implementing a Member Profile page.
Currently, only the administrator side of a community is available, preventing users who are only community members from accessing any community functionality. This task introduces the initial member-side routing and navigation, beginning with a profile page where members can view and manage their own Member profile within the currently selected community.
Profile picture uploads are intentionally out of scope and will be implemented in a future task.
Requirements
Authorization
Member profile access must follow the existing Passport/Visa authorization model.
Profile updates must require the appropriate Member role permission and dynamically evaluate:
Members must only be able to update their own Member profile. Backend authorization remains the authoritative security boundary.
Member Experience
Add the initial member-side navigation and routing within a community.
Initially, the member experience should consist solely of the Member Profile page while following established Community Portal patterns and supporting future member-side pages.
Member Profile
Implement a Member Profile page that allows members to:
- View their Member profile for the currently selected community.
- Edit supported basic profile fields (i.e name, email, bio, interests)
- Update supported profile settings (i.e profile section visibility)
- Save or cancel pending changes.
Only existing Member properties are in scope, do not modify the domain model as part of this exercise.
GraphQL
Implement the queries and mutations required by the Member Profile page.
All operations must enforce backend authorization and operate against the authenticated user's Member record within the current community.
UI
Implement the Member Profile page using established Owner Community patterns, including:
- Loading and error states.
- Form validation.
- Mutation feedback.
Storybook
Add Storybook coverage for the Member Profile page, including representative loading, populated, validation, and unauthorized states.
Acceptance Criteria
- Community members can access the initial member-side experience.
- Members can view their own Member profile within the selected community.
- Members with the appropriate permission can update supported profile fields and settings.
- Members cannot update another Member's profile.
- Member profile authorization enforces
isEditingOwnMember.
- Required GraphQL queries and mutations are implemented.
- Storybook coverage is included.
- Profile picture uploads are not implemented as part of this task.
Overview
Add the initial member-side experience for a community within the Owner Community Community Portal by implementing a Member Profile page.
Currently, only the administrator side of a community is available, preventing users who are only community members from accessing any community functionality. This task introduces the initial member-side routing and navigation, beginning with a profile page where members can view and manage their own Member profile within the currently selected community.
Profile picture uploads are intentionally out of scope and will be implemented in a future task.
Requirements
Authorization
Member profile access must follow the existing Passport/Visa authorization model.
Profile updates must require the appropriate Member role permission and dynamically evaluate:
isEditingOwnMemberMembers must only be able to update their own Member profile. Backend authorization remains the authoritative security boundary.
Member Experience
Add the initial member-side navigation and routing within a community.
Initially, the member experience should consist solely of the Member Profile page while following established Community Portal patterns and supporting future member-side pages.
Member Profile
Implement a Member Profile page that allows members to:
Only existing Member properties are in scope, do not modify the domain model as part of this exercise.
GraphQL
Implement the queries and mutations required by the Member Profile page.
All operations must enforce backend authorization and operate against the authenticated user's Member record within the current community.
UI
Implement the Member Profile page using established Owner Community patterns, including:
Storybook
Add Storybook coverage for the Member Profile page, including representative loading, populated, validation, and unauthorized states.
Acceptance Criteria
isEditingOwnMember.