From d26aa1b2da6300e1ca292e3f801293b029a3c747 Mon Sep 17 00:00:00 2001 From: Aaryan Khandelwal <65252264+aaryan610@users.noreply.github.com> Date: Thu, 7 Sep 2023 12:53:49 +0530 Subject: [PATCH] chore: render proper icons for due dates (#2114) --- .../issues/board-views/block-due-date.tsx | 33 ++++++++-------- .../issues/peek-overview/issue-properties.tsx | 38 +++++-------------- space/constants/helpers.ts | 36 ------------------ space/helpers/date-time.helper.ts | 23 +++++++++++ 4 files changed, 49 insertions(+), 81 deletions(-) delete mode 100644 space/constants/helpers.ts diff --git a/space/components/issues/board-views/block-due-date.tsx b/space/components/issues/board-views/block-due-date.tsx index f96836098..f88c82d0f 100644 --- a/space/components/issues/board-views/block-due-date.tsx +++ b/space/components/issues/board-views/block-due-date.tsx @@ -1,17 +1,9 @@ "use client"; // helpers -import { renderFullDate } from "constants/helpers"; +import { renderFullDate } from "helpers/date-time.helper"; -export const findHowManyDaysLeft = (date: string | Date) => { - const today = new Date(); - const eventDate = new Date(date); - const timeDiff = Math.abs(eventDate.getTime() - today.getTime()); - - return Math.ceil(timeDiff / (1000 * 3600 * 24)); -}; - -const dueDateIcon = ( +export const dueDateIconDetails = ( date: string, stateGroup: string ): { @@ -26,17 +18,24 @@ const dueDateIcon = ( className = ""; } else { const today = new Date(); - const dueDate = new Date(date); + today.setHours(0, 0, 0, 0); + const targetDate = new Date(date); + targetDate.setHours(0, 0, 0, 0); - if (dueDate < today) { + const timeDifference = targetDate.getTime() - today.getTime(); + + if (timeDifference < 0) { iconName = "event_busy"; className = "text-red-500"; - } else if (dueDate > today) { - iconName = "calendar_today"; - className = ""; - } else { + } else if (timeDifference === 0) { iconName = "today"; className = "text-red-500"; + } else if (timeDifference === 24 * 60 * 60 * 1000) { + iconName = "event"; + className = "text-yellow-500"; + } else { + iconName = "calendar_today"; + className = ""; } } @@ -47,7 +46,7 @@ const dueDateIcon = ( }; export const IssueBlockDueDate = ({ due_date, group }: { due_date: string; group: string }) => { - const iconDetails = dueDateIcon(due_date, group); + const iconDetails = dueDateIconDetails(due_date, group); return (