Cleanup modifier usages

This commit is contained in:
Nebojsa Vuksic 2025-07-29 15:21:44 +02:00
parent 291a35b6bd
commit b800d6bb17
2 changed files with 25 additions and 11 deletions

View File

@ -17,9 +17,13 @@ import org.jetbrains.jewel.foundation.lazy.items
import org.jetbrains.jewel.foundation.lazy.rememberSelectableLazyListState import org.jetbrains.jewel.foundation.lazy.rememberSelectableLazyListState
import org.jetbrains.jewel.foundation.theme.JewelTheme import org.jetbrains.jewel.foundation.theme.JewelTheme
import org.jetbrains.jewel.ui.component.* import org.jetbrains.jewel.ui.component.*
import org.jetbrains.plugins.template.ComposeTemplateBundle
import org.jetbrains.plugins.template.weatherApp.model.Location import org.jetbrains.plugins.template.weatherApp.model.Location
import org.jetbrains.plugins.template.weatherApp.model.WeatherForecastData import org.jetbrains.plugins.template.weatherApp.model.WeatherForecastData
import org.jetbrains.plugins.template.weatherApp.services.* import org.jetbrains.plugins.template.weatherApp.services.LocationsProvider
import org.jetbrains.plugins.template.weatherApp.services.MyLocationsViewModelApi
import org.jetbrains.plugins.template.weatherApp.services.SearchAutoCompletionItemProvider
import org.jetbrains.plugins.template.weatherApp.services.WeatherViewModelApi
import org.jetbrains.plugins.template.weatherApp.ui.components.SearchToolbarMenu import org.jetbrains.plugins.template.weatherApp.ui.components.SearchToolbarMenu
import org.jetbrains.plugins.template.weatherApp.ui.components.WeatherDetailsCard import org.jetbrains.plugins.template.weatherApp.ui.components.WeatherDetailsCard
@ -30,16 +34,27 @@ internal fun WeatherAppSample(
searchAutoCompletionItemProvided: LocationsProvider searchAutoCompletionItemProvided: LocationsProvider
) { ) {
HorizontalSplitLayout( HorizontalSplitLayout(
first = { LeftColumn(myLocationViewModel, modifier = Modifier.fillMaxSize()) }, first = {
LeftColumn(
myLocationViewModel,
modifier = Modifier
.fillMaxSize()
.padding(start = 8.dp, end = 8.dp)
)
},
second = { second = {
RightColumn( RightColumn(
myLocationViewModel, myLocationViewModel,
weatherViewModelApi, weatherViewModelApi,
searchAutoCompletionItemProvided, searchAutoCompletionItemProvided,
modifier = Modifier.fillMaxSize() modifier = Modifier
.fillMaxSize()
.padding(start = 8.dp, end = 8.dp)
) )
}, },
modifier = Modifier.fillMaxSize(), modifier = Modifier
.fillMaxSize()
.padding(all = 8.dp),
firstPaneMinWidth = 100.dp, firstPaneMinWidth = 100.dp,
secondPaneMinWidth = 300.dp, secondPaneMinWidth = 300.dp,
state = rememberSplitLayoutState(.2f) state = rememberSplitLayoutState(.2f)
@ -55,10 +70,10 @@ private fun LeftColumn(
// TODO Set selected item on initial showing // TODO Set selected item on initial showing
Column(modifier.fillMaxSize().padding(8.dp)) { Column(modifier) {
GroupHeader("My Locations", modifier = Modifier.padding(bottom = 8.dp)) GroupHeader("My Locations", modifier = Modifier.wrapContentHeight().fillMaxWidth())
Spacer(modifier = Modifier.height(4.dp)) Spacer(modifier = Modifier.height(10.dp))
val listState = rememberSelectableLazyListState() val listState = rememberSelectableLazyListState()
LaunchedEffect(myLocations) { LaunchedEffect(myLocations) {
@ -69,7 +84,7 @@ private fun LeftColumn(
} }
SelectableLazyColumn( SelectableLazyColumn(
modifier = modifier.fillMaxSize(), modifier = Modifier.fillMaxSize(),
selectionMode = SelectionMode.Single, selectionMode = SelectionMode.Single,
state = listState, state = listState,
onSelectedIndexesChange = { indices -> onSelectedIndexesChange = { indices ->
@ -120,7 +135,7 @@ private fun RightColumn(
) { ) {
val weatherForecastData = weatherViewModelApi.weatherForecast.collectAsState(WeatherForecastData.EMPTY).value val weatherForecastData = weatherViewModelApi.weatherForecast.collectAsState(WeatherForecastData.EMPTY).value
Column(modifier.fillMaxWidth().padding(8.dp)) { Column(modifier) {
SearchToolbarMenu( SearchToolbarMenu(
searchAutoCompletionItemProvider = searchAutoCompletionItemProvider, searchAutoCompletionItemProvider = searchAutoCompletionItemProvider,
confirmButtonText = "Add", confirmButtonText = "Add",
@ -135,7 +150,7 @@ private fun RightColumn(
WeatherDetailsCard( WeatherDetailsCard(
modifier = Modifier modifier = Modifier
.fillMaxWidth() .fillMaxWidth()
.align(Alignment.CenterHorizontally), // optional for positioning .align(Alignment.CenterHorizontally),
weatherForecastData weatherForecastData
) { ) {
weatherViewModelApi.onReloadWeatherForecast() weatherViewModelApi.onReloadWeatherForecast()

View File

@ -46,7 +46,6 @@ internal fun WeatherDetailsCard(
Box( Box(
modifier = modifier modifier = modifier
.fillMaxWidth()
.clip(RoundedCornerShape(16.dp)) .clip(RoundedCornerShape(16.dp))
.background(cardColor) .background(cardColor)
.padding(16.dp) .padding(16.dp)