diff --git a/core/designsystem/src/main/kotlin/com/google/samples/apps/nowinandroid/core/designsystem/component/IconButton.kt b/core/designsystem/src/main/kotlin/com/google/samples/apps/nowinandroid/core/designsystem/component/IconButton.kt index 43ec11f0b..5034a30d5 100644 --- a/core/designsystem/src/main/kotlin/com/google/samples/apps/nowinandroid/core/designsystem/component/IconButton.kt +++ b/core/designsystem/src/main/kotlin/com/google/samples/apps/nowinandroid/core/designsystem/component/IconButton.kt @@ -24,6 +24,8 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color +import androidx.compose.ui.hapticfeedback.HapticFeedbackType +import androidx.compose.ui.platform.LocalHapticFeedback import com.google.samples.apps.nowinandroid.core.designsystem.icon.NiaIcons import com.google.samples.apps.nowinandroid.core.designsystem.theme.NiaTheme @@ -48,11 +50,15 @@ fun NiaIconToggleButton( icon: @Composable () -> Unit, checkedIcon: @Composable () -> Unit = icon, ) { + val haptics = LocalHapticFeedback.current // TODO: File bug // Can't use regular IconToggleButton as it doesn't include a shape (appears square) FilledIconToggleButton( checked = checked, - onCheckedChange = onCheckedChange, + onCheckedChange = { isChecked -> + onCheckedChange(isChecked) + if (isChecked) haptics.performHapticFeedback(HapticFeedbackType.Confirm) + }, modifier = modifier, enabled = enabled, colors = IconButtonDefaults.iconToggleButtonColors(