Skip to content

Commit ebe6510

Browse files
author
Snapify Developer
committed
feat: implement click-based opening position for PicturePreviewDialog
1 parent 4fd5a0a commit ebe6510

2 files changed

Lines changed: 8 additions & 2 deletions

File tree

app/src/main/kotlin/ro/snapify/ui/MainScreen.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -743,6 +743,7 @@ fun MainScreen(
743743
uiState.imagePreviewItem?.let { mediaItem ->
744744
PicturePreviewDialog(
745745
mediaItem = mediaItem,
746+
position = uiState.imagePreviewPosition,
746747
onDismiss = { actualViewModel.closeImagePreview() },
747748
)
748749
}

app/src/main/kotlin/ro/snapify/ui/MainViewModel.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ data class MainUiState(
5656
val videoPreviewItem: MediaItem? = null,
5757
val videoPreviewPosition: androidx.compose.ui.geometry.Offset? = null,
5858
val imagePreviewItem: MediaItem? = null,
59+
val imagePreviewPosition: androidx.compose.ui.geometry.Offset? = null,
5960
)
6061

6162
@HiltViewModel
@@ -534,7 +535,7 @@ class MainViewModel @Inject constructor(
534535
if (isVideo) {
535536
openVideoPreview(mediaItem, position)
536537
} else {
537-
openImagePreview(mediaItem)
538+
openImagePreview(mediaItem, position)
538539
}
539540
}
540541

@@ -692,8 +693,12 @@ class MainViewModel @Inject constructor(
692693
_uiState.update { it.copy(imagePreviewItem = mediaItem) }
693694
}
694695

696+
fun openImagePreview(mediaItem: MediaItem, position: androidx.compose.ui.geometry.Offset) {
697+
_uiState.update { it.copy(imagePreviewItem = mediaItem, imagePreviewPosition = position) }
698+
}
699+
695700
fun closeImagePreview() {
696-
_uiState.update { it.copy(imagePreviewItem = null) }
701+
_uiState.update { it.copy(imagePreviewItem = null, imagePreviewPosition = null) }
697702
}
698703

699704
fun clearMessage() {

0 commit comments

Comments
 (0)