From ab876f35f69cb9a7cd5f2755c890c89bc68421e4 Mon Sep 17 00:00:00 2001 From: Wayne Date: Tue, 23 Apr 2024 23:49:43 +0900 Subject: [PATCH] Small fixes --- src/app/utils/formatUtil.ts | 2 +- src/components/CreateProject/CreateProject.tsx | 11 ++++++++--- src/components/CreateProject/MilestoneSection.tsx | 8 ++++---- src/components/TimesheetTable/EntryInputTable.tsx | 3 +++ 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/app/utils/formatUtil.ts b/src/app/utils/formatUtil.ts index 14d2ed1..4f364e8 100644 --- a/src/app/utils/formatUtil.ts +++ b/src/app/utils/formatUtil.ts @@ -39,7 +39,7 @@ export const shortDateFormatter = (locale?: string) => { } }; -export function convertLocaleStringToNumber(numberString: String): number { +export function convertLocaleStringToNumber(numberString: string): number { const numberWithoutCommas = numberString.replace(/,/g, ""); return parseFloat(numberWithoutCommas); } diff --git a/src/components/CreateProject/CreateProject.tsx b/src/components/CreateProject/CreateProject.tsx index 61409b0..b8faa5e 100644 --- a/src/components/CreateProject/CreateProject.tsx +++ b/src/components/CreateProject/CreateProject.tsx @@ -61,7 +61,9 @@ const hasErrorsInTab = ( ) => { switch (tabIndex) { case 0: - return errors.projectName; + return ( + errors.projectName || errors.projectCode || errors.projectDescription + ); default: false; } @@ -101,7 +103,6 @@ const CreateProject: React.FC = ({ const onSubmit = useCallback>( async (data) => { try { - console.log(data); setServerError(""); await saveProject(data); router.replace("/projects"); @@ -115,7 +116,11 @@ const CreateProject: React.FC = ({ const onSubmitError = useCallback>( (errors) => { // Set the tab so that the focus will go there - if (errors.projectName) { + if ( + errors.projectName || + errors.projectDescription || + errors.projectCode + ) { setTabIndex(0); } }, diff --git a/src/components/CreateProject/MilestoneSection.tsx b/src/components/CreateProject/MilestoneSection.tsx index 9d18717..68a35a2 100644 --- a/src/components/CreateProject/MilestoneSection.tsx +++ b/src/components/CreateProject/MilestoneSection.tsx @@ -29,7 +29,7 @@ import React, { useCallback, useEffect, useMemo, useState } from "react"; import { useFormContext } from "react-hook-form"; import { useTranslation } from "react-i18next"; import StyledDataGrid from "../StyledDataGrid"; -import { moneyFormatter } from "@/app/utils/formatUtil"; +import { INPUT_DATE_FORMAT, moneyFormatter } from "@/app/utils/formatUtil"; import isDate from "lodash/isDate"; interface Props { @@ -206,7 +206,7 @@ const MilestoneSection: React.FC = ({ taskGroupId }) => { description: p.description!, id: p.id!, amount: p.amount!, - date: dayjs(p.date!).toISOString(), + date: dayjs(p.date!).format(INPUT_DATE_FORMAT), })), }, }); @@ -245,7 +245,7 @@ const MilestoneSection: React.FC = ({ taskGroupId }) => { ...milestones, [taskGroupId]: { ...milestones[taskGroupId], - startDate: date.toISOString(), + startDate: date.format(INPUT_DATE_FORMAT), }, }); }} @@ -264,7 +264,7 @@ const MilestoneSection: React.FC = ({ taskGroupId }) => { ...milestones, [taskGroupId]: { ...milestones[taskGroupId], - endDate: date.toISOString(), + endDate: date.format(INPUT_DATE_FORMAT), }, }); }} diff --git a/src/components/TimesheetTable/EntryInputTable.tsx b/src/components/TimesheetTable/EntryInputTable.tsx index 57a18b3..7d9e9de 100644 --- a/src/components/TimesheetTable/EntryInputTable.tsx +++ b/src/components/TimesheetTable/EntryInputTable.tsx @@ -22,6 +22,9 @@ import { AssignedProject } from "@/app/api/projects"; import uniqBy from "lodash/uniqBy"; import { TaskGroup } from "@/app/api/tasks"; import dayjs from "dayjs"; +import isBetween from "dayjs/plugin/isBetween"; + +dayjs.extend(isBetween); const mockProjects: AssignedProject[] = [ {