diff --git a/presentation/src/main/java/com/signal/signal_android/designsystem/foundation/SignalColor.kt b/presentation/src/main/java/com/signal/signal_android/designsystem/foundation/SignalColor.kt index b91c529e..127a1a07 100644 --- a/presentation/src/main/java/com/signal/signal_android/designsystem/foundation/SignalColor.kt +++ b/presentation/src/main/java/com/signal/signal_android/designsystem/foundation/SignalColor.kt @@ -52,4 +52,10 @@ object SignalColor { @Stable val Black = Color(0xFF000000) + + @Stable + val Wine = Color(0xFFAF0000) + + @Stable + val Yellow = Color(0xFFFFE040) } diff --git a/presentation/src/main/java/com/signal/signal_android/feature/main/diary/Diary.kt b/presentation/src/main/java/com/signal/signal_android/feature/main/diary/Diary.kt index c97007b6..72123d02 100644 --- a/presentation/src/main/java/com/signal/signal_android/feature/main/diary/Diary.kt +++ b/presentation/src/main/java/com/signal/signal_android/feature/main/diary/Diary.kt @@ -70,7 +70,7 @@ internal fun Diary( var dayState by remember { mutableStateOf(formatter.format(date).split("-").last()) } LaunchedEffect("$yearState-$monthState-$dayState") { - diaryViewModel.setDate("$yearState-$monthState-$dayState") + diaryViewModel.setDate("$yearState-$monthState-${dayState.padStart(2, '0')}") diaryViewModel.fetchDayDiary() } diff --git a/presentation/src/main/java/com/signal/signal_android/feature/main/home/Home.kt b/presentation/src/main/java/com/signal/signal_android/feature/main/home/Home.kt index 38d935d2..c150ec30 100644 --- a/presentation/src/main/java/com/signal/signal_android/feature/main/home/Home.kt +++ b/presentation/src/main/java/com/signal/signal_android/feature/main/home/Home.kt @@ -27,11 +27,13 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.draw.rotate import androidx.compose.ui.draw.shadow import androidx.compose.ui.graphics.Brush +import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.toArgb import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp +import androidx.compose.ui.window.Dialog import coil.compose.AsyncImage import com.patrykandpatrick.vico.compose.axis.horizontal.rememberBottomAxis import com.patrykandpatrick.vico.compose.axis.vertical.rememberStartAxis @@ -72,6 +74,12 @@ internal fun Home( val showDialog = { dialogState = true } val hideDialog = { dialogState = false } + if (dialogState) { + Dialog(onDismissRequest = { dialogState = false }) { + ChartInformationDialog() + } + } + Column { Column(modifier = Modifier.padding(horizontal = 16.dp)) { Spacer(modifier = Modifier.height(30.dp)) @@ -160,6 +168,74 @@ internal fun Home( } } +@Composable +private fun ChartInformationDialog() { + Column( + modifier = Modifier + .background( + color = SignalColor.White, + shape = RoundedCornerShape(6.dp), + ) + .padding( + horizontal = 55.dp, + vertical = 30.dp, + ), + horizontalAlignment = Alignment.CenterHorizontally, + ) { + BodyLarge2( + text = stringResource(id = R.string.home_information_title), + color = SignalColor.Black, + ) + Body( + modifier = Modifier.padding(bottom = 30.dp), + text = stringResource(id = R.string.home_information_description), + color = SignalColor.Gray500, + ) + ChartInformationText( + scoreName = stringResource(id = R.string.home_very_high), + scoreNameColor = SignalColor.Wine, + score = stringResource(id = R.string.home_very_high_score), + ) + ChartInformationText( + scoreName = stringResource(id = R.string.home_high), + scoreNameColor = SignalColor.Error, + score = stringResource(id = R.string.home_high_score), + ) + ChartInformationText( + scoreName = stringResource(id = R.string.home_normal), + scoreNameColor = SignalColor.Yellow, + score = stringResource(id = R.string.home_normal_score), + ) + ChartInformationText( + scoreName = stringResource(id = R.string.home_low), + scoreNameColor = SignalColor.Primary100, + score = stringResource(id = R.string.home_low_score), + ) + } +} + +@Composable +private fun ChartInformationText( + scoreName: String, + scoreNameColor: Color, + score: String, +) { + Row( + modifier = Modifier.fillMaxWidth(0.8f), + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.SpaceBetween, + ) { + BodyStrong( + text = scoreName, + color = scoreNameColor, + ) + Body( + text = score, + color = SignalColor.Black, + ) + } +} + @Composable private fun OngoingActivity( title: String, diff --git a/presentation/src/main/res/values/strings.xml b/presentation/src/main/res/values/strings.xml index 8182cb1c..a726be7d 100644 --- a/presentation/src/main/res/values/strings.xml +++ b/presentation/src/main/res/values/strings.xml @@ -87,6 +87,18 @@ 데이터가 부족해요! 우울감 수치 그래프 정보 아이콘 + 우울증 수치 정보 + 우울증 수치에 관한 정보를 나타냅니다. + + 매우 높음 + 높음 + 보통 + 낮음 + + 45 ~ 60 + 30 ~ 45 + 15 ~ 30 + 0 ~ 15 프로필 사진