Zustand auth
인증 스토어는 idle, loading, authenticated, logout으로 전이된다
login, fetchUser, logout 액션은 user와 token의 신뢰 상태를 함께 바꾼다.
user 없음, token 없음
API 요청 중, 버튼 비활성화
user와 accessToken 보관
토큰으로 현재 사용자 재확인
상태 삭제 후 로그인 전으로 복귀
| 액션 | 상태 변화 |
|---|---|
| login/register | idle → loading → authenticated |
| fetchUser | token 있음 → refreshing → authenticated 또는 logout |
| error | 요청 실패 시 error를 보이고 신뢰 상태를 낮춤 |
핵심 UI 분기는 액션 이름보다 현재 인증 상태가 무엇인지로 결정된다.