mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2024-09-29 16:30:49 +00:00
Activates images controllers on click
This commit is contained in:
parent
4028018605
commit
1767cc74a9
@ -12,6 +12,7 @@ import androidx.compose.animation.fadeOut
|
|||||||
import androidx.compose.foundation.ExperimentalFoundationApi
|
import androidx.compose.foundation.ExperimentalFoundationApi
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
import androidx.compose.foundation.combinedClickable
|
import androidx.compose.foundation.combinedClickable
|
||||||
|
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.BoxWithConstraints
|
import androidx.compose.foundation.layout.BoxWithConstraints
|
||||||
@ -696,6 +697,9 @@ private fun DialogContent(
|
|||||||
onControllerVisibilityChanged = {
|
onControllerVisibilityChanged = {
|
||||||
controllerVisible.value = it
|
controllerVisible.value = it
|
||||||
},
|
},
|
||||||
|
onToggleControllerVisibility = {
|
||||||
|
controllerVisible.value = !controllerVisible.value
|
||||||
|
},
|
||||||
accountViewModel = accountViewModel
|
accountViewModel = accountViewModel
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -707,6 +711,9 @@ private fun DialogContent(
|
|||||||
onControllerVisibilityChanged = {
|
onControllerVisibilityChanged = {
|
||||||
controllerVisible.value = it
|
controllerVisible.value = it
|
||||||
},
|
},
|
||||||
|
onToggleControllerVisibility = {
|
||||||
|
controllerVisible.value = !controllerVisible.value
|
||||||
|
},
|
||||||
accountViewModel = accountViewModel
|
accountViewModel = accountViewModel
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -815,13 +822,22 @@ private fun RenderImageOrVideo(
|
|||||||
roundedCorner: Boolean,
|
roundedCorner: Boolean,
|
||||||
topPaddingForControllers: Dp = Dp.Unspecified,
|
topPaddingForControllers: Dp = Dp.Unspecified,
|
||||||
onControllerVisibilityChanged: ((Boolean) -> Unit)? = null,
|
onControllerVisibilityChanged: ((Boolean) -> Unit)? = null,
|
||||||
|
onToggleControllerVisibility: (() -> Unit)? = null,
|
||||||
accountViewModel: AccountViewModel
|
accountViewModel: AccountViewModel
|
||||||
) {
|
) {
|
||||||
val mainModifier = Modifier
|
|
||||||
.fillMaxSize()
|
|
||||||
.zoomable(rememberZoomState())
|
|
||||||
|
|
||||||
if (content is ZoomableUrlImage) {
|
if (content is ZoomableUrlImage) {
|
||||||
|
val mainModifier = Modifier
|
||||||
|
.fillMaxSize()
|
||||||
|
.zoomable(rememberZoomState())
|
||||||
|
.clickable(
|
||||||
|
interactionSource = remember { MutableInteractionSource() },
|
||||||
|
indication = null // Avoid flashing on click
|
||||||
|
) {
|
||||||
|
if (onToggleControllerVisibility != null) {
|
||||||
|
onToggleControllerVisibility()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
UrlImageView(
|
UrlImageView(
|
||||||
content = content,
|
content = content,
|
||||||
mainImageModifier = mainModifier,
|
mainImageModifier = mainModifier,
|
||||||
@ -844,6 +860,18 @@ private fun RenderImageOrVideo(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
} else if (content is ZoomableLocalImage) {
|
} else if (content is ZoomableLocalImage) {
|
||||||
|
val mainModifier = Modifier
|
||||||
|
.fillMaxSize()
|
||||||
|
.zoomable(rememberZoomState())
|
||||||
|
.clickable(
|
||||||
|
interactionSource = remember { MutableInteractionSource() },
|
||||||
|
indication = null // Avoid flashing on click
|
||||||
|
) {
|
||||||
|
if (onToggleControllerVisibility != null) {
|
||||||
|
onToggleControllerVisibility()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
LocalImageView(
|
LocalImageView(
|
||||||
content = content,
|
content = content,
|
||||||
mainImageModifier = mainModifier,
|
mainImageModifier = mainModifier,
|
||||||
|
Loading…
Reference in New Issue
Block a user