Skip to content

Commit 7f07a8d

Browse files
committed
Fix: RoutineSortBottomSheet 닫기 로직 변경
- 정렬 기준 클릭 시 sheetState.hide()를 호출하여 바텀시트를 닫도록 변경
1 parent 8606841 commit 7f07a8d

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

presentation/src/main/java/com/threegap/bitnagil/presentation/home/HomeViewModel.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,6 @@ class HomeViewModel @Inject constructor(
9898
}
9999
state.copy(
100100
currentSortType = newSortType,
101-
routineSortBottomSheetVisible = false,
102101
)
103102
}
104103

presentation/src/main/java/com/threegap/bitnagil/presentation/home/component/template/RoutineSortBottomSheet.kt

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,16 @@ import androidx.compose.material3.HorizontalDivider
1414
import androidx.compose.material3.Icon
1515
import androidx.compose.material3.ModalBottomSheet
1616
import androidx.compose.material3.Text
17+
import androidx.compose.material3.rememberModalBottomSheetState
1718
import androidx.compose.runtime.Composable
19+
import androidx.compose.runtime.rememberCoroutineScope
1820
import androidx.compose.ui.Alignment
1921
import androidx.compose.ui.Modifier
2022
import androidx.compose.ui.tooling.preview.Preview
2123
import androidx.compose.ui.unit.dp
2224
import com.threegap.bitnagil.designsystem.BitnagilTheme
2325
import com.threegap.bitnagil.presentation.home.model.RoutineSortType
26+
import kotlinx.coroutines.launch
2427

2528
@OptIn(ExperimentalMaterial3Api::class)
2629
@Composable
@@ -30,7 +33,11 @@ fun RoutineSortBottomSheet(
3033
onDismiss: () -> Unit,
3134
modifier: Modifier = Modifier,
3235
) {
36+
val sheetState = rememberModalBottomSheetState()
37+
val coroutineScope = rememberCoroutineScope()
38+
3339
ModalBottomSheet(
40+
sheetState = sheetState,
3441
onDismissRequest = onDismiss,
3542
containerColor = BitnagilTheme.colors.white,
3643
contentColor = BitnagilTheme.colors.white,
@@ -40,6 +47,13 @@ fun RoutineSortBottomSheet(
4047
currentSortType = currentSortType,
4148
onClick = { sortType ->
4249
onSortTypeChange(sortType)
50+
coroutineScope
51+
.launch { sheetState.hide() }
52+
.invokeOnCompletion {
53+
if (!sheetState.isVisible) {
54+
onDismiss()
55+
}
56+
}
4357
},
4458
modifier = Modifier
4559
.padding(horizontal = 16.dp)
@@ -93,8 +107,10 @@ private fun SortOptionItem(
93107
.fillMaxWidth()
94108
.padding(vertical = 8.dp)
95109
.height(36.dp)
96-
// todo: 리플효과 제거하기
97-
.clickable { onClick(sortType) },
110+
.clickable {
111+
onClick(sortType)
112+
// 짧은 지연 후 바텀시트 닫기 (선택적)
113+
},
98114
) {
99115
Text(
100116
text = text,

0 commit comments

Comments
 (0)