فهرست منبع

Merge pull request #23900 from overleaf/em-read-only-permissions

Restrict viewer permissions for comments

GitOrigin-RevId: fb7189b8af9358603e29bbd33b0160dd862fe532
Eric Mc Sween 1 سال پیش
والد
کامیت
0d9528932c

+ 1 - 1
services/web/frontend/js/features/review-panel-new/components/review-panel-message.tsx

@@ -41,7 +41,7 @@ export const ReviewPanelMessage: FC<{
   const permissions = usePermissionsContext()
 
   const isCommentAuthor = user.id === message.user.id
-  const canEdit = isCommentAuthor
+  const canEdit = isCommentAuthor && permissions.comment
   const canResolve =
     permissions.resolveAllComments ||
     (permissions.resolveOwnComments && isCommentAuthor)

+ 16 - 9
services/web/frontend/js/features/review-panel-new/components/review-panel-resolved-thread.tsx

@@ -28,6 +28,7 @@ export const ReviewPanelResolvedThread: FC<{
   const canDelete =
     permissions.resolveAllComments ||
     (permissions.resolveOwnComments && isCommentAuthor)
+  const canReopen = permissions.comment
 
   const handleReopenThread = useCallback(async () => {
     setProcessing(true)
@@ -80,15 +81,21 @@ export const ReviewPanelResolvedThread: FC<{
           />
         </div>
         <div className="review-panel-resolved-comment-buttons">
-          <OLTooltip
-            id="reopen-thread"
-            overlayProps={{ placement: 'bottom' }}
-            description={t('reopen')}
-          >
-            <button type="button" className="btn" onClick={handleReopenThread}>
-              <MaterialIcon type="refresh" accessibilityLabel={t('reopen')} />
-            </button>
-          </OLTooltip>
+          {canReopen && (
+            <OLTooltip
+              id="reopen-thread"
+              overlayProps={{ placement: 'bottom' }}
+              description={t('reopen')}
+            >
+              <button
+                type="button"
+                className="btn"
+                onClick={handleReopenThread}
+              >
+                <MaterialIcon type="refresh" accessibilityLabel={t('reopen')} />
+              </button>
+            </OLTooltip>
+          )}
           {canDelete && (
             <OLTooltip
               id="delete-thread"