From aa3de2e1a9852254cfc263e9b0ee4930e0dedcd5 Mon Sep 17 00:00:00 2001 From: fankesyooni Date: Sun, 14 Jan 2024 12:43:00 +0800 Subject: [PATCH] feat: update demo --- .../com/highcapable/flexiui/demo/Components.kt | 14 ++++++++++++++ .../flexiui/demo/screen/LazyListScreen.kt | 9 ++------- .../flexiui/demo/screen/SecondaryScreen.kt | 4 ++-- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/samples/composeApp/src/commonMain/kotlin/com/highcapable/flexiui/demo/Components.kt b/samples/composeApp/src/commonMain/kotlin/com/highcapable/flexiui/demo/Components.kt index 6627bfe..902161f 100644 --- a/samples/composeApp/src/commonMain/kotlin/com/highcapable/flexiui/demo/Components.kt +++ b/samples/composeApp/src/commonMain/kotlin/com/highcapable/flexiui/demo/Components.kt @@ -25,6 +25,8 @@ import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.size import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.hapticfeedback.HapticFeedbackType +import androidx.compose.ui.platform.LocalHapticFeedback import androidx.compose.ui.unit.dp import com.highcapable.flexiui.FlexiTheme import com.highcapable.flexiui.component.Text @@ -48,4 +50,16 @@ fun SecondaryText(text: String) { color = FlexiTheme.colors.textSecondary, style = FlexiTheme.typography.secondary ) +} + +@Composable +fun HapticFeedback( + type: HapticFeedbackType = HapticFeedbackType.LongPress, + handler: () -> Unit +): () -> Unit { + val hapticFeedback = LocalHapticFeedback.current + return { + handler() + hapticFeedback.performHapticFeedback(type) + } } \ No newline at end of file diff --git a/samples/composeApp/src/commonMain/kotlin/com/highcapable/flexiui/demo/screen/LazyListScreen.kt b/samples/composeApp/src/commonMain/kotlin/com/highcapable/flexiui/demo/screen/LazyListScreen.kt index 245a13d..7f5d4b8 100644 --- a/samples/composeApp/src/commonMain/kotlin/com/highcapable/flexiui/demo/screen/LazyListScreen.kt +++ b/samples/composeApp/src/commonMain/kotlin/com/highcapable/flexiui/demo/screen/LazyListScreen.kt @@ -44,8 +44,6 @@ import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.hapticfeedback.HapticFeedbackType -import androidx.compose.ui.platform.LocalHapticFeedback import androidx.compose.ui.unit.dp import com.highcapable.betterandroid.compose.multiplatform.backpress.BackHandler import com.highcapable.flexiui.component.Button @@ -61,6 +59,7 @@ import com.highcapable.flexiui.component.Text import com.highcapable.flexiui.component.window.FlexiDialog import com.highcapable.flexiui.demo.Delete import com.highcapable.flexiui.demo.DeleteForever +import com.highcapable.flexiui.demo.HapticFeedback import com.highcapable.flexiui.demo.ListAdd import com.highcapable.flexiui.demo.PrimarySpacer import com.highcapable.flexiui.demo.bean.SimpleListBean @@ -155,13 +154,9 @@ fun LazyListScreen() { @Composable fun LazyItem(modifier: Modifier, index: Int) { Box(modifier = modifier) { - val hapticFeedback = LocalHapticFeedback.current var showDropdownMenu by remember { mutableStateOf(false) } HorizontalItemBox( - onLongClick = { - showDropdownMenu = true - hapticFeedback.performHapticFeedback(HapticFeedbackType.LongPress) - }, + onLongClick = HapticFeedback { showDropdownMenu = true }, title = { Text(testListData[index].title) }, subtitle = { Text(testListData[index].subtitle) }, showArrowIcon = false diff --git a/samples/composeApp/src/commonMain/kotlin/com/highcapable/flexiui/demo/screen/SecondaryScreen.kt b/samples/composeApp/src/commonMain/kotlin/com/highcapable/flexiui/demo/screen/SecondaryScreen.kt index 6f88ac1..eaadd87 100644 --- a/samples/composeApp/src/commonMain/kotlin/com/highcapable/flexiui/demo/screen/SecondaryScreen.kt +++ b/samples/composeApp/src/commonMain/kotlin/com/highcapable/flexiui/demo/screen/SecondaryScreen.kt @@ -58,8 +58,8 @@ fun SecondaryScreen() { AreaColumn(modifier = Modifier.fillMaxWidth()) { Text( """ - Now, you open a separate secondary page. - You can click the button below to back to the homepage. + Now, you open a separate secondary page. + You can click the button below to back to the homepage. """.trimIndent(), style = FlexiTheme.typography.primary.copy(lineHeight = 2.em) )