Preserve detail navigation origin (#66)

This commit is contained in:
Georg Bauer
2026-08-15 12:06:41 +02:00
parent 2f5269a6e9
commit 69d1709523
2 changed files with 14 additions and 9 deletions

View File

@@ -247,9 +247,17 @@ source update are published, and installs or updates Gotcha through AltStore PAL
first activity-feed page without requiring a manual pull-up; the empty
state appears only after every available page has been checked.
- [ ] Tap repository, issue, pull-request, and commit activity. Each opens the
matching native tab and destination.
matching destination on the Home navigation stack. The navigation-bar
Back button and left-edge interactive swipe return directly to Home.
- [ ] Non-linkable server activity does not navigate or appear tappable.
## Milestone navigation
- [ ] Open a milestone, then open one of its issues and one of its pull
requests. For each detail, the navigation-bar Back button and left-edge
interactive swipe return directly to that milestone, preserving its
rows and scroll position.
## Home-screen widgets
- [ ] Upgrade over a build with an existing server. Launch Gotcha once, then

View File

@@ -96,10 +96,10 @@ final class AppContext {
}
func route(_ activity: ActivityRow) {
let navigation = navigationControllers[0]
switch activity.target {
case .repository:
tabs.selectedIndex = 1
navigationControllers[1].pushViewController(
navigation.pushViewController(
IssuesViewController(
context: self,
owner: activity.owner,
@@ -108,8 +108,7 @@ final class AppContext {
animated: true
)
case .issue:
tabs.selectedIndex = 1
navigationControllers[1].pushViewController(
navigation.pushViewController(
IssueViewController(
context: self,
owner: activity.owner,
@@ -119,8 +118,7 @@ final class AppContext {
animated: true
)
case .pullRequest:
tabs.selectedIndex = 3
navigationControllers[3].pushViewController(
navigation.pushViewController(
PullViewController(
context: self,
owner: activity.owner,
@@ -130,8 +128,7 @@ final class AppContext {
animated: true
)
case .commit:
tabs.selectedIndex = 2
navigationControllers[2].pushViewController(
navigation.pushViewController(
FilesViewController(
context: self,
owner: activity.owner,