diff --git a/src/app/(pages)/(workform)/work/[formId]/edit/page.tsx b/src/app/(pages)/(workform)/work/[formId]/edit/page.tsx index c8e32313..1fa0e929 100644 --- a/src/app/(pages)/(workform)/work/[formId]/edit/page.tsx +++ b/src/app/(pages)/(workform)/work/[formId]/edit/page.tsx @@ -1,7 +1,7 @@ "use client"; // 워크폼 수정 페이지 (사장님) -import { useEffect, useState } from "react"; +import { useEffect, useMemo, useState } from "react"; import { useParams, useRouter, useSearchParams } from "next/navigation"; import { FormProvider, useForm } from "react-hook-form"; import axios from "axios"; @@ -33,7 +33,7 @@ export default function EditFormPage() { const { reset, handleSubmit, - formState: { isDirty, isValid }, + formState: { isDirty }, } = methods; const queryClient = useQueryClient(); @@ -72,6 +72,29 @@ export default function EditFormPage() { } }, [albaFormDetailData, reset]); + const isComplete = useMemo(() => { + // 작성이 완료된 필드들: 기본값에서 변경된 경우를 확인 + return ( + currentValues.title && + currentValues.description && + currentValues.location && + currentValues.workStartDate && + currentValues.workEndDate && + currentValues.recruitmentStartDate && + currentValues.recruitmentEndDate && + currentValues.workStartTime && + currentValues.workEndTime && + currentValues.age && + currentValues.preferred && + currentValues.education && + currentValues.gender && + currentValues.numberOfPositions >= 0 && + currentValues.imageUrls.length > 0 && + currentValues.hourlyWage >= 10_030 && + (currentValues.workDays.length > 0 || currentValues.isNegotiableWorkDays) + ); + }, [currentValues]); + // 수정된 폼 제출 리액트쿼리 const mutation = useMutation({ mutationFn: async () => { @@ -170,7 +193,7 @@ export default function EditFormPage() { width="md" color="orange" className="h-[58px] w-full lg:h-[72px] lg:text-xl lg:leading-8" - disabled={!isDirty || !isValid} + disabled={!isDirty || !isComplete} onClick={handleSubmit(() => mutation.mutate())} > {mutation.isPending ? : "수정하기"} diff --git a/src/app/components/mouseTrail/CustomCursor.tsx b/src/app/components/mouseTrail/CustomCursor.tsx index c58e648b..cd7a7e54 100644 --- a/src/app/components/mouseTrail/CustomCursor.tsx +++ b/src/app/components/mouseTrail/CustomCursor.tsx @@ -12,7 +12,7 @@ export default function CustomCursor() { useEffect(() => { const updatePosition = (e: MouseEvent) => { - setPosition({ x: e.clientX + window.scrollX, y: e.clientY + window.scrollY }); + setPosition({ x: e.clientX, y: e.clientY }); }; window.addEventListener("mousemove", updatePosition); diff --git a/src/app/components/mouseTrail/MouseTrail.tsx b/src/app/components/mouseTrail/MouseTrail.tsx index 316b062a..e0749e0b 100644 --- a/src/app/components/mouseTrail/MouseTrail.tsx +++ b/src/app/components/mouseTrail/MouseTrail.tsx @@ -57,7 +57,7 @@ export default function MouseTrail() { position: "absolute", left: position.x, top: position.y, - transform: "translate(-50%, -50%)", + // transform: "translate(-50%, -50%)", pointerEvents: "none", }} >