From a9e556168da0de6437921b804948a093ca3b9c85 Mon Sep 17 00:00:00 2001 From: Diego Beraldin Date: Sat, 23 Dec 2023 18:26:24 +0100 Subject: [PATCH] fix: opening links; closes #365 (#366) --- .../core/commonui/lemmyui/PostCard.kt | 28 +++++++++++-------- .../feature/search/main/ExploreScreen.kt | 2 +- .../communitydetail/CommunityDetailScreen.kt | 2 +- .../detail/MultiCommunityScreen.kt | 2 +- .../unit/myaccount/ProfileLoggedScreen.kt | 2 +- .../unit/postdetail/PostDetailScreen.kt | 2 +- .../unit/postlist/PostListScreen.kt | 2 +- .../unit/saveditems/SavedItemsScreen.kt | 2 +- .../unit/userdetail/UserDetailScreen.kt | 2 +- 9 files changed, 25 insertions(+), 19 deletions(-) diff --git a/core/commonui/lemmyui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/lemmyui/PostCard.kt b/core/commonui/lemmyui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/lemmyui/PostCard.kt index 5fd305e99..8cae206c5 100644 --- a/core/commonui/lemmyui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/lemmyui/PostCard.kt +++ b/core/commonui/lemmyui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/lemmyui/PostCard.kt @@ -72,7 +72,7 @@ fun PostCard( onDownVote: (() -> Unit)? = null, onSave: (() -> Unit)? = null, onReply: (() -> Unit)? = null, - onImageClick: ((String) -> Unit)? = null, + onOpenImage: ((String) -> Unit)? = null, onOptionSelected: ((OptionId) -> Unit)? = null, onClick: (() -> Unit)? = null, onDoubleClick: (() -> Unit)? = null, @@ -118,7 +118,7 @@ fun PostCard( onDownVote = onDownVote, onSave = onSave, onReply = onReply, - onImageClick = onImageClick, + onOpenImage = onOpenImage, onOptionSelected = onOptionSelected, onClick = onClick, onDoubleClick = onDoubleClick, @@ -141,7 +141,7 @@ fun PostCard( onDownVote = onDownVote, onSave = onSave, onReply = onReply, - onImageClick = onImageClick, + onOpenImage = onOpenImage, onOptionSelected = onOptionSelected, onClick = onClick, onDoubleClick = onDoubleClick, @@ -169,7 +169,7 @@ private fun CompactPost( onDownVote: (() -> Unit)? = null, onSave: (() -> Unit)? = null, onReply: (() -> Unit)? = null, - onImageClick: ((String) -> Unit)? = null, + onOpenImage: ((String) -> Unit)? = null, onOptionSelected: ((OptionId) -> Unit)? = null, onClick: (() -> Unit)? = null, onDoubleClick: (() -> Unit)? = null, @@ -218,9 +218,11 @@ private fun CompactPost( text = post.title, autoLoadImages = autoLoadImages, onClick = onClick, - onOpenImage = onImageClick, - onDoubleClick = onDoubleClick, + onOpenCommunity = onOpenCommunity, + onOpenUser = onOpenCreator, onOpenPost = onOpenPost, + onOpenImage = onOpenImage, + onDoubleClick = onDoubleClick, onOpenWeb = onOpenWeb, onLongClick = { optionsMenuOpen.value = true @@ -239,7 +241,7 @@ private fun CompactPost( Icon(imageVector = Icons.Default.Download, contentDescription = null) }, blurred = blurNsfw && post.nsfw, - onImageClick = onImageClick, + onImageClick = onOpenImage, onDoubleClick = onDoubleClick, onLongClick = { optionsMenuOpen.value = true @@ -292,7 +294,7 @@ private fun ExtendedPost( onDownVote: (() -> Unit)? = null, onSave: (() -> Unit)? = null, onReply: (() -> Unit)? = null, - onImageClick: ((String) -> Unit)? = null, + onOpenImage: ((String) -> Unit)? = null, onOptionSelected: ((OptionId) -> Unit)? = null, onClick: (() -> Unit)? = null, onDoubleClick: (() -> Unit)? = null, @@ -343,7 +345,7 @@ private fun ExtendedPost( onOpenPost = onOpenPost, onOpenWeb = onOpenWeb, onClick = onClick, - onOpenImage = onImageClick, + onOpenImage = onOpenImage, onDoubleClick = onDoubleClick, onLongClick = { optionsMenuOpen.value = true @@ -369,7 +371,7 @@ private fun ExtendedPost( }, imageUrl = post.imageUrl, blurred = blurNsfw && post.nsfw, - onImageClick = onImageClick, + onImageClick = onOpenImage, onDoubleClick = onDoubleClick, autoLoadImages = autoLoadImages, onLongClick = { @@ -397,7 +399,11 @@ private fun ExtendedPost( text = post.text, autoLoadImages = autoLoadImages, onClick = onClick, - onOpenImage = onImageClick, + onOpenCommunity = onOpenCommunity, + onOpenUser = onOpenCreator, + onOpenPost = onOpenPost, + onOpenImage = onOpenImage, + onOpenWeb = onOpenWeb, onDoubleClick = onDoubleClick, onLongClick = { optionsMenuOpen.value = true diff --git a/feature/search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/main/ExploreScreen.kt b/feature/search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/main/ExploreScreen.kt index 43619d781..5d550ce81 100644 --- a/feature/search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/main/ExploreScreen.kt +++ b/feature/search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/main/ExploreScreen.kt @@ -428,7 +428,7 @@ class ExploreScreen : Screen { ) } }, - onImageClick = rememberCallbackArgs { url -> + onOpenImage = rememberCallbackArgs { url -> navigationCoordinator.pushScreen( ZoomableImageScreen(url), ) diff --git a/unit/communitydetail/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/communitydetail/CommunityDetailScreen.kt b/unit/communitydetail/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/communitydetail/CommunityDetailScreen.kt index 80544d9fa..5792f8439 100644 --- a/unit/communitydetail/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/communitydetail/CommunityDetailScreen.kt +++ b/unit/communitydetail/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/communitydetail/CommunityDetailScreen.kt @@ -662,7 +662,7 @@ class CommunityDetailScreen( detailOpener.openPostDetail(post) } }, - onImageClick = rememberCallbackArgs(model) { url -> + onOpenImage = rememberCallbackArgs(model) { url -> model.reduce( CommunityDetailMviModel.Intent.MarkAsRead( post.id diff --git a/unit/multicommunity/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/multicommunity/detail/MultiCommunityScreen.kt b/unit/multicommunity/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/multicommunity/detail/MultiCommunityScreen.kt index bbc9c4639..7a7273f5d 100644 --- a/unit/multicommunity/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/multicommunity/detail/MultiCommunityScreen.kt +++ b/unit/multicommunity/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/multicommunity/detail/MultiCommunityScreen.kt @@ -349,7 +349,7 @@ class MultiCommunityScreen( onReply = rememberCallback { detailOpener.openPostDetail(post) }, - onImageClick = rememberCallbackArgs { url -> + onOpenImage = rememberCallbackArgs { url -> model.reduce(MultiCommunityMviModel.Intent.MarkAsRead(post.id)) navigationCoordinator.pushScreen(ZoomableImageScreen(url)) }, diff --git a/unit/myaccount/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/myaccount/ProfileLoggedScreen.kt b/unit/myaccount/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/myaccount/ProfileLoggedScreen.kt index a7ab9270f..5c9027a3e 100644 --- a/unit/myaccount/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/myaccount/ProfileLoggedScreen.kt +++ b/unit/myaccount/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/myaccount/ProfileLoggedScreen.kt @@ -200,7 +200,7 @@ object ProfileLoggedScreen : Tab { WebViewScreen(url) ) }, - onImageClick = rememberCallbackArgs { url -> + onOpenImage = rememberCallbackArgs { url -> navigationCoordinator.pushScreen( ZoomableImageScreen(url), ) diff --git a/unit/postdetail/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/postdetail/PostDetailScreen.kt b/unit/postdetail/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/postdetail/PostDetailScreen.kt index 5e0261712..161b32c17 100644 --- a/unit/postdetail/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/postdetail/PostDetailScreen.kt +++ b/unit/postdetail/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/postdetail/PostDetailScreen.kt @@ -509,7 +509,7 @@ class PostDetailScreen( else -> Unit } }, - onImageClick = rememberCallbackArgs { url -> + onOpenImage = rememberCallbackArgs { url -> navigationCoordinator.pushScreen( ZoomableImageScreen(url), ) diff --git a/unit/postlist/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/postlist/PostListScreen.kt b/unit/postlist/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/postlist/PostListScreen.kt index ab6cd3aaa..53634c24f 100644 --- a/unit/postlist/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/postlist/PostListScreen.kt +++ b/unit/postlist/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/postlist/PostListScreen.kt @@ -413,7 +413,7 @@ class PostListScreen : Screen { detailOpener.openPostDetail(post) } }, - onImageClick = rememberCallbackArgs(model, post) { url -> + onOpenImage = rememberCallbackArgs(model, post) { url -> model.reduce(PostListMviModel.Intent.MarkAsRead(post.id)) navigationCoordinator.pushScreen( ZoomableImageScreen(url) diff --git a/unit/saveditems/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/saveditems/SavedItemsScreen.kt b/unit/saveditems/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/saveditems/SavedItemsScreen.kt index e5c95fac8..d593c84d5 100644 --- a/unit/saveditems/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/saveditems/SavedItemsScreen.kt +++ b/unit/saveditems/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/saveditems/SavedItemsScreen.kt @@ -261,7 +261,7 @@ class SavedItemsScreen : Screen { onReply = rememberCallback { detailOpener.openPostDetail(post) }, - onImageClick = rememberCallbackArgs { url -> + onOpenImage = rememberCallbackArgs { url -> navigatorCoordinator.pushScreen( ZoomableImageScreen(url), ) diff --git a/unit/userdetail/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/userdetail/UserDetailScreen.kt b/unit/userdetail/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/userdetail/UserDetailScreen.kt index efe6b6bba..7c23c23d7 100644 --- a/unit/userdetail/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/userdetail/UserDetailScreen.kt +++ b/unit/userdetail/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/unit/userdetail/UserDetailScreen.kt @@ -536,7 +536,7 @@ class UserDetailScreen( detailOpener.openPostDetail(post) } }, - onImageClick = rememberCallbackArgs { url -> + onOpenImage = rememberCallbackArgs { url -> navigationCoordinator.pushScreen( ZoomableImageScreen(url), )