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
|
// 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(
|
SwipeBackContainer(
|
||||||
isVisible = isBackupVisible,
|
isVisible = isBackupVisible,
|
||||||
onBack = { navStack = navStack.filterNot { it is Screen.Backup } },
|
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(
|
SwipeBackContainer(
|
||||||
isVisible = isThemeVisible,
|
isVisible = isThemeVisible,
|
||||||
onBack = { navStack = navStack.filterNot { it is Screen.Theme } },
|
onBack = { navStack = navStack.filterNot { it is Screen.Theme } },
|
||||||
|
|||||||
@@ -583,7 +583,7 @@ fun ProfileScreen(
|
|||||||
// Snap вызывается в onPreFling — СРАЗУ при отпускании пальца
|
// Snap вызывается в onPreFling — СРАЗУ при отпускании пальца
|
||||||
// (как Telegram ACTION_UP → smoothScrollBy)
|
// (как Telegram ACTION_UP → smoothScrollBy)
|
||||||
// ═══════════════════════════════════════════════════════════════
|
// ═══════════════════════════════════════════════════════════════
|
||||||
val nestedScrollConnection = remember {
|
val nestedScrollConnection = remember(hasAvatar) {
|
||||||
object : NestedScrollConnection {
|
object : NestedScrollConnection {
|
||||||
override fun onPreScroll(available: Offset, source: NestedScrollSource): Offset {
|
override fun onPreScroll(available: Offset, source: NestedScrollSource): Offset {
|
||||||
val delta = available.y
|
val delta = available.y
|
||||||
|
|||||||
Reference in New Issue
Block a user