|
1 | 1 | import React, { useEffect, useRef } from 'react';
|
2 | 2 | import BasePopup from './BasePopup';
|
3 | 3 | import { formatDuration, getTimeSince } from '../../utils';
|
4 |
| -import { deleteTask, freezeTask, fetchSelectedTask } from '../../api/tasks'; |
| 4 | +import { deleteTask, freezeTask, dismissTask, fetchSelectedTask } from '../../api/tasks'; |
5 | 5 | import './popups.css';
|
6 | 6 |
|
7 | 7 | const TaskDetailsPopup = React.forwardRef((props, ref) => {
|
@@ -53,6 +53,16 @@ const TaskDetailsPopup = React.forwardRef((props, ref) => {
|
53 | 53 | }
|
54 | 54 | }
|
55 | 55 |
|
| 56 | + const handleDismissTask = async (taskId) => { |
| 57 | + console.log("Dismissing task - setting as done by no user."); |
| 58 | + const succeeded = dismissTask(taskId); |
| 59 | + if (succeeded) { |
| 60 | + fetchSelectedTask(); |
| 61 | + } else { |
| 62 | + console.log("Failed to dismiss task", succeeded); |
| 63 | + } |
| 64 | + } |
| 65 | + |
56 | 66 | function toHumanFriendlyDate(datetimeStr) {
|
57 | 67 | // Parse the datetime string into a Date object
|
58 | 68 | const dateObj = new Date(datetimeStr);
|
@@ -84,7 +94,7 @@ const TaskDetailsPopup = React.forwardRef((props, ref) => {
|
84 | 94 | case "scheduledtask":
|
85 | 95 | selectedType = props.PopupType.EDIT_SCHEDULED_TASK;
|
86 | 96 | break;
|
87 |
| - |
| 97 | + |
88 | 98 | default:
|
89 | 99 | selectedType = props.PopupType.NONE;
|
90 | 100 | break;
|
@@ -161,6 +171,9 @@ const TaskDetailsPopup = React.forwardRef((props, ref) => {
|
161 | 171 | </div>
|
162 | 172 | <div className="task-popup-actions">
|
163 | 173 | <button className="button complete-button" onClick={() => props.handleOpenCompleteTaskPopup(props.selectedTask)}>Complete Task</button>
|
| 174 | + <button className="button dismiss-button" onClick={() => handleDismissTask(props.selectedTask.id)}>Dismiss Task</button> |
| 175 | + </div> |
| 176 | + <div className="task-popup-actions"> |
164 | 177 | <button className="button freeze-button" onClick={() => handleFreezeTask(props.selectedTask.id)}>{props.selectedTask.frozen ? "Unfreeze Task" : "Freeze Task"}</button>
|
165 | 178 | <button className="button delete-button" onClick={() => handleDeleteTask(props.selectedTask.id)}>Delete Task</button>
|
166 | 179 | <button className="button edit-button" onClick={() => handleOpenEditTaskPopup()}>Edit Task</button>
|
|
0 commit comments