From 82871f860c80b5f2ea2f52163497094d1d8f07aa Mon Sep 17 00:00:00 2001 From: HyunseokLEE Date: Thu, 6 Nov 2025 23:06:09 +0900 Subject: [PATCH 1/4] =?UTF-8?q?CDP-178=20refactor=F0=9F=94=A8=20(landing):?= =?UTF-8?q?=20=EB=B2=84=ED=8A=BC=20gap=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/landing/LandingFeatureGrid.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/landing/LandingFeatureGrid.tsx b/src/components/landing/LandingFeatureGrid.tsx index 4575b9e..b5a5a07 100644 --- a/src/components/landing/LandingFeatureGrid.tsx +++ b/src/components/landing/LandingFeatureGrid.tsx @@ -11,7 +11,7 @@ export function LandingFeatureGrid({ className }: LandingFeatureGridProps) { const setActiveFeature = useFeaturePreviewStore((state) => state.setActiveFeature); return ( -
+
{FEATURES.map((feature) => ( Date: Thu, 6 Nov 2025 23:06:56 +0900 Subject: [PATCH 2/4] =?UTF-8?q?CDP-179=20feat=E2=9C=A8=20(landing):=20feat?= =?UTF-8?q?ure=20section2=20=EC=BB=B4=ED=8F=AC=EB=84=88=ED=8A=B8=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 --- src/app/(marketing)/page.tsx | 2 ++ .../landing/LandingFeatureSection2.tsx | 23 +++++++++++++++++++ src/types/landing.ts | 10 ++++++++ 3 files changed, 35 insertions(+) create mode 100644 src/components/landing/LandingFeatureSection2.tsx diff --git a/src/app/(marketing)/page.tsx b/src/app/(marketing)/page.tsx index 943e8c7..4f23741 100644 --- a/src/app/(marketing)/page.tsx +++ b/src/app/(marketing)/page.tsx @@ -1,3 +1,4 @@ +import { LandingFeaturesSection2 } from "@/components/landing/LandingFeatureSection2"; import { LandingFeaturesSection1 } from "@/components/landing/LandingFeaturesSection1"; import { LandingHeroSection } from "@/components/landing/LandingHeroSection"; @@ -8,6 +9,7 @@ export default function Home() { <> + ); } diff --git a/src/components/landing/LandingFeatureSection2.tsx b/src/components/landing/LandingFeatureSection2.tsx new file mode 100644 index 0000000..7f07957 --- /dev/null +++ b/src/components/landing/LandingFeatureSection2.tsx @@ -0,0 +1,23 @@ +"use client"; + +import { LandingFeatureText } from "@/components/landing/LandingFeatureText"; +import { LandingLayoutPreview } from "@/components/landing/LandingLayoutPreview"; +import { cn } from "@/lib/utils"; +import type { LandingFeaturesSection2Props } from "@/types/landing"; + +export function LandingFeaturesSection2({ className }: LandingFeaturesSection2Props) { + return ( +
+ + +
+ ); +} diff --git a/src/types/landing.ts b/src/types/landing.ts index b5e46a5..fc2c528 100644 --- a/src/types/landing.ts +++ b/src/types/landing.ts @@ -64,3 +64,13 @@ export interface FeatureItem { iconName: FeatureIconName; previewImageSrc: string; } + +/* ------------------------------------------------- + 기능 소개 섹션 2 + ------------------------------------------------- */ + +export type LandingFeaturesSection2Props = WithClassName; + +export type LandingLayoutPreviewProps = WithClassName; + +export type LandingFeatureTextProps = WithClassName; From 2c070d4be6215fd6a584a62ed444f031ce981f9a Mon Sep 17 00:00:00 2001 From: HyunseokLEE Date: Thu, 6 Nov 2025 23:07:35 +0900 Subject: [PATCH 3/4] =?UTF-8?q?CDP-180=20feat=E2=9C=A8=20(landing):=20layo?= =?UTF-8?q?ut=20preview=20=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../landing/LandingLayoutPreview.tsx | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/components/landing/LandingLayoutPreview.tsx diff --git a/src/components/landing/LandingLayoutPreview.tsx b/src/components/landing/LandingLayoutPreview.tsx new file mode 100644 index 0000000..a37afde --- /dev/null +++ b/src/components/landing/LandingLayoutPreview.tsx @@ -0,0 +1,23 @@ +"use client"; + +import { cn } from "@/lib/utils"; +import type { LandingLayoutPreviewProps } from "@/types/landing"; +import Image from "next/image"; + +export function LandingLayoutPreview({ className }: LandingLayoutPreviewProps) { + return ( +
+
+
+ 여러 모듈을 자유롭게 배치한 대시보드 레이아웃 예시 +
+
+
+ ); +} From c066a396d0cf53d1d8543162601c1e8755ee7bd3 Mon Sep 17 00:00:00 2001 From: HyunseokLEE Date: Thu, 6 Nov 2025 23:08:00 +0900 Subject: [PATCH 4/4] =?UTF-8?q?CDP-181=20feat=E2=9C=A8=20(landing):=20feat?= =?UTF-8?q?ure=20text=20=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/landing/LandingFeatureText.tsx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/components/landing/LandingFeatureText.tsx diff --git a/src/components/landing/LandingFeatureText.tsx b/src/components/landing/LandingFeatureText.tsx new file mode 100644 index 0000000..c9f4bf2 --- /dev/null +++ b/src/components/landing/LandingFeatureText.tsx @@ -0,0 +1,19 @@ +"use client"; + +import { cn } from "@/lib/utils"; +import type { LandingFeatureTextProps } from "@/types/landing"; + +export function LandingFeatureText({ className }: LandingFeatureTextProps) { + return ( +
+

+ 모듈을 +
+ 자유롭게 배치하세요 +

+

+ 드래그 앤 드롭으로 나만의 대시보드를 완성하세요. +

+
+ ); +}