diff --git a/src/apps/content-editor/src/app/views/ItemEdit/ItemEdit.js b/src/apps/content-editor/src/app/views/ItemEdit/ItemEdit.js index d8564a9376..2f7a41c49d 100644 --- a/src/apps/content-editor/src/app/views/ItemEdit/ItemEdit.js +++ b/src/apps/content-editor/src/app/views/ItemEdit/ItemEdit.js @@ -1,4 +1,4 @@ -import { Fragment, useEffect, useState, useMemo } from "react"; +import { Fragment, useEffect, useState, useMemo, createContext } from "react"; import { Switch, Route, @@ -64,6 +64,8 @@ const selectItemHeadTags = createSelector( }) ); +export const ItemLockContext = createContext(); + export default function ItemEdit() { const dispatch = useDispatch(); const history = useHistory(); @@ -359,19 +361,21 @@ export default function ItemEdit() { } > {isLocked && ( - { - evt.stopPropagation(); - history.goBack(); - }} - isLocked={isLocked} - /> + theme.zIndex.modal + 1 }}> + { + evt.stopPropagation(); + history.goBack(); + }} + isLocked={isLocked} + /> + )} ( - { - setFieldErrors(errors); - }} - fieldErrors={fieldErrors} - hasErrors={hasErrors} - /> + + { + setFieldErrors(errors); + }} + fieldErrors={fieldErrors} + hasErrors={hasErrors} + /> + )} /> void; isResolved: boolean; parentCommentZUID: string; + isLoadingParentCommentZUID: boolean; }; export const CommentsList = ({ anchorEl, onClose, isResolved, parentCommentZUID, + isLoadingParentCommentZUID, }: CommentsListProps) => { const { resourceZUID, commentZUID } = useParams(); const [_, __, commentZUIDtoEdit] = useContext(CommentContext); + const isLocked = useContext(ItemLockContext); const [popperTopOffset, setPopperTopOffset] = useState(0); const [popperBottomOffset, setPopperBottomOffset] = useState(0); const [placement, setPlacement] = @@ -49,11 +53,14 @@ export const CommentsList = ({ const topOffsetRef = useRef(); const loggedInUser: User = useSelector((state: AppState) => state.user); - const { data: commentThread, isLoading: isLoadingCommentThread } = - useGetCommentThreadQuery( - { commentZUID: parentCommentZUID }, - { skip: !parentCommentZUID } - ); + const { + data: commentThread, + isLoading: isLoadingCommentThread, + isUninitialized: isCommentThreadUninitialized, + } = useGetCommentThreadQuery( + { commentZUID: parentCommentZUID }, + { skip: !parentCommentZUID } + ); useEffect(() => { if ( @@ -119,6 +126,7 @@ export const CommentsList = ({ > - {isLoadingCommentThread && } + {(isLoadingCommentThread || isLoadingParentCommentZUID) && ( + + )} {commentThread?.map((comment, index) => ( ))} - {!commentThread?.length && !isLoadingCommentThread && ( + {((!isLoadingCommentThread && + !isCommentThreadUninitialized && + !commentThread?.length) || + (!isLoadingParentCommentZUID && !parentCommentZUID)) && ( diff --git a/src/shell/components/Comment/index.tsx b/src/shell/components/Comment/index.tsx index fa80162a05..7615b23a56 100644 --- a/src/shell/components/Comment/index.tsx +++ b/src/shell/components/Comment/index.tsx @@ -148,6 +148,7 @@ export const Comment = ({ resourceZUID }: CommentProps) => { {isCommentListOpen && ( {