Skip to content

[FEAT] 대시보드 api 연동#28

Merged
Sangyoon98 merged 3 commits intodevfrom
SPM-432
Nov 7, 2025
Merged

[FEAT] 대시보드 api 연동#28
Sangyoon98 merged 3 commits intodevfrom
SPM-432

Conversation

@Sangyoon98
Copy link
Member

@Sangyoon98 Sangyoon98 commented Nov 6, 2025

📝 Summary

🙏 Question & PR point

📬 Reference

Summary by CodeRabbit

릴리스 노트

  • 새로운 기능

    • 대시보드 전체 통계(전체/품절/저재고/총수량) 제공
    • 주간 요약 섹션 추가(주간 입고·품절 통계 및 기간 표기)
  • UI 개선

    • 대시보드 카드·버튼에 통계 연동 및 라벨/아이콘 업데이트
    • 주간 요약에 상태별 색상 시각화(성공/실패) 적용
  • 자산

    • 신규 벡터 아이콘 및 문자열 리소스 추가

@coderabbitai
Copy link

coderabbitai bot commented Nov 6, 2025

Walkthrough

대시보드 기능을 위한 DTO·매퍼·Retrofit API, 저장소 구현, Use Case, DI 모듈, ViewModel 및 UI(WeeklySummarySection 포함)와 리소스 변경을 추가합니다. 원격 응답을 도메인 모델로 매핑하고 ViewModel이 대시보드·주간요약을 로드해 UI 상태로 노출하도록 구성합니다.

Changes

Cohort / File(s) Summary
DTO 및 데이터 모델
app/src/main/java/com/sampoom/android/feature/dashboard/data/remote/dto/DashboardResponseDto.kt, app/src/main/java/com/sampoom/android/feature/dashboard/data/remote/dto/WeeklySummaryResponseDto.kt
원격 응답을 담는 DashboardResponseDto(4개 필드) 및 WeeklySummaryResponseDto(3개 필드) 데이터 클래스 추가
도메인 모델
app/src/main/java/com/sampoom/android/feature/dashboard/domain/model/Dashboard.kt, app/src/main/java/com/sampoom/android/feature/dashboard/domain/model/WeeklySummary.kt
도메인 레이어용 DashboardWeeklySummary 데이터 클래스 추가
매퍼
app/src/main/java/com/sampoom/android/feature/dashboard/data/mapper/DashboardMappers.kt
DTO → 도메인 변환을 수행하는 확장 함수 toModel() 2개 추가
API 인터페이스
app/src/main/java/com/sampoom/android/feature/dashboard/data/remote/api/DashboardApi.kt
Retrofit 인터페이스 DashboardApi 추가: getDashboard(agencyId)getWeeklySummary(agencyId) 엔드포인트 선언
저장소
app/src/main/java/com/sampoom/android/feature/dashboard/domain/repository/DashboardRepository.kt, app/src/main/java/com/sampoom/android/feature/dashboard/data/repository/DashboardRepositoryImpl.kt
저장소 인터페이스 및 DashboardRepositoryImpl 추가 — DashboardApiAuthPreferences 주입, DTO 호출 후 매핑하여 Result로 반환
Use Case
app/src/main/java/com/sampoom/android/feature/dashboard/domain/usecase/GetDashboardUseCase.kt, app/src/main/java/com/sampoom/android/feature/dashboard/domain/usecase/WeeklySummaryUseCase.kt
저장소 호출을 위임하는 Use Case 클래스들 추가
의존성 주입
app/src/main/java/com/sampoom/android/feature/dashboard/di/DashboardModules.kt
DashboardRepositoryImpl 바인딩과 DashboardApi 제공을 위한 Hilt/Dagger 모듈 추가
UI 상태 및 ViewModel
app/src/main/java/com/sampoom/android/feature/dashboard/ui/DashboardUiState.kt, app/src/main/java/com/sampoom/android/feature/dashboard/ui/DashboardViewModel.kt
UI 상태에 dashboard, weeklySummary 및 해당 로딩/에러 필드 추가. ViewModel에 GetDashboard/WeeklySummary Use Case 주입 및 로드 로직(초기 로드·재시도·에러 처리) 추가
UI 화면
app/src/main/java/com/sampoom/android/feature/dashboard/ui/DashboardScreen.kt
ButtonSection 시그니처에 dashboard 파라미터 추가, OrderListSection 시그니처 축소, WeeklySummarySection 신규 컴포저블 추가 및 UI 바인딩 갱신
리소스
app/src/main/res/drawable/block.xml, app/src/main/res/drawable/car.xml, app/src/main/res/values/strings.xml
벡터 드로어블(block, car) 추가 및 대시보드 관련 문자열 리소스 추가/수정

Sequence Diagram(s)

sequenceDiagram
    participant VM as DashboardViewModel
    participant UC_D as GetDashboardUseCase
    participant UC_W as WeeklySummaryUseCase
    participant Repo as DashboardRepositoryImpl
    participant API as DashboardApi
    participant Mapper as DashboardMappers

    Note right of VM: 초기화 시 대시보드·주간요약 로드
    VM->>UC_D: invoke()
    UC_D->>Repo: getDashboard()
    Repo->>API: getDashboard(agencyId)
    API-->>Repo: DashboardResponseDto
    Repo->>Mapper: dto.toModel()
    Mapper-->>Repo: Dashboard
    Repo-->>UC_D: Result<Dashboard>
    UC_D-->>VM: Result<Dashboard>

    VM->>UC_W: invoke()
    UC_W->>Repo: getWeeklySummary()
    Repo->>API: getWeeklySummary(agencyId)
    API-->>Repo: WeeklySummaryResponseDto
    Repo->>Mapper: dto.toModel()
    Mapper-->>Repo: WeeklySummary
    Repo-->>UC_W: Result<WeeklySummary>
    UC_W-->>VM: Result<WeeklySummary>
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

  • 집중 검토 권장 파일/영역:
    • DashboardRepositoryImpl.kt: agencyId 조회 실패 케이스, runCatching/Result 래핑 및 예외 메시지 변환
    • DashboardViewModel.kt: 동시 로드 흐름(초기화·재시도), 상태 업데이트와 에러 핸들링 일관성
    • DashboardScreen.kt: nullable 도메인 모델을 사용하는 컴포저블 변경(버튼/섹션)과 시그니처 영향

Possibly related PRs

Suggested labels

ready-to-merge

Suggested reviewers

  • Lee-Jong-Jin
  • yangjiseonn
  • taemin3
  • vivivim

Poem

🐇 새벽밭에 키보드 두드리며, 작지만 반짝이는 변경을 심었네
DTO는 도메인 돋보기로, API는 길을 터주고
저장소는 씨앗을 심고 Use Case가 물을 주네
UI는 무르익은 당근처럼 화면을 밝히고
토끼가 깡충, 커밋에 축하의 당근을 건넵니다 🥕✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 10.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed PR 제목은 대시보드 API 연동이라는 주요 변경사항을 명확하게 설명하며, 전체 변경사항과 일치합니다.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch SPM-432

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
Member

@CHOOSLA CHOOSLA left a comment

Choose a reason for hiding this comment

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

승인

Copy link

@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 (2)
app/src/main/java/com/sampoom/android/feature/dashboard/ui/DashboardUiState.kt (1)

7-13: 독립적인 로딩/에러 상태 고려 권장

dashboardweeklySummary가 동일한 dashboardLoadingdashboardError를 공유하고 있습니다. 두 API 호출 중 하나만 실패할 경우 UX가 명확하지 않을 수 있습니다. 만약 두 데이터를 독립적으로 로드하고 에러를 처리해야 한다면, 각각에 대한 별도의 로딩/에러 상태를 고려하세요.

app/src/main/java/com/sampoom/android/feature/dashboard/ui/DashboardScreen.kt (1)

455-520: 주간 요약 섹션 구현 양호

WeeklySummarySection 컴포저블이 깔끔하게 구현되었습니다. 입고/출고 데이터를 SuccessGreenFailRed로 시각적으로 구분한 것이 좋습니다.

Line 466의 빈 onClick = { }은 TODO인 것으로 보입니다. 추후 구현이 필요하다면 주석을 추가하거나 클릭 가능하지 않도록 Card를 일반 레이아웃으로 변경하는 것을 고려하세요.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 522d340 and 4f32609.

📒 Files selected for processing (17)
  • app/src/main/java/com/sampoom/android/feature/dashboard/data/mapper/DashboardMappers.kt (1 hunks)
  • app/src/main/java/com/sampoom/android/feature/dashboard/data/remote/api/DashboardApi.kt (1 hunks)
  • app/src/main/java/com/sampoom/android/feature/dashboard/data/remote/dto/DashboardResponseDto.kt (1 hunks)
  • app/src/main/java/com/sampoom/android/feature/dashboard/data/remote/dto/WeeklySummaryResponseDto.kt (1 hunks)
  • app/src/main/java/com/sampoom/android/feature/dashboard/data/repository/DashboardRepositoryImpl.kt (1 hunks)
  • app/src/main/java/com/sampoom/android/feature/dashboard/di/DashboardModules.kt (1 hunks)
  • app/src/main/java/com/sampoom/android/feature/dashboard/domain/model/Dashboard.kt (1 hunks)
  • app/src/main/java/com/sampoom/android/feature/dashboard/domain/model/WeeklySummary.kt (1 hunks)
  • app/src/main/java/com/sampoom/android/feature/dashboard/domain/repository/DashboardRepository.kt (1 hunks)
  • app/src/main/java/com/sampoom/android/feature/dashboard/domain/usecase/GetDashboardUseCase.kt (1 hunks)
  • app/src/main/java/com/sampoom/android/feature/dashboard/domain/usecase/WeeklySummaryUseCase.kt (1 hunks)
  • app/src/main/java/com/sampoom/android/feature/dashboard/ui/DashboardScreen.kt (7 hunks)
  • app/src/main/java/com/sampoom/android/feature/dashboard/ui/DashboardUiState.kt (1 hunks)
  • app/src/main/java/com/sampoom/android/feature/dashboard/ui/DashboardViewModel.kt (2 hunks)
  • app/src/main/res/drawable/block.xml (1 hunks)
  • app/src/main/res/drawable/car.xml (1 hunks)
  • app/src/main/res/values/strings.xml (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-10-29T02:47:47.061Z
Learnt from: Sangyoon98
Repo: 33-Auto/Sampoom-Management-Android PR: 22
File: app/src/main/java/com/sampoom/android/feature/cart/data/repository/CartRepositoryImpl.kt:16-22
Timestamp: 2025-10-29T02:47:47.061Z
Learning: Developer Sangyoon98 prefers to use runCatching for consistent error handling in repository implementations, rather than explicit try-catch blocks, in the CartRepositoryImpl class (app/src/main/java/com/sampoom/android/feature/cart/data/repository/CartRepositoryImpl.kt).

Applied to files:

  • app/src/main/java/com/sampoom/android/feature/dashboard/data/repository/DashboardRepositoryImpl.kt
🧬 Code graph analysis (1)
app/src/main/java/com/sampoom/android/feature/dashboard/ui/DashboardScreen.kt (1)
app/src/main/java/com/sampoom/android/core/ui/theme/Color.kt (3)
  • backgroundCardColor (253-254)
  • textColor (256-257)
  • textSecondaryColor (259-260)
🪛 detekt (1.23.8)
app/src/main/java/com/sampoom/android/feature/dashboard/data/repository/DashboardRepositoryImpl.kt

[warning] 17-17: A call to the default constructor of an exception was detected. Instead one of the constructor overloads should be called. This allows to provide more meaningful exceptions.

(detekt.exceptions.ThrowingExceptionsWithoutMessageOrCause)


[warning] 25-25: A call to the default constructor of an exception was detected. Instead one of the constructor overloads should be called. This allows to provide more meaningful exceptions.

(detekt.exceptions.ThrowingExceptionsWithoutMessageOrCause)

🔇 Additional comments (16)
app/src/main/res/drawable/block.xml (2)

1-9: ⚠️ PR 컨텍스트 불완전 - 제공된 파일 1개만 검토 가능

PR 설명이 비어있고 대시보드 API 연동 기능이라고 명시되어 있으나, AI 요약에 따르면 DTO, API 인터페이스, 저장소 구현, DI 모듈, 도메인 모델, 유스케이스, UI 화면 등 많은 파일이 변경되어야 합니다. 하지만 현재 제공된 파일은 드로어블 리소스 1개뿐입니다.

제안:

  • PR 설명에 변경 사항 요약 추가
  • 변경된 모든 파일의 목록 공유
  • 각 계층(API, repository, domain, UI)의 주요 변경 내용 문서화

1-9: ✅ 드로어블 리소스 구조 및 색상 리소스 검증 완료

Android 벡터 드로어블이 올바르게 작성되었으며, 참조되는 @color/text 색상 리소스가 프로젝트의 light 및 night 테마 모두에서 정의되어 있습니다. 추가 조치가 필요하지 않습니다.

app/src/main/res/values/strings.xml (1)

47-54: 새로운 대시보드 데이터 모델과 잘 일치합니다.

문자열 리소스가 새로운 도메인 모델(Dashboard, WeeklySummary)의 필드와 정확하게 매핑되어 있으며, 한국어 번역도 자연스럽고 명확합니다.

app/src/main/java/com/sampoom/android/feature/dashboard/di/DashboardModules.kt (1)

14-26: Hilt DI 설정이 깔끔합니다.

의존성 주입 모듈이 표준 Hilt 패턴을 따르고 있으며, @Binds@Provides가 적절하게 분리되어 있습니다. 싱글톤 스코프도 리포지토리와 API 인스턴스에 적합합니다.

app/src/main/java/com/sampoom/android/feature/dashboard/domain/model/WeeklySummary.kt (1)

3-7: 간결하고 명확한 도메인 모델입니다.

불변 데이터 클래스로 잘 정의되어 있으며, 모든 속성이 non-nullable로 설정되어 있어 null 안전성이 보장됩니다.

app/src/main/java/com/sampoom/android/feature/dashboard/domain/usecase/GetDashboardUseCase.kt (1)

7-11: Use Case 구조가 깔끔합니다.

리포지토리에 위임하는 단순한 구조로, 현재 요구사항에 적합합니다. 에러 처리는 리포지토리 레이어에서 처리되므로 이 레벨에서의 추가 로직은 불필요합니다.

app/src/main/res/drawable/car.xml (1)

1-9: 벡터 드로어블이 올바르게 정의되었습니다.

표준 Android 벡터 형식을 따르고 있으며, 테마 컬러를 참조하여 일관된 UI를 유지합니다.

app/src/main/java/com/sampoom/android/feature/dashboard/domain/usecase/WeeklySummaryUseCase.kt (1)

7-11: 일관된 Use Case 패턴입니다.

GetDashboardUseCase와 동일한 패턴을 따르고 있어 코드베이스의 일관성이 유지됩니다.

app/src/main/java/com/sampoom/android/feature/dashboard/domain/model/Dashboard.kt (1)

3-8: 잘 설계된 도메인 모델입니다.

대시보드 데이터를 명확하게 표현하고 있으며, 모든 속성이 적절한 타입(Long)과 null 안전성을 갖추고 있습니다. 비즈니스 요구사항을 잘 반영하고 있습니다.

app/src/main/java/com/sampoom/android/feature/dashboard/data/remote/dto/WeeklySummaryResponseDto.kt (1)

3-7: 추가 검증을 위해 프로젝트의 Gson/Retrofit 설정을 확인하겠습니다.

I need to check for Gson configuration in the project. Let me search for the Retrofit/Gson setup:

Based on my verification of the codebase patterns and industry standards, I can now provide a final assessment:

API 응답 필드명과 DTO 매핑 구조 확인 필요

프로젝트의 모든 DTO가 @SerializedName 어노테이션 없이 camelCase 필드명을 사용하는 일관된 패턴을 보입니다. 이는 다음 두 가지 시나리오 중 하나를 나타냅니다:

  1. 백엔드 API가 camelCase를 사용 - 이 경우 추가 어노테이션이 불필요합니다
  2. 전역 Gson NamePolicy 설정 - GsonBuilder에서 setFieldNamingPolicy()로 naming 규칙을 선언하면, 모든 DTO에서 자동으로 적용됩니다

Gson의 FieldNamingPolicy를 통해 모든 직렬화/역직렬화에 다른 명명 규칙을 자동으로 적용할 수 있습니다.

실제 문제 여부를 판단하려면 다음을 확인해주세요:

  • 백엔드 API 명세에서 실제 필드명 형식 확인 (예: in_stock_parts vs inStockParts)
  • 프로젝트의 Gson/Retrofit 설정 (ServiceGenerator, build.gradle 등)에서 global naming policy 확인
app/src/main/java/com/sampoom/android/feature/dashboard/domain/repository/DashboardRepository.kt (1)

6-9: LGTM!

도메인 저장소 인터페이스가 깔끔하게 설계되었습니다. Result 타입을 사용하여 성공/실패를 명시적으로 처리하는 것이 좋습니다.

app/src/main/java/com/sampoom/android/feature/dashboard/data/remote/api/DashboardApi.kt (1)

9-17: LGTM!

Retrofit API 인터페이스가 올바르게 정의되었습니다. 엔드포인트 경로와 파라미터 바인딩이 적절합니다.

app/src/main/java/com/sampoom/android/feature/dashboard/ui/DashboardScreen.kt (1)

237-308: LGTM!

대시보드 데이터와 UI 연동이 잘 되어 있습니다. Elvis 연산자로 null 처리를 하고 기본값 0을 표시하는 것이 적절합니다.

app/src/main/java/com/sampoom/android/feature/dashboard/data/mapper/DashboardMappers.kt (1)

8-9: DTO 필드가 모두 nullable이 아니므로 현재 매퍼 구현은 올바릅니다.

검증 결과, DashboardResponseDtoWeeklySummaryResponseDto의 모든 필드는 이미 non-nullable 타입(Long, String)으로 정의되어 있습니다. JSON 역직렬화 시 null 값이 오면 매퍼 단계 이전에 실패하므로, 현재 매퍼 함수의 직접 필드 매핑은 타입 안전하고 적절합니다.

app/src/main/java/com/sampoom/android/feature/dashboard/data/repository/DashboardRepositoryImpl.kt (1)

18-19: 원본 리뷰 댓글이 부정확합니다.

ApiResponse<T>data 필드는 T 타입으로 선언되어 있으며, null을 허용하지 않습니다. API 호출이 성공한 후 data가 null이 될 가능성은 없습니다. 만약 JSON 응답에서 data가 누락되거나 null이면, JSON 역직렬화 단계에서 예외가 발생하며, 이는 runCatching 블록이 처리합니다.

다른 repository들(AuthRepositoryImpl, OrderRepositoryImpl)과 달리 DashboardRepositoryImpl은 success 플래그 검증을 생략하고 있으나, runCatching으로 감싸져 있으므로 예외 처리는 동작합니다.

Likely an incorrect or invalid review comment.

app/src/main/java/com/sampoom/android/feature/dashboard/data/remote/dto/DashboardResponseDto.kt (1)

3-8: 직렬화 설정이 정확히 구성되어 있습니다

프로젝트는 Gson의 FieldNamingPolicy.IDENTITY로 설정되어 있습니다. 이는 JSON 필드명이 Kotlin 속성명과 정확히 일치해야 함을 의미합니다. DashboardResponseDto는 이 설정에 맞게 올바르게 구현되었으며, 코드베이스의 모든 DTO(LoginResponseDto, OrderDto 등)가 동일한 패턴을 따릅니다. @SerializedName 어노테이션은 필요하지 않습니다.

Likely an incorrect or invalid review comment.

Copy link

@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

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4f32609 and 8cfecd3.

📒 Files selected for processing (3)
  • app/src/main/java/com/sampoom/android/feature/dashboard/ui/DashboardScreen.kt (6 hunks)
  • app/src/main/java/com/sampoom/android/feature/dashboard/ui/DashboardUiState.kt (1 hunks)
  • app/src/main/java/com/sampoom/android/feature/dashboard/ui/DashboardViewModel.kt (2 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
app/src/main/java/com/sampoom/android/feature/dashboard/ui/DashboardScreen.kt (1)
app/src/main/java/com/sampoom/android/core/ui/theme/Color.kt (3)
  • backgroundCardColor (253-254)
  • textColor (256-257)
  • textSecondaryColor (259-260)
🔇 Additional comments (1)
app/src/main/java/com/sampoom/android/feature/dashboard/ui/DashboardUiState.kt (1)

9-14: 별도 로딩/에러 상태 분리 좋습니다
대시보드와 주간 요약을 각각의 플래그로 나눠 이전에 지적되던 로딩 상태 경합을 해소할 수 있게 되었네요. 👍

Copy link

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

♻️ Duplicate comments (1)
app/src/main/java/com/sampoom/android/feature/dashboard/ui/DashboardScreen.kt (1)

182-184: 주간 요약 로딩/에러 상태 미반영 (중복)

이전 리뷰에서 이미 지적된 내용입니다. weeklySummaryLoadingweeklySummaryError 상태를 확인하여 적절한 UI를 표시해야 합니다. 현재는 로딩 중이거나 에러 상태일 때도 기본값(0)이 표시되어 사용자가 실제 데이터로 오해할 수 있습니다.

🧹 Nitpick comments (3)
app/src/main/java/com/sampoom/android/feature/dashboard/ui/DashboardScreen.kt (3)

269-269: 타입 안전성 개선 필요

엘비스 연산자에서 Int?String을 결합하면 타입이 Any로 추론되어 .toString()을 호출하게 됩니다. 이는 작동하지만 Kotlin의 타입 안전성 모범 사례를 위반합니다.

다음과 같이 리팩토링하는 것을 권장합니다:

-                text = (dashboard?.totalParts ?: stringResource(R.string.common_slash)).toString(),
+                text = dashboard?.totalParts?.toString() ?: stringResource(R.string.common_slash),

동일한 패턴을 269, 278, 292, 301번 라인 모두에 적용하세요.

Also applies to: 278-278, 292-292, 301-301


487-487: 타입 안전성 개선 필요

ButtonSection과 동일한 타입 안전성 문제가 있습니다. 엘비스 연산자에서 Int?String을 결합하면 타입이 Any로 추론됩니다.

다음과 같이 수정하세요:

-                        text = (weeklySummary?.inStockParts ?: stringResource(R.string.common_slash)).toString(),
+                        text = weeklySummary?.inStockParts?.toString() ?: stringResource(R.string.common_slash),
-                        text = (weeklySummary?.outStockParts ?: stringResource(R.string.common_slash)).toString(),
+                        text = weeklySummary?.outStockParts?.toString() ?: stringResource(R.string.common_slash),

Also applies to: 504-504


465-465: 빈 onClick 핸들러

Card의 onClick 핸들러가 비어 있습니다. 향후 구현 예정이라면 TODO 주석을 추가하거나, 클릭이 필요하지 않다면 Card 대신 일반 Column을 사용하는 것을 고려하세요.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8cfecd3 and c050c31.

📒 Files selected for processing (1)
  • app/src/main/java/com/sampoom/android/feature/dashboard/ui/DashboardScreen.kt (6 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
app/src/main/java/com/sampoom/android/feature/dashboard/ui/DashboardScreen.kt (1)
app/src/main/java/com/sampoom/android/core/ui/theme/Color.kt (3)
  • backgroundCardColor (253-254)
  • textColor (256-257)
  • textSecondaryColor (259-260)

@Sangyoon98 Sangyoon98 merged commit b8d9911 into dev Nov 7, 2025
4 checks passed
@coderabbitai coderabbitai bot mentioned this pull request Nov 9, 2025
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.

2 participants