From ca40745100631c675c8a282e9c331c0ff82347a5 Mon Sep 17 00:00:00 2001 From: Wonjun Jung Date: Fri, 30 Jan 2026 20:07:19 +0900 Subject: [PATCH 01/21] =?UTF-8?q?feat:=20=EC=88=98=EB=A6=AC=EC=A0=90=20?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=20=EB=9D=BC=EC=9A=B0=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/routes.ts | 1 + src/app/routes/(main)/repair.tsx | 3 +++ 2 files changed, 4 insertions(+) create mode 100644 src/app/routes/(main)/repair.tsx diff --git a/src/app/routes.ts b/src/app/routes.ts index 76e6b905..b057bbea 100644 --- a/src/app/routes.ts +++ b/src/app/routes.ts @@ -7,6 +7,7 @@ export default [ index('routes/(main)/_index.tsx'), route('sell', 'routes/(main)/sell.tsx'), route('sell/confirm', 'routes/(main)/sell.confirm.tsx'), + route('repair', 'routes/(main)/repair.tsx'), route('mypage', 'routes/(main)/mypage.tsx'), route('mypage/settings', 'routes/(main)/mypage.settings.tsx'), route('mypage/profile', 'routes/(main)/mypage.profile.tsx'), diff --git a/src/app/routes/(main)/repair.tsx b/src/app/routes/(main)/repair.tsx new file mode 100644 index 00000000..59d89fd7 --- /dev/null +++ b/src/app/routes/(main)/repair.tsx @@ -0,0 +1,3 @@ +import { RepairPage } from '@pages/repair'; + +export default RepairPage; From db746fbc870981c1a96c9a4564dc6d0a381befd4 Mon Sep 17 00:00:00 2001 From: Wonjun Jung Date: Fri, 30 Jan 2026 20:08:48 +0900 Subject: [PATCH 02/21] =?UTF-8?q?feat:=ED=97=A4=EB=8D=94,=20=EC=A7=80?= =?UTF-8?q?=EB=8F=84=20=EC=84=B9=EC=85=98,=20=EC=88=98=EB=A6=AC=EC=A0=90?= =?UTF-8?q?=20=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/repair/index.ts | 1 + src/pages/repair/ui/RepairPage.tsx | 45 ++++++++++++++++++++++ src/pages/repair/ui/RepairShopCard.tsx | 53 ++++++++++++++++++++++++++ 3 files changed, 99 insertions(+) create mode 100644 src/pages/repair/index.ts create mode 100644 src/pages/repair/ui/RepairPage.tsx create mode 100644 src/pages/repair/ui/RepairShopCard.tsx diff --git a/src/pages/repair/index.ts b/src/pages/repair/index.ts new file mode 100644 index 00000000..f751eee0 --- /dev/null +++ b/src/pages/repair/index.ts @@ -0,0 +1 @@ +export { default as RepairPage } from './ui/RepairPage'; diff --git a/src/pages/repair/ui/RepairPage.tsx b/src/pages/repair/ui/RepairPage.tsx new file mode 100644 index 00000000..2754a1f4 --- /dev/null +++ b/src/pages/repair/ui/RepairPage.tsx @@ -0,0 +1,45 @@ +import { SearchBar } from '@shared/ui/SearchBar'; +import { RepairShopCard } from './RepairShopCard'; + +const SAMPLE_REPAIR_SHOPS = [ + { id: 'repair-1', name: '수리점 이름', address: 'ㅇㅇ시 ㅇㅇ구', favoriteActive: true }, + { id: 'repair-2', name: '수리점 이름', address: 'ㅇㅇ시 ㅇㅇ구', favoriteActive: false }, +] as const; + +export default function RepairPage() { + return ( +
+
+
+ {}} + /> +
+
+
+
+ + 총 {SAMPLE_REPAIR_SHOPS.length}개 + + +
+
+
+ {SAMPLE_REPAIR_SHOPS.map((shop) => ( + + ))}
+
+ ); +} diff --git a/src/pages/repair/ui/RepairShopCard.tsx b/src/pages/repair/ui/RepairShopCard.tsx new file mode 100644 index 00000000..b071d491 --- /dev/null +++ b/src/pages/repair/ui/RepairShopCard.tsx @@ -0,0 +1,53 @@ +import { Button } from '@shared/ui/Button/Button'; +import { FavoriteButton } from '@shared/ui/FavoriteButton'; + +export type RepairShopCardProps = { + name: string; + address: string; + favoriteActive?: boolean; + onContact?: () => void; + onFindRoute?: () => void; +}; + +export const RepairShopCard = ({ + name, + address, + favoriteActive = false, + onContact, + onFindRoute, +}: RepairShopCardProps) => { + return ( +
+
+ + {name} + + + {address} + +
+ +
+ +
+ + +
+
+
+ ); +}; From fe80206c54a62aef0088faed36d35962c5419274 Mon Sep 17 00:00:00 2001 From: Wonjun Jung Date: Fri, 30 Jan 2026 20:10:01 +0900 Subject: [PATCH 03/21] =?UTF-8?q?feat:=20=EC=84=9C=EC=B9=98=EB=B0=94=20?= =?UTF-8?q?=ED=81=AC=EA=B8=B0=20=EB=B3=80=EC=A3=BC=20=EA=B0=80=EB=8A=A5?= =?UTF-8?q?=ED=95=98=EA=B2=8C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/shared/ui/SearchBar/SearchBar.tsx | 5 +++-- src/shared/ui/SearchBar/SearchBar.variants.ts | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/shared/ui/SearchBar/SearchBar.tsx b/src/shared/ui/SearchBar/SearchBar.tsx index abcdf447..97de6d6f 100644 --- a/src/shared/ui/SearchBar/SearchBar.tsx +++ b/src/shared/ui/SearchBar/SearchBar.tsx @@ -7,9 +7,10 @@ export interface SearchBarProps { onSearch: (query: string) => void; value?: string; onChange?: (value: string) => void; + className?: string; } -export const SearchBar = ({ placeholder, onSearch, value, onChange }: SearchBarProps) => { +export const SearchBar = ({ placeholder, onSearch, value, onChange, className }: SearchBarProps) => { const [internalQuery, setInternalQuery] = useState(''); const [isFocused, setFocused] = useState(false); @@ -37,7 +38,7 @@ export const SearchBar = ({ placeholder, onSearch, value, onChange }: SearchBarP }; return ( - +