diff --git a/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/common/view/confirm/ConfirmButton.kt b/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/common/view/confirm/ConfirmButton.kt index f49b05de..d04ea98b 100644 --- a/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/common/view/confirm/ConfirmButton.kt +++ b/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/common/view/confirm/ConfirmButton.kt @@ -4,7 +4,7 @@ import ac.dnd.mour.android.presentation.common.theme.Body1 import ac.dnd.mour.android.presentation.common.theme.Caption2 import ac.dnd.mour.android.presentation.common.theme.Gray000 import ac.dnd.mour.android.presentation.common.theme.Gray300 -import ac.dnd.mour.android.presentation.common.theme.Gray400 +import ac.dnd.mour.android.presentation.common.theme.Gray500 import ac.dnd.mour.android.presentation.common.theme.Gray700 import ac.dnd.mour.android.presentation.common.theme.Gray800 import ac.dnd.mour.android.presentation.common.theme.Headline2 @@ -22,7 +22,6 @@ import androidx.compose.material.ButtonDefaults import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color import androidx.compose.ui.text.TextStyle import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp @@ -32,7 +31,6 @@ fun ConfirmButton( modifier: Modifier = Modifier, properties: ConfirmButtonProperties, isEnabled: Boolean = true, - enableBackgroundColor: Color = Gray400, onClick: () -> Unit = {}, content: @Composable RowScope.(TextStyle) -> Unit ) { @@ -44,7 +42,7 @@ fun ConfirmButton( } val backgroundColor = when (properties.type) { - ConfirmButtonType.Primary -> if (isEnabled) Primary4 else enableBackgroundColor + ConfirmButtonType.Primary -> if (isEnabled) Primary4 else Gray500 ConfirmButtonType.Secondary -> Gray300 ConfirmButtonType.Tertiary -> Primary1 ConfirmButtonType.Outline -> Gray000 @@ -61,7 +59,7 @@ fun ConfirmButton( ConfirmButtonType.Primary -> null ConfirmButtonType.Secondary -> null ConfirmButtonType.Tertiary -> null - ConfirmButtonType.Outline -> BorderStroke(1.dp, Gray800) + ConfirmButtonType.Outline -> BorderStroke(1.dp, Gray500) } val height = when (properties.size) { diff --git a/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/common/view/textfield/TypingTextField.kt b/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/common/view/textfield/TypingTextField.kt index 9e60c0e2..aa69194c 100644 --- a/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/common/view/textfield/TypingTextField.kt +++ b/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/common/view/textfield/TypingTextField.kt @@ -40,7 +40,6 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.draw.alpha import androidx.compose.ui.focus.onFocusChanged import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.SolidColor @@ -181,13 +180,9 @@ fun TypingTextField( ) } } - if (textType == TypingTextFieldType.Basic) { + if (textType == TypingTextFieldType.Basic && isError) { Spacer(Modifier.height(Space8)) - Box( - modifier = Modifier.alpha(if (isError) 1f else 0f) - ) { - errorMessageContent() - } + errorMessageContent() } } } diff --git a/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/ui/main/MainSystemUiState.kt b/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/ui/main/MainSystemUiState.kt index 65d1f189..8cf9c4c8 100644 --- a/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/ui/main/MainSystemUiState.kt +++ b/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/ui/main/MainSystemUiState.kt @@ -1,6 +1,10 @@ package ac.dnd.mour.android.presentation.ui.main +import ac.dnd.mour.android.presentation.common.theme.Gray000 import ac.dnd.mour.android.presentation.common.util.parseRoute +import ac.dnd.mour.android.presentation.ui.main.home.HomeConstant +import ac.dnd.mour.android.presentation.ui.main.home.schedule.add.ScheduleAddConstant +import androidx.compose.material.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.navigation.compose.currentBackStackEntryAsState @@ -15,7 +19,13 @@ fun ManageSystemUiState( }.orEmpty() when (route) { + HomeConstant.ROUTE, + ScheduleAddConstant.ROUTE -> { + appState.systemUiController.setSystemBarsColor(Gray000) + } + else -> { + appState.systemUiController.setSystemBarsColor(MaterialTheme.colors.background) appState.systemUiController.isStatusBarVisible = true } } diff --git a/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/ui/main/home/history/registration/HistoryRegistrationScreen.kt b/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/ui/main/home/history/registration/HistoryRegistrationScreen.kt index 0cf6899c..4b0f079b 100644 --- a/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/ui/main/home/history/registration/HistoryRegistrationScreen.kt +++ b/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/ui/main/home/history/registration/HistoryRegistrationScreen.kt @@ -416,7 +416,6 @@ fun HistoryRegistrationScreen( type = ConfirmButtonType.Primary ), isEnabled = isRegistrable, - enableBackgroundColor = Primary4, onClick = { register(continuousState = false) }, diff --git a/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/ui/main/home/schedule/ScheduleScreen.kt b/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/ui/main/home/schedule/ScheduleScreen.kt index 09dbd9a6..c922888d 100644 --- a/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/ui/main/home/schedule/ScheduleScreen.kt +++ b/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/ui/main/home/schedule/ScheduleScreen.kt @@ -168,7 +168,7 @@ private fun ScheduleScreen( .padding(horizontal = 20.dp) ) { Text( - text = "통계", + text = "일정", style = Headline1, modifier = Modifier.align(Alignment.Center) ) @@ -245,7 +245,7 @@ private fun ScheduleScreen( ) { style -> Text( text = "일정 등록하기", - style = style + style = style.merge(Gray600) ) } } diff --git a/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/ui/main/home/schedule/ScheduleScreenHeader.kt b/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/ui/main/home/schedule/ScheduleScreenHeader.kt index 09d99b39..253adeac 100644 --- a/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/ui/main/home/schedule/ScheduleScreenHeader.kt +++ b/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/ui/main/home/schedule/ScheduleScreenHeader.kt @@ -6,8 +6,11 @@ import ac.dnd.mour.android.domain.model.feature.schedule.Schedule import ac.dnd.mour.android.presentation.R import ac.dnd.mour.android.presentation.common.theme.Body1 import ac.dnd.mour.android.presentation.common.theme.Gray000 +import ac.dnd.mour.android.presentation.common.theme.Gray400 import ac.dnd.mour.android.presentation.common.theme.Gray600 import ac.dnd.mour.android.presentation.common.theme.Gray700 +import ac.dnd.mour.android.presentation.common.theme.Gray800 +import ac.dnd.mour.android.presentation.common.theme.Gray900 import ac.dnd.mour.android.presentation.common.theme.Headline1 import ac.dnd.mour.android.presentation.common.theme.Primary4 import ac.dnd.mour.android.presentation.common.theme.Shapes @@ -49,12 +52,15 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import kotlinx.coroutines.CoroutineExceptionHandler +import kotlinx.datetime.Clock import kotlinx.datetime.DateTimeUnit import kotlinx.datetime.LocalDate import kotlinx.datetime.LocalDateTime +import kotlinx.datetime.TimeZone import kotlinx.datetime.minus import kotlinx.datetime.number import kotlinx.datetime.plus +import kotlinx.datetime.todayIn @Composable fun ScheduleScreenHeader( @@ -97,12 +103,13 @@ fun ScheduleScreenHeader( ) { Text( text = formattedDate, - style = Headline1 + style = Headline1.merge(Gray900) ) Icon( modifier = Modifier.size(20.dp), painter = painterResource(R.drawable.ic_drop_down), - contentDescription = null + contentDescription = null, + tint = Gray900 ) } Spacer(modifier = Modifier.height(20.dp)) @@ -149,7 +156,8 @@ fun ScheduleScreenHeader( } else { painterResource(R.drawable.ic_chevron_down) }, - contentDescription = null + contentDescription = null, + tint = Gray600 ) } } @@ -259,17 +267,19 @@ private fun ScheduleScreenHeaderCalendarItem( isExpanded: Boolean, onClickDay: (LocalDate) -> Unit ) { + val now = Clock.System.todayIn(TimeZone.currentSystemDefault()) val isSelected = item == selectedDate + val isToday = item == now Column( modifier = modifier, horizontalAlignment = Alignment.CenterHorizontally ) { - val boxModifier = if (isSelected) { + val boxModifier = if (isSelected || isToday) { Modifier .size(28.dp) .clip(CircleShape) - .background(Primary4) + .background(if (isSelected) Primary4 else Gray400) } else { Modifier.size(28.dp) } @@ -286,7 +296,7 @@ private fun ScheduleScreenHeaderCalendarItem( Text( text = item.dayOfMonth.toString(), style = Body1.merge( - color = if (isSelected) Gray000 else Gray600, + color = if (isSelected) Gray000 else if (isToday) Gray700 else Gray800, fontWeight = FontWeight.SemiBold ) ) diff --git a/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/ui/main/home/schedule/ScheduleScreenItem.kt b/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/ui/main/home/schedule/ScheduleScreenItem.kt index 477e8f9f..d2ceaa2f 100644 --- a/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/ui/main/home/schedule/ScheduleScreenItem.kt +++ b/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/ui/main/home/schedule/ScheduleScreenItem.kt @@ -42,6 +42,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp @@ -153,7 +154,10 @@ fun ScheduleScreenItem( ) { Text( text = schedule.event, - style = Body1.merge(Gray000) + style = Body1.merge( + color = Gray000, + fontWeight = FontWeight.SemiBold + ) ) } } @@ -218,7 +222,6 @@ fun ScheduleScreenItemDescription( @DrawableRes iconRes: Int, text: String ) { - Spacer(modifier = Modifier.height(6.dp)) Row( modifier = Modifier .padding(horizontal = 16.dp) diff --git a/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/ui/main/home/schedule/add/ScheduleAddScreen.kt b/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/ui/main/home/schedule/add/ScheduleAddScreen.kt index c3b789c3..0bacfb39 100644 --- a/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/ui/main/home/schedule/add/ScheduleAddScreen.kt +++ b/presentation/src/main/kotlin/ac/dnd/mour/android/presentation/ui/main/home/schedule/add/ScheduleAddScreen.kt @@ -72,6 +72,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.tooling.preview.Preview @@ -298,7 +299,10 @@ fun ScheduleAddScreen( Row { Text( text = "이름", - style = Body1 + style = Body1.merge( + color = Gray800, + fontWeight = FontWeight.SemiBold + ) ) Spacer(modifier = Modifier.width(6.dp)) Text( @@ -363,7 +367,10 @@ fun ScheduleAddScreen( ) { Text( text = "날짜", - style = Body1 + style = Body1.merge( + color = Gray800, + fontWeight = FontWeight.SemiBold + ) ) Spacer(modifier = Modifier.width(6.dp)) Text( @@ -385,7 +392,10 @@ fun ScheduleAddScreen( ) { Text( text = "경사 종류", - style = Body1 + style = Body1.merge( + color = Gray800, + fontWeight = FontWeight.SemiBold + ) ) Spacer(modifier = Modifier.width(6.dp)) Text( @@ -449,7 +459,10 @@ fun ScheduleAddScreen( Spacer(modifier = Modifier.width(4.dp)) Text( text = "미리 알림", - style = Body1 + style = Body1.merge( + color = Gray800, + fontWeight = FontWeight.SemiBold + ) ) } Spacer(modifier = Modifier.height(6.dp)) @@ -473,7 +486,10 @@ fun ScheduleAddScreen( Spacer(modifier = Modifier.width(4.dp)) Text( text = "시간", - style = Body1 + style = Body1.merge( + color = Gray800, + fontWeight = FontWeight.SemiBold + ) ) } FieldSelectComponent( @@ -496,7 +512,10 @@ fun ScheduleAddScreen( Spacer(modifier = Modifier.width(4.dp)) Text( text = "위치", - style = Body1 + style = Body1.merge( + color = Gray800, + fontWeight = FontWeight.SemiBold + ) ) } Spacer(modifier = Modifier.height(6.dp)) @@ -525,7 +544,10 @@ fun ScheduleAddScreen( Spacer(modifier = Modifier.width(4.dp)) Text( text = "초대장 링크", - style = Body1 + style = Body1.merge( + color = Gray800, + fontWeight = FontWeight.SemiBold + ) ) } Spacer(modifier = Modifier.height(6.dp)) @@ -554,7 +576,10 @@ fun ScheduleAddScreen( Spacer(modifier = Modifier.width(4.dp)) Text( text = "메모", - style = Body1 + style = Body1.merge( + color = Gray800, + fontWeight = FontWeight.SemiBold + ) ) } Spacer(modifier = Modifier.height(6.dp)) diff --git a/presentation/src/main/res/drawable/ic_chevron_down.xml b/presentation/src/main/res/drawable/ic_chevron_down.xml index 8da5906e..c30e9c84 100644 --- a/presentation/src/main/res/drawable/ic_chevron_down.xml +++ b/presentation/src/main/res/drawable/ic_chevron_down.xml @@ -1,9 +1,13 @@ + android:viewportWidth="24" + android:viewportHeight="24"> + android:fillColor="#00000000" + android:pathData="M6,9L12,15L18,9" + android:strokeWidth="1.5" + android:strokeColor="#101219" + android:strokeLineCap="round" + android:strokeLineJoin="round" /> diff --git a/presentation/src/main/res/drawable/ic_chevron_left.xml b/presentation/src/main/res/drawable/ic_chevron_left.xml index 0550ad5e..fdd17ec8 100644 --- a/presentation/src/main/res/drawable/ic_chevron_left.xml +++ b/presentation/src/main/res/drawable/ic_chevron_left.xml @@ -1,11 +1,11 @@ + android:viewportHeight="24"> + android:viewportWidth="24" + android:viewportHeight="24"> + android:fillColor="#00000000" + android:pathData="M9,18L15,12L9,6" + android:strokeWidth="1.5" + android:strokeColor="#101219" + android:strokeLineCap="round" + android:strokeLineJoin="round" /> diff --git a/presentation/src/main/res/drawable/ic_chevron_up.xml b/presentation/src/main/res/drawable/ic_chevron_up.xml index cfb13cfa..798974ba 100644 --- a/presentation/src/main/res/drawable/ic_chevron_up.xml +++ b/presentation/src/main/res/drawable/ic_chevron_up.xml @@ -1,9 +1,13 @@ + android:viewportWidth="24" + android:viewportHeight="24"> + android:fillColor="#00000000" + android:pathData="M18,15L12,9L6,15" + android:strokeWidth="1.5" + android:strokeColor="#101219" + android:strokeLineCap="round" + android:strokeLineJoin="round" /> diff --git a/presentation/src/main/res/drawable/ic_notification.xml b/presentation/src/main/res/drawable/ic_notification.xml index dc8f2a08..6fe36e9f 100644 --- a/presentation/src/main/res/drawable/ic_notification.xml +++ b/presentation/src/main/res/drawable/ic_notification.xml @@ -4,6 +4,10 @@ android:viewportWidth="24" android:viewportHeight="24"> + android:fillColor="#00000000" + android:pathData="M4.414,14.586L4.804,14.196C4.929,14.071 5,13.9 5,13.722V10C5,6.134 8.134,3 12,3C15.866,3 19,6.134 19,10V13.722C19,13.9 19.071,14.071 19.196,14.196L19.586,14.586C19.705,14.705 19.765,14.765 19.812,14.831C19.902,14.956 19.962,15.1 19.987,15.252C20,15.333 20,15.417 20,15.586C20,15.971 20,16.164 19.948,16.32C19.848,16.615 19.616,16.848 19.32,16.948C19.164,17 18.971,17 18.586,17H5.414C5.029,17 4.836,17 4.68,16.948C4.384,16.848 4.152,16.615 4.052,16.32C4,16.164 4,15.971 4,15.586C4,15.417 4,15.333 4.013,15.252C4.038,15.1 4.098,14.956 4.188,14.831C4.235,14.765 4.295,14.705 4.414,14.586ZM15,17V18C15,19.657 13.657,21 12,21C10.343,21 9,19.657 9,18V17H15Z" + android:strokeWidth="1.5" + android:strokeColor="#33353C" + android:strokeLineCap="round" + android:strokeLineJoin="round" /> diff --git a/presentation/src/main/res/drawable/ic_plus.xml b/presentation/src/main/res/drawable/ic_plus.xml index 19428095..e234c0a0 100644 --- a/presentation/src/main/res/drawable/ic_plus.xml +++ b/presentation/src/main/res/drawable/ic_plus.xml @@ -1,9 +1,20 @@ + android:viewportWidth="24" + android:viewportHeight="24"> + android:fillColor="#00000000" + android:pathData="M12,5V19" + android:strokeWidth="1.5" + android:strokeColor="#101219" + android:strokeLineCap="round" + android:strokeLineJoin="round" /> +