summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/[lng]/evcp/(evcp)/tech-vendors/page.tsx43
-rw-r--r--app/[lng]/partners/(partners)/info/page.tsx12
2 files changed, 23 insertions, 32 deletions
diff --git a/app/[lng]/evcp/(evcp)/tech-vendors/page.tsx b/app/[lng]/evcp/(evcp)/tech-vendors/page.tsx
index 64e8737f..8f542f59 100644
--- a/app/[lng]/evcp/(evcp)/tech-vendors/page.tsx
+++ b/app/[lng]/evcp/(evcp)/tech-vendors/page.tsx
@@ -2,14 +2,13 @@ import * as React from "react"
import { type SearchParams } from "@/types/table"
import { getValidFilters } from "@/lib/data-table"
-import { Skeleton } from "@/components/ui/skeleton"
import { DataTableSkeleton } from "@/components/data-table/data-table-skeleton"
import { Shell } from "@/components/shell"
-import { Ellipsis } from "lucide-react"
import { searchParamsCache } from "@/lib/tech-vendors/validations"
import { getTechVendors, getTechVendorStatusCounts } from "@/lib/tech-vendors/service"
import { TechVendorsTable } from "@/lib/tech-vendors/table/tech-vendors-table"
+import { TechVendorContainer } from "@/components/tech-vendors/tech-vendor-container"
interface IndexPageProps {
searchParams: Promise<SearchParams>
@@ -21,6 +20,14 @@ export default async function IndexPage(props: IndexPageProps) {
const validFilters = getValidFilters(search.filters)
+ // 벤더 타입 정의
+ const vendorTypes = [
+ { id: "all", name: "전체", value: "" },
+ { id: "ship", name: "조선", value: "조선" },
+ { id: "top", name: "해양TOP", value: "해양TOP" },
+ { id: "hull", name: "해양HULL", value: "해양HULL" },
+ ]
+
const promises = Promise.all([
getTechVendors({
...search,
@@ -30,33 +37,7 @@ export default async function IndexPage(props: IndexPageProps) {
])
return (
- <Shell className="gap-2">
- <div className="flex items-center justify-between space-y-2">
- <div className="flex items-center justify-between space-y-2">
- <div>
- <h2 className="text-2xl font-bold tracking-tight">
- 기술영업 벤더 리스트
- </h2>
- <p className="text-muted-foreground">
- 기술영업 벤더에 대한 요약 정보를 확인하고{" "}
- <span className="inline-flex items-center whitespace-nowrap">
- <Ellipsis className="size-3" />
- <span className="ml-1">버튼</span>
- </span>
- 을 통해 담당자 연락처, 입찰 이력, 계약 이력, 패키지 내용 등을 확인 할 수 있습니다.
- </p>
- </div>
- </div>
- </div>
-
- <React.Suspense fallback={<Skeleton className="h-7 w-52" />}>
- {/* <DateRangePicker
- triggerSize="sm"
- triggerClassName="ml-auto w-56 sm:w-60"
- align="end"
- shallow={false}
- /> */}
- </React.Suspense>
+ <Shell className="gap-4">
<React.Suspense
fallback={
<DataTableSkeleton
@@ -68,7 +49,9 @@ export default async function IndexPage(props: IndexPageProps) {
/>
}
>
- <TechVendorsTable promises={promises} />
+ <TechVendorContainer vendorTypes={vendorTypes}>
+ <TechVendorsTable promises={promises} />
+ </TechVendorContainer>
</React.Suspense>
</Shell>
)
diff --git a/app/[lng]/partners/(partners)/info/page.tsx b/app/[lng]/partners/(partners)/info/page.tsx
index 8215a451..cc1252e6 100644
--- a/app/[lng]/partners/(partners)/info/page.tsx
+++ b/app/[lng]/partners/(partners)/info/page.tsx
@@ -1,7 +1,10 @@
import { Suspense } from "react"
import { Metadata } from "next"
+import { getServerSession } from "next-auth/next"
+import { authOptions } from "@/app/api/auth/[...nextauth]/route"
import { JoinFormSkeleton } from "@/components/signup/join-form-skeleton"
import { InfoForm } from "@/components/additional-info/join-form"
+import { TechVendorInfoForm } from "@/components/additional-info/tech-vendor-info-form"
// (Optional) If Next.js attempts to statically optimize this page and you need full runtime
// behavior for query params, you may also need:
@@ -12,10 +15,15 @@ export const metadata: Metadata = {
description: "Authentication forms built using the components.",
}
-export default function IndexPage() {
+export default async function IndexPage() {
+ const session = await getServerSession(authOptions)
+
+ // 사용자의 techCompanyId가 있는지 확인
+ const isTechVendor = session?.user?.techCompanyId
+
return (
<Suspense fallback={<JoinFormSkeleton/>}>
- <InfoForm />
+ {isTechVendor ? <TechVendorInfoForm /> : <InfoForm />}
</Suspense>
)
} \ No newline at end of file