Skip to content

Commit 3dba7cb

Browse files
committed
example: Cleanup UITest
1 parent 04adb66 commit 3dba7cb

File tree

3 files changed

+31
-49
lines changed

3 files changed

+31
-49
lines changed

example/src/commonMain/kotlin/MainPage.kt

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import top.yukonga.miuix.kmp.basic.SearchBar
3939
import top.yukonga.miuix.kmp.basic.SmallTitle
4040
import top.yukonga.miuix.kmp.basic.Text
4141
import top.yukonga.miuix.kmp.theme.MiuixTheme
42+
import top.yukonga.miuix.kmp.utils.getWindowSize
4243
import top.yukonga.miuix.kmp.utils.overScrollVertical
4344
import top.yukonga.miuix.kmp.utils.scrollEndHaptic
4445

@@ -110,7 +111,8 @@ fun MainPage(
110111
if (scrollEndHaptic) Modifier.scrollEndHaptic() else Modifier
111112
)
112113
.overScrollVertical()
113-
.nestedScroll(topAppBarScrollBehavior.nestedScrollConnection),
114+
.nestedScroll(topAppBarScrollBehavior.nestedScrollConnection)
115+
.height(getWindowSize().height.dp),
114116
contentPadding = PaddingValues(top = padding.calculateTopPadding()),
115117
overscrollEffect = null
116118
) {
@@ -146,15 +148,11 @@ fun MainPage(
146148
expanded = expanded,
147149
onExpandedChange = { expanded = it }
148150
) {
149-
Column(
150-
Modifier.fillParentMaxHeight()
151-
) {
151+
Column {
152152
repeat(4) { idx ->
153153
val resultText = "Suggestion $idx"
154154
BasicComponent(
155155
title = resultText,
156-
modifier = Modifier
157-
.fillMaxWidth(),
158156
onClick = {
159157
searchValue = resultText
160158
expanded = false

example/src/commonMain/kotlin/UITest.kt

Lines changed: 24 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,6 @@ data class UIState(
9595
val showFloatingActionButton: Boolean = false,
9696
val floatingActionButtonPosition: Int = 2,
9797
val enablePageUserScroll: Boolean = false,
98-
val isTopPopupExpanded: Boolean = false,
9998
val scrollEndHaptic: Boolean = true
10099
)
101100

@@ -146,9 +145,7 @@ fun UITest(
146145
hazeStyle = hazeStyle,
147146
currentScrollBehavior = currentScrollBehavior,
148147
items = navigationItem,
149-
isTopPopupExpanded = uiState.isTopPopupExpanded,
150148
showTopPopup = showTopPopup,
151-
onPopupExpandedChange = { uiState = uiState.copy(isTopPopupExpanded = it) },
152149
onPageSelected = { page ->
153150
selectedPage = page
154151
coroutineScope.launch {
@@ -351,13 +348,9 @@ private fun AppTopBar(
351348
hazeStyle: HazeStyle,
352349
currentScrollBehavior: ScrollBehavior,
353350
items: List<NavigationItem>,
354-
isTopPopupExpanded: Boolean,
355351
showTopPopup: MutableState<Boolean>,
356-
onPopupExpandedChange: (Boolean) -> Unit,
357352
onPageSelected: (Int) -> Unit
358353
) {
359-
LocalHapticFeedback.current
360-
361354
BoxWithConstraints {
362355
if (maxWidth > 840.dp) {
363356
SmallTopAppBar(
@@ -373,9 +366,7 @@ private fun AppTopBar(
373366
TopAppBarActions(
374367
selectedPage = selectedPage,
375368
items = items,
376-
isTopPopupExpanded = isTopPopupExpanded,
377369
showTopPopup = showTopPopup,
378-
onPopupExpandedChange = onPopupExpandedChange,
379370
onPageSelected = onPageSelected
380371
)
381372
}
@@ -395,9 +386,7 @@ private fun AppTopBar(
395386
TopAppBarActions(
396387
selectedPage = selectedPage,
397388
items = items,
398-
isTopPopupExpanded = isTopPopupExpanded,
399389
showTopPopup = showTopPopup,
400-
onPopupExpandedChange = onPopupExpandedChange,
401390
onPageSelected = onPageSelected
402391
)
403392
}
@@ -410,50 +399,43 @@ private fun AppTopBar(
410399
private fun TopAppBarActions(
411400
selectedPage: Int,
412401
items: List<NavigationItem>,
413-
isTopPopupExpanded: Boolean,
414402
showTopPopup: MutableState<Boolean>,
415-
onPopupExpandedChange: (Boolean) -> Unit,
416403
onPageSelected: (Int) -> Unit
417404
) {
418405
val hapticFeedback = LocalHapticFeedback.current
419406

420-
if (isTopPopupExpanded) {
421-
ListPopup(
422-
show = showTopPopup,
423-
popupPositionProvider = ListPopupDefaults.ContextMenuPositionProvider,
424-
alignment = PopupPositionProvider.Align.TopRight,
425-
onDismissRequest = {
426-
showTopPopup.value = false
427-
onPopupExpandedChange(false)
428-
},
429-
enableWindowDim = false
430-
) {
431-
ListPopupColumn {
432-
items.forEachIndexed { index, navigationItem ->
433-
DropdownImpl(
434-
text = navigationItem.label,
435-
optionSize = items.size,
436-
isSelected = index == selectedPage,
437-
onSelectedIndexChange = {
438-
onPageSelected(index)
439-
hapticFeedback.performHapticFeedback(HapticFeedbackType.Confirm)
440-
showTopPopup.value = false
441-
onPopupExpandedChange(false)
442-
},
443-
index = index
444-
)
445-
}
407+
ListPopup(
408+
show = showTopPopup,
409+
popupPositionProvider = ListPopupDefaults.ContextMenuPositionProvider,
410+
alignment = PopupPositionProvider.Align.TopRight,
411+
onDismissRequest = {
412+
showTopPopup.value = false
413+
},
414+
enableWindowDim = false
415+
) {
416+
ListPopupColumn {
417+
items.forEachIndexed { index, navigationItem ->
418+
DropdownImpl(
419+
text = navigationItem.label,
420+
optionSize = items.size,
421+
isSelected = index == selectedPage,
422+
onSelectedIndexChange = {
423+
onPageSelected(index)
424+
hapticFeedback.performHapticFeedback(HapticFeedbackType.Confirm)
425+
showTopPopup.value = false
426+
},
427+
index = index
428+
)
446429
}
447430
}
448-
showTopPopup.value = true
449431
}
450432

451433
IconButton(
452434
modifier = Modifier.padding(end = 20.dp),
453435
onClick = {
454-
onPopupExpandedChange(true)
436+
showTopPopup.value = true
455437
},
456-
holdDownState = isTopPopupExpanded
438+
holdDownState = showTopPopup.value
457439
) {
458440
Icon(
459441
imageVector = MiuixIcons.Useful.ImmersionMore,

miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/SearchBar.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,9 @@ fun SearchBar(
7777
outsideRightAction: @Composable (() -> Unit)? = null,
7878
content: @Composable ColumnScope.() -> Unit
7979
) {
80-
Column {
80+
Column(
81+
modifier = modifier
82+
) {
8183
Row(
8284
modifier = Modifier.fillMaxWidth(),
8385
verticalAlignment = Alignment.CenterVertically,

0 commit comments

Comments
 (0)