fix(chat): route back navigation to history (#809)
This commit is contained in:
1 parent
d1dac57ccb
commit
5a15ccc524
3 files changed
+20
No files matched your search
@@ -1,5 +1,6 @@
|
||||
package com.m57.hermescontrol
|
||||
|
||||
import androidx.activity.compose.BackHandler
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Row
|
||||
@@ -156,6 +157,10 @@ fun MainNavigation(sessionId: String? = null) {
|
||||
|
||||
val openDrawer: () -> Unit = { scope.launch { drawerState.open() } }
|
||||
|
||||
BackHandler(enabled = currentScreen == ChatScreen && backStack.size == 1) {
|
||||
NavigationController.goBack()
|
||||
}
|
||||
|
||||
CompositionLocalProvider(LocalDrawerGestureController provides gestureController) {
|
||||
ModalNavigationDrawer(
|
||||
drawerState = drawerState,
|
||||
|
||||
@@ -58,6 +58,10 @@ object NavigationController {
|
||||
*/
|
||||
fun goBack(fallback: NavKey = ChatScreen) {
|
||||
val stack = backStack ?: return
|
||||
if (stack.lastOrNull() == ChatScreen) {
|
||||
resetTo(HistoryScreen)
|
||||
return
|
||||
}
|
||||
if (stack.size > 1) {
|
||||
stack.removeLastOrNull()
|
||||
} else if (stack.size == 1) {
|
||||
|
||||
Reference in new issue
Block a user