feat: implement safety screen with swipe back functionality in MainScreen
This commit is contained in:
@@ -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 } },
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user