Skip to content

Commit 00338d0

Browse files
authored
Merge pull request #56 from Leets-Official/54-feat/메인페이지-UI-구현
[Feat] 메인페이지 UI 구현
2 parents 974c5b2 + d810151 commit 00338d0

2 files changed

Lines changed: 55 additions & 5 deletions

File tree

src/app/layout/MainLayout.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ import { Outlet } from 'react-router';
33

44
export default function MainLayout() {
55
return (
6-
<>
6+
<div className="min-h-screen bg-white">
77
<Header />
88
<Outlet />
9-
</>
9+
</div>
1010
);
1111
}

src/pages/main/ui/MainPage.tsx

Lines changed: 53 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,58 @@
1+
import { GearIcon, SellIcon, ShoppingIcon } from '@shared/assets/icons';
2+
import { ROUTES } from '@shared/constants';
3+
import { BannerCard } from '@shared/ui/BannerCard';
4+
import { ChatbotFloatingButton } from '@shared/ui/ChatbotFloatingButton';
5+
import { useNavigate } from 'react-router';
6+
17
export default function MainPage() {
8+
const navigate = useNavigate();
9+
210
return (
3-
<main className="flex min-h-screen flex-col items-center justify-center">
4-
<h1 className="typo-title-1 text-gray-900">LOOPIT</h1>
5-
<p className="typo-body-1 mt-4 text-gray-500">중고거래 플랫폼</p>
11+
<main className="flex w-full flex-col items-center gap-14 px-4 pt-8 pb-24">
12+
<section className="h-79.25 w-full max-w-300" aria-label="메인 슬로건 영역" />
13+
14+
<section className="grid w-full max-w-300 grid-cols-1 gap-6 xl:grid-cols-3">
15+
<BannerCard
16+
title={
17+
<>
18+
중고 전자기기
19+
<br />
20+
구매하기
21+
</>
22+
}
23+
description="합리적인 매물을 찾아보세요."
24+
imageSrc={ShoppingIcon}
25+
onClick={() => navigate(ROUTES.BUY, { viewTransition: true })}
26+
/>
27+
<BannerCard
28+
title={
29+
<>
30+
중고 전자기기
31+
<br />
32+
판매하기
33+
</>
34+
}
35+
description="사용하지 않는 기기를 판매해보세요."
36+
imageSrc={SellIcon}
37+
onClick={() => navigate(ROUTES.SELL, { viewTransition: true })}
38+
/>
39+
<BannerCard
40+
title={
41+
<>
42+
근처
43+
<br />
44+
수리점 찾기
45+
</>
46+
}
47+
description="가까운 수리점을 찾아드려요."
48+
imageSrc={GearIcon}
49+
onClick={() => navigate(ROUTES.REPAIR, { viewTransition: true })}
50+
/>
51+
</section>
52+
<ChatbotFloatingButton
53+
className="fixed right-4 bottom-4"
54+
onClick={() => navigate(ROUTES.CHATBOT, { viewTransition: true })}
55+
/>
656
</main>
757
);
858
}

0 commit comments

Comments
 (0)