✨[feat]: 투표 - 요구사항에 맞춰 작성 플로우 개선#87
Open
honghoker wants to merge 15 commits into
Open
Conversation
- feedback template의 followUp 응답이 단일 객체로 내려올 때 디코딩 실패하던 문제 수정 - 배열 응답과 단일 객체 응답을 모두 받아 도메인 모델의 배열 형태로 변환
- 팀 투표 부문 제목, 최대 선택 수, 현재 선택 수 표시를 TeamVoteQuestionHeaderView로 분리 - TeamVoteCategoryView의 인라인 헤더 구현과 index 의존성을 제거
- 서버 템플릿의 reasonLabel을 사유 입력 설명으로 사용 - 사유가 필수인 부문에만 reasonMinLength를 적용
- 2단계에서 1단계로 돌아왔을 때 이전 팀 선택과 사유를 초기값으로 주입 - 서버 order 값을 기준으로 카테고리를 정렬해 저장된 답변과 매칭
- 팀 투표와 피드백 화면의 버튼을 ScrollView 밖 하단 영역으로 이동 - 긴 문항을 스크롤해도 다음/제출 버튼이 화면 하단에 유지되도록 레이아웃 조정
- 모든 부문에서 팀이 선택되고 필수 사유가 최소 길이를 만족할 때만 다음 버튼 활성화 - 사유 제출 값은 앞뒤 공백을 제거하고 공백만 입력된 경우 nil로 처리 - 내부 공백은 한 글자로 인정하는 입력 길이 계산을 적용
- 필수 다중 선택, 예/아니오, 서술형 문항이 유효할 때만 제출 버튼 활성화 - 서술형과 followUp 답변은 앞뒤 공백을 제거하고 공백만 입력된 값은 제출하지 않도록 처리 - 내부 공백은 한 글자로 인정하는 최소 5자 기준을 피드백 입력 UI와 검증 로직에 적용
- FeedbackTextEditor에서 최대 글자 수를 넘긴 입력을 즉시 잘라냄 - 초과 입력 시 토스트로 최대 입력 가능 글자 수를 안내 - 멤버 투표 화면에 toastOverlay를 연결
- 1단계와 2단계 좌측 edge swipe 시 작성 이탈 확인 모달을 표시 - 계속 작성은 현재 입력 화면을 유지하고 나가기는 단계에 따라 처리 - 2단계 나가기는 1단계 복귀로, 1단계 나가기는 투표 탭 이탈로 연결 - MemberMain에서 투표 이탈 delegate를 받아 출석 탭으로 복귀하고 투표 상태를 초기화
- 예/아니오 버튼이 HStack 안에서 균등한 폭을 갖도록 frame을 명시 - 최소 48pt 높이와 contentShape를 지정해 보이는 버튼 영역 전체가 탭되도록 조정
- 투표 진행 단계에서는 기존 상단 드롭다운 대신 뒤로가기 버튼만 표시 - 투표 완료, 이미 참여, 빈 상태에서는 기존 네비게이션 유지 - 뒤로가기 탭은 MemberMain ViewAction으로 받고 reducer에서 Vote 종료 요청으로 라우팅
- 팀 행을 탭할 때 키보드 포커스를 먼저 해제 - 포커스된 텍스트 입력 위치로 스크롤이 되돌아가는 현상을 방지 - 선택 변경은 다음 run loop에서 처리해 포커스 해제와 탭 처리를 분리
- DesignSystem 이미지 에셋에 vote_complete 리소스 추가 - 기존 Image(asset:) 호출 방식에서 사용할 수 있도록 ImageAsset.voteComplete 매핑 추가
- 완료 상태에서 전용 완료 화면을 표시 - voteComplete 에셋, 완료 타이틀, 감사 문구, 결과 안내 문구를 zddci 디자인에 맞춰 배치 - 완료 화면에서는 기존 상단 네비게이션이 유지되도록 단계 분기와 함께 동작
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
작업 내역
API
UI
검증
UX