dev: implemented MobX in workspace settings and create workspace form (#2561)
* dev: implement mobx store for workspace settings * chore: workspace general settings mobx integration * chore: workspace members settings mobx integration
This commit is contained in:
parent
050406b8a4
commit
dcf81e28e4
30 changed files with 934 additions and 1658 deletions
|
|
@ -12,6 +12,8 @@ export interface IWorkspaceAuthWrapper {
|
|||
children: ReactNode;
|
||||
}
|
||||
|
||||
const HIGHER_ROLES = [20, 15];
|
||||
|
||||
export const WorkspaceAuthWrapper: FC<IWorkspaceAuthWrapper> = observer((props) => {
|
||||
const { children } = props;
|
||||
// store
|
||||
|
|
@ -22,7 +24,7 @@ export const WorkspaceAuthWrapper: FC<IWorkspaceAuthWrapper> = observer((props)
|
|||
// fetching all workspaces
|
||||
useSWR(`USER_WORKSPACES_LIST`, () => workspaceStore.fetchWorkspaces());
|
||||
// fetching user workspace information
|
||||
useSWR(
|
||||
const { data: workspaceMemberInfo } = useSWR(
|
||||
workspaceSlug ? `WORKSPACE_MEMBERS_ME_${workspaceSlug}` : null,
|
||||
workspaceSlug ? () => userStore.fetchUserWorkspaceInfo(workspaceSlug.toString()) : null
|
||||
);
|
||||
|
|
@ -33,8 +35,12 @@ export const WorkspaceAuthWrapper: FC<IWorkspaceAuthWrapper> = observer((props)
|
|||
);
|
||||
// fetch workspace members
|
||||
useSWR(
|
||||
workspaceSlug ? `WORKSPACE_MEMBERS_${workspaceSlug}` : null,
|
||||
workspaceSlug ? () => workspaceStore.fetchWorkspaceMembers(workspaceSlug.toString()) : null
|
||||
workspaceSlug && workspaceMemberInfo && HIGHER_ROLES.includes(workspaceMemberInfo.role)
|
||||
? `WORKSPACE_MEMBERS_${workspaceSlug}`
|
||||
: null,
|
||||
workspaceSlug && workspaceMemberInfo && HIGHER_ROLES.includes(workspaceMemberInfo.role)
|
||||
? () => workspaceStore.fetchWorkspaceMembers(workspaceSlug.toString())
|
||||
: null
|
||||
);
|
||||
// fetch workspace labels
|
||||
useSWR(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue