Skip to content

m.pregoi.com — 온보딩 스텝 가이드: 연결선과 원형 아이콘 시각 연결

상태: 반영됨StepIndicator옵션 B(각 스텝 열 안에서 왼쪽 flex-1 선 | 원 | 오른쪽 flex-1 선)로 재구성. 배포는 별도.
범위: Prego apps/admin-web — 홈 온보딩 마법사 상단 스텝 인디케이터 (StepIndicator).
참고 스크린: Account Setup → Company Profile → Activate (3단계 요약 UI).

1. 배경 / 문제

항목내용
현상각 단계의 번호(또는 완료 체크) 원형 dingbat단계 사이 수평 연결선 사이에 눈에 띄는 공백(대략 10~15px 수준으로 관찰)이 있어, 선이 원과 끊어진 것처럼 보임.
기대연결선이 원의 가장자리와 맞닿거나 광학적으로 이어지는 하나의 경로로 읽히도록 할 것 (미니멀 스테퍼 UX 관례).
영향순수 시각·인지 품질. 기능·API·Zuplo·테넌트 로직과 무관.

2. 목표 (수용 기준)

  1. 시각 연속성

    • 활성/비활성/완료 상태 모두에서, 인접한 두 원 사이의 가로 구간이 공백 없이 또는 의도된 1px 이하 수준으로 원과 연결된 것처럼 보일 것.
    • 세로 정렬: 선의 수직 중심이 원의 지름 중심선과 일치할 것 (현재意도 유지).
  2. 반응형

    • 좁은 뷰포트(모바일)에서도 동일 원칙 유지 — 선이 원에서 떨어져 “떠 있는” 느낌이 나지 않을 것.
    • md: 브레이크포인트에서 원 크기(size-8size-10) 변경 시에도 비율이 깨지지 않을 것.
  3. 접근성

    • 연결선은 장식 요소로 유지; 스크린 리더에 불필요한 노이즈 없음 (기존 aria-hidden 등 패턴 유지).
    • 색 대비: 활성(프리고 그린)·비활성(그레이)·다크 모드 기존 토큰과 충돌 없이 조정.
  4. 회귀 방지

    • 스텝 개수·라벨·완료 시 체크 아이콘 동작은 변경하지 않음 (본 기획은 레이아웃·시각만).

3. 원인 (과거 레이아웃)

이전 StepIndicator는 다음 구조였다:

  • 각 스텝: flex-1 열 안에서 원을 가로 중앙에 배치.
  • 스텝 사이: 별도 flex-1 커넥터 열에 h-0.5 w-full 선만 존재.

원이 속한 열의 남는 좌우 여백커넥터 열의 시작점이 맞지 않아 원과 선 사이에 시각적 갭이 생겼다.

4. 구현 방향 후보 및 채택

채택: 옵션 B — 각 스텝을 하나의 flex-1 열로 두고, 상단 행을 [왼쪽 선 또는 빈 flex-1] | [원, z-10] | [오른쪽 선 또는 빈 flex-1]로 구성. 인접 열 경계에서 선 세그먼트가 맞닿아 끊김이 없다. 구간 색은 기존과 동일하게 왼쪽 스텝이 completed이면 프리고 톤, 아니면 그레이 (connectorClassBetween).

과거 후보 표 (참고):

옵션요지장점주의
A. 커넥터 음수 마진 / 너비 보정커넥터 또는 선에 수평 margin을 당겨 원 방향으로 확장변경 범위 최소, 파일 1곳 집중과도 시 옆 라벨과 겹침 가능 — min-w·오버플로우 확인
B. 행 구조 재배치 (그리드/세그먼트)“반쪽 선 + 원 + 반쪽 선”을 한 행의 논리 단위로 묶어, 선이 원 반지름 지점에서 끊기게 설계수학적으로 갭 제어 용이마크업·클래스 변경량 다소 증가
C. 원/컨테이너 ::before·::after원 래퍼에 가상 요소로 선을 뻗어 인접 셀과 만나게 함DOM 추가 없음 가능유지보수·다크 모드 색 상속 명확히
D. 단일 SVG 경로세 원과 가로선을 하나의 SVG로 그림픽셀 퍼펙트에 유리스텝 수 가변 시 로직 복잡도 증가 (현재 3단계 고정이면 현실적)

(당초 권장은 A→B였으나, B로 바로 적용함.)

5. 작업 범위 (예상 터치 포인트)

구분경로
apps/admin-web/components/ui/StepIndicator.tsx
검토apps/admin-web/app/page.tsx에서 StepIndicator 사용부 (props 변경 불필요 예상)
비범위apps/admin-web/index.html 등 레거시 정적 마법사 (본 기획은 Next 앱 우선; 정적 HTML 동기화는 제품 요청 시)

6. 검증 체크리스트

  • Chrome / Safari / Firefox — 모바일 너비(예: 375px) 및 태블릿.
  • 라이트 / 다크 모드 — 연결선·원 테두리 색 일관성.
  • 스텝 1 활성 / 2 활성 / 3 활성 및 완료 체크 상태에서 선 색·형태 확인.
  • pnpm --filter prego-admin-web run lint 통과.

7. 관련 문서


본 문서는 사용자 제공 스크린을 바탕으로 작성됨. PR/릴리스 시 브라우저 스모크로 §6 미체크 항목을 확인할 것.

Help