diff --git a/src/components/TeamMemberTasks/ReviewButton.jsx b/src/components/TeamMemberTasks/ReviewButton.jsx index b8e821a7b1..1db07e3081 100644 --- a/src/components/TeamMemberTasks/ReviewButton.jsx +++ b/src/components/TeamMemberTasks/ReviewButton.jsx @@ -1,4 +1,5 @@ import { useMemo, useState } from 'react'; +import PropTypes from 'prop-types'; import { Button, Modal, @@ -25,7 +26,7 @@ import httpService from '../../services/httpService'; import { ApiEndpoint } from '~/utils/URL'; import hasPermission from '~/utils/permissions'; -function ReviewButton({ user, task, updateTask }) { +function ReviewButton({ user, task, updateTask, onTimeOff }) { const dispatch = useDispatch(); const darkMode = useSelector(state => state.theme.darkMode); const myUserId = useSelector(state => state.auth.user.userid); @@ -456,7 +457,12 @@ function ReviewButton({ user, task, updateTask }) { onClick={toggleModal} type="button" style={darkMode ? boxStyleDark : boxStyle} - disabled={isSubmitting} + disabled={isSubmitting || Boolean(onTimeOff)} + title={ + onTimeOff + ? "You can't submit a task for review while you're on time off this week." + : undefined + } > Submit for Review @@ -581,20 +587,21 @@ function ReviewButton({ user, task, updateTask }) { return null; }; + const conditionalBoxStyle = darkMode ? boxStyleDark : boxStyle; + const modalClassName = darkMode ? 'text-light dark-mode' : ''; + const headerClassName = darkMode ? 'bg-space-cadet' : ''; + const panelClassName = darkMode ? 'bg-yinmn-blue' : ''; + return ( <> {/* Verification Modal */} - - + + {selectedAction === 'Complete and Remove' && 'Are you sure you have completed the review?'} {selectedAction === 'More Work Needed' && 'Are you sure?'} - + - @@ -622,50 +629,46 @@ function ReviewButton({ user, task, updateTask }) { - + Confirm Submission - + You are about to submit the following link for review:
{sanitizeText(link)}
Please confirm if this is the correct link.
- - -
{/* Submission Modal */} - - + + Change Review Status - + {reviewStatus === 'Unsubmitted' ? `Are you sure you want to submit for review?` : `Are you sure you have completed the review?`} - + Please add link to related work: {editLinkState.error && (
{sanitizeText(editLinkState.error)}
)}
- + -
{/* Edit Link Modal */} - - + + Edit Submitted Link - +

Update the link to your submitted work:

{editLinkState.error && (
{sanitizeText(editLinkState.error)}
)}
- + @@ -792,4 +788,14 @@ function ReviewButton({ user, task, updateTask }) { ); } +ReviewButton.propTypes = { + user: PropTypes.shape({ + personId: PropTypes.string, + name: PropTypes.string, + }).isRequired, + task: PropTypes.object.isRequired, + updateTask: PropTypes.func.isRequired, + onTimeOff: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]), +}; + export default ReviewButton; diff --git a/src/components/TeamMemberTasks/TeamMemberTask.jsx b/src/components/TeamMemberTasks/TeamMemberTask.jsx index 373c7db0b7..e19ec86819 100644 --- a/src/components/TeamMemberTasks/TeamMemberTask.jsx +++ b/src/components/TeamMemberTasks/TeamMemberTask.jsx @@ -649,17 +649,13 @@ const TeamMemberTask = React.memo( {/* Review Button */} -
+