Skip to content

Refactor/#166 Figma 컴포넌트 업데이트 반영 - #167

Open
cmj7271 wants to merge 11 commits into
developfrom
refactor/#166-figma-component-update
Open

Refactor/#166 Figma 컴포넌트 업데이트 반영#167
cmj7271 wants to merge 11 commits into
developfrom
refactor/#166-figma-component-update

Conversation

@cmj7271

@cmj7271 cmj7271 commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Related issue 🛠️

Work Description ✏️

Figma 컴포넌트 가이드 갱신분을 반영했습니다.
컴포넌트를 먼저 고치고 → 화면에 적용하는 순서로 커밋을 나눴습니다.

디자인 시스템

컴포넌트 변경
PotiHeaderSection 카운트 탭 → 칩 형태로 재작성. 카운트는 진행중 3처럼 라벨에 포함
PotiSearchBar 신규 컴포넌트 — 검색 입력 바
PotiHeaderPageSearch 신규 컴포넌트 — 뒤로가기 + 검색 바 형태의 헤더
PotiHeaderPrimaryToggle 신규 컴포넌트모집내역 | 참여내역 토글 헤더
PotiHeaderPage 타이틀 말줄임표, trailing 아이콘 파라미터화
PotiModalButton SECONDARY 타입 추가
BadgeButton 배경, 텍스트 색 변경
헤더 4종 containerColor 파라미터 추가 (기본값 흰색) — PotiHeaderPage · PotiHeaderPageSearch · PotiHeaderPrimary · PotiHeaderPrimaryToggle

마이페이지 · 프로필

항목 변경
명암 반전 화면 배경 회색 + 섹션 흰 카드 (기존과 반대)
HistorySummaryCard 3칸 가로 → 2행 세로. 카드 2개를 가로로 나란히 배치
UserInfo 2행 → 1행, 두 텍스트 사이 bullet 1개
UserProfile email nullable → 타인 프로필에서 이메일 숨김
내역 카드 클릭 프로필에서는 클릭 효과 제거 (타인 내역은 조회 불가)

바텀 내비게이션

  • inset shadow 적용 (Compose 내장 Modifier.innerShadow())

Screenshot 📸

마이페이지 프로필
스크린샷 2026-07-28 오후 6 24 35 스크린샷 2026-07-28 오후 6 25 06
header-section (칩) header-page
스크린샷 2026-07-28 오후 6 27 56 스크린샷 2026-07-28 오후 6 28 41

Uncompleted Tasks 😅

  • 프로필 참여 내역 카드에 데이터 없음ProfileResponseparticipationSummary가 없어
    임시로 0을 표시합니다. 서버 추가 후 후속 PR에서 연결 예정 (코드에 TODO)
  • 소비처가 없는 컴포넌트 3개PotiHeaderPageSearch · PotiHeaderPrimaryToggle ·
    ModalButtonType.SECONDARY. 컴포넌트만 먼저 만들었고 화면 연결은 후속 이슈
  • 분철 내역 화면 헤더 교체PotiHeaderPrimaryToggle은 만들어 뒀지만,
    적용 시 모드 전환 동작까지 함께 바뀌어야 해서 후속 이슈로 분리했습니다

To Reviewers 📢

1. 명암 반전

기존 흰 배경 + 회색 섹션에서 회색 배경 + 흰 섹션으로 뒤집혔습니다.

헤더도 화면 배경과 이어져야 하는데 배경색이 white로 하드코딩되어 있어,
헤더 컴포넌트 4종에 containerColor 파라미터를 추가했습니다.
기본값이 흰색이라 나머지 호출부는 영향이 없고, 마이페이지·프로필에서만 회색을 넘깁니다.
(Figma도 컴포넌트 기본값은 흰색이고 해당 화면에서만 회색으로 오버라이드되어 있습니다)

2. HistorySummaryType.ALL을 남겨뒀습니다

전체 항목이 UI에서 빠졌지만 enum과 HistorySummary.total은 유지했습니다.
API 응답에 있고 분철 내역 진입 파라미터로도 쓰이기 때문입니다.
미사용이 된 user_history_all 문자열은 제거했습니다.

커밋 순서

앞쪽 7개는 컴포넌트 단위로, 뒤쪽 3개는 화면 적용으로 나눴습니다.

header-section 칩 형태로 변경          ← 컴포넌트
search-bar 컴포넌트 추가
header-page 검색 헤더 추가
header-primary 토글 헤더 추가
btn-modal secondary 타입 추가
btn-badge 색상 변경
history-vertical 구조 변경

마이페이지·프로필 내역 카드 2단 배치     ← 화면 적용
마이페이지·프로필 배경 명암 반전
바텀 내비게이션 inner shadow 적용

header-section 커밋만 호출부(HistoryListScreen)가 함께 들어가 있습니다.
칩 전환으로 화면 수정이 같이 필요해서 수정되었습니다.

Summary by CodeRabbit

  • 새로운 기능
    • 검색창 UI(입력/검색/초기화)를 추가했습니다.
    • 검색 전용 헤더 및 선택형 헤더(토글) 컴포저블을 추가했습니다.
    • 보조 모달 버튼 스타일(SECONDARY)을 추가했습니다.
  • 개선 사항
    • 헤더 영역 탭이 칩 형태로 변경되어 진행/종료 개수를 표시합니다.
    • 히스토리 요약/카드 구성이 2열 Row로 정리되고, 카드 클릭 동작은 콜백 유무에 따라 달라집니다.
    • 마이페이지·프로필 화면 레이아웃/여백을 개선했습니다.
    • 이메일이 없을 때 프로필 표시가 자연스럽게 처리됩니다.
  • 기타
    • 하단 바/배지 버튼/사용자 정보 디자인과 관련 문구를 다듬었습니다.

@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

검색 헤더와 네비게이션 컴포넌트가 확장되었고, 프로필·히스토리 화면의 레이아웃과 상호작용이 변경되었습니다. 모달 버튼, 하단 바, 배지 버튼의 스타일과 관련 문자열도 업데이트되었습니다.

Changes

디자인 시스템 및 프로필 UI 개편

Layer / File(s) Summary
검색 입력 및 페이지 헤더
app/src/main/java/com/poti/android/core/designsystem/component/field/PotiSearchBar.kt, app/src/main/java/com/poti/android/core/designsystem/component/navigation/PotiHeaderPage.kt, app/src/main/res/values/strings.xml
검색·삭제 콜백, IME 검색 액션, placeholder, 선택적 포커스 제어를 지원하는 PotiSearchBar와 검색용 헤더가 추가되었습니다. 기존 헤더에는 배경색·트레일링 아이콘 제어와 텍스트 말줄임이 적용되었습니다.
헤더 탭과 모달 버튼 컴포넌트
app/src/main/java/com/poti/android/core/designsystem/component/navigation/PotiHeaderPrimary.kt, app/src/main/java/com/poti/android/core/designsystem/component/navigation/PotiHeaderSection.kt, app/src/main/java/com/poti/android/core/designsystem/component/button/PotiModalButton.kt, app/src/main/res/values/strings.xml
토글 헤더와 칩 기반 섹션 탭이 추가되고, 모달 버튼에 SECONDARY 타입과 상태별 색상 처리가 추가되었습니다.
프로필 정보 및 히스토리 컴포넌트
app/src/main/java/com/poti/android/presentation/user/component/UserProfile.kt, app/src/main/java/com/poti/android/presentation/user/component/UserInfo.kt, app/src/main/java/com/poti/android/presentation/user/component/HistorySummaryCard.kt, app/src/main/res/values/strings.xml
이메일 선택 표시, 사용자 정보 가로 배치, 진행 중·완료 히스토리 항목 및 선택적 클릭 처리가 적용되었습니다.
프로필 화면 레이아웃
app/src/main/java/com/poti/android/presentation/user/mypage/MyPageScreen.kt, app/src/main/java/com/poti/android/presentation/user/profile/ProfileScreen.kt
프로필 영역이 둥근 흰색 카드로 변경되고, 히스토리 카드가 동일 가중치의 가로 2열로 배치되었습니다.
하단 바와 배지 스타일
app/src/main/java/com/poti/android/presentation/main/MainBottomBar.kt, app/src/main/java/com/poti/android/presentation/user/component/BadgeButton.kt
하단 바에 상단 라운딩과 내부 그림자가 적용되었으며 배지 버튼의 배경, 텍스트, 아이콘 색상이 변경되었습니다.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant 사용자
  participant PotiHeaderPageSearch
  participant PotiSearchBar
  participant BasicTextField
  사용자->>BasicTextField: 검색어 입력
  BasicTextField->>PotiSearchBar: onValueChange(value)
  PotiSearchBar->>PotiHeaderPageSearch: 입력값 전달
  사용자->>PotiSearchBar: 검색 아이콘 또는 키보드 검색 액션
  PotiSearchBar->>PotiHeaderPageSearch: onSearch(value)
Loading

Possibly related PRs

  • team-poti/POTI-ANDROID#15: PotiModalButtonModalButtonType과 색상 결정 로직이 동일한 코드 영역과 연결됩니다.
  • team-poti/POTI-ANDROID#24: HistorySummaryCard, UserInfo, UserProfile의 프로필 UI 변경과 직접 연관됩니다.
  • team-poti/POTI-ANDROID#55: MyPageScreen의 두 히스토리 카드 가로 배치 및 사용자 컴포넌트 변경과 연관됩니다.

Suggested reviewers: doyeon0307, jyvnee

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 15.38% 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
Title check ✅ Passed 제목이 Figma 컴포넌트 가이드 반영이라는 핵심 변경을 간결하게 설명합니다.
Description check ✅ Passed Related issue, Work Description, Screenshot, Uncompleted Tasks, To Reviewers 섹션이 템플릿에 맞게 채워졌습니다.
Linked Issues check ✅ Passed Issue #166의 헤더, 히스토리, 버튼, 바텀바 수정과 관련 컴포넌트 추가가 목적과 일치합니다.
Out of Scope Changes check ✅ Passed 검색·토글 컴포넌트와 화면 적용도 PR 설명의 범위에 포함되어 보이며, 명확한 무관 변경은 없습니다.
✨ 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 refactor/#166-figma-component-update

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.

@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: 5

🧹 Nitpick comments (1)
app/src/main/java/com/poti/android/presentation/main/MainBottomBar.kt (1)

51-63: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

그림자 및 라운딩 값을 Dimens 토큰으로 추출해 주세요.

20.dp, 4.dp 등의 디자인 값이 컴포넌트에 직접 하드코딩되어 있어 다른 화면과 값이 어긋날 수 있습니다. 기존 Dimens 또는 디자인 시스템 토큰이 있다면 재사용해 주세요. As per path instructions, 하드코딩된 크기 대신 Theme/Dimens 리소스를 사용해야 합니다.

🤖 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/poti/android/presentation/main/MainBottomBar.kt` around
lines 51 - 63, Extract the hardcoded 20.dp corner radius and 4.dp shadow
radius/offset values used by MainBottomBar into the existing Dimens or
design-system tokens, then reference those tokens when creating topRoundedShape
and Shadow. Reuse matching existing tokens where available rather than
introducing duplicate values.

Source: Path instructions

🤖 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/poti/android/core/designsystem/component/field/PotiSearchBar.kt`:
- Line 64: Update the requester initialization in the SearchBar composable so an
externally supplied focusRequester is always used directly, while only the
internally created FocusRequester is remembered as the fallback. Avoid
remembering the nullable selection itself, ensuring a later external requester
replaces the fallback.

In
`@app/src/main/java/com/poti/android/core/designsystem/component/navigation/PotiHeaderPrimary.kt`:
- Around line 136-141: Add selectable accessibility semantics to both
PotiHeaderPrimaryToggleItem in PotiHeaderPrimary.kt (lines 136-141) and
PotiHeaderSectionChip in PotiHeaderSection.kt (lines 73-88), passing each
component’s selected value and Role.Tab while preserving the existing click
behavior and visual styling.

In `@app/src/main/java/com/poti/android/presentation/main/MainBottomBar.kt`:
- Around line 51-64: Update the innerShadow configuration in MainBottomBar’s Row
to match the Figma shadow color and alpha, replacing the low-contrast
white-based Shadow values with the appropriate contrasting design token while
preserving the existing shape, radius, and offset.

In `@app/src/main/java/com/poti/android/presentation/user/component/UserInfo.kt`:
- Around line 32-50: Update the UserInfo layout so the variable-length activity
message and joined date can wrap onto multiple lines instead of being forced
into one fixed Row with the bullet icon. Use an adaptive FlowRow or equivalent
Compose layout, preserving the existing spacing, alignment, styling, and content
so both UserInfoText values remain visible on large fonts or narrow screens.

In `@app/src/main/java/com/poti/android/presentation/user/mypage/MyPageScreen.kt`:
- Around line 91-100: Restrict the header-below scroll areas to the remaining
parent height by replacing fillMaxSize() with fillMaxWidth().weight(1f) in
MyPageScreen.kt at lines 91-100 and ProfileScreen.kt at lines 75-85; preserve
the existing scrolling, background, padding, and arrangement behavior at both
sites.

---

Nitpick comments:
In `@app/src/main/java/com/poti/android/presentation/main/MainBottomBar.kt`:
- Around line 51-63: Extract the hardcoded 20.dp corner radius and 4.dp shadow
radius/offset values used by MainBottomBar into the existing Dimens or
design-system tokens, then reference those tokens when creating topRoundedShape
and Shadow. Reuse matching existing tokens where available rather than
introducing duplicate values.
🪄 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: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 06f37b09-9248-462b-8ff8-fd1bd3bea6df

📥 Commits

Reviewing files that changed from the base of the PR and between 3e22cfe and 27f899a.

📒 Files selected for processing (13)
  • app/src/main/java/com/poti/android/core/designsystem/component/button/PotiModalButton.kt
  • app/src/main/java/com/poti/android/core/designsystem/component/field/PotiSearchBar.kt
  • app/src/main/java/com/poti/android/core/designsystem/component/navigation/PotiHeaderPage.kt
  • app/src/main/java/com/poti/android/core/designsystem/component/navigation/PotiHeaderPrimary.kt
  • app/src/main/java/com/poti/android/core/designsystem/component/navigation/PotiHeaderSection.kt
  • app/src/main/java/com/poti/android/presentation/main/MainBottomBar.kt
  • app/src/main/java/com/poti/android/presentation/user/component/BadgeButton.kt
  • app/src/main/java/com/poti/android/presentation/user/component/HistorySummaryCard.kt
  • app/src/main/java/com/poti/android/presentation/user/component/UserInfo.kt
  • app/src/main/java/com/poti/android/presentation/user/component/UserProfile.kt
  • app/src/main/java/com/poti/android/presentation/user/mypage/MyPageScreen.kt
  • app/src/main/java/com/poti/android/presentation/user/profile/ProfileScreen.kt
  • app/src/main/res/values/strings.xml

onClear: () -> Unit = { onValueChange("") },
focusRequester: FocusRequester? = null,
) {
val requester = remember { focusRequester ?: FocusRequester() }

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail
rg -n -C 3 --glob '*.kt' '\bfocusRequester\s*=' app/src/main/java
rg -n -C 3 --glob '*.kt' '\bPoti(SearchBar|HeaderPageSearch)\s*\(' app/src/main/java

Repository: team-poti/POTI-ANDROID

Length of output: 10433


🏁 Script executed:

#!/bin/bash
set -euo pipefail
sed -n '54,95p' app/src/main/java/com/poti/android/core/designsystem/component/field/PotiSearchBar.kt
sed -n '116,151p' app/src/main/java/com/poti/android/core/designsystem/component/navigation/PotiHeaderPage.kt

Repository: team-poti/POTI-ANDROID

Length of output: 2970


🏁 Script executed:

#!/bin/bash
set -euo pipefail
rg -n -C 3 --glob '*.kt' 'PotiHeaderPageSearch\(' app/src/main/java

Repository: team-poti/POTI-ANDROID

Length of output: 2809


외부 FocusRequester 전달 시에는 내부 requester를 재사용하지 않도록 해주세요.

현재 호출부에서는 외부 focusRequester가 전달되지 않아 이슈가 나타나지 않지만, 이 파라미터를 공개 API로 사용하려 한다면 현재 remember { focusRequester ?: FocusRequester() } 방식은 한번 null이면 이후 외부 value가 전달되어도 반영되지 않습니다. fallback은 기억하되, 외부 requester가 있으면 이를 그대로 사용해 주세요.

🤖 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/poti/android/core/designsystem/component/field/PotiSearchBar.kt`
at line 64, Update the requester initialization in the SearchBar composable so
an externally supplied focusRequester is always used directly, while only the
internally created FocusRequester is remembered as the fallback. Avoid
remembering the nullable selection itself, ensuring a later external requester
replaces the fallback.

Comment on lines +51 to +64
val topRoundedShape = RoundedCornerShape(topStart = 20.dp, topEnd = 20.dp)

Row(
modifier = modifier
.fillMaxWidth()
.background(PotiTheme.colors.white)
.background(PotiTheme.colors.white, topRoundedShape)
.innerShadow(
shape = topRoundedShape,
shadow = Shadow(
radius = 4.dp,
color = PotiTheme.colors.white.copy(alpha = 0.5f),
offset = DpOffset(x = 0.dp, y = 4.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.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Inner shadow 색상 대비를 확인해 주세요.

배경과 그림자가 모두 흰색 계열(white, white.copy(alpha = 0.5f))이라 알파 블렌딩 후에도 시각적 깊이감이 거의 나타나지 않을 수 있습니다. Figma의 실제 shadow 색상과 alpha를 확인하고, 필요한 경우 대비되는 디자인 토큰을 사용해 주세요.

🤖 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/poti/android/presentation/main/MainBottomBar.kt` around
lines 51 - 64, Update the innerShadow configuration in MainBottomBar’s Row to
match the Figma shadow color and alpha, replacing the low-contrast white-based
Shadow values with the appropriate contrasting design token while preserving the
existing shape, radius, and offset.

Comment on lines +32 to 50
Row(
modifier = modifier
.clip(RoundedCornerShape(12.dp))
.background(PotiTheme.colors.gray100)
.padding(all = 12.dp),
verticalArrangement = Arrangement.Center,
horizontalAlignment = Alignment.CenterHorizontally,
) {
UserInfoItem(
infoContent = activityMessage,
modifier = Modifier.fillMaxWidth(),
)
UserInfoItem(
infoContent = formatJoinedDate(joinedAt),
modifier = Modifier.fillMaxWidth(),
)
}
}

@Composable
private fun UserInfoItem(
infoContent: String,
modifier: Modifier = Modifier,
) {
Row(
modifier = modifier,
horizontalArrangement = Arrangement.Start,
.background(PotiTheme.colors.white)
.padding(horizontal = 12.dp, vertical = 16.dp),
horizontalArrangement = Arrangement.Center,
verticalAlignment = Alignment.CenterVertically,
) {
UserInfoText(text = activityMessage)

Icon(
imageVector = ImageVector.vectorResource(R.drawable.ic_bullet),
contentDescription = null,
modifier = Modifier.size(24.dp),
tint = PotiTheme.colors.gray800,
)

Text(
text = infoContent,
color = PotiTheme.colors.black,
style = PotiTheme.typography.caption12m,
)
UserInfoText(text = formatJoinedDate(joinedAt))
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

큰 글꼴에서 두 정보가 함께 표시되도록 레이아웃을 적응형으로 바꿔주세요.

가변 길이인 활동 문구와 가입일을 고정 아이콘과 같은 Row에 배치하면, 큰 글꼴 또는 좁은 화면에서 가입일이 밀리거나 잘릴 수 있습니다. FlowRow 또는 줄바꿈 가능한 구성으로 두 정보를 항상 확인할 수 있게 해주세요.

As per path instructions, “Kotlin 및 Jetpack Compose 모범 사례”를 적용했습니다.

🤖 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/poti/android/presentation/user/component/UserInfo.kt`
around lines 32 - 50, Update the UserInfo layout so the variable-length activity
message and joined date can wrap onto multiple lines instead of being forced
into one fixed Row with the bullet icon. Use an adaptive FlowRow or equivalent
Compose layout, preserving the existing spacing, alignment, styling, and content
so both UserInfoText values remain visible on large fonts or narrow screens.

Source: Path instructions

Comment on lines 91 to +100
Column(
modifier = Modifier
.fillMaxSize()
.background(PotiTheme.colors.gray100)
.verticalScroll(scrollState)
.padding(
horizontal = 16.dp,
vertical = 20.dp,
),
verticalArrangement = Arrangement.spacedBy(24.dp),
verticalArrangement = Arrangement.spacedBy(12.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.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

헤더 아래 스크롤 영역을 남은 높이로 제한해주세요. 두 화면 모두 헤더가 먼저 높이를 차지한 부모 Column 안에서 스크롤 자식에 fillMaxSize()를 적용해 viewport가 부모 경계를 초과할 수 있습니다.

  • app/src/main/java/com/poti/android/presentation/user/mypage/MyPageScreen.kt#L91-L100: fillMaxSize()fillMaxWidth().weight(1f)로 교체해주세요.
  • app/src/main/java/com/poti/android/presentation/user/profile/ProfileScreen.kt#L75-L85: 동일하게 fillMaxWidth().weight(1f)로 교체해주세요.

As per path instructions, “Jetpack Compose 성능 및 UI 최적화”를 적용했습니다.

📍 Affects 2 files
  • app/src/main/java/com/poti/android/presentation/user/mypage/MyPageScreen.kt#L91-L100 (this comment)
  • app/src/main/java/com/poti/android/presentation/user/profile/ProfileScreen.kt#L75-L85
🤖 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/poti/android/presentation/user/mypage/MyPageScreen.kt`
around lines 91 - 100, Restrict the header-below scroll areas to the remaining
parent height by replacing fillMaxSize() with fillMaxWidth().weight(1f) in
MyPageScreen.kt at lines 91-100 and ProfileScreen.kt at lines 75-85; preserve
the existing scrolling, background, padding, and arrangement behavior at both
sites.

Source: Path instructions

@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/poti/android/core/designsystem/component/navigation/PotiHeaderPrimary.kt (1)

116-127: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

토글 항목을 selectableGroup으로 묶어주세요.

PotiHeaderPrimaryToggleItemselectable(role = Role.Tab)로 구현되어 있으므로, PotiHeaderPrimaryToggle의 부모 RowModifier.selectableGroup()을 적용하면 탭 집합으로서의 접근성 탐색과 선택 상태 전달이 더 원활해집니다. 이때 selectableGroup()을 적용하려면 selectableGroup import도 추가해주세요.

🤖 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/poti/android/core/designsystem/component/navigation/PotiHeaderPrimary.kt`
around lines 116 - 127, Apply Modifier.selectableGroup() to the parent Row in
PotiHeaderPrimaryToggle so its PotiHeaderPrimaryToggleItem children form an
accessible tab group, and add the required selectableGroup import.

Source: MCP tools

🤖 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/poti/android/core/designsystem/component/navigation/PotiHeaderPrimary.kt`:
- Around line 116-127: Apply Modifier.selectableGroup() to the parent Row in
PotiHeaderPrimaryToggle so its PotiHeaderPrimaryToggleItem children form an
accessible tab group, and add the required selectableGroup import.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: ec24d6cc-5182-4e34-af66-f7a00d7c76ce

📥 Commits

Reviewing files that changed from the base of the PR and between 27f899a and 487c260.

📒 Files selected for processing (2)
  • app/src/main/java/com/poti/android/core/designsystem/component/navigation/PotiHeaderPrimary.kt
  • app/src/main/java/com/poti/android/core/designsystem/component/navigation/PotiHeaderSection.kt
🚧 Files skipped from review as they are similar to previous changes (1)
  • app/src/main/java/com/poti/android/core/designsystem/component/navigation/PotiHeaderSection.kt

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

Labels

Projects

Status: To-do

Development

Successfully merging this pull request may close these issues.

[refactor] Figma 컴포넌트 가이드 변경사항 반영

1 participant