Skip to content

문제 상세 화면(QuestionDetailScreen) 구현 #33

@chanho0908

Description

@chanho0908

Description

사용자가 선택한 문제의 상세 정보를 확인하고, 답변을 관리(조회/수정/삭제/추가)할 수 있는 QuestionDetailScreen을 구현합니다.

주요 기능

  • 문제 정보 표시 (제목, 카테고리, 답변 완료 여부)
  • 최신 답변 조회/수정/삭제
  • 답변 히스토리 관리 (타임라인 UI)
  • 즐겨찾기 토글 기능
  • 답변 추가 기능

TODO

1. UI 구조 구현

  • QuestionDetailScreen.kt 파일 생성
  • Header 영역 구현 (뒤로가기, 제목, 즐겨찾기 버튼)
  • 문제 정보 섹션 구현 (카테고리 뱃지, 답변 완료 표시)
  • 내 답변 섹션 구현 (빈 상태 UI)
  • 내 답변 섹션 - 기본 상태 UI (수정/삭제 버튼)
  • 내 답변 섹션 - 수정 모드 UI (textarea, 취소/저장 버튼)
  • 내 답변 섹션 - 삭제 확인 모드 UI
  • 답변 히스토리 섹션 구현 (타임라인 UI)
  • 히스토리 아이템 구현 (기본/수정/삭제 상태)
  • Bottom Action 영역 구현 (답변 추가 버튼)

2. 상태 관리

  • 로컬 상태 정의 (editingAnswerId, editContent, deleteConfirmId)
  • AppContext 함수 연동
    • getLatestAnswer 호출
    • getQuestionAnswers 호출
    • toggleFavorite 연동
    • updateAnswer 연동
    • deleteAnswer 연동

3. 기능 구현

  • 답변 수정 기능 구현 (수정 모드 진입 → 내용 수정 → 저장/취소)
  • 답변 삭제 기능 구현 (삭제 확인 → 삭제/취소)
  • 즐겨찾기 토글 기능 구현
  • 히스토리 아이템 수정 기능 구현
  • 히스토리 아이템 삭제 기능 구현
  • 답변 추가 버튼 클릭 처리

4. Navigation 설정

  • NavRoutes에 QuestionDetail 라우트 추가
  • questionId 파라미터 전달 구조 구현
  • 문제 목록에서 상세 화면으로 네비게이션 연결
  • 뒤로가기 동작 구현

5. 스타일링 및 접근성

  • 터치 타겟 최소 44x44px 확보
  • transition 애니메이션 적용

6. 검증 및 테스트

  • 빈 상태 → 답변 추가 플로우 테스트
  • 답변 수정 플로우 테스트
  • 답변 삭제 플로우 테스트
  • 히스토리 수정/삭제 테스트
  • 즐겨찾기 토글 테스트

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions