Always expand tabs

This commit is contained in:
Henry Hiles 2023-12-25 12:00:39 -05:00
parent 43b7b42495
commit e75c7f770d
2 changed files with 30 additions and 39 deletions

View file

@ -1,7 +1,6 @@
package com.henryhiles.qweather.presentation.components.weather package com.henryhiles.qweather.presentation.components.weather
import androidx.compose.foundation.Image import androidx.compose.foundation.Image
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.* import androidx.compose.foundation.layout.*
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.Water import androidx.compose.material.icons.outlined.Water
@ -22,7 +21,7 @@ import com.henryhiles.qweather.domain.weather.DailyWeatherData
import java.time.format.DateTimeFormatter import java.time.format.DateTimeFormatter
@Composable @Composable
fun WeatherDay(dailyWeatherData: DailyWeatherData, expanded: Boolean, onExpand: () -> Unit) { fun WeatherDay(dailyWeatherData: DailyWeatherData) {
val formattedDate by remember { val formattedDate by remember {
derivedStateOf { derivedStateOf {
dailyWeatherData.date.format( dailyWeatherData.date.format(
@ -37,7 +36,6 @@ fun WeatherDay(dailyWeatherData: DailyWeatherData, expanded: Boolean, onExpand:
horizontal = 16.dp, horizontal = 16.dp,
vertical = 8.dp vertical = 8.dp
) )
.clickable(onClick = onExpand)
) { ) {
Row( Row(
modifier = Modifier modifier = Modifier
@ -65,7 +63,6 @@ fun WeatherDay(dailyWeatherData: DailyWeatherData, expanded: Boolean, onExpand:
style = MaterialTheme.typography.titleLarge, style = MaterialTheme.typography.titleLarge,
) )
} }
if (expanded) {
Row( Row(
modifier = Modifier modifier = Modifier
.fillMaxWidth() .fillMaxWidth()
@ -95,4 +92,3 @@ fun WeatherDay(dailyWeatherData: DailyWeatherData, expanded: Boolean, onExpand:
} }
} }
} }
}

View file

@ -3,7 +3,7 @@ package com.henryhiles.qweather.presentation.tabs
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.text.selection.SelectionContainer import androidx.compose.foundation.text.selection.SelectionContainer
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.DateRange import androidx.compose.material.icons.filled.DateRange
@ -75,13 +75,8 @@ object WeekTab : NavigationTab {
modifier = Modifier.fillMaxSize() modifier = Modifier.fillMaxSize()
) { ) {
weatherViewModel.state.dailyWeatherData?.let { data -> weatherViewModel.state.dailyWeatherData?.let { data ->
itemsIndexed(data) { index, dailyData -> items(data) {
val expanded = weatherViewModel.state.expanded == index WeatherDay(dailyWeatherData = it)
WeatherDay(
dailyWeatherData = dailyData,
expanded = expanded,
onExpand = { weatherViewModel.setExpanded(if (expanded) null else index) }
)
} }
} }
} }