- © 2026 Startover. All rights reserved.
+
+ © 2026 STARTOVER · ALL RIGHTS RESERVED
);
@@ -165,6 +227,7 @@ export default function RootLayout({
return (
+
-
+
{children}
+
);
diff --git a/apps/web/src/app/page.tsx b/apps/web/src/app/page.tsx
index ec2478e..86969da 100644
--- a/apps/web/src/app/page.tsx
+++ b/apps/web/src/app/page.tsx
@@ -21,15 +21,16 @@ const PROCESS_STEPS = [
];
const STATS = [
- { value: '1회', label: '매장 등록으로', sub: '인수자·철거·인테리어 동시 매칭' },
- { value: '7개', label: '업종 대분류', sub: '49개 소분류까지 세분화' },
- { value: '2~4주', label: '평균 매칭 기간', sub: '운영팀 검수 포함' },
- { value: '에스크로', label: '단계별 정산', sub: '사전·중간·최종 검수 후 해제' },
+ { value: '128', unit: '건', label: '누적 매장 등록', sub: '인수자·철거·인테리어 동시 매칭' },
+ { value: '7', unit: '개', label: '업종 대분류', sub: '49개 소분류까지 세분화' },
+ { value: '2–4', unit: '주', label: '평균 매칭 기간', sub: '운영팀 검수 포함' },
+ { value: '3', unit: '단계', label: '에스크로 정산', sub: '사전·중간·최종 검수' },
];
const BENEFITS = [
{
label: '매도인',
+ english: 'for sellers',
title: '깔끔한 마무리',
points: [
'매장 한 번 등록으로 인수자·철거업체 동시 매칭',
@@ -39,6 +40,7 @@ const BENEFITS = [
},
{
label: '매수인',
+ english: 'for founders',
title: '검증된 시작',
points: [
'운영팀 검수를 통과한 매물만 공개',
@@ -48,6 +50,7 @@ const BENEFITS = [
},
{
label: '업체',
+ english: 'for partners',
title: '안정적 수주',
points: [
'인증 통과 후 지역·업종 맞춤 안건이 자동 전달',
@@ -72,310 +75,379 @@ const FAQ_PREVIEW = [
},
];
-const FEATURES = [
- {
- label: '폐업자',
- title: '깔끔한 마무리,\n새로운 시작',
- desc: '매장 정보를 등록하면 철거비 절감, 시설 처분, 지원금 신청까지 한 번에 해결됩니다.',
- href: '/stores/new',
- cta: '매장 등록',
- accent: 'bg-warm-500',
- num: '01',
- },
- {
- label: '창업자',
- title: '검증된 매장,\n합리적 시작',
- desc: '검증된 매장을 검색하고 매칭 요청을 보내 시설 인수와 인테리어 비용을 절감하세요.',
- href: '/stores',
- cta: '매장 검색',
- accent: 'bg-sage-500',
- num: '02',
- },
- {
- label: '철거·인테리어 업체',
- title: '안정적 수주,\n정확한 정산',
- desc: '인증 업체로 등록하면 안정적인 수주와 정산을 보장받을 수 있습니다.',
- href: '/vendors',
- cta: '업체 인증',
- accent: 'bg-warm-700',
- num: '03',
- },
-];
-
-const SERVICES = [
- {
- title: '정부 지원금 가이드',
- desc: '폐업 관련 정부 지원금 자격을 확인하고, 체크리스트와 서류 준비를 도와드립니다.',
- href: '/subsidies',
- cta: '지원금 확인',
- icon: (
-
- ),
- },
- {
- title: '안전한 거래',
- desc: '표준 계약서, 에스크로 결제, 검수 승인 시스템으로 안전한 거래를 보장합니다.',
- href: '/contracts',
- cta: '계약 관리',
- icon: (
-
- ),
- },
+const MARQUEE_ITEMS = [
+ '매장 한 번 등록',
+ '인수자 · 철거 · 인테리어 동시 매칭',
+ '에스크로 단계별 정산',
+ '희망리턴패키지 자격 자동 조회',
+ '7개 업종 · 49개 소분류 지원',
+ '운영팀 검수 통과 매물만 공개',
+ '권리금 회수기간 자동 계산',
];
export default function HomePage() {
const latestPosts = getPostsSortedByDate().slice(0, 4);
return (
-
- {/* Gradient Mesh Background */}
-
-
- {/* Hero Section */}
-
-
- {/* Main headline — editorial style, large serif */}
-
-
- 폐업 · 양도 · 창업을 잇다
-
-
- Start
-
- over
-
-
-
-
- 매장 정보 1회 등록으로
-
- 창업자 · 철거업체 · 인테리어업체를 동시에 연결합니다.
-
-
-
- {/* CTA buttons — offset right for asymmetry */}
-
-
- 매장 둘러보기
-
- →
-
-
-
- 매장 등록하기
-
+
+ {/* ==========================================================
+ * MOBILE APP-STYLE QUICK ACCESS (visible only on small screens)
+ * - 매장 검색: 큰 박스 (primary)
+ * - 매장 등록: 작은 박스 (soft)
+ * - 매칭 / 지원금: 컴팩트 타일
+ * ========================================================== */}
+
+
+
S
+
+
START OVER
+
폐업 · 양도 · 창업을 잇다
- {/* Decorative divider */}
-
-
-
- 누구를 위한 서비스인가요
-
-
+
+ {/* 매장 검색 — 큰 박스 (2×2) */}
+
+
+
SEARCH
+
+ 매장 검색
+
+
+ 검증된 매물을 지역·업종·권리금으로 찾아보세요
+
+
+
+ 128건 공개
+ →
+
+
+
+ {/* 매장 등록 — 작은 박스 */}
+
+
+
3분이면 완료 →
+
+
+ {/* 매칭 */}
+
+
+
→
+
+
+
+
+ {[
+ { href: '/subsidies', label: '지원금', emoji: '💰' },
+ { href: '/vendors', label: '업체', emoji: '🛠' },
+ { href: '/blog', label: '가이드', emoji: '📖' },
+ { href: '/faq', label: 'FAQ', emoji: '💬' },
+ ].map((q) => (
+
+ {q.emoji}
+ {q.label}
+
+ ))}
- {/* Feature Cards — asymmetric grid */}
-
+ {/* ==========================================================
+ * HERO (desktop focus, mobile still shows it below quick-access)
+ * ========================================================== */}
+
+
+
+
+
+
+
+
+ 폐업 · 양도 · 창업을 잇다
+
+
+
+ Start
+ over
+ .
+
+
+
+ 매장 한 번 등록으로
+ 창업자 · 철거 · 인테리어 업체를 동시에 연결하고,
+ 정부 지원금 신청까지 한 흐름으로 이어드립니다.
+
+
+
+
+ 매장 둘러보기
+ →
+
+
+ 매장 등록
+ →
+
+
+
+
+ {[
+ { k: '업종', v: '7개 대분류' },
+ { k: '세분류', v: '49개' },
+ { k: '정산', v: '에스크로 3단계' },
+ { k: '지원금', v: '자격 자동 조회' },
+ ].map((p) => (
+
+ {p.k}
+ {p.v}
+
+ ))}
+
+
+
+
+ {/* ==========================================================
+ * MARQUEE
+ * ========================================================== */}
+
+
+
+ {[...MARQUEE_ITEMS, ...MARQUEE_ITEMS].map((item, i) => (
+
+ {item}
+
+
+ ))}
+
+
+
+
+ {/* ==========================================================
+ * FOR WHO — 3 role cards (desktop primary)
+ * ========================================================== */}
+
+
+
+
+ ◆ 01 · For Who
+
+
+ 누구를 위한
+
+ 서비스인가요
+
+
+
+ 폐업자 · 창업자 · 업체 — 매장 거래의 세 주체가 한 플랫폼에서
+ 안전하게 연결됩니다.
+
+
+
- {FEATURES.map((f, i) => (
+ {[
+ { label: '폐업자', english: 'Closing owners', title: '깔끔한 마무리,\n새로운 시작', desc: '매장 정보를 등록하면 철거비 절감, 시설 처분, 지원금 신청까지 한 번에 해결됩니다.', href: '/stores/new', cta: '매장 등록', num: '01' },
+ { label: '창업자', english: 'Founders', title: '검증된 매장,\n합리적 시작', desc: '검증된 매장을 검색하고 매칭 요청을 보내 시설 인수와 인테리어 비용을 절감하세요.', href: '/stores', cta: '매장 검색', num: '02' },
+ { label: '철거·인테리어 업체', english: 'Partners', title: '안정적 수주,\n정확한 정산', desc: '인증 업체로 등록하면 안정적인 수주와 정산을 보장받을 수 있습니다.', href: '/vendors', cta: '업체 인증', num: '03' },
+ ].map((f) => (
- {/* Number accent */}
-
- {f.num}
-
-
- {/* Accent bar */}
-
-
-
- {f.label}
+
+
{f.english}
+
+ {f.num}
+ {f.label}
-
- {f.title}
-
-
- {f.desc}
-
-
-
- {f.cta}
-
- →
-
+ {f.title}
+ {f.desc}
+
+ {f.cta}→
))}
- {/* Services section */}
-
-
- {SERVICES.map((s, i) => (
-
-
- {s.icon}
+ {/* ==========================================================
+ * PROCESS
+ * ========================================================== */}
+
+
+
+
+
+
+ ◆ 02 · Process
+
+
+ 매장 한 번,
+
+ 세 단계로 완료
+
+
+ 인수 · 양도 · 철거 · 인테리어 · 지원금까지 흩어진 절차를
+ 하나의 흐름으로 묶었습니다.
+
+
+
+
+ {PROCESS_STEPS.map((step, i) => (
+
+ {i < PROCESS_STEPS.length - 1 && (
+
+ )}
+
+
+
+ {step.num}
+
+
{step.title}
+
+
{step.desc}
+
-
-
- {s.title}
-
-
- {s.desc}
-
-
- {s.cta}
-
- →
-
-
-
-
- ))}
+ ))}
+
- {/* Stats band */}
-
-
+ {/* ==========================================================
+ * STATS
+ * ========================================================== */}
+
+
+
+ ◆ 03 · Numbers
+
+
+ 숫자로 보는 startover
+
+
+
{STATS.map((s) => (
-
-
{s.value}
-
{s.label}
+
+
+ {s.value}
+ {s.unit}
+
+
{s.label}
{s.sub}
))}
- {/* How it works */}
-
-
-
How it works
-
- 매장 한 번 등록, 세 단계로 완료
-
-
- 인수·양도·철거·인테리어·지원금까지 흩어진 절차를 하나의 흐름으로 묶었습니다
-
-
-
- {PROCESS_STEPS.map((step) => (
-
-
{step.num}
-
{step.title}
-
{step.desc}
-
- ))}
-
-
-
- {/* Industry categories showcase */}
-
-
-
+ {/* ==========================================================
+ * CATEGORIES
+ * ========================================================== */}
+
+
+
+
-
Categories
-
지원 업종
-
- 휴게음식점부터 기타업종까지 7개 대분류, 49개 소분류를 지원합니다
+
+ ◆ 04 · Categories
+
+
+ 지원 업종
+
+
+ 휴게음식점부터 기타업종까지 7개 대분류,
+ 49개 소분류를 지원합니다.
- 전체 매장 보기 →
+ 전체 매장 보기
→
-
+
{INDUSTRY_MAJORS.map((m) => (
-
{m.label}
-
{m.children.length}개 소분류
+
+ {m.label}
+
+
+ {m.children.length} sub
+
))}
- {/* Benefits for three roles */}
-
-
-
Benefits
-
- 각자에게 필요한 혜택
+ {/* ==========================================================
+ * BENEFITS
+ * ========================================================== */}
+
+
+
+ ◆ 05 · Benefits
+
+
+ 각자에게 필요한
+
+ 혜택
{BENEFITS.map((b) => (
-
-
{b.label}
-
{b.title}
-
+
+
+
{b.english}
+
{b.label}
+
{b.title}
+
{b.points.map((p) => (
- -
-
+
-
+
{p}
))}
@@ -385,105 +457,128 @@ export default function HomePage() {
- {/* Latest blog posts */}
-
-
-
-
-
Journal
-
실무 가이드
-
- 폐업 절차, 지원금 신청, 상권 분석 — 현장에서 자주 묻는 질문을 글로 정리합니다
-
-
-
- 블로그 전체 보기 →
-
+ {/* ==========================================================
+ * BLOG
+ * ========================================================== */}
+
+
+
+
+ ◆ 06 · Journal
+
+
+ 실무 가이드
+
+
+ 폐업 절차, 지원금 신청, 상권 분석 — 현장에서 자주 묻는
+ 질문을 글로 정리합니다.
+
-
- {latestPosts.map((post) => (
-
-
- {post.category}
-
-
- {post.title}
-
-
- {post.description}
-
-
- {post.publishedAt} · {post.readMinutes}분 읽기
-
-
- ))}
-
-
-
-
- {/* FAQ preview */}
-
-
-
- {FAQ_PREVIEW.map((f, i) => (
-
-
- {f.q}
-
- +
-
-
- {f.a}
-
- ))}
-
-
- 전체 FAQ 보기
- →
+ 블로그 전체 보기 →
+
+ {latestPosts.map((post) => (
+
+
+ {post.category}
+
+
+ {post.title}
+
+
+ {post.description}
+
+
+ {post.publishedAt} · {post.readMinutes}min
+
+
+ ))}
+
- {/* Final CTA */}
-
-
-
- 지금 매장을 등록하거나 둘러보세요
-
-
- 한 번의 등록으로 인수자, 철거업체, 인테리어업체, 지원금까지 연결됩니다
-
-
+ {/* ==========================================================
+ * FAQ
+ * ========================================================== */}
+
+
+
+
+
+ ◆ 07 · FAQ
+
+
+ 자주 묻는 질문
+
+
+
+ {FAQ_PREVIEW.map((f, i) => (
+
+
+ {f.q}
+ +
+
+ {f.a}
+
+ ))}
+
+
- 매장 등록
+ 전체 FAQ 보기 →
-
- 매장 둘러보기
+
+
+
+
+ {/* ==========================================================
+ * FINAL CTA
+ * ========================================================== */}
+
+
+
+
+
+
Get started
+
+ 지금,
+ 새로 시작하세요
+
+
+ 한 번의 등록으로 인수자 · 철거 · 인테리어 · 지원금까지.
+
+ 흩어진 절차를 한 흐름으로 정돈합니다.
+
+
+
+ 매장 등록 →
+
+
+ 매장 둘러보기 →
diff --git a/apps/web/src/app/stores/[id]/page.tsx b/apps/web/src/app/stores/[id]/page.tsx
index 3d33970..508d5c7 100644
--- a/apps/web/src/app/stores/[id]/page.tsx
+++ b/apps/web/src/app/stores/[id]/page.tsx
@@ -46,7 +46,6 @@ async function handleDeleteDraft(formData: FormData) {
function formatKRW(value: number | null | undefined): string {
if (value == null) return '-';
- // DB는 원 단위 → 표시는 만원/억 단위로
const won = Number(value);
if (won === 0) return '0원';
const eok = Math.floor(won / 100_000_000);
@@ -70,6 +69,15 @@ function formatPaybackMonths(premium?: number | null, profit?: number | null): s
return `${months.toFixed(1)}개월`;
}
+const STATUS_META: Record = {
+ OPEN: { label: '거래 가능', bg: '#03C75A', fg: '#ffffff' },
+ MATCHING: { label: '매칭 중', bg: '#00C4A7', fg: '#ffffff' },
+ RESERVED: { label: '예약', bg: '#84E1A1', fg: '#0F1D17' },
+ CONTRACTED: { label: '계약 진행 중', bg: '#0AB070', fg: '#ffffff' },
+ CLOSED: { label: '거래 완료', bg: '#7B8581', fg: '#ffffff' },
+ CANCELLED: { label: '취소', bg: '#E4E8E6', fg: '#0F1D17' },
+};
+
export default async function StoreDetailPage({ params }: { params: Promise<{ id: string }> }) {
const { id } = await params;
const prisma = createPrismaClient();
@@ -94,21 +102,7 @@ export default async function StoreDetailPage({ params }: { params: Promise<{ id
notFound();
}
- const statusLabel =
- store.dealStatus === 'OPEN'
- ? '거래 가능'
- : store.dealStatus === 'MATCHING'
- ? '매칭 중'
- : store.dealStatus === 'CONTRACTED'
- ? '계약 진행 중'
- : store.dealStatus;
-
- const statusClass =
- store.dealStatus === 'OPEN'
- ? 'bg-sage-500/10 text-sage-600'
- : store.dealStatus === 'MATCHING'
- ? 'bg-warm-400/15 text-warm-700'
- : 'bg-ink/5 text-ink-muted';
+ const status = STATUS_META[store.dealStatus] ?? { label: store.dealStatus, bg: '#E4E8E6', fg: '#0F1D17' };
const industryLabel = [
store.industryLeaf?.parent?.nameKo,
@@ -122,281 +116,312 @@ export default async function StoreDetailPage({ params }: { params: Promise<{ id
const profit = store.sale?.monthlyProfitAmount ?? null;
const startup = store.sale?.startupCostAmount ?? null;
- return (
-
-
-
- ← 매장 목록으로
-
-
+ const heroPhoto = store.photos.find((p) => p.isRepresentative) ?? store.photos[0] ?? null;
+ const restPhotos = store.photos.filter((p) => p.id !== heroPhoto?.id).slice(0, 8);
-
-
-
-
{store.listingTitle}
-
매장 ID: {store.publicId}
-
-
- {statusLabel}
+ return (
+
+ {/* ========================================================== *
+ * PHOTO HERO (mobile first — 직방/다방 style)
+ * ========================================================== */}
+
+
+ {heroPhoto ? (
+ /* eslint-disable-next-line @next/next/no-img-element */
+

+ ) : (
+
+ 사진 준비 중
+
+ )}
+
+ {status.label}
+
+ ×
+
+ {store.photos.length > 0 && (
+
+ 📷 {store.photos.length}
+
+ )}
- {/* 기본 정보 */}
-
-
- {/* 매매 정보 */}
-
- 매매 정보
-
- {/* 핵심 지표 (첫번째 캡쳐) */}
-
-
-
-
-
-
-
-
-
- {/* 매물설명 + 매장사진 (두번째 캡쳐) */}
- {(store.sale?.listingDescription || store.photos.length > 0) && (
-
-
매물 설명
- {store.sale?.listingDescription ? (
-
- {store.sale.listingDescription}
-
- ) : (
-
설명이 등록되지 않았습니다
- )}
-
- {store.photos[0] && (
-
- {/* eslint-disable-next-line @next/next/no-img-element */}
-

-
- )}
-
- )}
-
- {/* 매출/월수익 */}
- {(sales != null || profit != null) && (
-
-
매출 / 월수익
-
-
-
-
-
-
+ {/* Thumbnail strip (photos 2..9) */}
+ {restPhotos.length > 0 && (
+
+ {restPhotos.map((photo) => (
+
+ {/* eslint-disable-next-line @next/next/no-img-element */}
+
-
+ ))}
+
+ )}
+
+
+ {/* ========================================================== *
+ * SUMMARY BAR (price, status, title)
+ * ========================================================== */}
+
+
+ {store.regionCluster?.nameKo ?? '-'}
+ {industryLabel ? ` · ${industryLabel}` : ''}
+
+
+ {store.listingTitle}
+
+
+
+
+
+
+
+
+
+
+ {/* ========================================================== *
+ * BODY
+ * ========================================================== */}
+
+
+ {/* 매물 설명 */}
+ {store.sale?.listingDescription && (
+
+
+ {store.sale.listingDescription}
+
+
)}
- {/* 입지특징 */}
+ {/* 입지 특징 */}
{store.sale?.locationHighlight && (
-
-
입지 특징
-
+
+
{store.sale.locationHighlight}
-
+
)}
- {/* 매매사유 */}
+ {/* 매매 사유 */}
{store.sale?.saleReason && (
-
-
매매 사유
-
+
+
{store.sale.saleReason}
-
+
)}
- {/* 현장사진 (대표 사진 제외한 나머지) */}
- {store.photos.length > 1 && (
-
-
현장 사진
-
- {store.photos.slice(1).map((photo) => (
-
- {/* eslint-disable-next-line @next/next/no-img-element */}
-

-
- ))}
+ {/* 시설 정보 */}
+
+
+
+
+
+ {store.facility?.kitchenEquipmentSummary && (
+
+
시설 설명
+
{store.facility.kitchenEquipmentSummary}
+
+ )}
+
+
+
+ {/* Sticky sidebar */}
+
+
);
}
-function InfoItem({ label, value }: { label: string; value: string }) {
+function KpiTile({ label, value, accent }: { label: string; value: string; accent?: boolean }) {
return (
-
- );
-}
-
-function BigInfoItem({ label, value, accent }: { label: string; value: string; accent?: boolean }) {
- return (
-
-
{label}
+
);
}
+
+function SectionCard({ title, children }: { title: string; children: React.ReactNode }) {
+ return (
+
+ );
+}
+
+function InfoItem({ label, value }: { label: string; value: string }) {
+ return (
+
+ );
+}
+
+function RowInfo({ label, value }: { label: string; value: string }) {
+ return (
+
+ {label}
+ {value}
+
+ );
+}
diff --git a/apps/web/src/app/stores/page.tsx b/apps/web/src/app/stores/page.tsx
index 2f81c5d..fdf1899 100644
--- a/apps/web/src/app/stores/page.tsx
+++ b/apps/web/src/app/stores/page.tsx
@@ -19,6 +19,15 @@ function formatKRWShort(value: number | null | undefined): string {
return `${v.toLocaleString('ko-KR')}원`;
}
+const STATUS_META: Record
= {
+ OPEN: { label: '거래 가능', bg: '#03C75A', fg: '#ffffff' },
+ MATCHING: { label: '매칭 중', bg: '#00C4A7', fg: '#ffffff' },
+ RESERVED: { label: '예약', bg: '#84E1A1', fg: '#0F1D17' },
+ CONTRACTED: { label: '계약 진행 중', bg: '#0AB070', fg: '#ffffff' },
+ CLOSED: { label: '거래 완료', bg: '#7B8581', fg: '#ffffff' },
+ CANCELLED: { label: '취소', bg: '#E4E8E6', fg: '#0F1D17' },
+};
+
export default async function StoresPage({
searchParams,
}: {
@@ -68,18 +77,25 @@ export default async function StoresPage({
return (
-
+
-
매장 검색
+
+ ◆ Store · Marketplace
+
+
매장 검색
- 공개된 매장을 검색하고 매칭 요청을 보내보세요
+ 공개된 매물 {stores.length.toLocaleString('ko-KR')}건 · 운영팀 검수를 통과한 매장만 노출됩니다
- 매장 등록
+ 매장 등록 →
@@ -90,12 +106,13 @@ export default async function StoresPage({
{stores.length === 0 ? (
- 등록된 매장이 없습니다
+ 조건에 맞는 매장이 없습니다
) : (
stores.map((store) => {
const premium = store.sale?.premiumAmount ?? store.lease?.premiumAmount ?? null;
const profit = store.sale?.monthlyProfitAmount ?? null;
+ const sales = store.sale?.monthlySalesAmount ?? null;
const industryLabel = [
store.industryLeaf?.parent?.nameKo,
store.industryLeaf?.nameKo,
@@ -103,21 +120,23 @@ export default async function StoresPage({
.filter(Boolean)
.join('/');
const photoSrc = store.photos[0]?.storageKey ?? null;
+ const meta = STATUS_META[store.dealStatus] ?? { label: store.dealStatus, bg: '#E4E8E6', fg: '#0F1D17' };
+ const isClosed = store.dealStatus === 'CLOSED';
return (
- {/* 사진 영역 */}
-
+
{photoSrc ? (
- // eslint-disable-next-line @next/next/no-img-element
+ /* eslint-disable-next-line @next/next/no-img-element */

) : (
@@ -125,23 +144,13 @@ export default async function StoresPage({
)}
- {store.dealStatus === 'OPEN'
- ? '거래 가능'
- : store.dealStatus === 'MATCHING'
- ? '매칭 중'
- : store.dealStatus}
+ {meta.label}
- {/* 정보 영역 */}
{store.regionCluster?.nameKo ?? '-'}
@@ -150,10 +159,10 @@ export default async function StoresPage({
{store.listingTitle}
-
+
권리금
-
+
{formatKRWShort(premium != null ? Number(premium) : null)}
@@ -163,6 +172,12 @@ export default async function StoresPage({
{formatKRWShort(profit != null ? Number(profit) : null)}
+
+ 월매출
+
+ {formatKRWShort(sales != null ? Number(sales) : null)}
+
+
@@ -171,7 +186,7 @@ export default async function StoresPage({
)}
-
+
매출·수익 정보는 매도인이 제공한 자료이며 법적 근거로 사용될 수 없습니다
diff --git a/apps/web/src/app/stores/store-filters.tsx b/apps/web/src/app/stores/store-filters.tsx
index dd497d8..fc92829 100644
--- a/apps/web/src/app/stores/store-filters.tsx
+++ b/apps/web/src/app/stores/store-filters.tsx
@@ -15,6 +15,7 @@ const STATUS_OPTIONS = [
{ value: 'OPEN', label: '거래 가능' },
{ value: 'MATCHING', label: '매칭 중' },
{ value: 'CONTRACTED', label: '계약 진행 중' },
+ { value: 'CLOSED', label: '거래 완료' },
];
export function StoreFilters() {
@@ -46,15 +47,21 @@ export function StoreFilters() {
[router],
);
+ const selectCls =
+ 'rounded-xl border px-4 py-3 text-sm text-ink bg-white focus:outline-none focus:border-[#03C75A] focus:ring-2 focus:ring-[#03C75A]/20';
+ const borderStyle = { borderColor: '#E4E8E6' } as const;
+
return (