diff --git a/frontend/src/app/my/mentorship/programs/[programKey]/modules/[moduleKey]/edit/page.tsx b/frontend/src/app/my/mentorship/programs/[programKey]/modules/[moduleKey]/edit/page.tsx index cd9c85450f..bad0b4cc47 100644 --- a/frontend/src/app/my/mentorship/programs/[programKey]/modules/[moduleKey]/edit/page.tsx +++ b/frontend/src/app/my/mentorship/programs/[programKey]/modules/[moduleKey]/edit/page.tsx @@ -150,6 +150,10 @@ const EditModulePage = () => { loading={mutationLoading} submitText="Save" isEdit + minDate={ + data?.getProgram?.startedAt ? formatDateForInput(data.getProgram.startedAt) : undefined + } + maxDate={data?.getProgram?.endedAt ? formatDateForInput(data.getProgram.endedAt) : undefined} /> ) } diff --git a/frontend/src/app/my/mentorship/programs/[programKey]/modules/create/page.tsx b/frontend/src/app/my/mentorship/programs/[programKey]/modules/create/page.tsx index a0666f8603..6fba72372d 100644 --- a/frontend/src/app/my/mentorship/programs/[programKey]/modules/create/page.tsx +++ b/frontend/src/app/my/mentorship/programs/[programKey]/modules/create/page.tsx @@ -12,6 +12,7 @@ import { GetProgramAndModulesDocument, } from 'types/__generated__/programsQueries.generated' import type { ExtendedSession } from 'types/auth' +import { formatDateForInput } from 'utils/dateFormatter' import { parseCommaSeparated } from 'utils/parser' import LoadingSpinner from 'components/LoadingSpinner' import ModuleForm from 'components/ModuleForm' @@ -168,6 +169,16 @@ const CreateModulePage = () => { onSubmit={handleSubmit} loading={mutationLoading} isEdit={false} + minDate={ + programData?.getProgram?.startedAt + ? formatDateForInput(programData.getProgram.startedAt) + : undefined + } + maxDate={ + programData?.getProgram?.endedAt + ? formatDateForInput(programData.getProgram.endedAt) + : undefined + } /> ) } diff --git a/frontend/src/components/ModuleForm.tsx b/frontend/src/components/ModuleForm.tsx index f5a2a8734a..1060d16423 100644 --- a/frontend/src/components/ModuleForm.tsx +++ b/frontend/src/components/ModuleForm.tsx @@ -41,6 +41,8 @@ interface ModuleFormProps { isEdit?: boolean title: string submitText?: string + minDate?: string + maxDate?: string } const EXPERIENCE_LEVELS = [ @@ -58,6 +60,8 @@ const ModuleForm = ({ title, isEdit, submitText = 'Save', + minDate, + maxDate, }: ModuleFormProps) => { const [touched, setTouched] = useState>({}) @@ -213,6 +217,8 @@ const ModuleForm = ({ error={errors.startedAt} touched={touched.startedAt} required + min={minDate} + max={maxDate} />