Skip to content

분석 리포트 화면 2차 QA 반영 - #177

Merged
moondev03 merged 13 commits into
developfrom
fix/#167-분석-리포트-화면-2차-qa
Jul 26, 2026

Hidden character warning

The head ref may contain hidden characters: "fix/#167-\ubd84\uc11d-\ub9ac\ud3ec\ud2b8-\ud654\uba74-2\ucc28-qa"
Merged

분석 리포트 화면 2차 QA 반영#177
moondev03 merged 13 commits into
developfrom
fix/#167-분석-리포트-화면-2차-qa

Conversation

@moondev03

Copy link
Copy Markdown
Member

📌 작업 내용

  • 분석 리포트 화면 상단 바가 스크롤 방향에 따라 노출/숨김되도록 개선하고 진입 애니메이션을 추가했습니다.
  • 분석 리포트 진입 경로에 따라 뒤로가기 버튼 노출을 제어하도록 수정했습니다.
  • 리포트 메트릭 카드 정렬 및 레이아웃을 보정했습니다.
  • 대본 교정 API를 연동하고, 단일/전체 교정 적용 후 서버 응답으로 대본 상세 상태를 갱신하도록 변경했습니다.
  • 대본 교정 반영 후 리포트 화면이 갱신될 수 있도록 refresh notifier 흐름을 추가했습니다.
  • 대본 교정 제출 중에는 복사/교정 액션을 비활성화해 중복 요청을 방지했습니다.
  • 발표 분석 타임아웃 계열 예외를 감지하면 재시도 대신 홈으로 이동하도록 실패 처리 로직을 수정했습니다.
  • PrezelDialog, ScriptCorrectionPopup, Tooltip 등 관련 UI 디테일을 QA 기준에 맞게 조정했습니다.

🧩 관련 이슈


moondev03 added 11 commits July 24, 2026 22:33
- 발화 정확도 상세 이동(`navigateToSpeechAccuracy`) 시 점수 데이터가 없는 경우 노출되는 메시지를 `SPEECH_ANALYSIS_UNAVAILABLE`로 수정
- 대본 일치율 상세 이동(`navigateToScriptMatch`) 시 데이터가 없는 경우 노출되는 메시지를 `SCRIPT_MATCH_ANALYSIS_UNAVAILABLE`로 수정
- `ReportMetricCard` 내부 `Column`에 `fillMaxHeight`와 `Arrangement.SpaceBetween` 적용
- 고정 높이의 `Spacer`를 제거하여 타이틀과 수치 텍스트 사이의 간격 처리 로직 개선
- 내부 콘텐츠의 정렬 방식을 `TopStart`에서 `CenterStart`로 변경하여 UI 정렬 보정
- `LocalWindowInfo`를 사용하여 기기 너비에 맞춰 툴팁의 최대 너비(`maxWidth`)를 동적으로 계산하도록 개선
- `PrezelTheme.spacing.V20`을 기준으로 툴팁의 가로 여백(`marginHorizontal`)을 설정하여 UI 일관성 확보
- `showArrow`, 가로 여백, 최대 너비 정보를 `rememberBalloonBuilder`의 `key`로 추가하여 레이아웃 변화에 대응
- 툴팁이 화면 너비를 초과하지 않도록 `coerceAtLeast`를 통한 안전한 너비 계산 로직 적용
* feat: 로그인 화면 로고 더블 탭 진입점 및 관련 인증 로직 구현

- `LoginScreen` 로고 이미지에 더블 탭 시 관리자 로그인을 트리거하는 숨겨진 인터랙션 로직 추가
- 관리자 로그인 전용 네트워크 엔드포인트(`admin/login`) 정의 및 관련 데이터 소스 연동
- `AuthRepository` 및 `LoginUseCase`에 관리자 로그인 성공 시 토큰 저장 및 세션 갱신 로직 구현
- `LoginViewModel` 내 `OnClickLoginAdmin` 인텐트 처리 핸들러 및 로딩 상태 제어 추가
- 더블 탭 판정을 위한 `AUTH_ADMIN_DOUBLE_TAP_TIMEOUT_MILLIS` 상수 및 시간 측정 로직 추가
- `ScriptCorrectionPopup`에 적용된 `prezelDropShadow`의 `offsetY`를 0dp로, `spreadRadius`를 8dp로 변경하여 그림자 스타일 수정
- `Modifier` 체이닝의 가독성 개선을 위해 코드 포맷팅 조정
- `PrezelDialog` 메인 컨테이너의 가로 패딩을 `V24`에서 `V16`으로 변경
- `DialogContent`에 `V8` 가로 패딩을 명시적으로 추가하여 내부 콘텐츠의 여백 유지
- `ActionSection` 내부 `Box` 레이아웃에 `Color.Cyan` 배경색 적용 및 관련 임포트 추가
* feat: 발표 분석 요청 시 타임아웃 설정 및 직접 요청 로직 구현

- `PresentationRemoteDataSourceImpl`에서 `PresentationService` 대신 `HttpClient`를 직접 사용하여 분석 요청을 처리하도록 변경
- 분석 및 재분석 요청에 대해 10분(`600,000ms`)의 `requestTimeout` 및 `socketTimeout` 적용
- 네트워크 응답을 `BaseResponse<PresentationSummaryResponse>` 형식으로 처리하도록 개선

* feat: 분석 실패 시 홈 화면 이동 기능 추가 및 타임아웃 처리 개선

- `AnalysisFailureAction`에 `NavigateHome` 액션 추가
- `TimeoutCancellationException`, `SocketTimeoutException`, `HttpRequestTimeoutException` 발생 시 홈으로 이동하도록 처리 로직 수정
- 타임아웃 발생 시 `AudioController`를 초기화하고 `NavigateHome` UI Effect를 발생시키도록 `AnalysisFlowViewModel` 수정

* feat: 분석 화면 내 홈 이동 내비게이션 연동

- `AnalysisScreen` 및 `AnalysisFlowUiEffect`에 `NavigateHome` 정의 및 추가
- `AnalysisEntryBuilder`에서 `navigator.replaceRoot(HomeNavKey)`를 사용하여 홈 화면으로의 전환 로직 구현
* feat: 리포트 진입 경로 구분을 위한 entrySource 추가 및 UI 로직 개선

- `ReportEntrySource` enum(`ANALYSIS`, `HISTORY`)을 정의하여 리포트 화면 진입 소스 구분 기능 추가
- `ReportNavKey`에 `entrySource` 필드를 추가하여 네비게이션 시 진입 경로를 전달하도록 변경
- 분석 완료 후 리포트 화면으로 이동 시(`ANALYSIS`) 상단 바의 뒤로가기 버튼을 노출하지 않도록 수정
- 히스토리 목록에서 진입 시(`HISTORY`)에만 뒤로가기 버튼이 표시되도록 UI 로직 분기 처리
- `AnalysisReportScreen` 및 내부 컴포저블에 `entrySource` 파라미터 적용 및 관련 프리뷰 데이터 업데이트
- 분석 흐름 종료 후 리포트 화면으로 이동 시 `clearStack = true` 설정 및 진입 소스 전달 로직 적용
* feat: 스크롤 방향에 따른 상단 바 가시성 제어 및 애니메이션 구현

- `rememberTopAppBarVisibility`를 추가하여 스크롤 방향과 임계값(48px)에 따른 상단 바 노출/숨김 로직 구현
- `AnimatedVisibility`를 사용하여 상단 바 노출 시 슬라이드 및 페이드 인/아웃 효과 적용
- 기존 `Column` 구조를 `Box` 레이아웃으로 변경하고 상단 바에 `zIndex(1f)`를 부여하여 오버레이 구조로 개선
- 상단 바 높이를 기반으로 컨텐츠 상단에 동적 패딩을 적용하여 레이아웃 겹침 현상 해결
- 스크롤 위치가 최상단일 경우 상단 바가 항상 노출되도록 초기화 로직 추가
@moondev03 moondev03 self-assigned this Jul 25, 2026
@moondev03
moondev03 requested a review from HamBeomJoon as a code owner July 25, 2026 06:18
@moondev03 moondev03 linked an issue Jul 25, 2026 that may be closed by this pull request
4 tasks
- `ReportScreenLayout`에 초기 노출 여부, 최상단 노출 여부, 상단 여백 예약 여부 설정을 위한 파라미터 추가
- `rememberTopAppBarVisibility`에서 초기 상태값 및 스크롤이 최상단일 때의 가시성을 파라미터로 제어하도록 수정
- `reserveTopAppBarSpace` 옵션에 따라 TopAppBar가 차지하는 상단 패딩(`contentTopPadding`) 적용 여부 로직 구현
- `AnalysisReportScreen`에서 분석 완료 후 진입(`ANALYSIS`) 시 TopAppBar를 초기 비노출 처리하고 상단 여백을 제거하도록 연동
@HamBeomJoon HamBeomJoon added the 🔧 fix 정상 동작해야 하는 기능의 결함 수정 label Jul 25, 2026
@moondev03
moondev03 merged commit 2bea21d into develop Jul 26, 2026
1 check passed
@moondev03
moondev03 deleted the fix/#167-분석-리포트-화면-2차-qa branch July 26, 2026 01:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🔧 fix 정상 동작해야 하는 기능의 결함 수정

Projects

None yet

Development

Successfully merging this pull request may close these issues.

분석 리포트 화면 2차 QA

2 participants