사용자 화면 · 마켓 / 판매등록
MKT-010 · 2026. 03. 19
| 0 | 화면 접근 조건 |
|
| 1 | 작품 정보 입력 화면 |
|
| 2 | 작품 구매 정보 입력 화면 |
|
| 3 | 희망 가격, 작품 설명 화면 |
|
| 4 | 작품 사이즈 (아트토이, 기타) |
|
| 5 | 토스트 메시지 정의 |
|
| 6 | 공통 규칙 |
|
Design Output
위 스토리보드 기획을 CHAART OS 디자인 토큰으로 변환한 결과물. 실제 구현 시 참조할 최종 디자인.
Step 1 / 2 — 작품 정보
이전 단계에서 업로드한
작품 이미지 4장
작품명 *
제작연도 *
카테고리 *
작품 재료
작품 사이즈
작가 서명
컨디션 (상태)
프레임 (액자)
Step 2 / 2 — 가격 · 설명
원화 · 2024 · 72×60cm
희망 판매 가격 *
작품 설명
작품 설명이 자세할수록 많은 관심을 받아요
Update History
1. 화면 구조 개요
var(--bg) #FAFAF82. 레이어 구조 + 치수
| # | 영역 | 높이 / 위치 | 스타일 상세 |
|---|---|---|---|
| 1 | Status Bar | 44px, top:0 | iOS 시스템 상태바 |
| 2 | 헤더 | 48px | bg: var(--bg) #FAFAF8, padding:0 24px, position:relative, justify-content:center. 좌측 뒤로가기 chevron(10×18 SVG, stroke var(--charcoal) #1A1A1A 1.5px square/miter, left:24px). 중앙 "마켓 - 판매 등록" font: var(--sans) Pretendard 17px/700 ls:-0.02em. 우측 "취소" 13px/500 ls:-0.01em |
| 2-1 | 스텝 인디케이터 | padding:16px 24px 4px | 2단 프로그레스 바(flex gap:8px, height:2px). 활성=var(--charcoal), 미진행=var(--alpha-8). 아래 모노 라벨 "STEP N/2" var(--mono) 12px ls:var(--ls-wide) |
| 2-2 | 작품 프리뷰 (Step 1) | padding:0 24px, mb:24px | 이전 단계 업로드 이미지 썸네일 72×72px 3개 + 잔여 카운터. flex gap:8px, border-bottom:1px solid var(--alpha-8), pb:20px. 작품 주인공 영역 |
| 2-3 | 작품 요약 카드 (Step 2) | padding:0 24px, mb:24px | 썸네일 `var(--size-lg-height)` 48px + 작품명/메타 텍스트. bg:var(--alpha-4), border-left:2px solid var(--charcoal), padding:12px. Step 1 입력 정보 실시간 반영 |
| 3 | 폼 입력 영역 | flex:1, padding:0 24px 0 | 스텝별 교체, 스크롤 가능(overflow-y:auto). Step 1: 8개 필드, Step 2: 희망 가격 + 작품 설명 |
| 4 | 하단 버튼 영역 | position:absolute bottom:40px, padding:0 24px | display:flex gap:12px. 각 flex:1 height:50px, font: var(--sans) 15px/600 ls:-0.01em, R=0. Step 1: "이전"/"다음", Step 2: "이전"/"완료" |
| 5 | Home Indicator | 하단 34px | 120×5px bar, var(--charcoal), border-radius:5px |
3. 핵심 인터랙션
3-1. Step 1 — 작품 기본정보 (Phone 1, 8개 필드)
var(--sans) 13px/600 color:var(--charcoal) #1A1A1A ls:-0.01em, mb:8px. Placeholder: font: var(--sans) 14px/400 color:var(--text-muted) #888888 ls:-0.005emvar(--red-brand) #961E23 — 작품명, 제작연도, 카테고리에 적용var(--mono) TASA Orbiter "YYYY" ls:0.04em, 필수(*)var(--text-muted) 1.5px square/miter, justify-content:space-between, 필수(*). 카테고리 선택에 따라 사이즈 입력 필드 변경:var(--text-muted) 1.5px square, vertical-align:middle) — 클릭 시 토스트 메시지 노출3-2. 구매정보 — 삭제된 단계
3-3. Step 2 — 희망 가격 + 작품 설명 (Phone 3)
var(--sans) 14px. 라벨 옆 info 아이콘(SVG 14×14, circle+i, stroke:var(--text-muted) 1.5px square, vertical-align:middle) — 클릭 시 가격 입력 기준 토스트 노출. mb:28pxvar(--sans) 13px color:var(--text-muted) ls:-0.005em line-height:1.7. 선택 사항, 글자 수 제한 정책에 따라 적용 가능var(--sans) 12px color:var(--text-muted) ls:-0.005em line-height:1.64. 상태 변화
var(--charcoal) #1A1A1A, 15px/600var(--cta-gradient) linear-gradient(135deg, #961E23 0%, #B22A30 50%, #961E23 100%), color: #fffvar(--cta-gradient), color: #fffvar(--red-brand) #961E23, 하단 에러 메시지 "필수 항목입니다" 12px color:var(--red-brand)5. 네비게이션 플로우
6. 에러 / 예외 처리
var(--color-error-toast), color: #fff, 2.5초 자동 dismiss7. 모션 스펙
| 대상 | duration | easing | property |
|---|---|---|---|
| 스텝 전환 (1↔2) | 300ms | var(--ease-material) cubic-bezier(0.4,0,0.2,1) | opacity, transform(translateX) |
| 입력 필드 focus | 200ms | var(--ease-decelerate) | border-color |
| 버튼 활성화 전환 | 200ms | var(--ease-decelerate) | opacity, background |
| 토스트 등장/퇴장 | 300ms / 250ms | var(--ease-decelerate) / var(--ease-accelerate) | opacity, translateY |
8. 여백 · 간격 요약
| 위치 | 값 | 비고 |
|---|---|---|
| 좌우 패딩 | 24px | 헤더 + 콘텐츠 + 버튼 공통 |
| 스텝 인디케이터 상단 | 16px | padding-top, 헤더 아래 |
| 프리뷰 → 폼 간격 | 24px | margin-bottom on preview section |
| 필드 간격 | 22px | margin-bottom on each field wrapper |
| 라벨 → 입력 필드 | 8px | 라벨 margin-bottom |
| 입력 필드 높이 | 40px | border-bottom 1px solid rgba(26,26,26,0.12) |
| 사이즈 필드 gap | 12px | 가로/세로 2열 flex gap |
| 희망 가격 → 설명 간격 | 28px | Step 2 가격 margin-bottom |
| Textarea 높이 | 200px | border 1px solid rgba(26,26,26,0.1), padding:14px |
| 버튼 간 gap | 12px | 이전/다음(완료) 사이 |
| 버튼 높이 | 50px | flex:1 동일 너비 |
| 버튼 영역 bottom | 40px | position:absolute bottom |
9. 적용 디자인 토큰
--charcoal, 미진행 --alpha-8. 라벨 --mono 12px ls:--ls-wide color:--text-muted--alpha-4, 이미지 placeholder SVG stroke:--text-muted 1px. 잔여 카운터 --mono 12px. 하단 border --alpha-8--alpha-4, border-left 2px --charcoal, padding:12px. 썸네일 `var(--size-lg-height)` 48px bg:--alpha-8. 작품명 --sans 13px/600, 메타 --sans 12px --text-muted--bg → #FAFAF8--sans Pretendard · 17px · 700 · ls:-0.02em → --charcoal #1A1A1A--sans · 13px · 500 · ls:-0.01em → --charcoal--charcoal 1.5px, square/miter, left:24px--sans · 13px · 600 · ls:-0.01em → --charcoal, mb:8px--red-brand → #961E23--sans 14px → 직각(R=0)--text-muted → #888888, 14px--text-muted 1.5px, square/miter--text-muted 1.5px square, vertical-align:middle--sans · 13px, border rgba(26,26,26,0.1), padding:14px, height:200px, R=0--charcoal, 50px height, --sans 15px/600, R=0--cta-gradient linear-gradient(135deg, #961E23 0%, #B22A30 50%, #961E23 100%), color #fff, 50px, R=0--charcoal, border-radius:5px