From a772849df88684b6aa7e6fc8a324e2a573e32e37 Mon Sep 17 00:00:00 2001 From: Acclorite <140836141+Acclorite@users.noreply.github.com> Date: Sat, 21 Sep 2024 10:46:37 +0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=9B=A0=EF=B8=8F=20Disable=20tooltip=20whe?= =?UTF-8?q?n=20the=20icon-button=20is=20disabled?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/components/CustomIconButton.kt | 2 +- .../presentation/core/components/CustomTooltip.kt | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/CustomIconButton.kt b/app/src/main/java/ua/acclorite/book_story/presentation/core/components/CustomIconButton.kt index ffbc6ae9..8cb79827 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/CustomIconButton.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/core/components/CustomIconButton.kt @@ -40,7 +40,7 @@ fun CustomIconButton( onClick: () -> Unit ) { var isClicked by remember { mutableStateOf(false) } - CustomTooltip(text = stringResource(id = contentDescription)) { + CustomTooltip(text = stringResource(id = contentDescription), enabled = enabled) { IconButton( enabled = enabled && !isClicked, modifier = Modifier.focusProperties { diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/CustomTooltip.kt b/app/src/main/java/ua/acclorite/book_story/presentation/core/components/CustomTooltip.kt index 4f90e4c2..ee4a553f 100644 --- a/app/src/main/java/ua/acclorite/book_story/presentation/core/components/CustomTooltip.kt +++ b/app/src/main/java/ua/acclorite/book_story/presentation/core/components/CustomTooltip.kt @@ -12,13 +12,25 @@ import androidx.compose.ui.unit.dp /** * Custom Tooltip. + * Shows [text] on long press. + * + * @param text Text to show. + * @param padding Space between [content] and tooltip. + * @param enabled Whether this tooltip is enabled. + * @param content Content. */ @OptIn(ExperimentalMaterial3Api::class) @Composable -fun CustomTooltip(text: String, padding: Dp = 14.dp, content: @Composable () -> Unit) { +fun CustomTooltip( + text: String, + padding: Dp = 14.dp, + enabled: Boolean = true, + content: @Composable () -> Unit +) { TooltipBox( positionProvider = TooltipDefaults.rememberPlainTooltipPositionProvider(padding), focusable = false, + enableUserInput = enabled, tooltip = { PlainTooltip { Text(text = text)