Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions core/src/main/java/com/gdg/core/designsystem/theme/Color.kt
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ val Green600 = Color(0xFF04D181)
val Green500 = Color(0xFF9AE5DA)

// Blue Color
val Blue300 = Color(0xFF049ED1)
val Blue200 = Color(0xFF73CAED)
val Blue100 = Color(0xFF98D1E8)

Expand All @@ -51,6 +52,7 @@ class CrowdZeroColors(
green700: Color,
green600: Color,
green500: Color,
blue300: Color,
blue200: Color,
blue100: Color
) {
Expand Down Expand Up @@ -86,6 +88,8 @@ class CrowdZeroColors(
private set
var green500 by mutableStateOf(green500)
private set
var blue300 by mutableStateOf(blue300)
private set
var blue200 by mutableStateOf(blue200)
private set
var blue100 by mutableStateOf(blue100)
Expand All @@ -108,6 +112,7 @@ class CrowdZeroColors(
green700 = green700,
green600 = green600,
green500 = green500,
blue300 = blue300,
blue200 = blue200,
blue100 = blue100
)
Expand Down Expand Up @@ -152,6 +157,7 @@ fun crowdZeroColors(
green700: Color = Green700,
green600: Color = Green600,
green500: Color = Green500,
blue300: Color = Blue300,
blue200: Color = Blue200,
blue100: Color = Blue100
) = CrowdZeroColors(
Expand All @@ -171,6 +177,7 @@ fun crowdZeroColors(
green700 = green700,
green600 = green600,
green500 = green500,
blue300 = blue300,
blue200 = blue200,
blue100 = blue100
)
9 changes: 7 additions & 2 deletions core/src/main/java/com/gdg/core/type/DustConditionType.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package com.gdg.core.type
import androidx.annotation.StringRes
import androidx.compose.ui.graphics.Color
import com.gdg.core.R
import com.gdg.core.designsystem.theme.Blue300
import com.gdg.core.designsystem.theme.Gray700
import com.gdg.core.designsystem.theme.Green600
import com.gdg.core.designsystem.theme.Orange
Expand All @@ -14,14 +15,18 @@ enum class DustConditionType(
) {
GOOD(
title = R.string.dust_condition_good,
color = Green600
color = Blue300
),
NORMAL(
title = R.string.dust_condition_normal,
color = Orange
color = Green600
),
BAD(
title = R.string.dust_condition_bad,
color = Orange
),
VERY_BAD(
title = R.string.dust_condition_very_bad,
color = Red
),
UNKNOWN(
Expand Down
1 change: 1 addition & 0 deletions core/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,6 @@
<string name="previous_month">이전 달</string>
<string name="next_month">다음 달</string>
<string name="dust_condition_unknown">모름</string>
<string name="dust_condition_very_bad">매우나쁨</string>

</resources>
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package com.gdg.feature.calendar

import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.border
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
Expand All @@ -17,7 +15,6 @@ import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.statusBarsPadding
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.HorizontalDivider
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
Expand All @@ -29,8 +26,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.clip
import androidx.compose.ui.res.dimensionResource
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.SpanStyle
Expand All @@ -47,6 +42,7 @@ import com.gdg.core.state.UiState
import com.gdg.core.util.TimeFormatter
import com.gdg.domain.entity.ScheduleEntity
import com.gdg.feature.R
import com.gdg.feature.calendar.component.CalendarInfoBox
import timber.log.Timber
import java.time.LocalDate
import java.time.YearMonth
Expand Down Expand Up @@ -212,80 +208,6 @@ fun CalendarScreen(
}
}

@Composable
fun CalendarInfoBox(data: ScheduleEntity) {
Column(
modifier = Modifier
.fillMaxWidth()
.border(0.5.dp, CrowdZeroTheme.colors.gray500, shape = RoundedCornerShape(15.dp))
.clip(RoundedCornerShape(15.dp))
.background(CrowdZeroTheme.colors.white)
.padding(dimensionResource(R.dimen.default_padding))
) {
Row(
modifier = Modifier.fillMaxWidth(),
verticalAlignment = Alignment.CenterVertically
) {
Text(
modifier = Modifier.padding(end = 8.dp),
text = data.duration,
style = CrowdZeroTheme.typography.c4SemiBold,
color = CrowdZeroTheme.colors.green600
)
Text(
text = data.region,
style = CrowdZeroTheme.typography.c4SemiBold,
color = CrowdZeroTheme.colors.white,
modifier = Modifier
.background(
color = CrowdZeroTheme.colors.green600,
shape = RoundedCornerShape(30.dp)
)
.padding(horizontal = 8.dp, vertical = 3.dp)
)
}
Text(
text = data.location.replace("\n", " "),
style = CrowdZeroTheme.typography.h5Bold,
color = CrowdZeroTheme.colors.gray900
)
Row(
modifier = Modifier.fillMaxWidth(),
verticalAlignment = Alignment.CenterVertically
) {
Text(
modifier = Modifier.padding(end = 4.dp),
text = stringResource(R.string.calendar_people_reporting_title),
style = CrowdZeroTheme.typography.c3Regular,
color = CrowdZeroTheme.colors.gray600
)
Text(
modifier = Modifier.padding(end = 8.dp),
text = stringResource(R.string.calendar_people_reporting, data.people),
style = CrowdZeroTheme.typography.c3Regular,
color = CrowdZeroTheme.colors.gray800
)
Text(
modifier = Modifier.padding(end = 8.dp),
text = stringResource(R.string.calendar_slash),
style = CrowdZeroTheme.typography.c3Regular,
color = CrowdZeroTheme.colors.gray600
)
Text(
modifier = Modifier.padding(end = 4.dp),
text = stringResource(R.string.calendar_jurisdiction),
style = CrowdZeroTheme.typography.c3Regular,
color = CrowdZeroTheme.colors.gray600
)
Text(
text = data.jurisdiction.replace("\n", " "),
style = CrowdZeroTheme.typography.c3Regular,
color = CrowdZeroTheme.colors.gray800
)
}
}
}

@Preview(showBackground = true)
@Composable
fun CalendarScreenPreview() {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
package com.gdg.feature.calendar.component

import androidx.compose.foundation.background
import androidx.compose.foundation.border
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.res.dimensionResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.gdg.core.designsystem.theme.CrowdZeroAndroidTheme
import com.gdg.core.designsystem.theme.CrowdZeroTheme
import com.gdg.core.extension.showIf
import com.gdg.domain.entity.ScheduleEntity
import com.gdg.feature.R

@Composable
Copy link
Contributor

Choose a reason for hiding this comment

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

미리 분리해둘 걸 그랬네요.... 🥹

fun CalendarInfoBox(data: ScheduleEntity) {
Column(
modifier = Modifier
.fillMaxWidth()
.border(0.5.dp, CrowdZeroTheme.colors.gray500, shape = RoundedCornerShape(15.dp))
.clip(RoundedCornerShape(15.dp))
.background(CrowdZeroTheme.colors.white)
.padding(dimensionResource(R.dimen.default_padding)),
verticalArrangement = Arrangement.spacedBy(2.dp)
) {
Row(
modifier = Modifier.fillMaxWidth(),
verticalAlignment = Alignment.CenterVertically
) {
Text(
modifier = Modifier.padding(end = 8.dp),
text = data.duration.replace("\n", " "),
style = CrowdZeroTheme.typography.c4SemiBold,
color = CrowdZeroTheme.colors.green600
)
Text(
text = data.region,
style = CrowdZeroTheme.typography.c4SemiBold,
color = CrowdZeroTheme.colors.white,
modifier = Modifier
.background(
color = CrowdZeroTheme.colors.green600,
shape = RoundedCornerShape(30.dp)
)
.padding(horizontal = 8.dp, vertical = 3.dp)
.showIf(data.region != "None")
)
}
Text(
text = data.location.replace("\n", " "),
style = CrowdZeroTheme.typography.h5Bold,
color = CrowdZeroTheme.colors.gray900
)
Row(
modifier = Modifier.fillMaxWidth(),
verticalAlignment = Alignment.CenterVertically
) {
Text(
modifier = Modifier.padding(end = 4.dp),
text = stringResource(R.string.calendar_people_reporting_title),
style = CrowdZeroTheme.typography.c3Regular,
color = CrowdZeroTheme.colors.gray600
)
Text(
modifier = Modifier.padding(end = 8.dp),
text = stringResource(R.string.calendar_people_reporting, data.people),
style = CrowdZeroTheme.typography.c3Regular,
color = CrowdZeroTheme.colors.gray800
)
Text(
modifier = Modifier.padding(end = 8.dp),
text = stringResource(R.string.calendar_slash),
style = CrowdZeroTheme.typography.c3Regular,
color = CrowdZeroTheme.colors.gray600
)
Text(
modifier = Modifier.padding(end = 4.dp),
text = stringResource(R.string.calendar_jurisdiction),
style = CrowdZeroTheme.typography.c3Regular,
color = CrowdZeroTheme.colors.gray600
)
Text(
text = data.jurisdiction.replace("\n", " "),
style = CrowdZeroTheme.typography.c3Regular,
color = CrowdZeroTheme.colors.gray800
)
}
}
}

@Preview(showBackground = true)
@Composable
fun CalendarInfoBoxPreview() {
CrowdZeroAndroidTheme {
CalendarInfoBox(
ScheduleEntity(
date = "2021-10-01",
duration = "07:30 ~ 24:00",
location = "두터교회 앞 인도 및 2개 차로",
region = "한남동",
people = "3000",
jurisdiction = "용산"
)
)
}
}
4 changes: 2 additions & 2 deletions feature/src/main/java/com/gdg/feature/detail/DetailRoute.kt
Original file line number Diff line number Diff line change
Expand Up @@ -213,8 +213,8 @@ fun DetailScreen(
true -> when (congestionState.data.level) {
"여유" -> OverlayImage.fromResource(CongestionType.GOOD.icon)
"보통" -> OverlayImage.fromResource(CongestionType.NORMAL.icon)
"약간 혼잡" -> OverlayImage.fromResource(CongestionType.LITTLE_BAD.icon)
"혼잡" -> OverlayImage.fromResource(CongestionType.BAD.icon)
"약간 붐빔" -> OverlayImage.fromResource(CongestionType.LITTLE_BAD.icon)
"붐빔" -> OverlayImage.fromResource(CongestionType.BAD.icon)
else -> OverlayImage.fromResource(CongestionType.UNKNOWN.icon)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ fun CongestionItem(
color = when (data.level) {
"여유" -> CrowdZeroTheme.colors.green600
"보통" -> CrowdZeroTheme.colors.yellow
"약간 혼잡" -> CrowdZeroTheme.colors.orange
"혼잡" -> CrowdZeroTheme.colors.red
"약간 붐빔" -> CrowdZeroTheme.colors.orange
"붐빔" -> CrowdZeroTheme.colors.red
else -> CrowdZeroTheme.colors.gray700
}
)
Expand All @@ -69,8 +69,8 @@ fun CongestionItem(
congestionType = when (data.level) {
"여유" -> CongestionType.GOOD
"보통" -> CongestionType.NORMAL
"약간 혼잡" -> CongestionType.LITTLE_BAD
"혼잡" -> CongestionType.BAD
"약간 붐빔" -> CongestionType.LITTLE_BAD
"붐빔" -> CongestionType.BAD
else -> CongestionType.UNKNOWN
}
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ fun WeatherItem(
"좋음" -> DustConditionType.GOOD
"보통" -> DustConditionType.NORMAL
"나쁨" -> DustConditionType.BAD
"매우나쁨" -> DustConditionType.VERY_BAD
else -> DustConditionType.UNKNOWN
}
)
Expand All @@ -89,6 +90,7 @@ fun WeatherItem(
"좋음" -> DustConditionType.GOOD
"보통" -> DustConditionType.NORMAL
"나쁨" -> DustConditionType.BAD
"매우나쁨" -> DustConditionType.VERY_BAD
else -> DustConditionType.UNKNOWN
}
)
Expand All @@ -105,6 +107,8 @@ fun WeatherItem(
imageVector = when (data.skyStts) {
"맑음" -> ImageVector.vectorResource(R.drawable.ic_sunny)
"구름많음" -> ImageVector.vectorResource(R.drawable.ic_cloudy)
"흐림" -> ImageVector.vectorResource(R.drawable.ic_cloudy)
"소나기" -> ImageVector.vectorResource(R.drawable.ic_rainy)
"비" -> ImageVector.vectorResource(R.drawable.ic_rainy)
"눈" -> ImageVector.vectorResource(R.drawable.ic_snowy)
else -> ImageVector.vectorResource(R.drawable.ic_sunny_cloudy)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,8 @@ fun PlaceInfoCard(
color = when (place.congestion) {
"여유" -> CrowdZeroTheme.colors.green600
"보통" -> CrowdZeroTheme.colors.yellow
"약간 혼잡" -> CrowdZeroTheme.colors.orange
"혼잡" -> CrowdZeroTheme.colors.red
"약간 붐빔" -> CrowdZeroTheme.colors.orange
"붐빔" -> CrowdZeroTheme.colors.red
else -> CrowdZeroTheme.colors.gray700
}
)
Expand All @@ -125,8 +125,8 @@ fun PlaceInfoCard(
color = when (place.congestion) {
"여유" -> CrowdZeroTheme.colors.green600
"보통" -> CrowdZeroTheme.colors.yellow
"약간 혼잡" -> CrowdZeroTheme.colors.orange
"혼잡" -> CrowdZeroTheme.colors.red
"약간 붐빔" -> CrowdZeroTheme.colors.orange
"붐빔" -> CrowdZeroTheme.colors.red
else -> CrowdZeroTheme.colors.gray700
}
)
Expand Down