feat: enhance image viewer navigation with tap animations and controls visibility
This commit is contained in:
@@ -841,14 +841,14 @@ fun MainScreen(
|
||||
)
|
||||
}
|
||||
|
||||
// 🖼️ Image viewer state — disable swipe-back when photo is fullscreen
|
||||
var isImageViewerOpen by remember { mutableStateOf(false) }
|
||||
// 🔒 Lock swipe-back while chat overlays are open (image viewer/editor/media picker/camera).
|
||||
var isChatSwipeLocked by remember { mutableStateOf(false) }
|
||||
|
||||
SwipeBackContainer(
|
||||
isVisible = selectedUser != null,
|
||||
onBack = { popChatAndChildren() },
|
||||
isDarkTheme = isDarkTheme,
|
||||
swipeEnabled = !isImageViewerOpen
|
||||
swipeEnabled = !isChatSwipeLocked
|
||||
) {
|
||||
selectedUser?.let { currentChatUser ->
|
||||
// Экран чата
|
||||
@@ -870,7 +870,7 @@ fun MainScreen(
|
||||
},
|
||||
isDarkTheme = isDarkTheme,
|
||||
avatarRepository = avatarRepository,
|
||||
onImageViewerChanged = { isOpen -> isImageViewerOpen = isOpen }
|
||||
onImageViewerChanged = { isLocked -> isChatSwipeLocked = isLocked }
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -928,7 +928,9 @@ fun MainScreen(
|
||||
user = currentOtherUser,
|
||||
isDarkTheme = isDarkTheme,
|
||||
onBack = { navStack = navStack.filterNot { it is Screen.OtherProfile } },
|
||||
avatarRepository = avatarRepository
|
||||
avatarRepository = avatarRepository,
|
||||
currentUserPublicKey = accountPublicKey,
|
||||
currentUserPrivateKey = accountPrivateKey
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user