Merge branch 'main' of git.arirex.me:iris/ai-app
The drag-right-to-go-back gesture was removed on the other side while the file explorer was being built on this one, so the explorer's own use of it goes with it: back inside the explorer is the arrow and the platform's own gesture, which is what the rest of the app now has too. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
commit
9c4d33273b
8 files changed
+130
-109
No files matched your search
@@ -208,10 +208,10 @@ fun AppRoot(
|
||||
// row key. Only reachable since a notification can move straight from one session to
|
||||
// another; every other way here passes through [Screen.Main], which disposes it anyway.
|
||||
key(here.summary.id) {
|
||||
// The gesture goes on a box around the screen rather than inside it, so it is the
|
||||
// outermost thing in the tree and everything within has already had its chance at
|
||||
// the drag. See [swipeBack]. No imePadding here, for the reason above.
|
||||
Box(Modifier.swipeBack(goToMain)) {
|
||||
// A Box so the explorer can be drawn *over* the session rather than instead of
|
||||
// it; the session stays composed underneath. No imePadding here, for the reason
|
||||
// above -- the explorer adds its own, since it has a text field.
|
||||
Box {
|
||||
SessionScreen(
|
||||
settings = current,
|
||||
summary = here.summary,
|
||||
@@ -220,9 +220,8 @@ fun AppRoot(
|
||||
share = share,
|
||||
onShareTaken = { share = null },
|
||||
)
|
||||
// Over the session, in the same Box, with the session still composed beneath
|
||||
// it. Its own back handler is registered after this screen's, so it is the one
|
||||
// the platform asks first, and it steps back inside itself before closing.
|
||||
// Its own back handler is registered after this screen's, so it is the one the
|
||||
// platform asks first, and it steps back inside itself before closing.
|
||||
here.files?.let { target ->
|
||||
FilesScreen(
|
||||
settings = current,
|
||||
@@ -233,7 +232,7 @@ fun AppRoot(
|
||||
}
|
||||
}
|
||||
is Screen.Spawn ->
|
||||
Box(Modifier.imePadding().swipeBack(goToMain)) {
|
||||
Box(Modifier.imePadding()) {
|
||||
SpawnScreen(
|
||||
settings = current,
|
||||
onSpawned = { spawned ->
|
||||
@@ -244,7 +243,7 @@ fun AppRoot(
|
||||
)
|
||||
}
|
||||
is Screen.Settings ->
|
||||
Box(Modifier.imePadding().swipeBack(goToMain)) {
|
||||
Box(Modifier.imePadding()) {
|
||||
SettingsScreen(
|
||||
existing = current,
|
||||
onSaved = { saved ->
|
||||
|
||||
Reference in new issue
Block a user