Skip to content

Commit e068702

Browse files
committed
[NDGL-30] chore: NDGL color 시스템 적용
1 parent 24f417c commit e068702

3 files changed

Lines changed: 131 additions & 46 deletions

File tree

Lines changed: 81 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,86 @@
11
package com.yapp.ndgl.core.ui.theme
22

3+
import androidx.compose.runtime.Composable
4+
import androidx.compose.runtime.Immutable
5+
import androidx.compose.runtime.staticCompositionLocalOf
36
import androidx.compose.ui.graphics.Color
7+
import androidx.compose.ui.res.colorResource
8+
import com.yapp.ndgl.core.ui.R
49

5-
val Purple80 = Color(0xFFD0BCFF)
6-
val PurpleGrey80 = Color(0xFFCCC2DC)
7-
val Pink80 = Color(0xFFEFB8C8)
10+
@Immutable
11+
data class NDGLColors(
12+
val white: Color = Color.Unspecified,
813

9-
val Purple40 = Color(0xFF6650a4)
10-
val PurpleGrey40 = Color(0xFF625b71)
11-
val Pink40 = Color(0xFF7D5260)
14+
val primary50: Color = Color.Unspecified,
15+
val primary100: Color = Color.Unspecified,
16+
val primary200: Color = Color.Unspecified,
17+
val primary300: Color = Color.Unspecified,
18+
val primary400: Color = Color.Unspecified,
19+
val primary500: Color = Color.Unspecified,
20+
val primary600: Color = Color.Unspecified,
21+
val primary700: Color = Color.Unspecified,
22+
val primary800: Color = Color.Unspecified,
23+
val primary900: Color = Color.Unspecified,
24+
25+
val secondary50: Color = Color.Unspecified,
26+
val secondary100: Color = Color.Unspecified,
27+
val secondary200: Color = Color.Unspecified,
28+
val secondary300: Color = Color.Unspecified,
29+
val secondary400: Color = Color.Unspecified,
30+
val secondary500: Color = Color.Unspecified,
31+
val secondary600: Color = Color.Unspecified,
32+
val secondary700: Color = Color.Unspecified,
33+
val secondary800: Color = Color.Unspecified,
34+
val secondary900: Color = Color.Unspecified,
35+
36+
val red50: Color = Color.Unspecified,
37+
val red100: Color = Color.Unspecified,
38+
val red200: Color = Color.Unspecified,
39+
val red300: Color = Color.Unspecified,
40+
val red400: Color = Color.Unspecified,
41+
val red500: Color = Color.Unspecified,
42+
val red600: Color = Color.Unspecified,
43+
val red700: Color = Color.Unspecified,
44+
val red800: Color = Color.Unspecified,
45+
val red900: Color = Color.Unspecified,
46+
)
47+
48+
@Composable
49+
internal fun ndglColors() = NDGLColors(
50+
white = colorResource(R.color.white),
51+
52+
primary50 = colorResource(R.color.primary_50),
53+
primary100 = colorResource(R.color.primary_100),
54+
primary200 = colorResource(R.color.primary_200),
55+
primary300 = colorResource(R.color.primary_300),
56+
primary400 = colorResource(R.color.primary_400),
57+
primary500 = colorResource(R.color.primary_500),
58+
primary600 = colorResource(R.color.primary_600),
59+
primary700 = colorResource(R.color.primary_700),
60+
primary800 = colorResource(R.color.primary_800),
61+
primary900 = colorResource(R.color.primary_900),
62+
63+
secondary50 = colorResource(R.color.secondary_50),
64+
secondary100 = colorResource(R.color.secondary_100),
65+
secondary200 = colorResource(R.color.secondary_200),
66+
secondary300 = colorResource(R.color.secondary_300),
67+
secondary400 = colorResource(R.color.secondary_400),
68+
secondary500 = colorResource(R.color.secondary_500),
69+
secondary600 = colorResource(R.color.secondary_600),
70+
secondary700 = colorResource(R.color.secondary_700),
71+
secondary800 = colorResource(R.color.secondary_800),
72+
secondary900 = colorResource(R.color.secondary_900),
73+
74+
red50 = colorResource(R.color.red_50),
75+
red100 = colorResource(R.color.red_100),
76+
red200 = colorResource(R.color.red_200),
77+
red300 = colorResource(R.color.red_300),
78+
red400 = colorResource(R.color.red_400),
79+
red500 = colorResource(R.color.red_500),
80+
red600 = colorResource(R.color.red_600),
81+
red700 = colorResource(R.color.red_700),
82+
red800 = colorResource(R.color.red_800),
83+
red900 = colorResource(R.color.red_900),
84+
)
85+
86+
val LocalNDGLColors = staticCompositionLocalOf { NDGLColors() }
Lines changed: 10 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,26 @@
11
package com.yapp.ndgl.core.ui.theme
22

3-
import android.os.Build
4-
import androidx.compose.foundation.isSystemInDarkTheme
53
import androidx.compose.material3.MaterialTheme
6-
import androidx.compose.material3.darkColorScheme
7-
import androidx.compose.material3.dynamicDarkColorScheme
8-
import androidx.compose.material3.dynamicLightColorScheme
94
import androidx.compose.material3.lightColorScheme
105
import androidx.compose.runtime.Composable
11-
import androidx.compose.ui.platform.LocalContext
6+
import androidx.compose.ui.res.colorResource
7+
import com.yapp.ndgl.core.ui.R
128

13-
private val DarkColorScheme = darkColorScheme(
14-
primary = Purple80,
15-
secondary = PurpleGrey80,
16-
tertiary = Pink80
17-
)
18-
19-
private val LightColorScheme = lightColorScheme(
20-
primary = Purple40,
21-
secondary = PurpleGrey40,
22-
tertiary = Pink40
9+
private val ColorScheme
10+
@Composable get() = lightColorScheme(
11+
primary = colorResource(R.color.primary_500),
12+
secondary = colorResource(R.color.secondary_500),
13+
background = colorResource(R.color.white),
14+
surface = colorResource(R.color.white)
15+
)
2316

24-
/* Other default colors to override
25-
background = Color(0xFFFFFBFE),
26-
surface = Color(0xFFFFFBFE),
27-
onPrimary = Color.White,
28-
onSecondary = Color.White,
29-
onTertiary = Color.White,
30-
onBackground = Color(0xFF1C1B1F),
31-
onSurface = Color(0xFF1C1B1F),
32-
*/
33-
)
3417

3518
@Composable
3619
fun NDGLTheme(
37-
darkTheme: Boolean = isSystemInDarkTheme(),
38-
// Dynamic color is available on Android 12+
39-
dynamicColor: Boolean = true,
4020
content: @Composable () -> Unit
4121
) {
42-
val colorScheme = when {
43-
dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> {
44-
val context = LocalContext.current
45-
if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
46-
}
47-
48-
darkTheme -> DarkColorScheme
49-
else -> LightColorScheme
50-
}
51-
5222
MaterialTheme(
53-
colorScheme = colorScheme,
23+
colorScheme = ColorScheme,
5424
content = content
5525
)
5626
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<color name="white">#FFFFFFFF</color>
4+
5+
<!-- Primary (Green) -->
6+
<color name="primary_50">#FFF0FFF4</color>
7+
<color name="primary_100">#FFDCFFE4</color>
8+
<color name="primary_200">#FFBEF5CB</color>
9+
<color name="primary_300">#FF85E89D</color>
10+
<color name="primary_400">#FF18B368</color>
11+
<color name="primary_500">#FF28A745</color>
12+
<color name="primary_600">#FF22863A</color>
13+
<color name="primary_700">#FF176F2C</color>
14+
<color name="primary_800">#FF165C26</color>
15+
<color name="primary_900">#FF144620</color>
16+
17+
<!-- Secondary (Gray) -->
18+
<color name="secondary_50">#FFF5F5F5</color>
19+
<color name="secondary_100">#FFE6E6E6</color>
20+
<color name="secondary_200">#FFD9D9D9</color>
21+
<color name="secondary_300">#FFB3B3B3</color>
22+
<color name="secondary_400">#FF757575</color>
23+
<color name="secondary_500">#FF444444</color>
24+
<color name="secondary_600">#FF383838</color>
25+
<color name="secondary_700">#FF2C2C2C</color>
26+
<color name="secondary_800">#FF1E1E1E</color>
27+
<color name="secondary_900">#FF111111</color>
28+
29+
<!-- Red -->
30+
<color name="red_50">#FFFEF2F2</color>
31+
<color name="red_100">#FFFFE2E2</color>
32+
<color name="red_200">#FFFFC9C9</color>
33+
<color name="red_300">#FFFFA2A2</color>
34+
<color name="red_400">#FFFF6467</color>
35+
<color name="red_500">#FFFB2C36</color>
36+
<color name="red_600">#FFE7000B</color>
37+
<color name="red_700">#FFC10007</color>
38+
<color name="red_800">#FF9F0712</color>
39+
<color name="red_900">#FF82181A</color>
40+
</resources>

0 commit comments

Comments
 (0)