Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ import androidx.compose.ui.focus.FocusRequester
import androidx.compose.ui.focus.focusRequester
import androidx.compose.ui.focus.onFocusChanged
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.res.vectorResource
import androidx.compose.ui.text.input.ImeAction
Expand All @@ -53,7 +52,6 @@ import com.ninecraft.booket.feature.record.component.ImpressionGuideBottomSheet
import com.ninecraft.booket.feature.record.register.RecordRegisterUiEvent
import com.ninecraft.booket.feature.record.register.RecordRegisterUiState
import kotlinx.coroutines.delay
import com.skydoves.compose.effects.RememberedEffect
import kotlinx.coroutines.launch
import tech.thdev.compose.extensions.keyboard.state.foundation.rememberKeyboardVisible
import com.ninecraft.booket.core.designsystem.R as designR
Expand All @@ -67,26 +65,18 @@ fun ImpressionStep(
val coroutineScope = rememberCoroutineScope()
val impressionGuideBottomSheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true)
val focusRequester = remember { FocusRequester() }
val keyboardController = LocalSoftwareKeyboardController.current
val scrollState = rememberScrollState()
val bringIntoViewRequester = remember { BringIntoViewRequester() }
val keyboardState by rememberKeyboardVisible()
var isImpressionTextFieldFocused by remember { mutableStateOf(false) }

LaunchedEffect(keyboardState, isImpressionTextFieldFocused) {
if (keyboardState && isImpressionTextFieldFocused) {
delay(100)
delay(150)
bringIntoViewRequester.bringIntoView()
}
}

RememberedEffect(Unit) {
if (state.impressionState.text.isEmpty()) {
focusRequester.requestFocus()
keyboardController?.show()
}
}

Column(
modifier = modifier
.fillMaxSize()
Expand All @@ -98,7 +88,7 @@ fun ImpressionStep(
.fillMaxWidth()
.weight(1f)
.padding(horizontal = ReedTheme.spacing.spacing5)
.padding(bottom = 12.dp)
.padding(bottom = 16.dp)
.verticalScroll(scrollState),
) {
Text(
Expand Down
Loading