Skip to content

SCRUM-300 design: Add note report flow screen - #65

Merged
gdaegeun539 merged 6 commits into
project-lyrics:developfrom
gdaegeun539:feature/SCRUM-300-report-layout
Jul 13, 2026
Merged

SCRUM-300 design: Add note report flow screen#65
gdaegeun539 merged 6 commits into
project-lyrics:developfrom
gdaegeun539:feature/SCRUM-300-report-layout

Conversation

@gdaegeun539

@gdaegeun539 gdaegeun539 commented Jul 12, 2026

Copy link
Copy Markdown
Member

Please check if the PR fulfills these requirements

  • The commit message follows our guidelines

What kind of change does this PR introduce?

  • Add feature
  • Implement design

What is the current behavior?

노트 메뉴에서 신고 화면으로 진입할 수 없으며, 신고 사유를 선택하고 제출하는 화면이 구현되어 있지 않았습니다.

What is the new behavior (if this is a feature change)?

노트 메뉴 바텀시트와 신고 화면을 추가하고 주요 노트 화면에 연결했습니다.

  • 신고 사유 선택, 기타 사유 입력, 개인정보 수집 동의를 지원하는 NoteReportScreen을 구현했습니다.
    • 이 화면의 내부 컴포넌트로 라디오버튼 기능을 수행하는 체크박스 컴포넌트를 추가했습니다. (User)
  • 필수 항목을 입력하면 신고 버튼이 활성화되고 접수 결과 다이얼로그가 표시됩니다.
  • 작성자 여부에 따라 수정·삭제 또는 신고·차단 메뉴를 보여주는 NoteMenuBottomSheet를 추가했습니다.
  • 홈, 커뮤니티, 마이페이지, 검색 결과, 노트 상세 화면에서 신고 화면으로 이동하도록 내비게이션을 연결했습니다.
  • 기본 화면, 기타 사유 선택, 신고 제출 흐름을 검증하는 Compose UI 테스트를 추가했습니다.

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

No breaking changes.

ScreenShots (If needed)

Light mode

Screenshot_20260711_230555_ DEV  Feelin Screenshot_20260712_233749_ DEV  Feelin Screenshot_20260712_233757_ DEV  Feelin

Dark mode

Screenshot_20260711_230603_ DEV  Feelin Screenshot_20260712_231016_ DEV  Feelin Screenshot_20260712_231024_ DEV  Feelin Screenshot_20260712_231026_ DEV  Feelin Screenshot_20260712_233826_ DEV  Feelin

Other information:

AI Agent

  • 변경 파일: 15개
  • 추가: 619줄
  • 삭제: 5줄

User

이번 화면 레이아웃 구현중 확인한 부분인데, FeelinCheckbox의 disabled icon이 다크모드에 대응하지 않는 것을 확인했습니다. 이를 별도의 이슈로 등록한 후 추후 수정하겠습니다.

Summary by CodeRabbit

Summary by CodeRabbit

  • New Features

    • Introduced a dedicated note reporting screen with selectable reasons, optional “기타” details, required consent, and submission success/duplicate feedback.
    • Added note action menus throughout the app (feed, search results, note details, community, and My Page), showing edit/delete for your notes and report/block for others.
    • Wired navigation so menu “report” actions open the reporting flow for the selected note.
  • Style

    • Refined bottom-sheet appearance (rounded corners) and improved action-row icon sizing/spacing.
  • Tests

    • Added UI test coverage for report selection, validation, submission, and confirmation states.

Introduce NoteMenuBottomSheet to provide contextual actions for notes
such as editing/deleting owned notes or reporting/blocking other users' notes.
Add an onMenuClick listener to NoteComponent to trigger this bottom sheet.
Add NoteReport destination to FeelinNavHost and wire the report callback across screens.
Display NoteMenuBottomSheet when the note menu button is clicked on
HomeScreen, CommunityMainScreen, MyPageScreen, NoteDetailScreen, and NoteSearchResultScreen.
Apply specific icons (Modify, Delete, Report, Prohibit) to the menu actions in NoteMenuBottomSheet.
Update FeelinModalBottomSheet to support rounded corners and fix icon spacing layouts.
Apply status bar and navigation bar padding to NoteReportScreen.
Refactor radio buttons into ReportReasonItem using CheckBoxIconEnabled,
and adjust spacing to match the design spec. Add UI tests in NoteReportScreenTest
to verify default states, selection behavior, and button activation.
@coderabbitai

coderabbitai Bot commented Jul 12, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Adds note menu actions across note surfaces, routes report actions to a new destination, implements the note report form and dialogs, updates bottom-sheet styling and icons, and adds Compose instrumentation tests for key report states.

Changes

Note reporting

Layer / File(s) Summary
Report screen and validation
app/src/main/java/com/lyrics/feelin/presentation/view/note/report/NoteReportScreen.kt, app/src/main/java/com/lyrics/feelin/core/designsystem/..., app/src/androidTest/.../NoteReportScreenTest.kt
Adds selectable report reasons, “기타” text validation, consent handling, success/duplicate dialogs, supporting icons and sheet styling, plus UI tests for rendering, selection, and submission.
Note menu component
app/src/main/java/com/lyrics/feelin/presentation/view/component/note/NoteComponent.kt, .../NoteMenuBottomSheet.kt
Makes the note menu clickable and adds author-dependent edit/delete or report/block actions.
Feed and community integration
app/src/main/java/com/lyrics/feelin/presentation/view/home/..., .../community/CommunityMainScreen.kt
Tracks selected notes and displays NoteMenuBottomSheet from home, feed, and community flows.
Detail, search, and My Page integration
app/src/main/java/com/lyrics/feelin/presentation/view/note/detail/..., .../note/search/result/..., .../mypage/...
Threads menu selection, current-user context, dismissal, and report callbacks through the remaining note surfaces.
Report destination wiring
app/src/main/java/com/lyrics/feelin/navigation/...
Adds the note_report/{noteId} destination and navigates to it from note report callbacks across the app.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Possibly related PRs

Suggested reviewers: hyunjung-choi

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: adding the note report flow screen.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@gdaegeun539 gdaegeun539 changed the title SCRUM-300 feat: Add note report flow SCRUM-300 design: Add note report flow screen Jul 12, 2026
@gdaegeun539 gdaegeun539 self-assigned this Jul 12, 2026
@gdaegeun539 gdaegeun539 added the design 디자인 관련 수정 label Jul 12, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c2e4751736

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (4)
app/src/main/java/com/lyrics/feelin/presentation/view/note/report/NoteReportScreen.kt (2)

67-73: 🎯 Functional Correctness | 🔵 Trivial

noteId is unused — report submission not yet wired up.

The @Suppress("UnusedParameter") annotation confirms noteId is not consumed. The submit button (line 119) only shows a success dialog without calling any API. Would you like me to generate a ViewModel and API integration scaffold for the actual report submission?

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@app/src/main/java/com/lyrics/feelin/presentation/view/note/report/NoteReportScreen.kt`
around lines 67 - 73, Remove the unused noteId parameter and its
`@Suppress`("UnusedParameter") annotation from NoteReportScreen until report
submission is implemented. Update all call sites to match the simplified
function signature, leaving the existing dialog-only submission behavior
unchanged.

69-74: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Move lambda parameters to the last position per coding guidelines.

Both NoteReportScreen and ReportReasonItem place lambda parameters (onBackClick, onClick) before optional parameters, violating the guideline: "Keep lambda parameters as the last parameter in Composable functions." All call sites already use named arguments, so reordering is safe.

♻️ Reorder parameters in both composables
 `@Suppress`("UnusedParameter")
 `@Composable`
 fun NoteReportScreen(
     noteId: Long,
-    onBackClick: () -> Unit,
     modifier: Modifier = Modifier,
     initialDialogType: NoteReportDialogType? = null,
+    onBackClick: () -> Unit,
 ) {
 `@Composable`
 private fun ReportReasonItem(
     selected: Boolean,
     text: String,
-    onClick: () -> Unit,
     modifier: Modifier = Modifier
+    onClick: () -> Unit,
 ) {

Also applies to: 223-229

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@app/src/main/java/com/lyrics/feelin/presentation/view/note/report/NoteReportScreen.kt`
around lines 69 - 74, Reorder the parameters of the composable functions
NoteReportScreen and ReportReasonItem so their lambda parameters (onBackClick
and onClick) come after all optional parameters, preserving existing defaults
and named-argument call-site behavior.

Source: Coding guidelines

app/src/androidTest/java/com/lyrics/feelin/presentation/view/note/report/NoteReportScreenTest.kt (1)

44-55: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Add test coverage for the "기타" conditional in isSubmitEnabled.

selectingReasonAndAgreementEnablesSubmit only tests a non-"기타" reason. The isSubmitEnabled logic at lines 81-82 has a conditional branch for "기타" requiring non-blank otherReasonText — this branch is not exercised. Consider adding a test that selects "기타", enters text, agrees, and verifies submit is enabled, plus a case where "기타" is selected with no text and submit remains disabled.

✅ Suggested additional test cases
`@Test`
fun selectingOtherWithTextAndAgreementEnablesSubmit() {
    setContent()

    composeTestRule.onNodeWithText("기타").performClick()
    composeTestRule.onNodeWithText("신고사유를 작성해주세요.").performClick()
    composeTestRule.onNodeWithText("개인정보 수집에 동의합니다.").performClick()

    composeTestRule.onNode(hasText("신고하기") and hasClickAction())
        .assertIsEnabled()
}

`@Test`
fun selectingOtherWithoutTextDisablesSubmit() {
    setContent()

    composeTestRule.onNodeWithText("기타").performClick()
    composeTestRule.onNodeWithText("개인정보 수집에 동의합니다.").performClick()

    composeTestRule.onNode(hasText("신고하기") and hasClickAction())
        .assertIsNotEnabled()
}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@app/src/androidTest/java/com/lyrics/feelin/presentation/view/note/report/NoteReportScreenTest.kt`
around lines 44 - 55, Add test coverage in the NoteReportScreenTest cases for
the “기타” branch of isSubmitEnabled: verify selecting “기타”, entering non-blank
text, and agreeing enables submission, and verify selecting “기타” without text
keeps the submit action disabled. Anchor the new tests alongside
selectingReasonAndAgreementEnablesSubmit and preserve the existing interaction
and assertion style.
app/src/main/java/com/lyrics/feelin/presentation/view/component/note/NoteMenuBottomSheet.kt (1)

16-60: 📐 Maintainability & Code Quality | 🔵 Trivial | 🏗️ Heavy lift

Consider extracting the selectedNoteForMenu + NoteMenuBottomSheet pattern.

The same state-and-sheet wiring block is duplicated across CommunityMainScreen, HomeScreen, MyPageScreen, NoteDetailScreen, and NoteSearchResultScreen:

var selectedNoteForMenu by remember { mutableStateOf<NoteComponentData?>(null) }
//
onMenuClick = { selectedNoteForMenu = it }
//
selectedNoteForMenu?.let { selectedNote ->
    NoteMenuBottomSheet(
        noteData = selectedNote,
        currentUserId = currentUserId,
        onReportClick = { noteId ->
            selectedNoteForMenu = null
            onNoteReportClick(noteId)
        },
        onDismissRequest = { selectedNoteForMenu = null },
    )
}

A small helper composable or a rememberNoteMenuState holder would centralize this logic and reduce maintenance across five call sites.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@app/src/main/java/com/lyrics/feelin/presentation/view/component/note/NoteMenuBottomSheet.kt`
around lines 16 - 60, Extract the duplicated selectedNoteForMenu state and
NoteMenuBottomSheet wiring into a reusable helper composable or
rememberNoteMenuState holder. Update CommunityMainScreen, HomeScreen,
MyPageScreen, NoteDetailScreen, and NoteSearchResultScreen to use it, preserving
menu selection, dismissal, report handling, and the existing edit/delete/block
callbacks.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@app/src/main/java/com/lyrics/feelin/presentation/view/component/note/NoteMenuBottomSheet.kt`:
- Around line 23-26: Update NoteMenuBottomSheet’s onEditClick, onDeleteClick,
and onBlockClick parameters to be nullable instead of defaulting to empty no-op
lambdas, and conditionally render each corresponding action only when its
callback is provided. Preserve the existing visibility logic for ownership and
report actions, and safely invoke callbacks only when non-null.

---

Nitpick comments:
In
`@app/src/androidTest/java/com/lyrics/feelin/presentation/view/note/report/NoteReportScreenTest.kt`:
- Around line 44-55: Add test coverage in the NoteReportScreenTest cases for the
“기타” branch of isSubmitEnabled: verify selecting “기타”, entering non-blank text,
and agreeing enables submission, and verify selecting “기타” without text keeps
the submit action disabled. Anchor the new tests alongside
selectingReasonAndAgreementEnablesSubmit and preserve the existing interaction
and assertion style.

In
`@app/src/main/java/com/lyrics/feelin/presentation/view/component/note/NoteMenuBottomSheet.kt`:
- Around line 16-60: Extract the duplicated selectedNoteForMenu state and
NoteMenuBottomSheet wiring into a reusable helper composable or
rememberNoteMenuState holder. Update CommunityMainScreen, HomeScreen,
MyPageScreen, NoteDetailScreen, and NoteSearchResultScreen to use it, preserving
menu selection, dismissal, report handling, and the existing edit/delete/block
callbacks.

In
`@app/src/main/java/com/lyrics/feelin/presentation/view/note/report/NoteReportScreen.kt`:
- Around line 67-73: Remove the unused noteId parameter and its
`@Suppress`("UnusedParameter") annotation from NoteReportScreen until report
submission is implemented. Update all call sites to match the simplified
function signature, leaving the existing dialog-only submission behavior
unchanged.
- Around line 69-74: Reorder the parameters of the composable functions
NoteReportScreen and ReportReasonItem so their lambda parameters (onBackClick
and onClick) come after all optional parameters, preserving existing defaults
and named-argument call-site behavior.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 93fd2cc0-2ede-441e-aede-63c961348fb8

📥 Commits

Reviewing files that changed from the base of the PR and between c76e9f1 and c2e4751.

📒 Files selected for processing (15)
  • app/src/androidTest/java/com/lyrics/feelin/presentation/view/note/report/NoteReportScreenTest.kt
  • app/src/main/java/com/lyrics/feelin/core/designsystem/component/FeelinModalBottomSheet.kt
  • app/src/main/java/com/lyrics/feelin/core/designsystem/icon/Icons.kt
  • app/src/main/java/com/lyrics/feelin/navigation/FeelinDestination.kt
  • app/src/main/java/com/lyrics/feelin/navigation/FeelinNavHost.kt
  • app/src/main/java/com/lyrics/feelin/navigation/HomeNavigation.kt
  • app/src/main/java/com/lyrics/feelin/presentation/view/community/CommunityMainScreen.kt
  • app/src/main/java/com/lyrics/feelin/presentation/view/component/note/NoteComponent.kt
  • app/src/main/java/com/lyrics/feelin/presentation/view/component/note/NoteMenuBottomSheet.kt
  • app/src/main/java/com/lyrics/feelin/presentation/view/home/HomeScreen.kt
  • app/src/main/java/com/lyrics/feelin/presentation/view/home/component/FeedSection.kt
  • app/src/main/java/com/lyrics/feelin/presentation/view/mypage/MyPageScreen.kt
  • app/src/main/java/com/lyrics/feelin/presentation/view/note/detail/NoteDetailScreen.kt
  • app/src/main/java/com/lyrics/feelin/presentation/view/note/report/NoteReportScreen.kt
  • app/src/main/java/com/lyrics/feelin/presentation/view/note/search/result/NoteSearchResultScreen.kt

Expose the current user ID as a StateFlow in MyPageViewModel by reading from AuthRepository.
@gdaegeun539

Copy link
Copy Markdown
Member Author

@codex re-review this.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
app/src/main/java/com/lyrics/feelin/presentation/view/mypage/MyPageScreen.kt (1)

333-342: 🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift

Wire every action exposed by the bottom sheet.

NoteMenuBottomSheet provides no-op defaults for onEditClick, onDeleteClick, and onBlockClick, but this call supplies only onReportClick. Consequently, edit/delete for owned notes and block for other users’ notes appear tappable but do nothing. Add and propagate the corresponding callbacks, or hide unsupported actions.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@app/src/main/java/com/lyrics/feelin/presentation/view/mypage/MyPageScreen.kt`
around lines 333 - 342, Update the NoteMenuBottomSheet invocation in
MyPageScreen to wire onEditClick, onDeleteClick, and onBlockClick instead of
relying on their no-op defaults. Propagate each action through the screen’s
existing callback flow, clear selectedNoteForMenu consistently before invoking
the handlers, and preserve the current onReportClick behavior.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In
`@app/src/main/java/com/lyrics/feelin/presentation/view/mypage/MyPageScreen.kt`:
- Around line 333-342: Update the NoteMenuBottomSheet invocation in MyPageScreen
to wire onEditClick, onDeleteClick, and onBlockClick instead of relying on their
no-op defaults. Propagate each action through the screen’s existing callback
flow, clear selectedNoteForMenu consistently before invoking the handlers, and
preserve the current onReportClick behavior.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 379b2ffe-2eae-4feb-9469-d89ad78ced6d

📥 Commits

Reviewing files that changed from the base of the PR and between c2e4751 and a88252c.

📒 Files selected for processing (2)
  • app/src/main/java/com/lyrics/feelin/presentation/view/mypage/MyPageScreen.kt
  • app/src/main/java/com/lyrics/feelin/presentation/view/mypage/MyPageViewModel.kt

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a88252c419

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

onBlockClick: (Long) -> Unit = {},
) {
val sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true)
val isMyNote = currentUserId != null && currentUserId == noteData.publisher.id

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge 메뉴 소유자 판별에 현재 사용자 ID를 공급하세요

isMyNotecurrentUserId == publisher.id에만 의존하지만 MyPage를 제외한 프로덕션 진입점(HomeRoute, CommunityMainScreen, NoteDetailScreen, NoteSearchResultScreen)은 모두 기본값 null을 사용합니다. 그 결과 홈/검색/상세/커뮤니티에서 본인 노트의 더보기 메뉴를 열어도 수정·삭제 대신 신고·차단 메뉴가 표시되어 자기 노트를 신고/차단하는 잘못된 흐름이 됩니다.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

마이페이지 화면을 제외한 화면의 사용자 ID 전달은 실제 기능 구현시 진행하겠습니다.

@gdaegeun539

Copy link
Copy Markdown
Member Author

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)

app/src/main/java/com/lyrics/feelin/presentation/view/mypage/MyPageScreen.kt (1)> 333-342: 🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift

Wire every action exposed by the bottom sheet.
NoteMenuBottomSheet provides no-op defaults for onEditClick, onDeleteClick, and onBlockClick, but this call supplies only onReportClick. Consequently, edit/delete for owned notes and block for other users’ notes appear tappable but do nothing. Add and propagate the corresponding callbacks, or hide unsupported actions.

🤖 Prompt for AI Agents

Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@app/src/main/java/com/lyrics/feelin/presentation/view/mypage/MyPageScreen.kt`
around lines 333 - 342, Update the NoteMenuBottomSheet invocation in
MyPageScreen to wire onEditClick, onDeleteClick, and onBlockClick instead of
relying on their no-op defaults. Propagate each action through the screen’s
existing callback flow, clear selectedNoteForMenu consistently before invoking
the handlers, and preserve the current onReportClick behavior.

🤖 Prompt for all review comments with AI agents

Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In
`@app/src/main/java/com/lyrics/feelin/presentation/view/mypage/MyPageScreen.kt`:
- Around line 333-342: Update the NoteMenuBottomSheet invocation in MyPageScreen
to wire onEditClick, onDeleteClick, and onBlockClick instead of relying on their
no-op defaults. Propagate each action through the screen’s existing callback
flow, clear selectedNoteForMenu consistently before invoking the handlers, and
preserve the current onReportClick behavior.

ℹ️ Review info

outside diff range comments 는 #65 (comment) 와 동일한 이유로 실제 기능 구현시 진행하겠습니다.

@gdaegeun539

Copy link
Copy Markdown
Member Author

병합하겠습니다.

@gdaegeun539
gdaegeun539 merged commit 142f98b into project-lyrics:develop Jul 13, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

design 디자인 관련 수정

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant