Refactor: Make FullScreenDialog dismissible

This commit introduces a dismiss functionality to the `FullScreenDialog`.

The `FullScreenDialog` now accepts an `onDismiss` lambda parameter.
This `onDismiss` lambda is invoked when a dismiss request is made for the dialog.

In `PhotoViewScreen`, the `onDismiss` lambda passed to `FullScreenDialog` is now the `onDismiss` lambda received by the `PhotoViewScreen` itself.
This commit is contained in:
2025-08-19 23:15:37 +03:00
parent 22e8a5c09e
commit 600aed40e7
2 changed files with 9 additions and 5 deletions
@@ -12,13 +12,14 @@ import androidx.compose.ui.zIndex
@Composable @Composable
fun FullScreenDialog( fun FullScreenDialog(
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
content: @Composable () -> Unit onDismiss: () -> Unit = {},
content: @Composable () -> Unit,
) { ) {
Dialog( Dialog(
onDismissRequest = {}, onDismissRequest = onDismiss,
DialogProperties( properties = DialogProperties(
usePlatformDefaultWidth = false, usePlatformDefaultWidth = false,
decorFitsSystemWindows = false decorFitsSystemWindows = false,
) )
) { ) {
Box( Box(
@@ -80,7 +80,10 @@ fun PhotoViewDialog(
val applicationContext = LocalContext.current.applicationContext val applicationContext = LocalContext.current.applicationContext
if (photoViewerInfo != null) { if (photoViewerInfo != null) {
FullScreenDialog(modifier = modifier) { FullScreenDialog(
modifier = modifier,
onDismiss = onDismiss
) {
val viewModel = remember(true) { val viewModel = remember(true) {
PhotoViewViewModelImpl( PhotoViewViewModelImpl(
arguments = PhotoViewArguments( arguments = PhotoViewArguments(