diff --git a/src/components/ReportActionItem/TaskView.js b/src/components/ReportActionItem/TaskView.js
index a08f341acb1f..1bb34e22c36b 100644
--- a/src/components/ReportActionItem/TaskView.js
+++ b/src/components/ReportActionItem/TaskView.js
@@ -1,6 +1,7 @@
import React, {useEffect} from 'react';
import {View} from 'react-native';
import PropTypes from 'prop-types';
+import lodashGet from 'lodash/get';
import reportPropTypes from '../../pages/reportPropTypes';
import withLocalize, {withLocalizePropTypes} from '../withLocalize';
import withWindowDimensions from '../withWindowDimensions';
@@ -11,6 +12,7 @@ import ROUTES from '../../ROUTES';
import MenuItemWithTopDescription from '../MenuItemWithTopDescription';
import Hoverable from '../Hoverable';
import MenuItem from '../MenuItem';
+import OfflineWithFeedback from '../OfflineWithFeedback';
import styles from '../../styles/styles';
import * as ReportUtils from '../../libs/ReportUtils';
import * as OptionsListUtils from '../../libs/OptionsListUtils';
@@ -51,94 +53,104 @@ function TaskView(props) {
const disableState = !canModifyTask || !isOpen;
return (
-
- {(hovered) => (
- {
- if (e && e.type === 'click') {
- e.currentTarget.blur();
- }
+ Task.clearEditTaskErrors(props.report.reportID)}
+ errorRowStyles={styles.ph5}
+ >
+
+ {(hovered) => (
+ {
+ if (e && e.type === 'click') {
+ e.currentTarget.blur();
+ }
- Navigation.navigate(ROUTES.getTaskReportTitleRoute(props.report.reportID));
- })}
- style={({pressed}) => [styles.ph5, styles.pv2, StyleUtils.getButtonBackgroundColorStyle(getButtonState(hovered, pressed, false, disableState), true)]}
- ref={props.forwardedRef}
- disabled={disableState}
- accessibilityLabel={taskTitle || props.translate('task.task')}
- >
- {({pressed}) => (
- <>
- {props.translate('task.title')}
-
- (isCompleted ? Task.reopenTask(props.report.reportID, taskTitle) : Task.completeTask(props.report.reportID, taskTitle))}
- isChecked={isCompleted}
- style={styles.taskMenuItemCheckbox}
- containerSize={24}
- containerBorderRadius={8}
- caretSize={16}
- accessibilityLabel={taskTitle || props.translate('task.task')}
- disabled={isCanceled || !canModifyTask}
- />
-
-
- {taskTitle}
-
-
- {isOpen && (
-
-
+ Navigation.navigate(ROUTES.getTaskReportTitleRoute(props.report.reportID));
+ })}
+ style={({pressed}) => [styles.ph5, styles.pv2, StyleUtils.getButtonBackgroundColorStyle(getButtonState(hovered, pressed, false, disableState), true)]}
+ ref={props.forwardedRef}
+ disabled={disableState}
+ accessibilityLabel={taskTitle || props.translate('task.task')}
+ >
+ {({pressed}) => (
+
+ {props.translate('task.title')}
+
+ (isCompleted ? Task.reopenTask(props.report.reportID, taskTitle) : Task.completeTask(props.report.reportID, taskTitle))}
+ isChecked={isCompleted}
+ style={styles.taskMenuItemCheckbox}
+ containerSize={24}
+ containerBorderRadius={8}
+ caretSize={16}
+ accessibilityLabel={taskTitle || props.translate('task.task')}
+ disabled={isCanceled || !canModifyTask}
+ />
+
+
+ {taskTitle}
+
- )}
-
- >
- )}
-
+ {isOpen && (
+
+
+
+ )}
+
+
+ )}
+
+ )}
+
+
+ Navigation.navigate(ROUTES.getTaskReportDescriptionRoute(props.report.reportID))}
+ shouldShowRightIcon={isOpen}
+ disabled={disableState}
+ wrapperStyle={[styles.pv2, styles.taskDescriptionMenuItem]}
+ shouldGreyOutWhenDisabled={false}
+ numberOfLinesTitle={0}
+ />
+
+ {props.report.managerID ? (
+
+
+ ) : (
+ Navigation.navigate(ROUTES.getTaskReportAssigneeRoute(props.report.reportID))}
+ shouldShowRightIcon={isOpen}
+ disabled={disableState}
+ wrapperStyle={[styles.pv2]}
+ shouldGreyOutWhenDisabled={false}
+ />
)}
-
- Navigation.navigate(ROUTES.getTaskReportDescriptionRoute(props.report.reportID))}
- shouldShowRightIcon={isOpen}
- disabled={disableState}
- wrapperStyle={[styles.pv2, styles.taskDescriptionMenuItem]}
- shouldGreyOutWhenDisabled={false}
- numberOfLinesTitle={0}
- />
- {props.report.managerID ? (
-