Skip to content

Commit 3e20d9d

Browse files
committed
#1192 tasks preserve submitters date
1 parent 1eaed57 commit 3e20d9d

File tree

3 files changed

+13
-6
lines changed

3 files changed

+13
-6
lines changed

src/frontend/src/pages/ProjectDetailPage/ProjectViewContainer/TaskList/TaskFormModal.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { yupResolver } from '@hookform/resolvers/yup';
22
import { Autocomplete, FormControl, FormHelperText, FormLabel, Grid, MenuItem, TextField } from '@mui/material';
33
import { DatePicker } from '@mui/x-date-pickers';
44
import { Controller, useForm } from 'react-hook-form';
5-
import { countWords, isGuest, isUnderWordCount, Task, TaskPriority, TeamPreview } from 'shared';
5+
import { countWords, dateToUtcMidnight, isGuest, isUnderWordCount, Task, TaskPriority, TeamPreview } from 'shared';
66
import { useAllMembers, useCurrentUser } from '../../../../hooks/users.hooks';
77
import * as yup from 'yup';
88
import { taskUserToAutocompleteOption } from '../../../../utils/task.utils';
@@ -88,7 +88,14 @@ const TaskFormModal: React.FC<TaskFormModalProps> = ({ task, onSubmit, modalShow
8888
if (isGuest(user.role)) return;
8989
e.preventDefault();
9090
e.stopPropagation();
91-
handleSubmit(onSubmit)(e);
91+
handleSubmit((data) => {
92+
const transformedData: EditTaskFormInput = {
93+
...data,
94+
startDate: data.startDate ? dateToUtcMidnight(data.startDate) : undefined,
95+
deadline: data.deadline ? dateToUtcMidnight(data.deadline) : undefined
96+
};
97+
onSubmit(transformedData);
98+
})(e);
9299
reset();
93100
}}
94101
onKeyPress={(e) => {

src/frontend/src/pages/ProjectDetailPage/ProjectViewContainer/TaskList/v2/TaskCard.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Draggable } from '@hello-pangea/dnd';
22
import { Construction, Delete, Schedule } from '@mui/icons-material';
33
import { Box, Card, CardContent, Chip, Grid, Typography, IconButton } from '@mui/material';
44
import { useState } from 'react';
5-
import { notGuest, Project, Task } from 'shared';
5+
import { dateToUtcMidnight, notGuest, Project, Task } from 'shared';
66
import { useDeleteTask, useEditTask, useEditTaskAssignees } from '../../../../../hooks/tasks.hooks';
77
import { useToast } from '../../../../../hooks/toasts.hooks';
88
import { useCurrentUser } from '../../../../../hooks/users.hooks';
@@ -58,8 +58,8 @@ export const TaskCard = ({
5858
taskId,
5959
notes,
6060
title,
61-
deadline,
62-
startDate,
61+
deadline: deadline ? dateToUtcMidnight(deadline) : undefined,
62+
startDate: startDate ? dateToUtcMidnight(startDate) : undefined,
6363
priority
6464
});
6565
const newTask = await editTaskAssignees({

src/frontend/src/utils/pipes.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ export const emDashPipe = (str: string) => {
7575
*/
7676
export const datePipe = (date?: Date, includeYear = true) => {
7777
if (!date) return '';
78-
date = typeof date == 'string' ? new Date(date) : new Date(date.toDateString());
78+
const utcDate = typeof date === 'string' ? new Date(date) : date;
7979
return date.toLocaleDateString('en-US', {
8080
day: '2-digit',
8181
month: '2-digit',

0 commit comments

Comments
 (0)