diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/blog/BlogPostView.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/blog/BlogPostView.kt index 75554b64df589551bf98a84c99ae094be60466b9..ecbaf9658dda1d41329cb3167cd2bbf2e27eedc2 100644 --- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/blog/BlogPostView.kt +++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/blog/BlogPostView.kt @@ -208,7 +208,7 @@ private fun RepeatAuthorView( modifier = modifier, ) { Tooltip( - text = authorClickTooltip ?: "", + text = authorClickTooltip, modifier = Modifier.weight(1f), ) { Row( diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/Tooltip.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/Tooltip.kt index 932b7aef8a3ef5025a068d8525b1ee8231697087..686a3add41de04e2d42f35dd81c095f62da92a56 100644 --- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/Tooltip.kt +++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/Tooltip.kt @@ -1,6 +1,6 @@ /* * Briar Desktop - * Copyright (C) 2021-2022 The Briar Project + * Copyright (C) 2021-2023 The Briar Project * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as @@ -21,6 +21,7 @@ package org.briarproject.briar.desktop.ui import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.TooltipArea import androidx.compose.foundation.TooltipPlacement +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.padding import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.Surface @@ -34,27 +35,35 @@ import androidx.compose.ui.unit.dp @Composable @OptIn(ExperimentalFoundationApi::class) fun Tooltip( - text: String, + text: String?, modifier: Modifier = Modifier, delayMillis: Int = 500, tooltipPlacement: TooltipPlacement = TooltipPlacement.CursorPoint( offset = DpOffset(0.dp, 16.dp) ), content: @Composable () -> Unit, -) = TooltipArea( - tooltip = { - Surface( - modifier = Modifier.shadow(4.dp), - shape = RoundedCornerShape(4.dp), - ) { - Text( - text = text, - modifier = Modifier.padding(4.dp), - ) +) { + if (text.isNullOrEmpty()) { + Box(modifier = modifier) { + content() } - }, - delayMillis = delayMillis, - tooltipPlacement = tooltipPlacement, - modifier = modifier, // todo: use tooltip text for semantic description - content = content, -) + } else { + TooltipArea( + tooltip = { + Surface( + modifier = Modifier.shadow(4.dp), + shape = RoundedCornerShape(4.dp), + ) { + Text( + text = text, + modifier = Modifier.padding(4.dp), + ) + } + }, + delayMillis = delayMillis, + tooltipPlacement = tooltipPlacement, + modifier = modifier, // todo: use tooltip text for semantic description + content = content, + ) + } +}