| # | 영역 | 필드 | 타입 | 옵션 값 / 제약사항 | 입력 예시 |
| 1 | 프로필 헤더 | 프로필 이미지 | image upload(크리에이터) | 정사각형 권장 400×400px, 5MB 이하, jpg/png/gif | "profile.png" |
| 1 | 프로필 헤더 | 한줄 메시지 | text | 최대 50자, 이모지 허용 | "매일 8시 방송해요!" |
| 1 | 프로필 헤더 | 연동 플랫폼 아이콘 | readonly(자동) | 대시보드에서 연결된 채널만 표시, 최대 5개: SOOP·치지직·YouTube·Twitch·아프리카 | YT, CZ 아이콘 2개 |
| 1 | 프로필 헤더 | 즐겨찾기 | toggle(도너 로그인 필요) | 비로그인 시 클릭하면 로그인 유도, 하트 채움(♥)/빈 상태(♡) 2단 | ♡ → ♥ |
| 1 | 프로필 헤더 | 칭호 / 받은후원내역 버튼 | link | 둘 다 도너 로그인 필요 — 비로그인 시 비활성(회색) | "칭호" 클릭 → /me/titles?creator=:slug |
| 1 | 프로필 헤더 | 시청모드(☰) | toggle | 채팅창 등 오버레이를 페이지 위에 겹쳐 보여주는 “방송 시청 레이아웃”으로 전환 — 기본 OFF | OFF |
| — | 탭별 랭킹 바로가기 | "OO 랭킹" 버튼 | button(탭에 따라 동적, 이 화면엔 미표시) | 퀘스트·럭키박스·플레이 탭 선택 시에만 노출(실계정 확인) — 클릭 시 §07 랭킹 화면으로 이동 | "퀘스트 랭킹" |
| 2 | 후원 방식 탭 | 탭 12종 | tab(단일 선택, 고정 라벨) | 시그니처(첫 탭 고정) · 텍스트 · 게임 · 음성 · 영상 · 룰렛 · 퀘스트 · 그림 · 기프트 · 럭키박스 · 플레이 · 뽑기 | "시그니처" 기본 선택 |
| 2 | 후원 방식 탭 | 시그니처·룰렛 탭 노출 조건 | readonly(시스템 계산) | 투네이션 실계정 검증값 — 크리에이터가 항목 1개 이상 등록해야 탭 노출. 통합안은 시그니처에 기본 항목 1개를 자동 생성해 항상 노출 | 룰렛 항목 0개 → 룰렛 탭 숨김 |
| 3 | 시그니처 선택 | 이름 검색 신규 | text | 시그니처명 부분일치, 입력 즉시(디바운스) 그리드 필터링, 1~20자 | "기타" 입력 → "기타레슨권" 등만 표시 |
| 3 | 시그니처 선택 | 금액 범위 필터 신규 | chip 단일선택(구간 고정 아님 — 동적 생성) | 고정 구간이 아니라 이 크리에이터가 등록한 시그니처들의 최저가~최고가를 자동으로 4구간 분할해 매 크리에이터마다 다르게 생성(옆 예시는 최저 3,000~최고 30,000 등록 기준). 등록 개수가 적어 구간이 고르지 않으면 가격 오름차순으로 개수를 균등 분배(4분위)해 구간 라벨 산출. 등록 시그니처가 3개 미만이거나 최저가=최고가면 필터 자체를 숨김. 검색어와는 AND 조건 | 최저 3,000·최고 30,000 등록 → "3천~1만/1~1.7만/1.7~2.3만/2.3~3만" 자동 생성 |
| 3 | 시그니처 선택 | 이미지 카드 그리드 | image(크리에이터 등록) + 단일 선택, 반응형 그리드 | 정사각형 권장, 카드 클릭 시 테두리 강조로 선택 전환(라디오와 동일 동작). 데스크톱 5열 · 태블릿(~980px) 3열 · 모바일(~640px) 2열, 최초 10개 노출 | "시그니처명 A" 카드 선택 |
| 3 | 시그니처 선택 | 가격 오버레이 | number(readonly, 크리에이터가 등록 시 설정) | 정수, 100 캐시 단위 권장(강제 아님), 상한 없음 | 5,000 / 10,000 / 20,000 |
| 3 | 시그니처 선택 | 더보기 버튼 | button(load more) | 등록 항목이 10개 초과일 때만 노출, 클릭 시 다음 10개를 그리드에 이어서 추가 로드(모달 대신 인라인 확장으로 변경 — 검색·필터와 같은 화면에서 바로 결과 확인) | "더보기" 클릭 → 다음 10개 추가 |
| 4 | 후원금액 | 금액 표시 | number(readonly) | 선택한 카드의 가격을 그대로 반영 — 시그니처는 고정가라 직접 수정 불가(일반 텍스트 탭은 자유 입력, 전역 하한 최소 100 캐시 — 음성·영상만 1,000으로 상향, acceptance DON-04) | "5,000 캐시" |
| 5 | 텍스트 내용 | 메시지 입력 | textarea(선택 입력) | 최대 30자(시그니처 탭 한정 — 일반 텍스트 탭은 120자, 실계정 확인값), 실시간 글자수 카운터, 줄바꿈 미허용 | "항상 응원합니다 화이팅!" (0/30 → 12/30) |
| — | CTA 버튼 | 후원하기 | button | 비로그인 시 "로그인하고 후원하기", 로그인 시 "후원하기"로 문구 전환. 클릭 시 결제수단 선택 단계로 이동 | "로그인하고 후원하기 →" |
| 탭별 고유 필드(이 화면엔 시그니처만 시각화 — 다른 탭 선택 시 아래 필드로 본문 교체) |
| — | ② 텍스트 | 후원금액 | number + 캐시 | 전역 하한 최소 100, 기본 1,000(acceptance DON-04 — 음성·영상만 1,000으로 상향) | 1,000 |
| — | ② 텍스트 | 텍스트 내용 | textarea | 최대 120자(시그니처 탭의 30자와 다름, 실계정 확인값) | "오늘 방송 최고예요!" |
| — | ② 텍스트 | 보이스 선택 | chip select(단일) | 크리에이터가 등록한 TTS 보이스 목록 중 선택 | "해련" |
| — | ② 텍스트 | 이미지 후원 (신규 발견) | dropdown → 이미지 갤러리 모달 | 크리에이터가 등록한 이미지 중 선택해 텍스트 후원에 첨부(선택), 등록 화면은 §03 통합후원알림의 "알림 이미지"와 별개로 확인 필요 | "이벤트배너.png" 첨부 |
| — | ③ 게임 | 게임 선택 / 캐릭터 선택 / 후원 아이템 | 패널(count) × 3 | 크리에이터가 사전 등록해야 노출 — 미등록 시 "아직 등록된 게임이 없어요!" 빈 상태 | "롤" → "페이커" → "장로의 지혜" |
| — | ③ 게임 | 텍스트 내용 / 보이스 선택 | 공통 필드(텍스트 탭과 동일) | 최대 120자 / chip select | 텍스트 탭과 동일 |
| — | ④ 음성 녹음 | 후원금액 | number + 캐시 | 최소 1,000 | 1,000 |
| — | ④ 음성 녹음 | 음성 | tab | 직접 녹음 / 파일 등록 | "직접 녹음" |
| — | ④ 음성 녹음 | 녹음 시작 | button + 타이머 | 00:00/00:00 표시, 클릭 시 녹음 시작/정지 토글 | "00:07/00:30" |
| — | ④ 음성 녹음 | 재생 시간 | readonly(hh:mm:ss) | 최대 30초 | "00:00:12" |
| — | ⑤ 영상 후원 | 후원금액 | number + 캐시 | 최소 1,000 | 1,000 |
| — | ⑤ 영상 후원 | URL | text + 라이브러리 버튼 | 유튜브 등 영상 URL, 실시간 미리보기 플레이어 동반 | "https://youtube.com/watch?v=…" |
| — | ⑤ 영상 후원 | 시작 시간 / 종료 시간 | hh:mm:ss × 2 | 종료 ≥ 시작, 구간 길이가 재생시간 상한(300초)을 넘을 수 없음 | 00:01:20 ~ 00:03:00 |
| — | ⑤ 영상 후원 | 재생 시간 | readonly(자동계산) | 시작~종료 구간 자동 계산, 최대 300초(5분) | "01:40" |
| — | ⑤ 영상 후원 | 라이브러리 등록 | toggle | 기본 ON — 이후 재사용을 위해 크리에이터 라이브러리에 저장 | ON |
| — | ⑤ 영상 후원 | 서비스 이용약관 동의 | checkbox | 필수 — 미체크 시 후원하기 버튼 비활성 | 체크됨 |
| — | ⑥ 룰렛(도너측) | 룰렛 선택 | dropdown | 기본값 "선택 안함", 크리에이터가 등록한 룰렛 목록(§03 룰렛 관리에서 등록) 중 선택 | "룰렛 후원" |
| — | ⑥ 룰렛(도너측) | 룰렛 가격 | readonly | 선택한 룰렛의 가격 자동 반영 | "1,000 캐시" |
| — | ⑦ 퀘스트 | 퀘스트 제목 | text | 최대 40자 | "오늘 방송 시청자 1000명 챌린지" |
| — | ⑦ 퀘스트 | 성공 상금 | number + 캐시 | 기본 3,000 | 3,000 |
| — | ⑦ 퀘스트 | 실패 금액(크리에이터 결정) / 실패 금액(도네이터 결정) | number + 캐시 × 2 | 각 기본 1,000 — 실패 시 누구 판단으로 얼마를 받을지 이원화 | 1,000 / 1,000 |
| — | ⑦ 퀘스트 | 취소 금액 | number + 캐시 | 기본 1,000 | 1,000 |
| — | ⑦ 퀘스트 | 제한 시간 | hh:mm:ss | 기본 00:30:00 | "00:30:00" |
| — | ⑦ 퀘스트 | 크리에이터 성공 판정 | toggle | ON 시 크리에이터가 직접 성공/실패를 판정(자동 판정 없음을 의미) | ON |
| — | ⑦ 퀘스트 | 서비스 이용약관 동의 | checkbox | 필수 | 체크됨 |
| — | ⑧ 그림 후원 | 그리기 모드 / 극장모드 | toggle × 2 | 극장모드는 캔버스를 전체화면으로 확대 | 그리기모드 ON |
| — | ⑧ 그림 후원 | 도구 | 아이콘 버튼 그룹 | 브러시/스포이드/삭제/실행취소/다시실행/저장/내보내기 | "브러시" 선택 |
| — | ⑧ 그림 후원 | 두께 | slider(%) | 기본 10% | 10 |
| — | ⑧ 그림 후원 | 색상 | color | 기본 #2DA7E7 | #2DA7E7 |
| — | ⑧ 그림 후원 | 잉크(자원) | readonly 게이지 | 후원 금액에 비례해 그릴 수 있는 양 결정 — 치지직 채널은 미지원(트위치 전용) | 잔량 62% |
| — | ⑨ 기프트 후원 | 크리에이터 후기 | readonly 영역 | 크리에이터가 작성한 후기 텍스트 표시 | "이 상품 정말 좋아요!" |
| — | ⑨ 기프트 후원 | 후원금액 | number + 캐시 | 기본 1,000 | 1,000 |
| — | ⑨ 기프트 후원 | 상품선택 | dropdown | 기프트샵 연동 상품 목록 | "기프티콘 A" |
| — | ⑨ 기프트 후원 | 실시간 HOT 상품 | 캐러셀 + 버튼 | 클릭 시 기프트샵으로 이동 | "HOT 상품 3종" |
| — | ⑨ 기프트 후원 | 텍스트 내용 / 보이스 선택 | 공통 필드 | 텍스트 탭과 동일 | - |
| — | ⑨ 기프트 후원 | 서비스 이용약관 동의 | checkbox | 필수 | 체크됨 |
| — | ⑩ 럭키박스 후원 | 박스 설정 | 이미지 카드 반복 + 추가 버튼 | 박스마다 "당첨" 체크박스, "등급별 박스" 버튼 | 박스 3개 등록 |
| — | ⑩ 럭키박스 후원 | 당첨 상금 | number + 캐시 | 기본 5,000 — 상금이 높을수록 박스 등급 업그레이드 | 5,000 |
| — | ⑩ 럭키박스 후원 | 꽝 금액 | number + 캐시(빈 입력) | 당첨상금의 10~100%, 최소 1,000 — 기본값 없이 placeholder만(실계정 확인) | placeholder "1,000~5,000" |
| — | ⑩ 럭키박스 후원 | 서비스 이용약관 동의 | checkbox | 필수 | 체크됨 |
| — | ⑪ 플레이 — 객관식 퀴즈 | 문제 입력 | text | 최대 55자 | "수도는 어디일까요?" |
| — | ⑪ 플레이 — 객관식 퀴즈 | 보기 + 항목 추가 | radio + text(20자) 반복 | 보기 개수 제한 없음, 각 20자 | "서울" / "부산" |
| — | ⑪ 플레이 — 객관식 퀴즈 | 제한 시간 | select(분) + select(초) | 기본 0분 30초 | "0분 30초" |
| — | ⑪ 플레이 — 초성 퀴즈 | 문제 / 정답 / 힌트 | text(55자) / text(10자, 한글) / text | 정답은 한글 10자 이내 | "ㅇㅈㅂㅅ" → "아이젠버스" |
| — | ⑪ 플레이 — 그림 퀴즈 | 드로잉 캔버스 | 브러시+삭제+실행취소/다시실행+저장+두께+8색 팔레트 | 그림 후원 탭과 유사 도구 구성, 색상은 8색 고정 팔레트 | 브러시로 정답 그리기 |
| — | ⑪ 플레이 — 공통 | 정답 상금 / 오답 금액 | number + 캐시 × 2 | 정답상금 기본 5,000, 오답금액은 빈 입력(placeholder) | 5,000 / placeholder |
| — | ⑪ 플레이 — 공통 | 서비스 이용약관 동의 | checkbox | 필수 | 체크됨 |
| — | ⑫ 뽑기 | 뽑기 선택 | 가챠 비주얼 + 가격 표시 | 예: "뽑기 후원 3,000캐시" | "뽑기 후원 3,000캐시" |
| — | ⑫ 뽑기 | 상품보기 / 등급별 뽑기 | button × 2 | 상품보기는 모달로 전체 상품 목록, 등급별 뽑기는 등급 전환 | "상품보기" 클릭 |
| A~E — 결제 맥락 보강(v2.31) · 크루 후원(재감사 보완) |
| A | 잔액 바 | 보유 캐시 / 부족액 / 충전 | readonly + button | 기존에는 후원 금액만 있고 내 잔액이 보이지 않아 부족한 줄 모른 채 클릭하게 돼 있었다. 로그인 상태에서만 노출하며, 선택한 상품가보다 잔액이 적으면 부족액을 경고색으로 병기한다. [충전]은 새 탭이 아니라 모달로 열어 후원 흐름을 끊지 않는다(§00 캐시 모델 — 잔액 부족 시 결제→충전→차감 단일 트랜잭션과는 별개의 사전 충전 경로) | "보유 3,000 · 2,000 부족" |
| B | 익명 후원 | 익명 체크박스 | checkbox | 후원 내역·자막·랭킹에 “익명”으로 표시. 크리에이터의 「후원 닉네임 변경 허용」(creator_privacy_settings.allow_donor_nickname_change)이 OFF면 비활성하고 사유를 함께 노출한다 — 기존에는 후원 내역에 “익명” 행이 있는데 도너가 그것을 고르는 곳이 없었다 | 체크 / 비활성 |
| C | 탭 전환 | 유형별 입력 폼 | — | 탭을 바꾸면 상품 카드 그리드가 유형별 입력 폼으로 통째로 교체된다. 잔액 바와 CTA는 유지된다 | "퀘스트" |
| D | 약관 동의 | 서비스 이용약관 동의 | checkbox(필수) | 영상·퀘스트·기프트·럭키박스·플레이 5개 탭 공통 필수. 기존에는 시그니처 탭만 그려 이 필드가 화면에 한 번도 나타나지 않았다. 미동의 시 후원 버튼 비활성, 동의 시각을 donation_payloads.terms_agreed_at에 기록(boolean이 아니라 시각으로 남김) | — |
| E | 크루 후원 보완(고충실도 목업 동기) | 크루원 선택 | 접이식 토글 + chip 단일선택 | spec §09 ② “크루 후원은 후원 유형과 직교하는 축”(donations.crew_id / donations.crew_member_name) — 12개 탭 어느 유형을 고르든 무관하게 특정 크루원을 지정해 후원할 수 있다. 기본은 닫힌 상태("+ 크루원에게")이고 펼치면 이 크리에이터가 등록한 크루원 목록이 chip으로 노출, 기본 선택은 "크루 아님"(일반 후원). 크루가 없는 크리에이터는 이 행 자체가 숨겨짐. 텍스트 내용·익명 여부와 같은 자리(§01 formrow)에 위치 | "현우" 선택 → 현우에게 후원으로 집계 |