Skip to content

홈페이지 디자인 변경사항 반영 및 입금 관리 페이지 라우팅 추가#22

Merged
ongheong merged 10 commits intodevelopfrom
fix/MD-11
Mar 15, 2026
Merged

홈페이지 디자인 변경사항 반영 및 입금 관리 페이지 라우팅 추가#22
ongheong merged 10 commits intodevelopfrom
fix/MD-11

Conversation

@ongheong
Copy link
Copy Markdown
Contributor

@ongheong ongheong commented Feb 18, 2026

💻 작업 내용

  • 홈페이지에서 디자인이 변경된 부분을 화면에 반영했습니다.
  • 홈페이지 > 진행중인 정산에서 최신순/오래된순으로 정산 목록을 정렬하도록 반영했습니다.
    => 해당 코드는 임시 코드로, 추후 Select 컴포넌트 구현 테스크에서 적용까지 작업하겠습니다.
  • 기존에 HomePage만의 스타일 컴포넌트를 제거하고 Header, Tag 등의 공통 컴포넌트를 적용했습니다.
  • Tag 컴포넌트의 props에 onClick 핸들러 props를 추가했습니다.
  • 입금 관리 (PaymentManagement)에 대한 페이지 및 라우터를 추가했습니다.

Summary by CodeRabbit

  • 새로운 기능
    • Payment Management 페이지를 추가했습니다.
  • UI 변경 / 개선
    • 홈 화면을 모듈화해 메인 헤더, 정산 배너 및 정산 목록 컴포넌트로 재구성했습니다.
    • 배너에 빠른 액션(링크 관리, 입금 관리) 및 빈 상태 이미지/문구를 추가했습니다.
    • 진행중/완료 토글 칩과 정렬 토글(최신/오래된)을 도입했습니다.
  • 동작 개선
    • Chip에 클릭 동작과 상호작용 커서가 추가되었습니다.
  • 네비게이션
    • 입금 관리 경로(/payment-management)를 등록했습니다.

@ongheong ongheong self-assigned this Feb 18, 2026
@github-actions github-actions bot requested a review from yoouyeon February 18, 2026 08:42
@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 18, 2026

📝 관련 이슈

MD-11

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Feb 18, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: c32312fe-0311-4d4b-ab28-f10706c0c067

📥 Commits

Reviewing files that changed from the base of the PR and between ee393a1 and 79b6822.

📒 Files selected for processing (4)
  • src/pages/home/ui/HomePageSection/index.tsx
  • src/pages/paymentManagement/PaymentManagementPage.tsx
  • src/pages/paymentManagement/index.ts
  • src/shared/ui/Chip/index.styles.ts
🚧 Files skipped from review as they are similar to previous changes (2)
  • src/pages/paymentManagement/index.ts
  • src/pages/home/ui/HomePageSection/index.tsx

📝 Walkthrough

Walkthrough

새로운 지연 로딩 결제 관리 페이지 및 경로가 추가되었고, HomePage의 헤더·배너·정산리스트가 ui/HomePageSection로 분리되었으며, Chip에 선택적 onClick과 커서 스타일이 추가되고 홈 페이지 스타일 일부 export가 제거되었습니다.

Changes

Cohort / File(s) Summary
결제 관리 페이지
src/pages/paymentManagement/PaymentManagementPage.tsx, src/pages/paymentManagement/index.ts
새로운 PaymentManagementPage 컴포넌트 추가 및 인덱스에서 명명 재내보내기(PaymentManagementPage).
라우터 및 경로 설정
src/app/Router.tsx, src/shared/config/route.ts
lazy-loaded PaymentManagement 보호 라우트 등록 및 ROUTE.paymentManagement = '/payment-management' 추가.
홈페이지 UI 분리
src/pages/home/HomePage.tsx, src/pages/home/ui/HomePageSection/index.tsx, src/pages/home/ui/HomePageSection/index.style.ts
HomePage가 MainHeader, SettlementBanner, SettlementList로 분리되고 관련 상태·정렬·필터 로직과 목 데이터 일부가 ui/HomePageSection으로 이동.
홈 스타일 정리
src/pages/home/HomePage.style.ts
여러 styled export(예: Button, MainHeader, SettlementButton 등) 제거로 공개 스타일 API 축소.
Chip 상호작용 추가
src/shared/ui/Chip/index.tsx, src/shared/ui/Chip/index.styles.ts
ChipProps에 선택적 onClick 추가 및 전달; 스타일에서 onClick 존재 시 cursor: pointer 적용.

Possibly related PRs

Suggested labels

✨ Feature

Poem

🐰 새 길에 깡충, 컴포넌트 날개 펴네
헤더는 웃고, 배너는 살랑 춤추네
칩이 손짓하면 커서가 반짝이며
결제 관리는 조용히 자리를 잡았네
코드 밭에 당근 하나, 기쁨을 쪼개네

🚥 Pre-merge checks | ✅ 1
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

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

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/MD-11
📝 Coding Plan
  • Generate coding plan for human review comments

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.

Tip

You can make CodeRabbit's review stricter and more nitpicky using the `assertive` profile, if that's what you prefer.

Change the reviews.profile setting to assertive to make CodeRabbit's nitpick more issues in your PRs.

@coderabbitai coderabbitai bot changed the title @coderabbitai 제목 결제 관리 페이지 라우팅 및 홈 컴포넌트 리팩토링 Feb 18, 2026
@ongheong ongheong changed the title 결제 관리 페이지 라우팅 및 홈 컴포넌트 리팩토링 홈페이지 디자인 변경사항 반영 및 입금 관리 페이지 라우팅 추가 Feb 18, 2026
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: 4

🧹 Nitpick comments (5)
src/pages/paymentManagement/index.ts (1)

1-1: Prettier 오류: 중괄호 내부 공백 및 파일 끝 개행 누락

ESLint prettier/prettier 규칙에 따라 중괄호 내부 공백과 파일 끝 개행을 추가해야 합니다.

♻️ 수정 제안
-export {default as PaymentManagementPage} from './PaymentManagementPage';
+export { default as PaymentManagementPage } from './PaymentManagementPage';
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/pages/paymentManagement/index.ts` at line 1, 파일 끝에 줄바꿈을 추가하고 중괄호 내부 공백을
Prettier 스타일에 맞게 고치세요: export 구문 "export {default as PaymentManagementPage} from
'./PaymentManagementPage';"에서 중괄호 안을 "export { default as PaymentManagementPage
} from './PaymentManagementPage';"로 변경하고 파일 끝에 단일 개행 문자를 추가하여 prettier/prettier
오류를 해소하세요.
src/pages/paymentManagement/PaymentManagementPage.tsx (1)

1-7: 플레이스홀더 구현입니다 — 이후 구현 시 디자인 시스템 컴포넌트 활용을 권장합니다.

현재 raw <div> / <h1> 및 영어 텍스트("Payment Management")로 구성된 스텁 구현입니다. 실제 페이지 개발 시 Text, Flex 등 프로젝트 디자인 시스템 컴포넌트로 대체하고 한국어 텍스트를 적용해 주세요.

실제 입금 관리 페이지 레이아웃 구현이 필요하시면 이슈를 열어드릴 수 있습니다.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/pages/paymentManagement/PaymentManagementPage.tsx` around lines 1 - 7,
Replace the placeholder raw HTML in the PaymentManagementPage function with
project design-system components: use Text (or Heading) instead of <h1> and
Flex/Box wrappers instead of <div>, and swap the English label "Payment
Management" for the Korean equivalent (e.g., "입금 관리"); update
PaymentManagementPage to import and use the design-system components
(Text/Heading, Flex/Box) so the page matches the app's styling conventions.
src/pages/home/HomePage.tsx (2)

69-92: Prettier 포맷팅 오류: MainHeader 컴포넌트 내부 과도한 들여쓰기

Header 컴포넌트 props 전체(lines 69–92)에 2칸 추가 들여쓰기가 적용되어 있어 ESLint prettier/prettier 에러가 다수 발생합니다. prettier --write 실행으로 일괄 수정 가능합니다.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/pages/home/HomePage.tsx` around lines 69 - 92, The MainHeader (Header)
JSX props block (the leftButtonContent/rightButtonContent and bgColor props
around the MainHeader usage) has extra indentation causing prettier/prettier
lint errors; fix by reformatting that JSX so props are indented consistently
(e.g., align props under the opening tag) and run prettier --write (or apply
your editor's autoformat) to normalize spacing for the MainHeader and its
leftButtonContent/rightButtonContent prop values.

192-205: 정렬 버튼이 SEND 탭에서도 표시되나 동작하지 않습니다.

sortToggle은 RECEIVE 탭의 목록에만 적용되지만, 정렬 버튼은 두 탭 모두에서 표시됩니다. SEND 탭 활성 시 버튼이 동작하지 않아 혼란을 줄 수 있습니다. Select 컴포넌트로 교체 예정(TODO)이지만, 현재도 settlementType === 'RECEIVE'일 때만 버튼을 렌더링하는 것을 권장합니다.

💡 수정 제안
-        {/** `@Todo` Select 컴포넌트 개발 후 변경 */}
-        <Button variant="text" onClick={handleSortOptionClick}>
+        {settlementType === 'RECEIVE' && (
+        <Button variant="text" onClick={handleSortOptionClick}>
           <Text variant="body2R" color="semantic.text.subtle">
             {sortToggle ? '오래된순' : '최신순'}
           </Text>
           <Next ... />
         </Button>
+        )}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/pages/home/HomePage.tsx` around lines 192 - 205, The sort button (Button
with onClick={handleSortOptionClick} rendering Text, Next and using sortToggle)
is shown for both SEND and RECEIVE but only affects RECEIVE; update the render
to conditionally show this block only when settlementType === 'RECEIVE' (i.e.,
wrap or gate the Button/Next/Text JSX with a check against settlementType) so
the control is hidden for SEND until you replace it with the Select component
per the TODO; keep existing handlers (handleSortOptionClick, sortToggle) and
styles unchanged.
src/app/Router.tsx (1)

126-126: Prettier 오류: 빈 줄에 공백이 포함되어 있습니다.

ESLint prettier/prettier 에러가 발생합니다. 해당 줄의 공백을 제거해 주세요.

♻️ 수정 제안
-        
+
         {
           path: '*',
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/app/Router.tsx` at line 126, 빈 줄에 불필요한 공백이 있어 Prettier(ESLint
prettier/prettier) 에러가 발생합니다; Router.tsx 파일의 Router 컴포넌트(또는 해당 파일 내 빈 줄 위치)를 열어
문제의 빈 줄(대략 파일 중간, 주석/구성 사이의 빈 줄)을 찾아 trailing whitespace를 삭제하고 빈 줄을 완전히 비워 저장하여
Prettier 오류를 해결하세요.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@src/pages/home/HomePage.tsx`:
- Around line 16-17: Reorder the import statements in HomePage.tsx so they
follow the project's import/order rule: move the absolute aliased imports
(Button and Header from '@/shared/ui/Button' and '@/shared/ui/Header') above the
relative import './ui/HomeExpenseItem'; specifically, ensure imports for Button
and Header appear before the import of HomeExpenseItem to satisfy ESLint
import/order.
- Around line 207-220: The RECEIVE branch currently renders nothing when
settlementType === 'RECEIVE' and settlementList.length === 0; update the
conditional around SettlementListWrapper (the block using settlementType,
settlementList and HomeExpenseItem) to render a RECEIVE-specific empty state UI
(reuse the same EmptyState component or the SEND empty-state markup) whenever
settlementList.length === 0 for the RECEIVE case, ensuring the UI shows a
helpful message/icon instead of a blank screen; keep the existing mapping for
non-empty lists and place the empty-state rendering inside the same conditional
that now guards S.SettlementListWrapper.
- Around line 56-59: ESLint flags using components before they are defined; move
the declarations of the subcomponents MainHeader, SettlementBanner, and
SettlementList so they appear before the HomePage component definition (exported
HomePage function) in the file; locate the functions or const components named
MainHeader, SettlementBanner, and SettlementList and cut/paste their full
declarations to above the HomePage declaration so the identifiers are defined
prior to use.
- Line 71: The logo Button in HomePage currently calls navigate(ROUTE.login)
which likely redirects authenticated users to the login page; either change the
click target to navigate(ROUTE.home) if the intended behavior is to return to
home, or implement an auth guard inside the Button's onClick that checks the
current auth state (e.g., isAuthenticated) and navigates to ROUTE.login only
when unauthenticated otherwise navigate(ROUTE.home); update the Button's onClick
handler (the element using navigate and ROUTE in HomePage) accordingly.

---

Nitpick comments:
In `@src/app/Router.tsx`:
- Line 126: 빈 줄에 불필요한 공백이 있어 Prettier(ESLint prettier/prettier) 에러가 발생합니다;
Router.tsx 파일의 Router 컴포넌트(또는 해당 파일 내 빈 줄 위치)를 열어 문제의 빈 줄(대략 파일 중간, 주석/구성 사이의 빈
줄)을 찾아 trailing whitespace를 삭제하고 빈 줄을 완전히 비워 저장하여 Prettier 오류를 해결하세요.

In `@src/pages/home/HomePage.tsx`:
- Around line 69-92: The MainHeader (Header) JSX props block (the
leftButtonContent/rightButtonContent and bgColor props around the MainHeader
usage) has extra indentation causing prettier/prettier lint errors; fix by
reformatting that JSX so props are indented consistently (e.g., align props
under the opening tag) and run prettier --write (or apply your editor's
autoformat) to normalize spacing for the MainHeader and its
leftButtonContent/rightButtonContent prop values.
- Around line 192-205: The sort button (Button with
onClick={handleSortOptionClick} rendering Text, Next and using sortToggle) is
shown for both SEND and RECEIVE but only affects RECEIVE; update the render to
conditionally show this block only when settlementType === 'RECEIVE' (i.e., wrap
or gate the Button/Next/Text JSX with a check against settlementType) so the
control is hidden for SEND until you replace it with the Select component per
the TODO; keep existing handlers (handleSortOptionClick, sortToggle) and styles
unchanged.

In `@src/pages/paymentManagement/index.ts`:
- Line 1: 파일 끝에 줄바꿈을 추가하고 중괄호 내부 공백을 Prettier 스타일에 맞게 고치세요: export 구문 "export
{default as PaymentManagementPage} from './PaymentManagementPage';"에서 중괄호 안을
"export { default as PaymentManagementPage } from './PaymentManagementPage';"로
변경하고 파일 끝에 단일 개행 문자를 추가하여 prettier/prettier 오류를 해소하세요.

In `@src/pages/paymentManagement/PaymentManagementPage.tsx`:
- Around line 1-7: Replace the placeholder raw HTML in the PaymentManagementPage
function with project design-system components: use Text (or Heading) instead of
<h1> and Flex/Box wrappers instead of <div>, and swap the English label "Payment
Management" for the Korean equivalent (e.g., "입금 관리"); update
PaymentManagementPage to import and use the design-system components
(Text/Heading, Flex/Box) so the page matches the app's styling conventions.

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: 4

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

Inline comments:
In `@src/pages/home/HomePage.tsx`:
- Line 233: The empty-state message shown under the COMPLETED tab is wrong —
replace the string "아직 진행중인 정산이 없어요." with a message that indicates there are no
completed settlements (e.g., "완료된 정산이 없어요.") inside the HomePage component where
the COMPLETED tab's empty list is rendered; locate the JSX in HomePage.tsx that
currently renders that exact string and update it to the correct completed-tab
text (or the corresponding i18n key if the app uses localization).
- Around line 208-221: The IN_PROGRESS tab renders nothing when settlementList
is empty; update the JSX handling for settlementType === 'IN_PROGRESS' in
HomePage to render an empty state component (same UI used by COMPLETED tab) when
settlementList.length === 0: inside the conditional that currently renders
S.SettlementListWrapper and HomeExpenseItem map, add a branch to display the
same empty state element (or a shared EmptyState component) when settlementList
is empty so users see a meaningful message instead of a blank screen.
- Around line 65-95: The JSX in the MainHeader function has incorrect
indentation for the <Header> props (the entire return block is over-indented),
causing Prettier/ESLint "Delete ··"/"Insert ··" complaints; fix by reformatting
the return JSX of MainHeader so the <Header> opening tag and its props align
with the component return (matching project Prettier settings) or simply run
prettier --write on this file to apply the project's formatting rules; focus
edits around the MainHeader return block and the <Header> component usage to
ensure props (leftButtonContent, rightButtonContent, bgColor) and the closing />
are correctly indented.

In `@src/shared/ui/Chip/index.styles.ts`:
- Line 45: Prettier rejects the current ternary in the styled cursor
declaration; update the cursor line that uses the onClick prop (the expression
inside ${({ onClick }) => ...}) to wrap the ternary in parentheses so it becomes
${({ onClick }) => (onClick ? 'pointer' : 'default')}, ensuring the change is
applied in the styled component where the cursor is defined.

---

Duplicate comments:
In `@src/pages/home/HomePage.tsx`:
- Around line 16-18: Reorder the imports so absolute (aliased) imports come
before relative imports to satisfy the import/order ESLint rule: move Button,
Header, Chip (from '@/shared/ui/...') above the relative import of
HomeExpenseItem (./ui/HomeExpenseItem), ensuring the import list places all
'@/...' entries before './...' entries.
- Around line 57-60: The ESLint no-use-before-define error occurs because the
subcomponents MainHeader, SettlementBanner, and SettlementList are declared
after the HomePage function; move the declarations of MainHeader,
SettlementBanner, and SettlementList so they appear before the HomePage function
definition (or alternatively convert them to named const arrow functions
exported/declared prior) to ensure HomePage references are to already-defined
symbols and resolve the lint error.
- Line 72: The logo Button currently always calls navigate(ROUTE.login) which
sends authenticated users to the login page; update the Button's onClick handler
in HomePage.tsx (the Button rendering the logo) to navigate to the appropriate
route for logged-in users instead of ROUTE.login — e.g., use a conditional that
checks authentication state (isAuthenticated or currentUser) and calls
navigate(ROUTE.home) or navigate(ROUTE.dashboard) for authenticated users,
falling back to navigate(ROUTE.login) for unauthenticated users.

Copy link
Copy Markdown
Contributor

@yoouyeon yoouyeon left a comment

Choose a reason for hiding this comment

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

홈 디자인 변경된 것 확인했습니다! 고생하셨어용 🥹👏
코드래빗이 리뷰한 것 말고도 지금 파일들에 전반적으로 prettier가 적용되지 않은 것 같더라고요..!
그것도 같이 수정하면 좋을 것 같습니당!!

<Header
type="TitleCenter"
leftButtonContent={
<Button variant="text" onClick={() => navigate(ROUTE.login)}>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

콘솔에 아래 에러가 출력되는데, 아마도 버튼과 버튼이 중첩되어서 발생하는 문제 같습니다!
최상위 버튼 컴포넌트를 제거하면 에러가 해결될 것 같아요

Image

이 이슈랑 별개로,,,
기존 헤더 컴포넌트가 홈이랑 마이페이지에서 사용하는 헤더 모양에서는 잘 안 맞는 것 같더라구요 🥹
MD-8 헤더 수정하는 이슈에서 함께 수정하면 괜찮을 것 같습니다..!
(이슈에 이 내용 같이 적어둘게요!)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

헤더 UI가 좀 다른 것 같아서 홈/마이페이지용으로 새로 만들까 고민했습니다. DOM 에러만 수정하고, 헤더 UI는 태그해주신 테스크에서 수정하도록 하겠습니다!

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

이 파일 안에 홈에서 사용하는 ui 컴포넌트들이 함께 들어가 있는데,
저희 FSD 구조 활용해서 ui 컴포넌트들은 따로 ui 디렉토리나 features 쪽에 만들어서 넣어두고 page에서는 조합하는 형태로 해보기로 했던 걸로 기억하고 있거든요..!
api 코드 추가되면서 코드가 더 복잡해지기 전에 여기서 디렉토리 정리를 먼저 해두면 어떨까 싶습니다!

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

아 넵! FSD 구조에 맞게 이동시키겠습니다!

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: 2

🧹 Nitpick comments (1)
src/pages/home/ui/HomePageSection/index.style.ts (1)

4-10: SelectGroupButton에 버튼 스타일 초기화 추가 고려.

cursor: pointer가 없으면 일부 브라우저에서 버튼 위에서 기본 화살표 커서가 표시되고, border: none이 없으면 글로벌 CSS 초기화 설정이 없는 환경에서 기본 테두리가 노출될 수 있습니다.

♻️ 개선 제안
 export const SelectGroupButton = styled.button`
   display: flex;
   align-items: center;
   gap: ${({ theme }) => theme.unit[4]};
   background: transparent;
+  border: none;
+  cursor: pointer;
+  padding: 0;
   color: ${({ theme }) => theme.color.semantic.orange.default};
 `;
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/pages/home/ui/HomePageSection/index.style.ts` around lines 4 - 10,
SelectGroupButton currently lacks button reset styles which can show browser
defaults; update the styled component SelectGroupButton to include at minimum
cursor: pointer and border: none (and optionally background: transparent already
present) so the button consistently shows pointer cursor and no default border
across browsers; locate the SelectGroupButton definition and add those CSS
properties to the template literal.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@src/pages/home/ui/HomePageSection/index.tsx`:
- Around line 53-55: Remove the unused navigate declaration from the MainHeader
component to fix the ESLint error: in MainHeader(), delete the const navigate =
useNavigate(); line (leftButtonOnClick is currently commented out so navigate is
unused); when you later implement the logo click handler (leftButtonOnClick) you
can reintroduce useNavigate().
- Around line 13-18: ESLint import/order flagged that absolute imports Button,
Header, and Chip are placed after relative imports; reorder the imports in
index.tsx so that the absolute imports (Button, Header, Chip from
'@/shared/ui/...') appear before the relative imports (HomeExpenseItem from
'../HomeExpenseItem' and S from './index.style'); update the import block
accordingly to satisfy import/order while keeping the same identifiers (Button,
Header, Chip, HomeExpenseItem, S).

---

Duplicate comments:
In `@src/pages/home/ui/HomePageSection/index.tsx`:
- Around line 191-204: The IN_PROGRESS branch currently renders nothing when
settlementList is empty; update the conditional render for settlementType ===
'IN_PROGRESS' to include an empty-state component (same one used by the
COMPLETED tab) when settlementList.length === 0 instead of rendering nothing —
locate the block that uses settlementList, settlementType and
S.SettlementListWrapper and render the empty state UI (or a dedicated EmptyState
component) in that branch while preserving the existing map over settlementList
and HomeExpenseItem when items exist.
- Around line 215-217: In the HomePageSection component (index.tsx) where the
COMPLETED tab renders the empty-state Text element (Text with variant="body2R"
color="semantic.text.subtle"), replace the incorrect message "아직 진행중인 정산이 없어요."
with a message appropriate for completed items (e.g. "아직 완료된 정산이 없어요."),
ensuring the change is only applied to the COMPLETED tab branch so the
IN_PROGRESS tab message remains unchanged.

---

Nitpick comments:
In `@src/pages/home/ui/HomePageSection/index.style.ts`:
- Around line 4-10: SelectGroupButton currently lacks button reset styles which
can show browser defaults; update the styled component SelectGroupButton to
include at minimum cursor: pointer and border: none (and optionally background:
transparent already present) so the button consistently shows pointer cursor and
no default border across browsers; locate the SelectGroupButton definition and
add those CSS properties to the template literal.

@ongheong
Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Feb 22, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

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 `@src/shared/ui/Chip/index.styles.ts`:
- Line 45: The Container is implemented as a styled.div and only sets cursor
based on onClick, so keyboard users cannot focus or activate the Chip; update
accessibility by making clickable Chips real buttons or adding ARIA+keyboard
handlers: preferred fix is change Container from styled.div to styled.button and
let it receive onClick, focus and keyboard behavior natively (update styles to
reset button defaults); alternatively, if you must keep a div, when onClick is
present add role="button", tabIndex={0}, and an onKeyDown handler that calls
onClick for Enter and Space (preventDefault for Space) so Container, onClick and
related components handle keyboard activation correctly.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 009c92f6-a387-4d69-a710-156cbae34db7

📥 Commits

Reviewing files that changed from the base of the PR and between ee393a1 and 79b6822.

📒 Files selected for processing (4)
  • src/pages/home/ui/HomePageSection/index.tsx
  • src/pages/paymentManagement/PaymentManagementPage.tsx
  • src/pages/paymentManagement/index.ts
  • src/shared/ui/Chip/index.styles.ts
🚧 Files skipped from review as they are similar to previous changes (3)
  • src/pages/home/ui/HomePageSection/index.tsx
  • src/pages/paymentManagement/PaymentManagementPage.tsx
  • src/pages/paymentManagement/index.ts

@ongheong
Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 15, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@ongheong ongheong merged commit b58628b into develop Mar 15, 2026
1 check passed
@ongheong ongheong deleted the fix/MD-11 branch March 15, 2026 13:40
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.

3 participants