Add default role to workspace (#10444)

## Context
Adding a defaultRole to each workspace, this role will be automatically
added when a member joins a workspace via invite link or public link
(seeds work differently though).
Took the occasion to refactor a bit the frontend components, splitting
them in smaller components for more readability.

## Test
<img width="948" alt="Screenshot 2025-02-24 at 14 54 02"
src="https://github.com/user-attachments/assets/13ef1452-d3c9-4385-940c-2ced0f0b05ef"
/>
This commit is contained in:
Weiko
2025-02-25 11:26:35 +01:00
committed by GitHub
parent a1eea40cf7
commit 0220672fa9
29 changed files with 538 additions and 273 deletions

View File

@ -57,7 +57,10 @@ export const UserProviderEffect = () => {
setCurrentUser(queryData.currentUser);
if (isDefined(queryData.currentUser.currentWorkspace)) {
setCurrentWorkspace(queryData.currentUser.currentWorkspace);
setCurrentWorkspace({
...queryData.currentUser.currentWorkspace,
defaultRole: queryData.currentUser.currentWorkspace.defaultRole ?? null,
});
}
if (isDefined(queryData.currentUser.currentUserWorkspace)) {

View File

@ -1,7 +1,9 @@
import { ROLE_FRAGMENT } from '@/settings/roles/graphql/fragments/roleFragment';
import { WORKSPACE_MEMBER_QUERY_FRAGMENT } from '@/workspace-member/graphql/fragments/workspaceMemberQueryFragment';
import { gql } from '@apollo/client';
export const USER_QUERY_FRAGMENT = gql`
${ROLE_FRAGMENT}
fragment UserQueryFragment on User {
id
firstName
@ -64,6 +66,9 @@ export const USER_QUERY_FRAGMENT = gql`
status
}
workspaceMembersCount
defaultRole {
...RoleFragment
}
}
workspaces {
workspace {