summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-10-29 01:58:40 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-10-29 01:58:40 +0000
commit5202c4b56d9565c7ac0c2a62255763462cef0d3d (patch)
treecce1b09818dc4e1b0787b477f0b37dfb40c27245
parent5b0994f2af11c77b61ac59df6211ccb20fae4d44 (diff)
(임수민) 데이터룸 요청사항 반영
-rw-r--r--app/[lng]/partners/data-room/[projectId]/layout.tsx8
-rw-r--r--app/api/data-room/[projectId]/route.ts6
-rw-r--r--app/api/projects/[projectId]/route.ts8
-rw-r--r--components/layout/HeaderSimple.tsx8
-rw-r--r--lib/users/auth/email-auth.ts4
5 files changed, 22 insertions, 12 deletions
diff --git a/app/[lng]/partners/data-room/[projectId]/layout.tsx b/app/[lng]/partners/data-room/[projectId]/layout.tsx
index d2e74f8e..80139f2d 100644
--- a/app/[lng]/partners/data-room/[projectId]/layout.tsx
+++ b/app/[lng]/partners/data-room/[projectId]/layout.tsx
@@ -1,16 +1,18 @@
// app/projects/[projectId]/layout.tsx
import { ProjectNav } from '@/components/project/ProjectNav';
-export default function ProjectLayout({
+export default async function ProjectLayout({
children,
params,
}: {
children: React.ReactNode;
- params: { projectId: string };
+ params: Promise<{ projectId: string }>;
}) {
+ const { projectId } = await params;
+
return (
<div className="flex flex-col h-full">
- <ProjectNav projectId={params.projectId} />
+ <ProjectNav projectId={projectId} />
<div className="flex-1 overflow-y-auto">
{children}
</div>
diff --git a/app/api/data-room/[projectId]/route.ts b/app/api/data-room/[projectId]/route.ts
index 643dcf0f..2df20fc8 100644
--- a/app/api/data-room/[projectId]/route.ts
+++ b/app/api/data-room/[projectId]/route.ts
@@ -19,9 +19,11 @@ const createFileSchema = z.object({
// 파일 목록 조회
export async function GET(
request: NextRequest,
- { params }: { params: { projectId: string } }
+ { params }: { params: Promise<{ projectId: string }> }
) {
try {
+ const { projectId } = await params;
+
const session = await getServerSession(authOptions);
if (!session?.user) {
return NextResponse.json({ error: '인증이 필요합니다' }, { status: 401 });
@@ -44,7 +46,7 @@ export async function GET(
// viewMode가 tree이거나 includeAll이 true인 경우 전체 목록 가져오기
const files = await fileService.getFileList(
- params.projectId,
+ projectId,
parentId,
context,
{
diff --git a/app/api/projects/[projectId]/route.ts b/app/api/projects/[projectId]/route.ts
index 38c11930..496b405c 100644
--- a/app/api/projects/[projectId]/route.ts
+++ b/app/api/projects/[projectId]/route.ts
@@ -8,9 +8,11 @@ import { z } from 'zod';
// GET: 프로젝트 정보 조회
export async function GET(
request: NextRequest,
- { params }: { params: { projectId: string } }
+ { params }: { params: Promise<{ projectId: string }> }
) {
try {
+ const { projectId } = await params;
+
const session = await getServerSession(authOptions);
if (!session?.user) {
return NextResponse.json({ error: '인증이 필요합니다' }, { status: 401 });
@@ -20,7 +22,7 @@ export async function GET(
// 프로젝트 접근 권한 확인
const access = await projectService.checkProjectAccess(
- params.projectId,
+ projectId,
Number(session.user.id)
);
@@ -32,7 +34,7 @@ export async function GET(
}
// 프로젝트 정보 가져오기
- const project = await projectService.getProject(params.projectId);
+ const project = await projectService.getProject(projectId);
if (!project) {
return NextResponse.json(
diff --git a/components/layout/HeaderSimple.tsx b/components/layout/HeaderSimple.tsx
index f6f60342..425bf796 100644
--- a/components/layout/HeaderSimple.tsx
+++ b/components/layout/HeaderSimple.tsx
@@ -116,9 +116,11 @@ export function HeaderSimple() {
{/* 우측 영역 - 고정 너비와 우선순위로 항상 표시되도록 함 */}
<div className="ml-auto flex flex-shrink-0 items-center space-x-2">
{/* 데스크탑에서는 CommandMenu, 모바일에서는 검색 아이콘만 */}
- <div className="hidden md:block md:w-auto">
- <CommandMenu />
- </div>
+ {!pathname?.includes("/partners/data-room") && (
+ <div className="hidden md:block md:w-auto">
+ <CommandMenu />
+ </div>
+ )}
{/* <Button variant="ghost" size="icon" className="md:hidden" aria-label="Search">
<SearchIcon className="h-5 w-5" />
</Button> */}
diff --git a/lib/users/auth/email-auth.ts b/lib/users/auth/email-auth.ts
index edd4a634..9b87add5 100644
--- a/lib/users/auth/email-auth.ts
+++ b/lib/users/auth/email-auth.ts
@@ -125,13 +125,15 @@ export async function checkEmailAndStartAuth(email: string): Promise<{
isActive: true,
});
+ const userLanguage = user.language || 'en';
+
// OTP 이메일 전송
await sendEmail({
to: user.email,
subject: '로그인 인증번호',
template: 'otp',
context: {
- language: 'ko',
+ language: userLanguage,
name: user.name,
otp: otpCode,
verificationUrl: '',