summaryrefslogtreecommitdiff
path: root/components/pq
diff options
context:
space:
mode:
Diffstat (limited to 'components/pq')
-rw-r--r--components/pq/client-pq-input-wrapper.tsx24
-rw-r--r--components/pq/pq-review-detail.tsx9
-rw-r--r--components/pq/pq-review-table.tsx6
3 files changed, 25 insertions, 14 deletions
diff --git a/components/pq/client-pq-input-wrapper.tsx b/components/pq/client-pq-input-wrapper.tsx
index 89f0fa78..42d2420d 100644
--- a/components/pq/client-pq-input-wrapper.tsx
+++ b/components/pq/client-pq-input-wrapper.tsx
@@ -9,7 +9,7 @@ import { PQGroupData, ProjectPQ } from "@/lib/pq/service"
import { useRouter, useSearchParams } from "next/navigation"
interface ClientPQWrapperProps {
- allPQData: PQGroupData[]
+ pqData: PQGroupData[] // 변경: allPQData → pqData (현재 선택된 PQ 데이터)
projectPQs: ProjectPQ[]
vendorId: number
rawSearchParams: {
@@ -18,7 +18,7 @@ interface ClientPQWrapperProps {
}
export function ClientPQWrapper({
- allPQData,
+ pqData,
projectPQs,
vendorId,
rawSearchParams
@@ -28,16 +28,12 @@ export function ClientPQWrapper({
// 클라이언트 측에서 projectId 파싱
const projectId = projectIdParam ? parseInt(projectIdParam, 10) : undefined
-
+
// 현재 프로젝트 정보 찾기
const currentProject = projectId
? projectPQs.find(p => p.projectId === projectId)
: null
-
- // 필요한 경우 여기서 PQ 데이터를 필터링할 수 있음
- // 예: 모든 데이터를 가져왔는데 현재 projectId에 따라 필터링이 필요한 경우
- // const filteredPQData = projectId ? allPQData.filter(...) : allPQData;
-
+
return (
<Shell className="gap-2">
{/* 헤더 - 프로젝트 정보 포함 */}
@@ -54,7 +50,7 @@ export function ClientPQWrapper({
PQ에 적절한 응답을 제출하시기 바랍니다.
</p>
</div>
-
+
{/* 일반/프로젝트 PQ 선택 탭 */}
{projectPQs.length > 0 && (
<div className="border-b">
@@ -65,7 +61,11 @@ export function ClientPQWrapper({
</TabsTrigger>
{projectPQs.map(project => (
- <TabsTrigger key={project.projectId} value={`project-${project.projectId}`} asChild>
+ <TabsTrigger
+ key={project.projectId}
+ value={`project-${project.projectId}`}
+ asChild
+ >
<a href={`/partners/pq?projectId=${project.projectId}`}>
{project.projectCode}
</a>
@@ -75,11 +75,11 @@ export function ClientPQWrapper({
</Tabs>
</div>
)}
-
+
{/* PQ 입력 탭 */}
<React.Suspense fallback={<Skeleton className="h-7 w-52" />}>
<PQInputTabs
- data={allPQData}
+ data={pqData}
vendorId={vendorId}
projectId={projectId}
projectData={currentProject}
diff --git a/components/pq/pq-review-detail.tsx b/components/pq/pq-review-detail.tsx
index e1bc5510..e636caae 100644
--- a/components/pq/pq-review-detail.tsx
+++ b/components/pq/pq-review-detail.tsx
@@ -32,6 +32,7 @@ import {
import { Card } from "@/components/ui/card"
import { formatDate } from "@/lib/utils"
import { downloadFileAction } from "@/lib/downloadFile"
+import { useSession } from "next-auth/react" // Importando o hook do next-auth
// 코멘트 상태를 위한 인터페이스 정의
interface PendingComment {
@@ -72,6 +73,10 @@ export default function VendorPQAdminReview({
pqType
}: VendorPQAdminReviewProps) {
const { toast } = useToast()
+ const { data: session } = useSession()
+ const reviewerName = session?.user?.name || "Unknown Reviewer"
+ const reviewerId = session?.user?.id
+
// State for dynamically loaded data
const [pqData, setPqData] = React.useState<PQGroupData[]>(data)
@@ -272,7 +277,9 @@ export default function VendorPQAdminReview({
vendorId: vendor.id,
projectId: pqType === 'project' ? projectId : undefined,
comment: itemComments,
- generalComment: requestComment || undefined
+ generalComment: requestComment || undefined,
+ reviewerName,
+ reviewerId
});
if (res.ok) {
diff --git a/components/pq/pq-review-table.tsx b/components/pq/pq-review-table.tsx
index e778cf91..08b4de61 100644
--- a/components/pq/pq-review-table.tsx
+++ b/components/pq/pq-review-table.tsx
@@ -25,6 +25,7 @@ import { addReviewCommentAction, getItemReviewLogsAction } from "@/lib/pq/servic
import { useToast } from "@/hooks/use-toast"
import { formatDate } from "@/lib/utils"
import { downloadFileAction } from "@/lib/downloadFile"
+import { useSession } from "next-auth/react"
interface ReviewLog {
id: number
@@ -189,6 +190,9 @@ function ItemReviewButton({ answerId, checkPoint, onCommentAdded }: ItemReviewBu
const [newComment, setNewComment] = React.useState("");
const [isLoading, setIsLoading] = React.useState(false);
const [hasComments, setHasComments] = React.useState(false);
+ const { data: session } = useSession()
+ const reviewerName = session?.user?.name || "Unknown Reviewer"
+ const reviewerId = session?.user?.id
// If there's no answerId, item wasn't answered
if (!answerId) {
@@ -258,7 +262,7 @@ function ItemReviewButton({ answerId, checkPoint, onCommentAdded }: ItemReviewBu
const res = await addReviewCommentAction({
answerId,
comment: newComment,
- reviewerName: "AdminUser",
+ reviewerName,
});
if (res.ok) {