ФУНКЦИИ - МЕЖПРОЕКТНАЯ КОММУНИКАЦИЯ: профиль, редиректы и визуальные статусы задач

This commit is contained in:
DCCONSTRUCTIONS
2026-04-25 14:41:31 +03:00
parent c4032e3040
commit 4ed63cac4e
16 changed files with 271 additions and 21 deletions
@@ -85,7 +85,10 @@ export const ProjectAuthWrapper = observer(function ProjectAuthWrapper(props: IP
() => fetchProjectDetails(workspaceSlug, projectId)
);
// fetching user project member information
useSWR(PROJECT_ME_INFORMATION(workspaceSlug, projectId), () => fetchUserProjectInfo(workspaceSlug, projectId));
const { isLoading: isProjectMemberLoading, error: projectMemberError } = useSWR(
PROJECT_ME_INFORMATION(workspaceSlug, projectId),
() => fetchUserProjectInfo(workspaceSlug, projectId)
);
// fetching project member preferences
useSWR(
currentUserData?.id ? PROJECT_MEMBER_PREFERENCES(projectId, currentProjectRole) : null,
@@ -142,14 +145,17 @@ export const ProjectAuthWrapper = observer(function ProjectAuthWrapper(props: IP
joinProject(workspaceSlug, projectId).finally(() => setIsJoiningProject(false));
};
const isProjectLoading = (isParentLoading || isProjectDetailsLoading) && !projectDetailsError;
const isProjectLoading =
(isParentLoading || isProjectDetailsLoading || isProjectMemberLoading) && !projectDetailsError && !projectMemberError;
const accessErrorStatus =
projectDetailsError?.status ?? (projectMemberError?.status === 404 ? 403 : projectMemberError?.status);
if (isProjectLoading) return null;
if (!isProjectLoading && hasPermissionToCurrentProject === false) {
return (
<ProjectAccessRestriction
errorStatusCode={projectDetailsError?.status}
errorStatusCode={accessErrorStatus}
isWorkspaceAdmin={isWorkspaceAdmin}
handleJoinProject={handleJoinProject}
isJoinButtonDisabled={isJoiningProject}