update BottomSheet state management

This commit is contained in:
PranshulGG committed 2026-08-15 16:06:03 +05:30
1 parent 462c497d2e
commit a70551086e
3 files changed
+25 -3

No files matched your search

@@ -16,10 +16,12 @@ import androidx.compose.material3.IconButton
import androidx.compose.material3.IconButtonDefaults
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Scaffold
import androidx.compose.material3.SheetValue
import androidx.compose.material3.Text
import androidx.compose.material3.TooltipAnchorPosition
import androidx.compose.material3.TopAppBar
import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.material3.rememberBottomSheetState
import androidx.compose.material3.rememberModalBottomSheetState
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
@@ -66,7 +68,12 @@ fun LocationsScreen(
) {
val viewModel: LocationsScreenViewModel = hiltViewModel()
val sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true)
val sheetState = rememberBottomSheetState(
initialValue = SheetValue.Hidden,
enabledValues = setOf(SheetValue.Expanded, SheetValue.Hidden)
)
val uiState = viewModel.uiState
val weatherForLocations by viewModel.allLocationsWeather.collectAsStateWithLifecycle(
@@ -17,7 +17,9 @@ import androidx.compose.material3.IconButton
import androidx.compose.material3.IconButtonDefaults
import androidx.compose.material3.LoadingIndicator
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.SheetValue
import androidx.compose.material3.Text
import androidx.compose.material3.rememberBottomSheetState
import androidx.compose.material3.rememberModalBottomSheetState
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
@@ -70,7 +72,10 @@ fun SearchScreen(navController: NavController) {
val prefs = LocalAppPrefs.current
var selectedLocationId by remember { mutableStateOf("") }
var selectedLocation by remember { mutableStateOf<Location?>(null) }
val sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true)
val sheetState = rememberBottomSheetState(
initialValue = SheetValue.Hidden,
enabledValues = setOf(SheetValue.Expanded, SheetValue.Hidden)
)
@@ -9,7 +9,9 @@ import androidx.compose.foundation.layout.width
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.SheetValue
import androidx.compose.material3.Surface
import androidx.compose.material3.rememberBottomSheetState
import androidx.compose.material3.rememberModalBottomSheetState
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
@@ -18,8 +20,10 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.core.graphics.toColorInt
import com.pranshulgg.weather_master_app.R
import com.pranshulgg.weather_master_app.core.prefs.LocalAppPrefs
import com.pranshulgg.weather_master_app.core.ui.components.ActionBottomSheet
@@ -29,7 +33,11 @@ fun ColorPickerBtn() {
val prefs = LocalAppPrefs.current
var selectedColor = prefs.customThemeColor
val sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true)
val sheetState = rememberBottomSheetState(
initialValue = SheetValue.Hidden,
enabledValues = setOf(SheetValue.Expanded, SheetValue.Hidden)
)
var isSheetOpen by remember { mutableStateOf(false) }
Surface(
@@ -55,6 +63,8 @@ fun ColorPickerBtn() {
if (isSheetOpen)
ActionBottomSheet(
sheetState = sheetState,
cancelText = stringResource(R.string.action_cancel),
confirmText = stringResource(R.string.action_save),
onCancel = {
isSheetOpen = false
},