o2o-site-AEO/solution/frontend
Mina Choi a1d8a2e943 [fix] solution/frontend: 후보 고르기를 별도 단계로 — 한 칸에 화면 둘이라 뒤로가기가 밖으로 나갔다
1번 칸이 화면 두 개를 담고 있었다: 상호 입력과 후보 목록. 후보 목록은 컴포넌트 state 라
주소가 안 바뀌고, 그래서 목록에서 뒤로가기를 누르면 이전 화면이 아니라 **위저드 밖**으로
나갔다(진입 직전 화면 = /sites). 진행 표시도 그대로 1이라 앞 화면이 되돌아온 것처럼 보인다.

- wizardUrl: `pick` 단계 추가. 진행 번호는 1 찾기 · 2 고르기 · 3 수집 · 4 템플릿.
  업종은 여전히 칸이 아니다(2번의 갈래) — 한 칸에 화면이 둘이어도 되는 건 **둘 다 주소를
  가져서**다. 대부분의 사장님은 안 겪는 화면이라 칸으로 세우지 않는다
- Step2PlaceSearch 가 두 단계를 함께 그린다. 후보 목록이 훅 state 라 컴포넌트를 가르면
  단계를 오갈 때마다 사라진다
- 상호 입력으로 돌아오면 후보를 버리고, 후보 단계로 곧장 들어왔는데 후보가 없으면
  상호로 다시 찾는다. 상호도 없으면 첫 화면으로 replace — 빈 화면을 히스토리에 남기지 않는다
- 업종 화면은 `pick` 으로 돌아온다(상호 입력까지 되돌리면 방금 고른 가게가 사라진다).
  돌아온 직후의 빈 목록은 '확정하는 중' 대기 화면으로 덮는다
- 진행 번호는 각 화면이 아니라 wizardUrl(STEP_NUMBER)이 소유한다 — 칸이 늘고 줄 때마다
  화면 네 곳을 같이 고치지 않게
- publishGate: '2단계에서 상호명을' → 1단계

검증 — tsc·eslint·vite build 통과. 브라우저에서 확인: 검색 → `?step=pick`,
뒤로가기가 상호 입력으로(입력값 유지), 앞으로가기는 재검색해 목록 복원,
`?step=pick` 직접 진입은 `?step=search` 로 되돌림, 확정하면 3단계로 진행
2026-09-04 09:28:54 +09:00
..
public [chore] solution/frontend,docs: Bing 소유확인 파일 추가 — 이미지에 구워야 재생성에도 살아남는다 2026-09-01 13:33:48 +09:00
src [fix] solution/frontend: 후보 고르기를 별도 단계로 — 한 칸에 화면 둘이라 뒤로가기가 밖으로 나갔다 2026-09-04 09:28:54 +09:00
.env.example [feat] solution/backend,frontend: id/pw 가입 · 구글 로그인 — 계정을 만들 길이 없던 걸 연다 2026-09-02 09:33:59 +09:00
components.json 이름: solution/front → solution/frontend 2026-08-31 15:27:16 +09:00
eslint.config.js 이름: solution/front → solution/frontend 2026-08-31 15:27:16 +09:00
index.html [feat] solution/frontend: 템플릿이 색만 바꾸던 걸 끝낸다 — 업종당 5개에서 3개로 2026-09-02 08:49:38 +09:00
orval.config.ts 이름: solution/front → solution/frontend 2026-08-31 15:27:16 +09:00
package.json 구조: admin 을 backend/frontend 로 가른다 2026-08-31 16:22:29 +09:00
tsconfig.json 이름: solution/front → solution/frontend 2026-08-31 15:27:16 +09:00
vite.config.ts [feat] deploy,solution/frontend: 운영에서 dev 서버를 걷어낸다 — 정적 번들을 nginx 가 서빙 2026-09-01 11:46:32 +09:00