From 96602a6e6a3349960e4b228ddfde5f11b0fa75ca Mon Sep 17 00:00:00 2001 From: Tharun <45945950+Saitharun279@users.noreply.github.com> Date: Wed, 8 Jan 2025 23:12:19 +0530 Subject: [PATCH 1/8] feat: #1263 Added code changes for purpose field in task card --- src/components/tasks/card/card.module.scss | 20 +++++++++++++++++--- src/components/tasks/card/index.tsx | 20 ++++++++++++++++---- 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/src/components/tasks/card/card.module.scss b/src/components/tasks/card/card.module.scss index 371131140..40ffaf6ae 100644 --- a/src/components/tasks/card/card.module.scss +++ b/src/components/tasks/card/card.module.scss @@ -91,6 +91,16 @@ color: #aeaeae; } +.cardPurposeAndStatusFont { + font-size: 1.1rem; + color: #555; +} +.cardPurposeText{ + padding: 8px; + color: #aeaeae; + font-size: 1rem; +} + .cardStatusFont { font-size: 1.3rem; font-weight: 500; @@ -242,9 +252,13 @@ cursor: pointer; } -.taskStatusAndDateContainer { - display: flex; - justify-content: space-between; +.taskStatusDateAndPurposeContainer { + display: grid; + align-items: baseline; + grid-template-columns: 2fr 3fr; + gap: 2rem; + grid-auto-flow: column; + margin-bottom: 1rem; } .taskStatusEditMode { diff --git a/src/components/tasks/card/index.tsx b/src/components/tasks/card/index.tsx index a2e8457f6..9c36e5d78 100644 --- a/src/components/tasks/card/index.tsx +++ b/src/components/tasks/card/index.tsx @@ -32,6 +32,7 @@ import { import { useGetUsersByUsernameQuery } from '@/app/services/usersApi'; import { ConditionalLinkWrapper } from './ConditionalLinkWrapper'; import useUserData from '@/hooks/useUserData'; +import { useGetUserQuery } from '@/app/services/userApi'; import { isTaskDetailsPageLinkEnabled } from '@/constants/FeatureFlags'; import { useUpdateTaskMutation } from '@/app/services/tasksApi'; import ProgressIndicator from './progressContainer/ProgressIndicator'; @@ -75,16 +76,18 @@ const Card: FC = ({ const { isUserAuthorized } = useUserData(); + const { data: userData } = useGetUserQuery(); + const [showEditButton, setShowEditButton] = useState(false); const [keyLongPressed] = useKeyLongPressed(); const [isEditMode, setIsEditMode] = useState(false); - const { data: taskTagLevel, isLoading } = useGetTaskTagsQuery({ + const { data: taskTagLevel, isLoading } = useGetTaskTagsQuery({ // revisit itemId: cardDetails.id, }); - const [deleteTaskTagLevel] = useDeleteTaskTagLevelMutation(); + const [deleteTaskTagLevel] = useDeleteTaskTagLevelMutation(); //revisit const [updateTask, { isLoading: isLoadingUpdateTaskDetails }] = useUpdateTaskMutation(); @@ -266,7 +269,7 @@ const Card: FC = ({ setIsEditMode(true); }; const isEditable = shouldEdit && isUserAuthorized && isEditMode; - + const isSelfTask = editedTaskDetails.assignee === userData?.username; const getFormattedClosedAtDate = () => { const closedAt = cardDetails?.github?.issue?.closedAt; return getDateInString(new Date(closedAt ?? Date.now())); @@ -543,7 +546,7 @@ const Card: FC = ({ )} -
+

@@ -569,6 +572,15 @@ const Card: FC = ({ : `Started ${getStartedAgo()}`}

+ + {/*card purpose*/} + {isSelfTask && editedTaskDetails.purpose && ( +
+ Purpose: + {editedTaskDetails.purpose} +
+ )} + {/* EDIT task status */}
{isEditable ? ( From 8f3420931261a503adaeafd5d9ec2c1dfa7dfbe8 Mon Sep 17 00:00:00 2001 From: Tharun <45945950+Saitharun279@users.noreply.github.com> Date: Tue, 14 Jan 2025 04:57:17 +0530 Subject: [PATCH 2/8] feat: Real-Dev-Squad#1263 | Added status field in Task Card --- .../tasks/card/TaskStatusEditMode.tsx | 10 +++- src/components/tasks/card/card.module.scss | 18 ++++++++ src/components/tasks/card/index.tsx | 46 ++++++++++--------- 3 files changed, 50 insertions(+), 24 deletions(-) diff --git a/src/components/tasks/card/TaskStatusEditMode.tsx b/src/components/tasks/card/TaskStatusEditMode.tsx index 8d4c31b37..fca20b15a 100644 --- a/src/components/tasks/card/TaskStatusEditMode.tsx +++ b/src/components/tasks/card/TaskStatusEditMode.tsx @@ -5,7 +5,7 @@ import task, { import { useState } from 'react'; import styles from '@/components/tasks/card/card.module.scss'; import { PENDING, SAVED, ERROR_STATUS } from '../constants'; -import { useUpdateTaskMutation } from '@/app/services/tasksApi'; +import { useUpdateTaskMutation, useUpdateSelfTaskMutation } from '@/app/services/tasksApi'; import { StatusIndicator } from './StatusIndicator'; import TaskDropDown from '../TaskDropDown'; import { TASK_STATUS_MAPING } from '@/constants/constants'; @@ -14,6 +14,7 @@ type Props = { task: task; setEditedTaskDetails: React.Dispatch>; isDevMode?: boolean; + isSelfTask: boolean; }; // TODO: remove this after fixing the card beautify status @@ -33,9 +34,11 @@ const TaskStatusEditMode = ({ task, setEditedTaskDetails, isDevMode, + isSelfTask }: Props) => { const [saveStatus, setSaveStatus] = useState(''); const [updateTask] = useUpdateTaskMutation(); + const [updateSelfTask] = useUpdateSelfTaskMutation(); const onChangeUpdateTaskStatus = ({ newStatus, @@ -52,7 +55,10 @@ const TaskStatusEditMode = ({ ...prev, ...payload, })); - const response = updateTask({ + const response = isSelfTask ? updateSelfTask({ + id: task.id, + task: payload, + }) : updateTask({ id: task.id, task: payload, }); diff --git a/src/components/tasks/card/card.module.scss b/src/components/tasks/card/card.module.scss index 40ffaf6ae..12671f767 100644 --- a/src/components/tasks/card/card.module.scss +++ b/src/components/tasks/card/card.module.scss @@ -265,6 +265,24 @@ margin-top: 0.8rem; } +.taskStatusUpdate { + border: 1px solid #000000b3; + border-radius: 4px; + font-size: inherit; + font-weight: bolder; + background-color: transparent; + color: #041187; + padding: 0.5rem; + height: 2.5rem; + width: 10rem; + transition: 250ms ease-in-out; +} + +.taskStatusUpdate:hover { + background-color: #041187; + color: #ffffff; +} + .taskTagLevelWrapper { display: flex; padding-top: 0.5rem; diff --git a/src/components/tasks/card/index.tsx b/src/components/tasks/card/index.tsx index 9c36e5d78..05e7866f8 100644 --- a/src/components/tasks/card/index.tsx +++ b/src/components/tasks/card/index.tsx @@ -270,6 +270,8 @@ const Card: FC = ({ }; const isEditable = shouldEdit && isUserAuthorized && isEditMode; const isSelfTask = editedTaskDetails.assignee === userData?.username; + const verifiedTask = editedTaskDetails.status === VERIFIED && editedTaskDetails.percentCompleted===100; + const getFormattedClosedAtDate = () => { const closedAt = cardDetails?.github?.issue?.closedAt; return getDateInString(new Date(closedAt ?? Date.now())); @@ -572,7 +574,6 @@ const Card: FC = ({ : `Started ${getStartedAgo()}`}
- {/*card purpose*/} {isSelfTask && editedTaskDetails.purpose && (
@@ -580,27 +581,6 @@ const Card: FC = ({ {editedTaskDetails.purpose}
)} - - {/* EDIT task status */} -
- {isEditable ? ( - - ) : ( -
-

Status:

-

- {beautifyStatus(cardDetails.status, isDevMode)} -

-
- )} -
@@ -642,6 +622,28 @@ const Card: FC = ({ {showAssignButton() && }
+ {/* EDIT task status */} +
+ {isEditable || (!verifiedTask && isSelfTask) ? ( + + ) : ( +
+

Status:

+

+ {beautifyStatus(cardDetails.status, isDevMode)} +

+
+ )} +
+
Date: Fri, 17 Jan 2025 01:54:01 +0530 Subject: [PATCH 3/8] feat | issue#1263 prettier-fix --- src/components/tasks/TaskDropDown.tsx | 4 +- .../tasks/card/TaskStatusEditMode.tsx | 23 ++++---- src/components/tasks/card/card.module.scss | 2 +- src/components/tasks/card/index.tsx | 54 ++++++++++--------- 4 files changed, 48 insertions(+), 35 deletions(-) diff --git a/src/components/tasks/TaskDropDown.tsx b/src/components/tasks/TaskDropDown.tsx index 2a177c952..6f72e3b08 100644 --- a/src/components/tasks/TaskDropDown.tsx +++ b/src/components/tasks/TaskDropDown.tsx @@ -1,6 +1,7 @@ import React, { useState } from 'react'; import { BACKEND_TASK_STATUS } from '@/constants/task-status'; import { beautifyStatus } from './card/TaskStatusEditMode'; +import styles from '@/components/tasks/card/card.module.scss'; import { MSG_ON_0_PROGRESS, MSG_ON_100_PROGRESS } from '@/constants/constants'; import TaskDropDownModel from './TaskDropDownModel'; @@ -104,9 +105,10 @@ export default function TaskDropDown({ }; return ( <> -