@@ -996,7 +996,7 @@ function MeasureViewContent({
|
||||
name: newTaskName,
|
||||
description: newTaskDescription,
|
||||
timeEstimate: isoTimeEstimate === "" ? null : isoTimeEstimate,
|
||||
deadline: newDeadline === "" ? null : formatISO(newDeadline),
|
||||
deadline: newDeadline === "" ? null : formatISO(parseISO(newDeadline)),
|
||||
},
|
||||
},
|
||||
onCompleted: () => {
|
||||
@@ -1762,7 +1762,7 @@ function MeasureViewContent({
|
||||
// Function to handle saving the updated deadline
|
||||
const handleSaveDeadline = useCallback(
|
||||
(taskId: string) => {
|
||||
const newDeadline = editDeadline === "" ? null : formatISO(editDeadline);
|
||||
const newDeadline = editDeadline === "" ? null : formatISO(parseISO(editDeadline));
|
||||
updateTask({
|
||||
variables: {
|
||||
input: {
|
||||
@@ -2650,7 +2650,7 @@ function MeasureViewContent({
|
||||
)}
|
||||
{task.deadline && (
|
||||
<div className="text-sm text-secondary">
|
||||
{formatDate(task.deadline)}
|
||||
{formatDate(task.deadline)}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
@@ -3127,7 +3127,7 @@ function MeasureViewContent({
|
||||
setEditDeadline(e.target.value)
|
||||
}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex justify-end gap-2">
|
||||
<Button
|
||||
|
||||
@@ -47,7 +47,7 @@ import {
|
||||
DropdownMenuTrigger,
|
||||
} from "@/components/ui/dropdown-menu";
|
||||
import { ListTaskViewOrganizationQuery } from "./__generated__/ListTaskViewOrganizationQuery.graphql";
|
||||
import {formatDate, parseISO} from "date-fns";
|
||||
import {format as formatDate, parseISO} from "date-fns";
|
||||
|
||||
// Function to format ISO8601 duration to human-readable format
|
||||
const formatDuration = (isoDuration: string | null | undefined): string => {
|
||||
@@ -279,7 +279,7 @@ function TaskCard({ task, onClick, onToggleState }: {
|
||||
)}
|
||||
{task.deadline && (
|
||||
<span className="text-xs text-gray-500">
|
||||
{formatDate(task.deadline, "dd MMM yyyy")}
|
||||
{formatDate(parseISO(task.deadline), "dd MMM yyyy")}
|
||||
</span>
|
||||
)}
|
||||
</div>
|
||||
@@ -407,8 +407,8 @@ function ListTaskContent({
|
||||
};
|
||||
|
||||
// Filter measures based on search query
|
||||
const filteredMeasures = measures.filter(measure =>
|
||||
measure.name.toLowerCase().includes(measureSearchQuery.toLowerCase()) ||
|
||||
const filteredMeasures = measures.filter(measure =>
|
||||
measure.name.toLowerCase().includes(measureSearchQuery.toLowerCase()) ||
|
||||
(measure.description && measure.description.toLowerCase().includes(measureSearchQuery.toLowerCase()))
|
||||
);
|
||||
|
||||
@@ -463,7 +463,7 @@ function ListTaskContent({
|
||||
measureId: selectedMeasure?.id || null,
|
||||
assignedToId: assignee?.id,
|
||||
timeEstimate: formattedTimeEstimate,
|
||||
deadline: deadline
|
||||
deadline: deadline ? deadline.toISOString() : null
|
||||
},
|
||||
connections: [data.node?.tasks?.__id || ""],
|
||||
},
|
||||
@@ -854,7 +854,7 @@ function ListTaskContent({
|
||||
</div>
|
||||
|
||||
{/* Deadline */}
|
||||
<div className="flex justify-between items-center broder-b border-[rgba(2,42,2,0.08)] py-3">
|
||||
<div className="flex justify-between items-center border-b border-[rgba(2,42,2,0.08)] py-3">
|
||||
<Label className="text-sm font-medium text-gray-500">Deadline</Label>
|
||||
<div className="flex items-center gap-1.5">
|
||||
<Input type="date" value={deadlineString} onChange={handleDeadlineChange}
|
||||
|
||||
@@ -1 +1 @@
|
||||
ALTER TABLE tasks ADD COLUMN deadline TIMESTAMP WITH TIME ZONE;
|
||||
ALTER TABLE tasks ADD COLUMN IF NOT EXISTS deadline TIMESTAMP WITH TIME ZONE;
|
||||
|
||||
@@ -72,7 +72,7 @@ SELECT
|
||||
reference_id,
|
||||
time_estimate,
|
||||
assigned_to,
|
||||
deadline,
|
||||
deadline,
|
||||
created_at,
|
||||
updated_at
|
||||
FROM
|
||||
@@ -121,7 +121,7 @@ INSERT INTO
|
||||
state,
|
||||
time_estimate,
|
||||
assigned_to,
|
||||
deadline,
|
||||
deadline,
|
||||
created_at,
|
||||
updated_at
|
||||
)
|
||||
@@ -136,7 +136,7 @@ VALUES (
|
||||
@state,
|
||||
@time_estimate,
|
||||
@assigned_to,
|
||||
@deadline,
|
||||
@deadline,
|
||||
@created_at,
|
||||
@updated_at
|
||||
);
|
||||
@@ -179,7 +179,7 @@ INSERT INTO
|
||||
state,
|
||||
time_estimate,
|
||||
assigned_to,
|
||||
deadline,
|
||||
deadline,
|
||||
created_at,
|
||||
updated_at
|
||||
)
|
||||
@@ -194,14 +194,15 @@ VALUES (
|
||||
@state,
|
||||
@time_estimate,
|
||||
@assigned_to,
|
||||
@deadline,
|
||||
@deadline,
|
||||
@created_at,
|
||||
@updated_at
|
||||
)
|
||||
ON CONFLICT (measure_id, reference_id) DO UPDATE SET
|
||||
name = @name,
|
||||
description = @description,
|
||||
updated_at = @updated_at
|
||||
updated_at = @updated_at,
|
||||
deadline = @deadline
|
||||
RETURNING
|
||||
id,
|
||||
organization_id,
|
||||
@@ -212,7 +213,7 @@ RETURNING
|
||||
state,
|
||||
time_estimate,
|
||||
assigned_to,
|
||||
deadline,
|
||||
deadline,
|
||||
created_at,
|
||||
updated_at
|
||||
`
|
||||
@@ -314,7 +315,7 @@ SELECT
|
||||
reference_id,
|
||||
time_estimate,
|
||||
assigned_to,
|
||||
deadline,
|
||||
deadline,
|
||||
created_at,
|
||||
updated_at
|
||||
FROM
|
||||
|
||||
Reference in New Issue
Block a user