diff --git a/feature/addlink/src/main/java/com/strayalpaca/addlink/components/block/Link.kt b/feature/addlink/src/main/java/com/strayalpaca/addlink/components/block/Link.kt index a780640c..08299993 100644 --- a/feature/addlink/src/main/java/com/strayalpaca/addlink/components/block/Link.kt +++ b/feature/addlink/src/main/java/com/strayalpaca/addlink/components/block/Link.kt @@ -15,20 +15,30 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.unit.dp import coil.compose.AsyncImage import com.strayalpaca.addlink.model.Link import pokitmons.pokit.core.ui.theme.PokitTheme +import pokitmons.pokit.core.ui.utils.noRippleClickable @Composable internal fun Link( link: Link, modifier: Modifier = Modifier, + openWebBrowserByClick: Boolean = true, ) { + val uriHandler = LocalUriHandler.current + Row( modifier = modifier .fillMaxWidth() .clip(RoundedCornerShape(12.dp)) + .noRippleClickable { + if (openWebBrowserByClick) { + uriHandler.openUri(link.url) + } + } .height(IntrinsicSize.Min) .border( width = 1.dp, diff --git a/feature/pokitdetail/src/main/java/com/strayalpaca/pokitdetail/components/block/Link.kt b/feature/pokitdetail/src/main/java/com/strayalpaca/pokitdetail/components/block/Link.kt index fe948454..54c929b3 100644 --- a/feature/pokitdetail/src/main/java/com/strayalpaca/pokitdetail/components/block/Link.kt +++ b/feature/pokitdetail/src/main/java/com/strayalpaca/pokitdetail/components/block/Link.kt @@ -16,21 +16,31 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.unit.dp import coil.compose.rememberAsyncImagePainter import com.strayalpaca.pokitdetail.model.Link import pokitmons.pokit.core.ui.theme.PokitTheme +import pokitmons.pokit.core.ui.utils.noRippleClickable @Composable internal fun Link( link: Link, modifier: Modifier = Modifier, + openWebBrowserByClick: Boolean = true, ) { + val uriHandler = LocalUriHandler.current + Row( modifier = modifier .fillMaxWidth() .clip(RoundedCornerShape(12.dp)) .height(IntrinsicSize.Min) + .noRippleClickable { + if (openWebBrowserByClick) { + uriHandler.openUri(link.url) + } + } .border( width = 1.dp, color = PokitTheme.colors.borderTertiary, diff --git a/feature/search/src/main/java/pokitmons/pokit/search/components/linkdetailbottomsheet/Link.kt b/feature/search/src/main/java/pokitmons/pokit/search/components/linkdetailbottomsheet/Link.kt index 39567561..fed6294f 100644 --- a/feature/search/src/main/java/pokitmons/pokit/search/components/linkdetailbottomsheet/Link.kt +++ b/feature/search/src/main/java/pokitmons/pokit/search/components/linkdetailbottomsheet/Link.kt @@ -16,21 +16,31 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.unit.dp import coil.compose.rememberAsyncImagePainter import pokitmons.pokit.core.ui.theme.PokitTheme +import pokitmons.pokit.core.ui.utils.noRippleClickable import pokitmons.pokit.search.model.Link @Composable internal fun Link( link: Link, modifier: Modifier = Modifier, + openWebBrowserByClick: Boolean = true, ) { + val uriHandler = LocalUriHandler.current + Row( modifier = modifier .fillMaxWidth() .clip(RoundedCornerShape(12.dp)) .height(IntrinsicSize.Min) + .noRippleClickable { + if (openWebBrowserByClick) { + uriHandler.openUri(link.url) + } + } .border( width = 1.dp, color = PokitTheme.colors.borderTertiary,