feat: implement safety screen with swipe back functionality in MainScreen

This commit is contained in:
2026-02-14 00:38:08 +05:00
parent a46968cfff
commit 07800d13a7
2 changed files with 18 additions and 18 deletions

View File

@@ -834,6 +834,23 @@ fun MainScreen(
}
// Other screens with swipe back
SwipeBackContainer(
isVisible = isSafetyVisible,
onBack = { navStack = navStack.filterNot { it is Screen.Safety } },
isDarkTheme = isDarkTheme
) {
SafetyScreen(
isDarkTheme = isDarkTheme,
accountPublicKey = accountPublicKey,
accountPrivateKey = accountPrivateKey,
onBack = { navStack = navStack.filterNot { it is Screen.Safety } },
onBackupClick = {
navStack = navStack + Screen.Backup
},
onDeleteAccount = onDeleteAccount
)
}
SwipeBackContainer(
isVisible = isBackupVisible,
onBack = { navStack = navStack.filterNot { it is Screen.Backup } },
@@ -879,23 +896,6 @@ fun MainScreen(
)
}
SwipeBackContainer(
isVisible = isSafetyVisible,
onBack = { navStack = navStack.filterNot { it is Screen.Safety } },
isDarkTheme = isDarkTheme
) {
SafetyScreen(
isDarkTheme = isDarkTheme,
accountPublicKey = accountPublicKey,
accountPrivateKey = accountPrivateKey,
onBack = { navStack = navStack.filterNot { it is Screen.Safety } },
onBackupClick = {
navStack = navStack + Screen.Backup
},
onDeleteAccount = onDeleteAccount
)
}
SwipeBackContainer(
isVisible = isThemeVisible,
onBack = { navStack = navStack.filterNot { it is Screen.Theme } },

View File

@@ -583,7 +583,7 @@ fun ProfileScreen(
// Snap вызывается в onPreFling — СРАЗУ при отпускании пальца
// (как Telegram ACTION_UP → smoothScrollBy)
// ═══════════════════════════════════════════════════════════════
val nestedScrollConnection = remember {
val nestedScrollConnection = remember(hasAvatar) {
object : NestedScrollConnection {
override fun onPreScroll(available: Offset, source: NestedScrollSource): Offset {
val delta = available.y