diff --git a/solution/frontend/src/features/marketing/ShowcaseGrid.tsx b/solution/frontend/src/features/marketing/ShowcaseGrid.tsx index e81ca5d..3b76429 100644 --- a/solution/frontend/src/features/marketing/ShowcaseGrid.tsx +++ b/solution/frontend/src/features/marketing/ShowcaseGrid.tsx @@ -130,7 +130,7 @@ export function ShowcasePeeks({limit = 10}: {limit?: number}) { return (
span { display: block; diff --git a/solution/frontend/src/pages/LandingPage.tsx b/solution/frontend/src/pages/LandingPage.tsx index 806408d..1eaa876 100644 --- a/solution/frontend/src/pages/LandingPage.tsx +++ b/solution/frontend/src/pages/LandingPage.tsx @@ -7,10 +7,18 @@ import {ShowcaseGrid, ShowcasePeeks} from '@/features/marketing/ShowcaseGrid'; import {Button} from '@/components/ui/button'; /** - * 히어로 제목의 앞말. '홈페이지' 는 고정이고 이 넷이 돌아간다. - * ★ 넷을 넘기지 않는다 — 다섯째부터는 한 바퀴 도는 데 걸리는 시간이 체류 시간을 넘긴다. + * 히어로 제목의 앞말. '홈페이지' 는 고정이고 이 여섯이 돌아간다. + * ★ 개수를 바꾸면 index.css 의 `o2o-rotate-6` 키프레임도 같이 고쳐야 한다 — + * 안 고치면 뒤쪽 문구가 영영 안 보이거나 빈 줄이 지나간다. 조용히 틀리는 종류다. */ -const HEADLINES = ['AI가 먼저 찾는', '챗GPT가 인용하는', '검색에 바로 걸리는', '손님이 먼저 만나는']; +const HEADLINES = [ + 'SEO · AEO 최적화', + 'AI가 먼저 찾는', + '챗GPT가 인용하는', + '검색에 바로 걸리는', + '손님이 먼저 만나는', + '우리 가게가 직접 말하는', +]; const INDUSTRIES: {id: IndustryType; label: string; icon: typeof Building2}[] = [ {id: 'stay', label: '숙박', icon: Building2}, @@ -48,8 +56,8 @@ export function LandingPage() { {/* ── 상단 ─────────────────────────────────────── */}
-
-

+
+

{/* 앞말만 돈다. 마지막 항목은 첫 항목의 복제다 — 되감을 때 글자가 튀지 않게(index.css). */} @@ -62,11 +70,11 @@ export function LandingPage() { 홈페이지

-

+

가게 이름 한 줄로 시작해 보세요

-
+
{/* 업종은 고르지 않아도 된다 — 여기 있는 건 "누구를 위한 서비스인가" 를 말하기 위한 것이다. */} -
+
{INDUSTRIES.map(({id, label, icon: Icon}) => ( -
    - {[ - 'SEO · AEO 자동 적용', - '가입 없이 만들어 봅니다', - '5분이면 끝납니다', - ].map((line) => ( -
  • - - {line} -
  • - ))} -
- {/* 입력칸만 있으면 무엇이 나오는지 알 수 없다 — 결과물 두 장을 먼저 보여준다. */} + {/* 입력칸만 있으면 무엇이 나오는지 알 수 없다 — 결과물을 바로 밑에서 흘린다. */}