fix: fix flashing on pollInterval
This commit is contained in:
		@@ -214,9 +214,6 @@ const AdminRoute = () => {
 | 
				
			|||||||
      });
 | 
					      });
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  if (loading) {
 | 
					 | 
				
			||||||
    return <GlobalTopNavbar projectID={null} onSaveProjectName={NOOP} name={null} />;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  if (data && user) {
 | 
					  if (data && user) {
 | 
				
			||||||
    if (user.roles.org !== 'admin') {
 | 
					    if (user.roles.org !== 'admin') {
 | 
				
			||||||
      return <Redirect to="/" />;
 | 
					      return <Redirect to="/" />;
 | 
				
			||||||
@@ -259,7 +256,7 @@ const AdminRoute = () => {
 | 
				
			|||||||
      </>
 | 
					      </>
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  return <span>error</span>;
 | 
					  return <GlobalTopNavbar projectID={null} onSaveProjectName={NOOP} name={null} />;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default AdminRoute;
 | 
					export default AdminRoute;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -129,9 +129,6 @@ const colors = [theme.colors.primary, theme.colors.secondary];
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
const ProjectFinder = () => {
 | 
					const ProjectFinder = () => {
 | 
				
			||||||
  const { loading, data } = useGetProjectsQuery({ fetchPolicy: 'cache-and-network' });
 | 
					  const { loading, data } = useGetProjectsQuery({ fetchPolicy: 'cache-and-network' });
 | 
				
			||||||
  if (loading) {
 | 
					 | 
				
			||||||
    return <span>loading</span>;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  if (data) {
 | 
					  if (data) {
 | 
				
			||||||
    const { projects, teams } = data;
 | 
					    const { projects, teams } = data;
 | 
				
			||||||
    const personalProjects = data.projects.filter(p => p.team === null);
 | 
					    const personalProjects = data.projects.filter(p => p.team === null);
 | 
				
			||||||
@@ -181,7 +178,7 @@ const ProjectFinder = () => {
 | 
				
			|||||||
      </>
 | 
					      </>
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  return <span>error</span>;
 | 
					  return <span>loading</span>;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
type ProjectPopupProps = {
 | 
					type ProjectPopupProps = {
 | 
				
			||||||
  history: any;
 | 
					  history: any;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -459,9 +459,6 @@ const ProjectBoard: React.FC<ProjectBoardProps> = ({ projectID, onCardLabelClick
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (loading) {
 | 
					 | 
				
			||||||
    return <BoardLoading />;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  const getTaskStatusFilterLabel = (filter: TaskStatusFilter) => {
 | 
					  const getTaskStatusFilterLabel = (filter: TaskStatusFilter) => {
 | 
				
			||||||
    if (filter.status === TaskStatus.COMPLETE) {
 | 
					    if (filter.status === TaskStatus.COMPLETE) {
 | 
				
			||||||
      return 'Complete';
 | 
					      return 'Complete';
 | 
				
			||||||
@@ -818,7 +815,7 @@ const ProjectBoard: React.FC<ProjectBoardProps> = ({ projectID, onCardLabelClick
 | 
				
			|||||||
    );
 | 
					    );
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return <span>Error</span>;
 | 
					  return <BoardLoading />;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default ProjectBoard;
 | 
					export default ProjectBoard;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -517,14 +517,6 @@ const Project = () => {
 | 
				
			|||||||
      document.title = `${data.findProject.name} | Taskcafé`;
 | 
					      document.title = `${data.findProject.name} | Taskcafé`;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }, [data]);
 | 
					  }, [data]);
 | 
				
			||||||
  if (loading) {
 | 
					 | 
				
			||||||
    return (
 | 
					 | 
				
			||||||
      <>
 | 
					 | 
				
			||||||
        <GlobalTopNavbar onSaveProjectName={NOOP} name="" projectID={null} />
 | 
					 | 
				
			||||||
        <BoardLoading />
 | 
					 | 
				
			||||||
      </>
 | 
					 | 
				
			||||||
    );
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  if (error) {
 | 
					  if (error) {
 | 
				
			||||||
    history.push('/projects');
 | 
					    history.push('/projects');
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
@@ -637,7 +629,12 @@ const Project = () => {
 | 
				
			|||||||
      </>
 | 
					      </>
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  return <div>Error</div>;
 | 
					  return (
 | 
				
			||||||
 | 
					    <>
 | 
				
			||||||
 | 
					      <GlobalTopNavbar onSaveProjectName={NOOP} name="" projectID={null} />
 | 
				
			||||||
 | 
					      <BoardLoading />
 | 
				
			||||||
 | 
					    </>
 | 
				
			||||||
 | 
					  );
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default Project;
 | 
					export default Project;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -231,9 +231,6 @@ const Projects = () => {
 | 
				
			|||||||
      );
 | 
					      );
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  if (loading) {
 | 
					 | 
				
			||||||
    return <GlobalTopNavbar onSaveProjectName={NOOP} projectID={null} name={null} />;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const colors = theme.colors.multiColors;
 | 
					  const colors = theme.colors.multiColors;
 | 
				
			||||||
  if (data && user) {
 | 
					  if (data && user) {
 | 
				
			||||||
@@ -395,7 +392,7 @@ const Projects = () => {
 | 
				
			|||||||
      </>
 | 
					      </>
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  return <div>Error!</div>;
 | 
					  return <GlobalTopNavbar onSaveProjectName={NOOP} projectID={null} name={null} />;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default Projects;
 | 
					export default Projects;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -472,9 +472,6 @@ const Members: React.FC<MembersProps> = ({ teamID }) => {
 | 
				
			|||||||
      );
 | 
					      );
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  if (loading) {
 | 
					 | 
				
			||||||
    return <span>loading</span>;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (data && user) {
 | 
					  if (data && user) {
 | 
				
			||||||
    return (
 | 
					    return (
 | 
				
			||||||
@@ -562,7 +559,7 @@ const Members: React.FC<MembersProps> = ({ teamID }) => {
 | 
				
			|||||||
    );
 | 
					    );
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return <div>error</div>;
 | 
					  return <div>loading</div>;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default Members;
 | 
					export default Members;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -160,9 +160,6 @@ const TeamProjects: React.FC<TeamProjectsProps> = ({ teamID }) => {
 | 
				
			|||||||
    fetchPolicy: 'cache-and-network',
 | 
					    fetchPolicy: 'cache-and-network',
 | 
				
			||||||
    pollInterval: 3000,
 | 
					    pollInterval: 3000,
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  if (loading) {
 | 
					 | 
				
			||||||
    return <span>loading</span>;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  if (data) {
 | 
					  if (data) {
 | 
				
			||||||
    return (
 | 
					    return (
 | 
				
			||||||
      <ProjectsContainer>
 | 
					      <ProjectsContainer>
 | 
				
			||||||
@@ -193,7 +190,7 @@ const TeamProjects: React.FC<TeamProjectsProps> = ({ teamID }) => {
 | 
				
			|||||||
      </ProjectsContainer>
 | 
					      </ProjectsContainer>
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  return <span>error</span>;
 | 
					  return <span>loading</span>;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default TeamProjects;
 | 
					export default TeamProjects;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -94,23 +94,6 @@ const Teams = () => {
 | 
				
			|||||||
  const { user } = useCurrentUser();
 | 
					  const { user } = useCurrentUser();
 | 
				
			||||||
  const [currentTab, setCurrentTab] = useState(0);
 | 
					  const [currentTab, setCurrentTab] = useState(0);
 | 
				
			||||||
  const match = useRouteMatch();
 | 
					  const match = useRouteMatch();
 | 
				
			||||||
  if (loading) {
 | 
					 | 
				
			||||||
    return (
 | 
					 | 
				
			||||||
      <GlobalTopNavbar
 | 
					 | 
				
			||||||
        menuType={[
 | 
					 | 
				
			||||||
          { name: 'Projects', link: `${match.url}` },
 | 
					 | 
				
			||||||
          { name: 'Members', link: `${match.url}/members` },
 | 
					 | 
				
			||||||
        ]}
 | 
					 | 
				
			||||||
        currentTab={currentTab}
 | 
					 | 
				
			||||||
        onSetTab={tab => {
 | 
					 | 
				
			||||||
          setCurrentTab(tab);
 | 
					 | 
				
			||||||
        }}
 | 
					 | 
				
			||||||
        onSaveProjectName={NOOP}
 | 
					 | 
				
			||||||
        projectID={null}
 | 
					 | 
				
			||||||
        name={null}
 | 
					 | 
				
			||||||
      />
 | 
					 | 
				
			||||||
    );
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  if (data && user) {
 | 
					  if (data && user) {
 | 
				
			||||||
    if (!user.isVisible(PermissionLevel.TEAM, PermissionObjectType.TEAM, teamID)) {
 | 
					    if (!user.isVisible(PermissionLevel.TEAM, PermissionObjectType.TEAM, teamID)) {
 | 
				
			||||||
      return <Redirect to="/" />;
 | 
					      return <Redirect to="/" />;
 | 
				
			||||||
@@ -146,7 +129,21 @@ const Teams = () => {
 | 
				
			|||||||
      </>
 | 
					      </>
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  return <div>Error!</div>;
 | 
					  return (
 | 
				
			||||||
 | 
					    <GlobalTopNavbar
 | 
				
			||||||
 | 
					      menuType={[
 | 
				
			||||||
 | 
					        { name: 'Projects', link: `${match.url}` },
 | 
				
			||||||
 | 
					        { name: 'Members', link: `${match.url}/members` },
 | 
				
			||||||
 | 
					      ]}
 | 
				
			||||||
 | 
					      currentTab={currentTab}
 | 
				
			||||||
 | 
					      onSetTab={tab => {
 | 
				
			||||||
 | 
					        setCurrentTab(tab);
 | 
				
			||||||
 | 
					      }}
 | 
				
			||||||
 | 
					      onSaveProjectName={NOOP}
 | 
				
			||||||
 | 
					      projectID={null}
 | 
				
			||||||
 | 
					      name={null}
 | 
				
			||||||
 | 
					    />
 | 
				
			||||||
 | 
					  );
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default Teams;
 | 
					export default Teams;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user