-
Notifications
You must be signed in to change notification settings - Fork 0
[Setting/#7] design system #8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
28f568a
[Chore#7] `:core:coroutine` 모듈 추가
sonms 1e3f96a
[Feat#7] `core:coroutine` 모듈 추가 및 Hilt 디스패처 설정
sonms 12b8b60
[Refactor#7] `ForbiddenAppRepository` 내 비동기 처리 적용 및 `IoDispatcher` 주입
sonms 5b63a4e
[Feat#7] core:designsystem 테마 고도화 및 커스텀 디자인 시스템 구축
sonms b798f94
[Refactor#7] 접근성 권한 설정 수정 및 ForbiddenAppItem UI 컴포넌트 개선
sonms 7b65328
[Chore#7] CodeRabbit 설정 파일 추가
sonms f5bfe6d
[Refactor#7] 홈 화면 앱 리스트 아이콘 렌더링 최적화 및 코드 정리
sonms File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| language: ko-KR | ||
|
|
||
| reviews: | ||
| profile: chill | ||
| request_changes_workflow: false | ||
| high_level_summary: true | ||
| poem: false | ||
| review_status: true | ||
| auto_review: | ||
| enabled: true | ||
| drafts: false | ||
| base_branches: | ||
| - develop | ||
| - main | ||
|
|
||
| path_filters: | ||
| - "!**/*.lock" | ||
| - "!**/build/**" | ||
| - "!**/.gradle/**" | ||
| - "!**/generated/**" | ||
| - "!**/*.png" | ||
| - "!**/*.jpg" | ||
| - "!**/*.webp" | ||
|
|
||
| path_instructions: | ||
| - path: "**/*.kt" | ||
| instructions: | | ||
| Kotlin 코드는 다음 기준으로 리뷰해줘: | ||
| - Compose 모범 사례 (remember, derivedStateOf, Stable/Immutable) | ||
| - Hilt 의존성 주입 패턴 | ||
| - 코루틴 사용 (Dispatcher, scope, exception handling) | ||
| - 네이밍 컨벤션 (PascalCase 클래스, camelCase 함수) | ||
| - 매직 넘버나 하드코딩된 문자열 지적 | ||
|
|
||
| - path: "**/build.gradle.kts" | ||
| instructions: | | ||
| Gradle 설정은 다음을 확인해줘: | ||
| - 의존성 버전이 libs.versions.toml에서 관리되는지 | ||
| - 불필요한 의존성이 없는지 | ||
|
|
||
| chat: | ||
| auto_reply: true |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| /build |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| import com.kindl.buildlogic.setNamespace | ||
|
|
||
| plugins { | ||
| alias(libs.plugins.kindl.android.library) | ||
| alias(libs.plugins.kindl.hilt) | ||
| } | ||
|
|
||
| android { | ||
| setNamespace("core.coroutine") | ||
| } |
18 changes: 18 additions & 0 deletions
18
core/coroutine/src/main/java/com/kindl/coroutine/di/DispatcherModule.kt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| package com.kindl.coroutine.di | ||
|
|
||
| import com.kindl.coroutine.qualifier.IoDispatcher | ||
| import dagger.Module | ||
| import dagger.Provides | ||
| import dagger.hilt.InstallIn | ||
| import dagger.hilt.components.SingletonComponent | ||
| import kotlinx.coroutines.CoroutineDispatcher | ||
| import kotlinx.coroutines.Dispatchers | ||
|
|
||
| @Module | ||
| @InstallIn(SingletonComponent::class) | ||
| object DispatcherModule { | ||
|
|
||
| @IoDispatcher | ||
| @Provides | ||
| fun providesIoDispatcher(): CoroutineDispatcher = Dispatchers.IO | ||
| } |
7 changes: 7 additions & 0 deletions
7
core/coroutine/src/main/java/com/kindl/coroutine/qualifier/IoDispatcher.kt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| package com.kindl.coroutine.qualifier | ||
|
|
||
| import javax.inject.Qualifier | ||
|
|
||
| @Retention(AnnotationRetention.BINARY) | ||
| @Qualifier | ||
| annotation class IoDispatcher |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
211 changes: 205 additions & 6 deletions
211
core/designsystem/src/main/java/com/kindl/core/designsystem/theme/Color.kt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,11 +1,210 @@ | ||
| package com.kindl.core.designsystem.theme | ||
|
|
||
| import androidx.compose.runtime.Immutable | ||
| import androidx.compose.runtime.staticCompositionLocalOf | ||
| import androidx.compose.ui.graphics.Color | ||
|
|
||
| val Purple80 = Color(0xFFD0BCFF) | ||
| val PurpleGrey80 = Color(0xFFCCC2DC) | ||
| val Pink80 = Color(0xFFEFB8C8) | ||
| // Main Color - Slate | ||
| val KindlSlate50 = Color(0xFFF8F9FA) | ||
| val KindlSlate100 = Color(0xFFE9ECEF) | ||
| val KindlSlate200 = Color(0xFFD3D7DC) | ||
| val KindlSlate300 = Color(0xFFB0B7C0) | ||
| val KindlSlate400 = Color(0xFF7D8794) | ||
| val KindlSlate500 = Color(0xFF4A5568) | ||
| val KindlSlate600 = Color(0xFF2D3748) | ||
| val KindlSlate700 = Color(0xFF1E2530) | ||
| val KindlSlate800 = Color(0xFF151A23) | ||
| val KindlSlate900 = Color(0xFF0D1117) | ||
|
|
||
| val Purple40 = Color(0xFF6650a4) | ||
| val PurpleGrey40 = Color(0xFF625b71) | ||
| val Pink40 = Color(0xFF7D5260) | ||
| // Point Color - Coral | ||
| val KindlCoral50 = Color(0xFFFFF5F5) | ||
| val KindlCoral100 = Color(0xFFFFE3E3) | ||
| val KindlCoral200 = Color(0xFFFFC9C9) | ||
| val KindlCoral300 = Color(0xFFFFA8A8) | ||
| val KindlCoral400 = Color(0xFFFF8787) | ||
| val KindlCoral500 = Color(0xFFFF6B6B) | ||
| val KindlCoral600 = Color(0xFFFA5252) | ||
| val KindlCoral700 = Color(0xFFF03E3E) | ||
| val KindlCoral800 = Color(0xFFE03131) | ||
| val KindlCoral900 = Color(0xFFC92A2A) | ||
|
|
||
| // Supporting Colors | ||
| val KindlBlue500 = Color(0xFF339AF0) | ||
| val KindlTeal500 = Color(0xFF20C997) | ||
| val KindlAmber500 = Color(0xFFFCC419) | ||
|
|
||
| val White = Color(0xFFFFFFFF) | ||
|
|
||
| @Immutable | ||
| data class KindlColors( | ||
| // Surface | ||
| val background: Color, | ||
| val foreground: Color, | ||
| val card: Color, | ||
| val cardForeground: Color, | ||
| val popover: Color, | ||
| val popoverForeground: Color, | ||
|
|
||
| // Interactive | ||
| val primary: Color, | ||
| val primaryForeground: Color, | ||
| val secondary: Color, | ||
| val secondaryForeground: Color, | ||
|
|
||
| // State | ||
| val muted: Color, | ||
| val mutedForeground: Color, | ||
| val accent: Color, | ||
| val accentForeground: Color, | ||
| val destructive: Color, | ||
| val destructiveForeground: Color, | ||
| val success: Color, | ||
| val successForeground: Color, | ||
|
|
||
| // Form | ||
| val border: Color, | ||
| val input: Color, | ||
| val inputBackground: Color, | ||
| val switchBackground: Color, | ||
| val ring: Color, | ||
|
|
||
| // Chart | ||
| val chart1: Color, | ||
| val chart2: Color, | ||
| val chart3: Color, | ||
| val chart4: Color, | ||
| val chart5: Color, | ||
|
|
||
| // Sidebar | ||
| val sidebar: Color, | ||
| val sidebarForeground: Color, | ||
| val sidebarPrimary: Color, | ||
| val sidebarPrimaryForeground: Color, | ||
| val sidebarAccent: Color, | ||
| val sidebarAccentForeground: Color, | ||
| val sidebarBorder: Color, | ||
| val sidebarRing: Color, | ||
|
|
||
| // Raw palette (필요 시 직접 참조) | ||
| val slate50: Color = KindlSlate50, | ||
| val slate100: Color = KindlSlate100, | ||
| val slate200: Color = KindlSlate200, | ||
| val slate300: Color = KindlSlate300, | ||
| val slate400: Color = KindlSlate400, | ||
| val slate500: Color = KindlSlate500, | ||
| val slate600: Color = KindlSlate600, | ||
| val slate700: Color = KindlSlate700, | ||
| val slate800: Color = KindlSlate800, | ||
| val slate900: Color = KindlSlate900, | ||
|
|
||
| val coral50: Color = KindlCoral50, | ||
| val coral100: Color = KindlCoral100, | ||
| val coral200: Color = KindlCoral200, | ||
| val coral300: Color = KindlCoral300, | ||
| val coral400: Color = KindlCoral400, | ||
| val coral500: Color = KindlCoral500, | ||
| val coral600: Color = KindlCoral600, | ||
| val coral700: Color = KindlCoral700, | ||
| val coral800: Color = KindlCoral800, | ||
| val coral900: Color = KindlCoral900, | ||
|
|
||
| val blue500: Color = KindlBlue500, | ||
| val teal500: Color = KindlTeal500, | ||
| val amber500: Color = KindlAmber500, | ||
|
|
||
| val isDark: Boolean, | ||
| ) | ||
|
|
||
| val lightKindlColors = KindlColors( | ||
| background = White, | ||
| foreground = KindlSlate700, | ||
| card = White, | ||
| cardForeground = KindlSlate700, | ||
| popover = White, | ||
| popoverForeground = KindlSlate700, | ||
|
|
||
| primary = KindlSlate700, | ||
| primaryForeground = White, | ||
| secondary = KindlCoral500, | ||
| secondaryForeground = White, | ||
|
|
||
| muted = KindlSlate50, | ||
| mutedForeground = KindlSlate400, | ||
| accent = KindlCoral500, | ||
| accentForeground = White, | ||
| destructive = KindlCoral700, | ||
| destructiveForeground= White, | ||
| success = KindlTeal500, | ||
| successForeground = White, | ||
|
|
||
| border = KindlSlate700.copy(alpha = 0.10f), | ||
| input = Color.Transparent, | ||
| inputBackground = KindlSlate50, | ||
| switchBackground = KindlSlate200, | ||
| ring = KindlCoral500, | ||
|
|
||
| chart1 = KindlCoral500, | ||
| chart2 = KindlSlate700, | ||
| chart3 = KindlBlue500, | ||
| chart4 = KindlTeal500, | ||
| chart5 = KindlAmber500, | ||
|
|
||
| sidebar = KindlSlate50, | ||
| sidebarForeground = KindlSlate700, | ||
| sidebarPrimary = KindlSlate700, | ||
| sidebarPrimaryForeground = White, | ||
| sidebarAccent = KindlSlate100, | ||
| sidebarAccentForeground = KindlSlate700, | ||
| sidebarBorder = KindlSlate700.copy(alpha = 0.10f), | ||
| sidebarRing = KindlCoral500, | ||
|
|
||
| isDark = false, | ||
| ) | ||
|
|
||
| val darkKindlColors = KindlColors( | ||
| background = KindlSlate900, | ||
| foreground = KindlSlate50, | ||
| card = KindlSlate800, | ||
| cardForeground = KindlSlate50, | ||
| popover = KindlSlate800, | ||
| popoverForeground = KindlSlate50, | ||
|
|
||
| primary = KindlCoral500, | ||
| primaryForeground = White, | ||
| secondary = KindlSlate700, | ||
| secondaryForeground = White, | ||
|
|
||
| muted = KindlSlate600, | ||
| mutedForeground = KindlSlate300, | ||
| accent = KindlCoral500, | ||
| accentForeground = White, | ||
| destructive = KindlCoral700, | ||
| destructiveForeground= White, | ||
| success = KindlTeal500, | ||
| successForeground = KindlSlate900, | ||
|
|
||
| border = KindlCoral500.copy(alpha = 0.20f), | ||
| input = KindlCoral500.copy(alpha = 0.10f), | ||
| inputBackground = KindlSlate800, | ||
| switchBackground = KindlSlate600, | ||
| ring = KindlCoral500, | ||
|
|
||
| chart1 = KindlCoral500, | ||
| chart2 = KindlBlue500, | ||
| chart3 = KindlTeal500, | ||
| chart4 = KindlAmber500, | ||
| chart5 = KindlCoral400, | ||
|
|
||
| sidebar = KindlSlate800, | ||
| sidebarForeground = KindlSlate50, | ||
| sidebarPrimary = KindlCoral500, | ||
| sidebarPrimaryForeground = White, | ||
| sidebarAccent = KindlSlate600, | ||
| sidebarAccentForeground = KindlSlate50, | ||
| sidebarBorder = KindlCoral500.copy(alpha = 0.20f), | ||
| sidebarRing = KindlCoral500, | ||
|
|
||
| isDark = true, | ||
| ) | ||
|
|
||
| val localKindlColors = staticCompositionLocalOf { darkKindlColors } |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.