Skip to content

Conversation

@Cassiiopeia
Copy link
Member

@Cassiiopeia Cassiiopeia commented Feb 5, 2026

Summary by CodeRabbit

  • New Features
    • 회원 신고 화면 추가: 비매너, 사기, 허위 매물, 노쇼, 기타 등 5가지 신고 사유 선택 가능.
    • 복수 사유 선택 및 최소 1개 선택 시 신고 버튼 활성화.
    • "기타" 선택 시 최대 300자 입력란 표시 및 실시간 글자수 카운트.
    • 신고 제출 후 서버 전송 및 성공 시 확인 모달 표시로 결과 안내.

@coderabbitai
Copy link

coderabbitai bot commented Feb 5, 2026

Walkthrough

회원 신고 기능을 추가합니다. 신고 사유 열거형, 신고 입력 화면, 관련 API 메서드가 새로 추가되고 프로필 화면에서 신고 흐름이 연결됩니다.

Changes

Cohort / File(s) Summary
신고 사유 열거형
lib/enums/member_report_reason.dart
회원 신고 사유를 표현하는 MemberReportReason enum 추가(5개 값, 각 value에 id, label, serverName 필드 및 const 생성자).
신고 입력 화면
lib/screens/member_report_screen.dart
신고 사유 선택 UI, etc 선택 시 추가 의견 입력(최대 300자), 선택 상태 관리, 제출 버튼 및 API 호출/에러 처리 구현 (MemberReportScreen 추가).
프로필 화면 통합
lib/screens/profile/profile_screen.dart
_handleReport()를 비동기 이동으로 변경하여 MemberReportScreen으로 네비게이트하고, 성공 결과 시 성공 모달 표시 및 화면 종료 로직 추가.
신고 API 메서드
lib/services/apis/report_api.dart
신규 메서드 reportMember({memberId, memberReportReasons, extraComment}) 추가 — /api/report/member/post로 multipart POST 전송 구현.

Sequence Diagram

sequenceDiagram
    actor User
    participant ProfileScreen as "프로필 화면"
    participant MemberReportScreen as "신고 화면"
    participant ReportApi as "ReportApi"
    participant Backend as "백엔드"

    User->>ProfileScreen: 신고하기 버튼 클릭
    ProfileScreen->>MemberReportScreen: navigate(memberId)
    User->>MemberReportScreen: 사유 선택 및 (필요시) 추가의견 입력
    User->>MemberReportScreen: 신고 제출
    MemberReportScreen->>ReportApi: reportMember(memberId, 사유IDs, extraComment)
    ReportApi->>Backend: POST /api/report/member/post (memberId, memberReportReasons, extraComment)
    alt 성공
        Backend-->>ReportApi: 200 OK
        ReportApi-->>MemberReportScreen: 성공
        MemberReportScreen-->>ProfileScreen: reported = true (pop)
        ProfileScreen->>User: 성공 모달 표시 후 화면 종료
    else 실패
        Backend-->>ReportApi: 에러
        ReportApi-->>MemberReportScreen: 에러 전달
        MemberReportScreen->>User: 에러 모달 표시
    end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~22 minutes

Possibly related PRs

  • PR #475: 동일 파일(lib/screens/profile/profile_screen.dart)의 _handleReport() 변경과 연관되어 코드 레벨로 관련성이 높음.

Suggested reviewers

  • SeoHyun1024
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed Pull request title clearly references the main objective: adding a user report page (#477). The title structure includes a date prefix and issue reference, which is specific and directly related to the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 20260202_#477_user_신고_페이지_추가

No actionable comments were generated in the recent review. 🎉


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 5, 2026

❌ 프로젝트 빌드 실패

실패한 단계: 알 수 없는 단계

빌드 로그를 확인하여 문제를 해결해주세요.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@lib/screens/profile/profile_screen.dart`:
- Line 12: Remove the erroneous import of navigation_extensions.dart from the
top of profile_screen.dart (the import line referencing
package:romrom_fe/utils/navigation_extensions.dart) because that file does not
exist; the navigateTo extension is already provided in common_utils.dart, so
delete the import line and ensure the file still uses navigateTo (no other
changes required).

@github-actions
Copy link
Contributor

github-actions bot commented Feb 8, 2026

❌ 프로젝트 빌드 실패

실패한 단계: 알 수 없는 단계

빌드 로그를 확인하여 문제를 해결해주세요.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 8, 2026

✅ 프로젝트 빌드 성공

APK 빌드가 완료되었습니다.

Copy link
Collaborator

@SeoHyun1024 SeoHyun1024 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

확인했습니다

@SeoHyun1024 SeoHyun1024 merged commit 3aed4a4 into main Feb 8, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants