Merge pull request #361 from fdnd-agency/359-user-story-members-dropdown-panel
359 feat: add group theme colors, rename members to assessors, flip dropdown
design: add group theme color tokens and utility classes #360
Add CSS custom properties for each group theme color and a utility class per group that sets background-color to its token.
feat: apply group theme color to member card header #360
Add groupName prop and derive a CSS custom property from it using the same theme key pattern as GroupCard. Pass it as an inline style on the header so each card header uses its group's theme color, falling back to --theme-charcot.
fix: rename Members to Assessors and flip dropdown direction #359
Rename the Members heading and summary count to Assessors. Flip the dropdown to open upward by switching top to bottom and updating border-radius. Increase max-height to 16rem and remove the extra bottom margin on open cards.
Merge pull request #358 from fdnd-agency/262-user-story-make-profile-page-responsive-across-all-devices
262 user story make profile page responsive across all devices
design: add desktop layout breakpoint for profile info grid #262
Add a 64rem container query that increases padding and switches the info grid to two columns. Narrow the tablet query to stop at 63.99rem so the two breakpoints don't overlap.
design: add desktop layout breakpoint for profile page #262
Add desktop layout breakpoint for profile page
Add a 64rem min-width media query that increases padding and constrains the profile card to max-width 72rem centered with margin-inline auto. Narrow the existing tablet query to stop at 63.99rem so the two breakpoints don't overlap.
feat: include avatar URL in group members query #337
Add user_id.photo to the Directus fields query and map it to avatarUrl using buildDirectusAssetUrl on each member row.
refactor: replace inline remove button with RemoveMemberButton component #355
Import RemoveMemberButton and replace the inline button and span with the component.
feat: load group members and add remove member action #355
Add a remove action that calls removeMemberFromGroup with the memberId from the form and returns the removed ID on success.
feat: reactivate inactive members and add soft remove #355
Update addUserToGroup to fetch all membership records including membership_status, reactivate an existing inactive row via PATCH instead of creating a duplicate, and only create a new row when no prior record exists. Add removeMemberFromGroup which soft-deletes by setting membership_status to inactive and recording the updatedByUserId.
Merge pull request #352 from fdnd-agency/242-cicd-as-adeveloper-i-want-to-automatically-test-and-deploy-the-sveltekit-project-using-github-actions-so-we-can-catch-errors-early-and-deploy-faster
docs: add CI/CD and testing workflow to handover. #242
test(groups): add integration tests for addUserToGroup (TC-03, TC-04)
- Mock Directus fetch to avoid real API calls
- Test member is created when user is not yet in the group (TC-03)
- Test duplicate member throws correct error message (TC-04)
feat: add member count and roll display #337
Add memberCount and to show a count badge in the header. Increase avatar size to 3rem and name/role font sizes
test(groups): add unit tests for email validation (TC-01, TC-02, TC-05, TC-06). #349
- Test valid email is accepted
- Test unknown email format is accepted
- Test invalid email format is rejected
- Test empty email field is rejected
Refs: #349