Skip to content

๐Ÿ”€ :: (#881) ์ž”๋ฅ˜ ์‹ ์ฒญ ๋ฒ„ํŠผ ์ž˜๋ฆผ ๋ฌธ์ œ ํ•ด๊ฒฐ #883

Open
ashxom wants to merge 4 commits intodevelopfrom
fix/881-์ž”๋ฅ˜-์‹ ์ฒญ-๋ฒ„ํŠผ-์ž˜๋ฆผ-๋ฌธ์ œ-ํ•ด๊ฒฐ

Hidden character warning

The head ref may contain hidden characters: "fix/881-\uc794\ub958-\uc2e0\uccad-\ubc84\ud2bc-\uc798\ub9bc-\ubb38\uc81c-\ud574\uacb0"
Open

๐Ÿ”€ :: (#881) ์ž”๋ฅ˜ ์‹ ์ฒญ ๋ฒ„ํŠผ ์ž˜๋ฆผ ๋ฌธ์ œ ํ•ด๊ฒฐ #883
ashxom wants to merge 4 commits intodevelopfrom
fix/881-์ž”๋ฅ˜-์‹ ์ฒญ-๋ฒ„ํŠผ-์ž˜๋ฆผ-๋ฌธ์ œ-ํ•ด๊ฒฐ

Conversation

@ashxom
Copy link
Copy Markdown
Member

@ashxom ashxom commented Apr 7, 2026

๊ฐœ์š”

์ž”๋ฅ˜ ์‹ ์ฒญ ๋ฒ„ํŠผ์ด ์ž˜๋ฆฌ๋Š” ๋ฌธ์ œ๋ฅผ ๊ฐœ์„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์ž‘์—…์‚ฌํ•ญ

์ถ”๊ฐ€ ๋กœ ํ•  ๋ง

Summary by CodeRabbit

  • Bug Fixes

    • Fixed content overlapping with the bottom action button in list view.
    • Ensured list items remain visible and scroll correctly without being obscured by the bottom control.
    • Improved safe-area handling for status and navigation bars for consistent spacing.
  • Refactor

    • Reorganized screen layout to allow independent positioning of the bottom action button for more reliable UI behavior.

@ashxom ashxom self-assigned this Apr 7, 2026
@ashxom ashxom added the ๐Ÿ‘พbug ๋ฒ„๊ทธ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ label Apr 7, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 7, 2026

No actionable comments were generated in the recent review. ๐ŸŽ‰

โ„น๏ธ Recent review info
โš™๏ธ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: e2cd5a7e-04a2-4d83-9cd4-4b7f749036e9

๐Ÿ“ฅ Commits

Reviewing files that changed from the base of the PR and between 9fd7585 and 0f4380b.

๐Ÿ“’ Files selected for processing (1)
  • feature/src/main/kotlin/team/aliens/dms/android/feature/remain/ui/RemainApplicationScreen.kt

๐Ÿ“ Walkthrough

Walkthrough

Root layout for the Remain Application screen changed from a Column to a full-size Box; root uses systemBarsPadding(), bottom action button is aligned BottomCenter with navigationBarsPadding(), and LazyColumn now uses Modifier.weight(1f) with 120.dp bottom contentPadding.

Changes

Cohort / File(s) Summary
Remain Application Screen UI Layout
feature/src/main/kotlin/team/aliens/dms/android/feature/remain/ui/RemainApplicationScreen.kt
Replaced root Column with full-size Box; moved DmsTopAppBar, DmsFloatingNotice, and LazyColumn into an inner Column; positioned DmsLayeredButton with align(Alignment.BottomCenter) and navigationBarsPadding(); applied systemBarsPadding() to root; switched LazyColumn to Modifier.weight(1f) and added contentPadding bottom = 120.dp; removed trailing Spacer; adjusted imports (e.g., PaddingValues, navigationBarsPadding, Alignment, systemBarsPadding).

Estimated code review effort

๐ŸŽฏ 3 (Moderate) | โฑ๏ธ ~20 minutes

Possibly related issues

Poem

๐Ÿฐ I hopped through modifiers, swapped Column for Box,
Aligned the button where nav bars can't pox,
Lists grow with weight and room down below,
Padding snugged inโ€”no more clipped show! โœจ

๐Ÿšฅ Pre-merge checks | โœ… 2 | โŒ 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 (2 passed)
Check name Status Explanation
Description Check โœ… Passed Check skipped - CodeRabbitโ€™s high-level summary is enabled.
Title check โœ… Passed The PR title in Korean addresses a button clipping issue, which directly matches the changeset that repositions the bottom button layout to fix visibility problems.

โœ๏ธ Tip: You can configure your own custom pre-merge checks in the settings.

โœจ Finishing Touches
๐Ÿ“ Generate docstrings
  • Create stacked PR
  • Commit on current branch
๐Ÿงช Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/881-์ž”๋ฅ˜-์‹ ์ฒญ-๋ฒ„ํŠผ-์ž˜๋ฆผ-๋ฌธ์ œ-ํ•ด๊ฒฐ

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.

Copy link
Copy Markdown

@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.

๐Ÿงน Nitpick comments (2)
feature/src/main/kotlin/team/aliens/dms/android/feature/remain/ui/RemainApplicationScreen.kt (2)

70-71: Potential double bottom inset from combined safe-area modifiers.

Using systemBarsPadding() on the root and navigationBarsPadding() on the bottom button can apply nav-bar inset twice, creating extra bottom gap on some devices. Consider using top-only inset on the root and keeping nav inset only on the CTA container.

Suggested adjustment
-import androidx.compose.foundation.layout.systemBarsPadding
+import androidx.compose.foundation.layout.statusBarsPadding
...
     Box(
         modifier = Modifier
             .fillMaxSize()
             .background(DmsTheme.colorScheme.background)
-            .systemBarsPadding(),
+            .statusBarsPadding(),
     ) {

Also applies to: 127-129

๐Ÿค– Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@feature/src/main/kotlin/team/aliens/dms/android/feature/remain/ui/RemainApplicationScreen.kt`
around lines 70 - 71, The root Composable is using .systemBarsPadding() which
combined with .navigationBarsPadding() on the CTA causes the navigation inset to
be applied twice; change the root's inset to top-only (e.g.,
.statusBarsPadding() or
.padding(WindowInsets.safeDrawing.only(WindowInsetsSides.Top))) and leave
.navigationBarsPadding() only on the bottom CTA container (also update the other
occurrence noted around the 127-129 area) so nav-bar inset is applied once;
locate the root modifier call with .systemBarsPadding() and the CTA modifier
with .navigationBarsPadding() in RemainApplicationScreen.kt and update
accordingly.

98-100: Avoid hard-coded bottom reserve (120.dp) for CTA overlap prevention.

120.dp is brittle against CTA height/theme changes (e.g., text scale, design-token updates). Prefer a shared dimension token or measured CTA height to keep list clearance accurate over time.

๐Ÿค– Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@feature/src/main/kotlin/team/aliens/dms/android/feature/remain/ui/RemainApplicationScreen.kt`
around lines 98 - 100, Replace the hard-coded bottom PaddingValues(bottom =
120.dp) used for contentPadding in RemainApplicationScreen with a shared
dimension token or a dynamic measurement of the CTA's height (e.g., use a themed
dimension resource or measure the composable/WindowInsets/Scaffold bottomBar
height) so list clearance adapts to CTA/text-scale/design-token changes; update
the usage around contentPadding / PaddingValues to reference the shared token or
measured value instead of the literal 120.dp so future CTA height/theme changes
automatically keep the list clear.
๐Ÿค– Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In
`@feature/src/main/kotlin/team/aliens/dms/android/feature/remain/ui/RemainApplicationScreen.kt`:
- Around line 70-71: The root Composable is using .systemBarsPadding() which
combined with .navigationBarsPadding() on the CTA causes the navigation inset to
be applied twice; change the root's inset to top-only (e.g.,
.statusBarsPadding() or
.padding(WindowInsets.safeDrawing.only(WindowInsetsSides.Top))) and leave
.navigationBarsPadding() only on the bottom CTA container (also update the other
occurrence noted around the 127-129 area) so nav-bar inset is applied once;
locate the root modifier call with .systemBarsPadding() and the CTA modifier
with .navigationBarsPadding() in RemainApplicationScreen.kt and update
accordingly.
- Around line 98-100: Replace the hard-coded bottom PaddingValues(bottom =
120.dp) used for contentPadding in RemainApplicationScreen with a shared
dimension token or a dynamic measurement of the CTA's height (e.g., use a themed
dimension resource or measure the composable/WindowInsets/Scaffold bottomBar
height) so list clearance adapts to CTA/text-scale/design-token changes; update
the usage around contentPadding / PaddingValues to reference the shared token or
measured value instead of the literal 120.dp so future CTA height/theme changes
automatically keep the list clear.

โ„น๏ธ Review info
โš™๏ธ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 980b96f7-180e-4623-9a3f-c587117dbf76

๐Ÿ“ฅ Commits

Reviewing files that changed from the base of the PR and between 8c06b49 and 658a120.

๐Ÿ“’ Files selected for processing (1)
  • feature/src/main/kotlin/team/aliens/dms/android/feature/remain/ui/RemainApplicationScreen.kt

@ashxom ashxom requested a review from uson1004 April 7, 2026 08:16
Copy link
Copy Markdown

@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

๐Ÿค– Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@feature/src/main/kotlin/team/aliens/dms/android/feature/remain/ui/RemainApplicationScreen.kt`:
- Around line 98-100: The bottom padding in RemainApplicationScreen is
hard-coded as PaddingValues(bottom = 120.dp); instead derive it from navigation
insets plus a named reserved CTA height constant: read the nav bar inset (e.g.,
WindowInsets.navigationBars or LocalWindowInsets) and compute bottomPadding =
navInsetBottom + RESERVED_CTA_SPACE (declare RESERVED_CTA_SPACE as a clearly
named dp constant), then pass that into contentPadding instead of 120.dp so the
layout adapts to device insets and future CTA size changes.
๐Ÿช„ 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

Run ID: 19ac15d4-9388-4b6f-989c-d8d42e46697f

๐Ÿ“ฅ Commits

Reviewing files that changed from the base of the PR and between 658a120 and 9fd7585.

๐Ÿ“’ Files selected for processing (1)
  • feature/src/main/kotlin/team/aliens/dms/android/feature/remain/ui/RemainApplicationScreen.kt

Comment on lines +98 to +100
contentPadding = PaddingValues(
bottom = 120.dp,
),
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

โš ๏ธ Potential issue | ๐ŸŸก Minor

Avoid hard-coded bottom list padding for an overlay CTA.

120.dp is tied to the current button/inset assumptions and can regress on devices with larger nav insets or future button size changes. Consider deriving bottom padding from nav insets plus a named reserved-space constant.

๐Ÿ’ก Suggested refactor
+import androidx.compose.foundation.layout.WindowInsets
+import androidx.compose.foundation.layout.asPaddingValues
+import androidx.compose.foundation.layout.calculateBottomPadding
+
+private val BottomButtonReservedSpace = 120.dp
+
             LazyColumn(
                 modifier = Modifier
                     .fillMaxWidth()
                     .weight(1f)
                     .topPadding(30.dp)
                     .horizontalPadding(24.dp),
                 verticalArrangement = Arrangement.spacedBy(20.dp),
                 contentPadding = PaddingValues(
-                    bottom = 120.dp,
+                    bottom = BottomButtonReservedSpace +
+                        WindowInsets.navigationBars.asPaddingValues().calculateBottomPadding(),
                 ),
             ) {
๐Ÿ“ Committable suggestion

โ€ผ๏ธ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
contentPadding = PaddingValues(
bottom = 120.dp,
),
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.asPaddingValues
import androidx.compose.foundation.layout.calculateBottomPadding
private val BottomButtonReservedSpace = 120.dp
LazyColumn(
modifier = Modifier
.fillMaxWidth()
.weight(1f)
.topPadding(30.dp)
.horizontalPadding(24.dp),
verticalArrangement = Arrangement.spacedBy(20.dp),
contentPadding = PaddingValues(
bottom = BottomButtonReservedSpace +
WindowInsets.navigationBars.asPaddingValues().calculateBottomPadding(),
),
) {
๐Ÿค– Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@feature/src/main/kotlin/team/aliens/dms/android/feature/remain/ui/RemainApplicationScreen.kt`
around lines 98 - 100, The bottom padding in RemainApplicationScreen is
hard-coded as PaddingValues(bottom = 120.dp); instead derive it from navigation
insets plus a named reserved CTA height constant: read the nav bar inset (e.g.,
WindowInsets.navigationBars or LocalWindowInsets) and compute bottomPadding =
navInsetBottom + RESERVED_CTA_SPACE (declare RESERVED_CTA_SPACE as a clearly
named dp constant), then pass that into contentPadding instead of 120.dp so the
layout adapts to device insets and future CTA size changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

๐Ÿ‘พbug ๋ฒ„๊ทธ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ

Projects

None yet

Development

Successfully merging this pull request may close these issues.

์ž”๋ฅ˜ ์‹ ์ฒญ ๋ฒ„ํŠผ ์ž˜๋ฆผ ๋ฌธ์ œ ํ•ด๊ฒฐ

1 participant