From c6e412ada26b4519e2700cb4c9e4c3c21cd99a67 Mon Sep 17 00:00:00 2001
From: TTOCHIwas <95687307+TTOCHIwas@users.noreply.github.com>
Date: Sat, 11 Apr 2026 20:39:12 +0900
Subject: [PATCH 1/8] =?UTF-8?q?feat:=20=EB=A1=9C=EB=94=A9=20=ED=8E=98?=
=?UTF-8?q?=EC=9D=B4=EC=A7=80=20=EA=B8=80=EC=9E=90=20=ED=81=AC=EA=B8=B0=20?=
=?UTF-8?q?=EB=B0=8F=20spacing=20=ED=81=AC=EA=B8=B0=20=EB=B0=98=EC=9D=91?=
=?UTF-8?q?=ED=98=95=20ui=20=EC=84=A4=EC=A0=95=20=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../ui/section/UploadLoadingSection.tsx | 40 +++++++++++++------
1 file changed, 28 insertions(+), 12 deletions(-)
diff --git a/src/features/upload/ui/section/UploadLoadingSection.tsx b/src/features/upload/ui/section/UploadLoadingSection.tsx
index 0e4023c..777cfe6 100644
--- a/src/features/upload/ui/section/UploadLoadingSection.tsx
+++ b/src/features/upload/ui/section/UploadLoadingSection.tsx
@@ -25,8 +25,8 @@ export const UploadLoadingSection = ({
-
+
AI가 과제의 핵심을
분석하고 있어요
-
+
분석이 완료되면 나만의 로드맵이 펼쳐집니다.
-
+
-
+
{currentStepMessage}
-
+
{Math.round(progress)}%
@@ -98,7 +110,11 @@ export const UploadLoadingSection = ({
/>
-
+
잠시만 기다려주세요, 거의 다 되었습니다.
From b904ef2aac17db66911a3535411922936bcb0dee Mon Sep 17 00:00:00 2001
From: TTOCHIwas <95687307+TTOCHIwas@users.noreply.github.com>
Date: Sat, 11 Apr 2026 21:30:07 +0900
Subject: [PATCH 2/8] =?UTF-8?q?feat:=20=EC=97=85=EB=A1=9C=EB=93=9C=20?=
=?UTF-8?q?=EB=8B=A8=EA=B3=84=20=ED=8E=98=EC=9D=B4=EC=A7=80=20=EC=83=81?=
=?UTF-8?q?=EB=8B=A8=20=EB=B0=98=EC=9D=91=ED=98=95=20ui=20=EC=84=A4?=
=?UTF-8?q?=EC=A0=95=20=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../ui/section/UploadStepHeaderSection.tsx | 12 +++++++-----
src/pages/upload/_step/UploadStepPage.tsx | 17 +++++++++++++++--
2 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/src/features/upload/ui/section/UploadStepHeaderSection.tsx b/src/features/upload/ui/section/UploadStepHeaderSection.tsx
index d542118..d652f3d 100644
--- a/src/features/upload/ui/section/UploadStepHeaderSection.tsx
+++ b/src/features/upload/ui/section/UploadStepHeaderSection.tsx
@@ -17,10 +17,10 @@ export const UploadStepHeaderSection = ({ projectId, stepNum }: Props) => {
return (
<>
-
+
-
+
{
color="neutral.600"
fontSize="2xs"
fontWeight="regular"
- px="9px"
- py="5px"
+ px={{ base: 2, md: "9px" }}
+ py={{ base: 1, md: "5px" }}
>
{project?.roadmapType
? (ROADMAP_TYPE_LABEL[project.roadmapType] ?? project.roadmapType)
@@ -37,9 +37,11 @@ export const UploadStepHeaderSection = ({ projectId, stepNum }: Props) => {
{project?.title}
diff --git a/src/pages/upload/_step/UploadStepPage.tsx b/src/pages/upload/_step/UploadStepPage.tsx
index 8fb5756..f985015 100644
--- a/src/pages/upload/_step/UploadStepPage.tsx
+++ b/src/pages/upload/_step/UploadStepPage.tsx
@@ -33,8 +33,21 @@ export default function UploadStepPage() {
}
return (
-
-
+
+
From c8f4023c672c905692a9d86bb075d76f7364b4c5 Mon Sep 17 00:00:00 2001
From: TTOCHIwas <95687307+TTOCHIwas@users.noreply.github.com>
Date: Sat, 11 Apr 2026 21:30:59 +0900
Subject: [PATCH 3/8] =?UTF-8?q?feat:=20=EC=97=85=EB=A1=9C=EB=93=9C=20?=
=?UTF-8?q?=EB=8B=A8=EA=B3=84=20=EC=9D=B8=EB=94=94=EC=BC=80=EC=9D=B4?=
=?UTF-8?q?=ED=84=B0=20=EA=B0=80=EB=A1=9C=20=EC=8A=A4=ED=81=AC=EB=A1=A4=20?=
=?UTF-8?q?=EB=B0=98=EC=9D=91=ED=98=95=20ui=20=EC=84=A4=EC=A0=95=20?=
=?UTF-8?q?=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../upload-step/UploadStepIndicator.tsx | 115 ++++++++++--------
1 file changed, 64 insertions(+), 51 deletions(-)
diff --git a/src/features/upload/components/features/upload-step/UploadStepIndicator.tsx b/src/features/upload/components/features/upload-step/UploadStepIndicator.tsx
index 308ec3c..8fadd0f 100644
--- a/src/features/upload/components/features/upload-step/UploadStepIndicator.tsx
+++ b/src/features/upload/components/features/upload-step/UploadStepIndicator.tsx
@@ -9,77 +9,90 @@ type Props = {
export const UploadStepIndicator = ({ current, stepCodes }: Props) => {
return (
-
+
- {Array.from({ length: stepCodes.length - 1 }, (_, i) => (
-
- ))}
-
-
-
{stepCodes.map((code, i) => {
const stepId = i + 1;
const isActive = stepId === current;
const isDone = stepId < current;
+ const isLast = i === stepCodes.length - 1;
return (
-
+
-
-
+
- {stepId}
-
+
+ {stepId}
+
+
+
+
+ {ROADMAP_STEP_NAMES[code] ?? code}
+
-
- {ROADMAP_STEP_NAMES[code] ?? code}
-
+ {!isLast && (
+
+ )}
);
})}
From 83fa6cf31b0a090a6137d74a494338eb7564570b Mon Sep 17 00:00:00 2001
From: TTOCHIwas <95687307+TTOCHIwas@users.noreply.github.com>
Date: Sat, 11 Apr 2026 21:32:06 +0900
Subject: [PATCH 4/8] =?UTF-8?q?feat:=20=EC=97=85=EB=A1=9C=EB=93=9C=20?=
=?UTF-8?q?=EB=8B=A8=EA=B3=84=20=EB=B3=B8=EB=AC=B8=20=EC=9E=85=EB=A0=A5=20?=
=?UTF-8?q?=EC=98=81=EC=97=AD=20=EB=B0=98=EC=9D=91=ED=98=95=20ui=20?=
=?UTF-8?q?=EC=84=A4=EC=A0=95=20=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../upload-step/UploadStepResultInput.tsx | 21 ++++---
.../ui/section/UploadStepContentSection.tsx | 55 ++++++++++++++-----
2 files changed, 55 insertions(+), 21 deletions(-)
diff --git a/src/features/upload/components/features/upload-step/UploadStepResultInput.tsx b/src/features/upload/components/features/upload-step/UploadStepResultInput.tsx
index fa20850..37218d6 100644
--- a/src/features/upload/components/features/upload-step/UploadStepResultInput.tsx
+++ b/src/features/upload/components/features/upload-step/UploadStepResultInput.tsx
@@ -7,10 +7,10 @@ type Props = {
export const UploadStepResultInput = ({ value, onChange }: Props) => {
return (
-
+
@@ -28,11 +28,11 @@ export const UploadStepResultInput = ({ value, onChange }: Props) => {
border="none"
borderRadius="xl"
color="neutral.900"
- fontSize="sm"
+ fontSize={{ base: "xs", md: "sm" }}
fontWeight="medium"
- minH={60}
+ minH={{ base: "240px", md: 60 }}
onChange={(e) => onChange(e.target.value)}
- p={6}
+ p={{ base: 4, md: 6 }}
placeholder="이전 단계 프롬프트로 얻은 AI의 답변을 여기에 붙여넣어 주세요. 정보를 입력하면 다음 단계 로드맵이 더욱 정교해집니다."
resize="vertical"
value={value}
@@ -41,14 +41,19 @@ export const UploadStepResultInput = ({ value, onChange }: Props) => {
backdropFilter="blur(2px)"
bg="rgba(255,255,255,0.6)"
borderRadius="4px"
- bottom="20px"
+ bottom={{ base: "16px", md: "20px" }}
position="absolute"
px={2}
py={1}
- right="20px"
+ right={{ base: "16px", md: "20px" }}
>
- Ctrl + V
+
+ Ctrl + V
+
+
+ 붙여넣기
+
diff --git a/src/features/upload/ui/section/UploadStepContentSection.tsx b/src/features/upload/ui/section/UploadStepContentSection.tsx
index a18ef33..962c6be 100644
--- a/src/features/upload/ui/section/UploadStepContentSection.tsx
+++ b/src/features/upload/ui/section/UploadStepContentSection.tsx
@@ -55,19 +55,35 @@ export const UploadStepContentSection = ({ projectId, stepNum }: Props) => {
-
-
+
+
Step {stepNum}
-
+
{stepName}
-
+
AI가 과제 주제를 분석하여 최적의 자료 조사를 위한 프롬프트를
생성했습니다.
이 프롬프트를 사용하여 고품질의 레퍼런스를 확보하세요.
@@ -83,7 +99,7 @@ export const UploadStepContentSection = ({ projectId, stepNum }: Props) => {
overflow="hidden"
w="full"
>
-
+
{
) : null}
{formatPrompt && (
-
+
결과 추출
-
+
이 프롬프트를 사용하여 ai와 함께 작업한 결과를 추출해주세요.
{
onChange={handleResultTextChange}
/>
-
+
@@ -47,28 +47,35 @@ export const PromptCard = ({
bg="neutral.50"
border="1px solid"
borderColor="neutral.50"
- borderRadius="2xl"
+ borderRadius={{ base: "xl", md: "2xl" }}
overflow="hidden"
w="full"
>
-
+
{label}
-
+
{copied ? "복사됨 ✓" : "복사하기"}
@@ -94,15 +101,15 @@ export const PromptCard = ({
-
+
{isPrompt ? (
lines.map((line, i) => )
) : (
{content}
From 1019e7110a6e6407bfbc90107dc5a0adc029814f Mon Sep 17 00:00:00 2001
From: TTOCHIwas <95687307+TTOCHIwas@users.noreply.github.com>
Date: Sat, 11 Apr 2026 21:35:13 +0900
Subject: [PATCH 6/8] =?UTF-8?q?feat:=20=ED=94=84=EB=A1=AC=ED=94=84?=
=?UTF-8?q?=ED=8A=B8=20=EC=B9=B4=EB=93=9C=20=EB=B0=98=EC=9D=91=ED=98=95=20?=
=?UTF-8?q?ui=20=EC=84=A4=EC=A0=95=20=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/entities/project/ui/prompt-card/PromptCard.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/entities/project/ui/prompt-card/PromptCard.tsx b/src/entities/project/ui/prompt-card/PromptCard.tsx
index 52af623..0b9c1ab 100644
--- a/src/entities/project/ui/prompt-card/PromptCard.tsx
+++ b/src/entities/project/ui/prompt-card/PromptCard.tsx
@@ -55,7 +55,7 @@ export const PromptCard = ({
align={{ base: "flex-start", md: "center" }}
borderBottom="1px solid"
borderBottomColor="neutral.50"
- direction={{ base: "column", md: "row" }}
+ direction="row"
gap={{ base: 3, md: 0 }}
justify="space-between"
pb={{ base: 3, md: "17px" }}
From 442f57e934d29fd6869b6aa2d9e08c3ecba6f7d0 Mon Sep 17 00:00:00 2001
From: TTOCHIwas <95687307+TTOCHIwas@users.noreply.github.com>
Date: Sat, 11 Apr 2026 21:55:45 +0900
Subject: [PATCH 7/8] =?UTF-8?q?chore:=20=ED=94=BC=EB=93=9C=EB=B0=B1=20?=
=?UTF-8?q?=EC=88=98=EC=9A=A9-=20=EC=97=85=EB=A1=9C=EB=93=9C=20=EB=8B=A8?=
=?UTF-8?q?=EA=B3=84=20=EC=9D=B8=EB=94=94=EC=BC=80=EC=9D=B4=ED=84=B0=20?=
=?UTF-8?q?=EC=A0=95=EB=A0=AC=20=EA=B0=9C=EC=84=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../features/upload-step/UploadStepIndicator.tsx | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/features/upload/components/features/upload-step/UploadStepIndicator.tsx b/src/features/upload/components/features/upload-step/UploadStepIndicator.tsx
index 8fadd0f..2f56ec2 100644
--- a/src/features/upload/components/features/upload-step/UploadStepIndicator.tsx
+++ b/src/features/upload/components/features/upload-step/UploadStepIndicator.tsx
@@ -13,10 +13,10 @@ export const UploadStepIndicator = ({ current, stepCodes }: Props) => {
{stepCodes.map((code, i) => {
const stepId = i + 1;
From 70931b84ed373f3a6a13b72062968447188005b2 Mon Sep 17 00:00:00 2001
From: TTOCHIwas <95687307+TTOCHIwas@users.noreply.github.com>
Date: Sat, 11 Apr 2026 21:57:48 +0900
Subject: [PATCH 8/8] =?UTF-8?q?chore:=20=ED=94=BC=EB=93=9C=EB=B0=B1=20?=
=?UTF-8?q?=EC=88=98=EC=9A=A9-=20=EC=97=85=EB=A1=9C=EB=93=9C=20=EA=B2=B0?=
=?UTF-8?q?=EA=B3=BC=EC=9E=85=EB=A0=A5=20=EB=86=92=EC=9D=B4=EA=B0=92=20?=
=?UTF-8?q?=EC=A0=95=EB=A6=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/features/upload-step/UploadStepResultInput.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/features/upload/components/features/upload-step/UploadStepResultInput.tsx b/src/features/upload/components/features/upload-step/UploadStepResultInput.tsx
index 37218d6..0f9bf86 100644
--- a/src/features/upload/components/features/upload-step/UploadStepResultInput.tsx
+++ b/src/features/upload/components/features/upload-step/UploadStepResultInput.tsx
@@ -30,7 +30,7 @@ export const UploadStepResultInput = ({ value, onChange }: Props) => {
color="neutral.900"
fontSize={{ base: "xs", md: "sm" }}
fontWeight="medium"
- minH={{ base: "240px", md: 60 }}
+ minH={60}
onChange={(e) => onChange(e.target.value)}
p={{ base: 4, md: 6 }}
placeholder="이전 단계 프롬프트로 얻은 AI의 답변을 여기에 붙여넣어 주세요. 정보를 입력하면 다음 단계 로드맵이 더욱 정교해집니다."