mirror of
https://github.com/JetBrains/intellij-platform-plugin-template.git
synced 2025-12-05 14:21:55 +00:00
Cleanup modifier usages
This commit is contained in:
parent
291a35b6bd
commit
b800d6bb17
@ -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()
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user