diff --git a/src/app/(pages)/(albaform)/alba/[formId]/components/FormActions.tsx b/src/app/(pages)/(albaform)/alba/[formId]/components/FormActions.tsx index 150f7d5c..2c9fb711 100644 --- a/src/app/(pages)/(albaform)/alba/[formId]/components/FormActions.tsx +++ b/src/app/(pages)/(albaform)/alba/[formId]/components/FormActions.tsx @@ -1,18 +1,18 @@ "use client"; -import React, { useState } from "react"; // useState 추가 +import React, { useState } from "react"; import Link from "next/link"; import { useUser } from "@/hooks/queries/user/me/useUser"; import { FormDetailResponse } from "@/types/response/form"; import FloatingBtn from "@/app/components/button/default/FloatingBtn"; import { FaEdit } from "react-icons/fa"; import { MdDeleteForever } from "react-icons/md"; -import { CiMemoPad } from "react-icons/ci"; import axios from "axios"; import toast from "react-hot-toast"; import { useRouter } from "next/navigation"; import DotLoadingSpinner from "@/app/components/loading-spinner/DotLoadingSpinner"; import { HiMail } from "react-icons/hi"; import { HiDocumentText } from "react-icons/hi"; +import { useMyApplications } from "@/hooks/queries/user/me/useMyApplications"; interface FormActionsProps { formId: string | number; albaFormDetailData: FormDetailResponse; @@ -20,6 +20,7 @@ interface FormActionsProps { export default function FormActions({ formId, albaFormDetailData }: FormActionsProps) { const { user } = useUser(); + const { data: applicantData } = useMyApplications(); const router = useRouter(); const isMyAlbaForm = user?.id === albaFormDetailData.ownerId; const isOwnerRole = user?.role === "OWNER"; @@ -66,15 +67,26 @@ export default function FormActions({ formId, albaFormDetailData }: FormActionsP ); } + // 이미 지원한 공고인지 확인 + const hasApplied = applicantData?.pages + ?.flatMap((page) => page.data) // 1차원 배열로 변환 + .some((applicant) => applicant.form?.id === formId); // 일치하는 항목을 찾으면 즉시 true를 반환 + // 사장님이 아니면 지원하기/내 지원내역 보기 버튼 if (!isOwnerRole) { return (