add weekly screen

This commit is contained in:
Henry Hiles 2023-04-06 15:10:11 -04:00
parent 306b905c2b
commit b1b71cee5e

View file

@ -25,6 +25,7 @@ import com.google.accompanist.permissions.ExperimentalPermissionsApi
import com.google.accompanist.permissions.rememberPermissionState import com.google.accompanist.permissions.rememberPermissionState
import com.henryhiles.qweather.R import com.henryhiles.qweather.R
import com.henryhiles.qweather.presentation.screenmodel.DailyWeatherScreenModel import com.henryhiles.qweather.presentation.screenmodel.DailyWeatherScreenModel
import java.time.format.DateTimeFormatter
object WeekTab : Tab { object WeekTab : Tab {
override val options: TabOptions override val options: TabOptions
@ -86,6 +87,9 @@ object WeekTab : Tab {
) { ) {
weatherViewModel.state.dailyWeatherData?.let { data -> weatherViewModel.state.dailyWeatherData?.let { data ->
items(data) { items(data) {
val formattedDate = it.date.format(
DateTimeFormatter.ofPattern("E d")
)
Card( Card(
modifier = Modifier.padding( modifier = Modifier.padding(
horizontal = 16.dp, horizontal = 16.dp,
@ -95,7 +99,6 @@ object WeekTab : Tab {
Row( Row(
modifier = Modifier modifier = Modifier
.fillMaxWidth() .fillMaxWidth()
.height(64.dp)
.padding(16.dp), .padding(16.dp),
verticalAlignment = Alignment.CenterVertically verticalAlignment = Alignment.CenterVertically
) { ) {
@ -105,21 +108,18 @@ object WeekTab : Tab {
modifier = Modifier.width(48.dp) modifier = Modifier.width(48.dp)
) )
Spacer(modifier = Modifier.width(16.dp)) Spacer(modifier = Modifier.width(16.dp))
Column {
Text(
text = formattedDate
)
Text(text = "Feels like ${it.apparentTemperatureMax}°C")
}
Spacer(modifier = Modifier.weight(1f))
Text( Text(
text = //it.date.dayOfWeek text = "${it.temperatureMax}°C",
when (it.date.dayOfWeek.value) { style = MaterialTheme.typography.titleLarge,
1 -> "Monday"
2 -> "Tuesday"
3 -> "Wednesday"
4 -> "Thursday"
5 -> "Friday"
6 -> "Saturday"
7 -> "Sunday"
else -> "Unknown"
}
) )
Spacer(modifier = Modifier.width(24.dp))
Text(text = it.temperatureMax.toString())
} }
} }
} }