Skip to content

마이페이지 레벨 프로그레스바 stop indicator 렌더링 오류 수정#387

Merged
unam98 merged 1 commit intodevelopfrom
feature/fix-mypage-progress-indicator
May 8, 2026
Merged

마이페이지 레벨 프로그레스바 stop indicator 렌더링 오류 수정#387
unam98 merged 1 commit intodevelopfrom
feature/fix-mypage-progress-indicator

Conversation

@unam98
Copy link
Copy Markdown
Collaborator

@unam98 unam98 commented May 8, 2026

작업 배경

  • Material3 최신 버전(BOM 2026.03.01)에서 LinearProgressIndicator가 기본적으로 트랙 끝에 stop indicator(작은 점)를 그리는 스펙 변경
  • levelPercent = 0일 때도 오른쪽 끝에 점이 표시되어 바가 꽉 찬 것처럼 보이는 시각적 오류 발생

변경 사항

파일 변경 내용
MyPageScreen.kt LinearProgressIndicatordrawStopIndicator = {}, gapSize = 0.dp 추가

영향 범위

  • 마이페이지 레벨 프로그레스바 렌더링에만 영향
  • 런타임 동작 변경 없음, 시각적 수정만

Test Plan

  • levelPercent = 0일 때 빈 바로 표시되는지 확인
  • 다양한 levelPercent 값(0, 50, 100)에서 바 채움 비율이 정확한지 확인

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Style
    • Refined the level progress indicator appearance on the My Page screen with visual enhancements for a cleaner, more polished presentation.

Material3 최신 버전(BOM 2026.03.01)에서 LinearProgressIndicator가
기본적으로 트랙 끝에 stop indicator(점)를 그려 progress=0일 때도
바가 꽉 찬 것처럼 보이는 문제 수정
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 8, 2026

Review Change Stack
No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 2aea8f75-933b-4f06-999f-5f643ef3d7db

📥 Commits

Reviewing files that changed from the base of the PR and between fdb0d4c and 347d4ff.

📒 Files selected for processing (1)
  • app/src/main/java/com/runnect/runnect/presentation/mypage/MyPageScreen.kt

📝 Walkthrough

Walkthrough

The PR updates the LinearProgressIndicator component in the LevelProgressSection of MyPageScreen by adding two configuration parameters: drawStopIndicator = {} to disable the visual stop indicator and gapSize = 0.dp to remove spacing between progress segments.

Changes

Level Progress UI Styling

Layer / File(s) Summary
Progress Indicator Configuration
app/src/main/java/com/runnect/runnect/presentation/mypage/MyPageScreen.kt
LinearProgressIndicator adds drawStopIndicator = {} and gapSize = 0.dp to control the visual rendering of the progress indicator.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Poem

🐰 A progress bar, so smooth and clean,
No gaps or stops to disrupt the scene,
With simple tweaks, the UI shines so bright,
The LevelProgress now looks just right!

🚥 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 PR title clearly describes the main change: fixing a rendering error in the MyPage level progress bar's stop indicator. It directly relates to the changeset, which adds parameters to LinearProgressIndicator to remove the stop indicator and gap.
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.

✏️ 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 feature/fix-mypage-progress-indicator

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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.

color = M1,
trackColor = G4,
drawStopIndicator = {},
gapSize = 0.dp,
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

[Nit] gapSize = 0.dp 중복

drawStopIndicator = {}로 indicator 자체를 그리지 않으므로 gapSize(indicator와 progress bar 사이 간격)는 영향이 없습니다. 제거해도 동일하게 동작합니다.

단, 명시적으로 gap 의도를 제거한다는 의미로 남겨두는 것도 나쁘지 않아서 필수 수정은 아닙니다.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

현재 코드 유지

M3 1.4.0 소스(ProgressIndicator.kt) 직접 확인 결과, gapSizedrawStopIndicator는 서로 독립적으로 동작합니다.

// ProgressIndicator.kt 핵심 로직
val gapSizeFraction = adjustedGapSize / size.width.toDp()
val trackStartFraction =
    currentCoercedProgress + min(currentCoercedProgress, gapSizeFraction)
drawLinearIndicator(trackStartFraction, 1f, trackColor, ...)  // track
drawLinearIndicator(0f, currentCoercedProgress, color, ...)   // progress
drawStopIndicator(this)                                        // stop indicator (별개)

gapSizeprogress bar와 track 사이의 시각적 간격을 제어하며, drawStopIndicator(indicator 점) 렌더링과 무관합니다. gapSize = 0.dp가 없으면 progress가 0%보다 클 때 progress와 track 사이에 기본 간격(LinearIndicatorTrackGapSize)이 생깁니다.

원래 리뷰 코멘트의 전제가 틀렸습니다. 수정하지 않는 것이 맞습니다.

@unam98 unam98 merged commit ed2d9f1 into develop May 8, 2026
1 of 2 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.

1 participant