Fix server selection from pull requests

This commit is contained in:
Georg Bauer
2026-07-31 10:13:46 +02:00
parent f201814d54
commit 201f32f125
3 changed files with 13 additions and 8 deletions

View File

@@ -127,7 +127,7 @@ final class AppContext {
private func repositoryRoot(mode: RepositoryMode) -> UIViewController {
if core.activeServerIndex() == nil {
return ServersViewController(context: self, destination: mode)
return ServersViewController(context: self)
}
return RepositoriesViewController(context: self, mode: mode)
}

View File

@@ -398,6 +398,16 @@ final class PullsViewController: RefreshingTableViewController {
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.leftBarButtonItem = UIBarButtonItem(
image: context.symbol("server.rack"),
primaryAction: UIAction { [weak self] _ in
guard let self else { return }
self.navigationController?.pushViewController(
ServersViewController(context: self.context),
animated: true
)
}
)
updateFilterMenu()
loadContent(refreshing: false)
}

View File

@@ -9,12 +9,10 @@ enum RepositoryMode {
@MainActor
final class ServersViewController: UITableViewController {
private let context: AppContext
private let destination: RepositoryMode
private var servers: [ServerRow] = []
init(context: AppContext, destination: RepositoryMode) {
init(context: AppContext) {
self.context = context
self.destination = destination
super.init(style: .plain)
title = "Servers"
tableView.backgroundColor = .systemGroupedBackground
@@ -57,9 +55,6 @@ final class ServersViewController: UITableViewController {
tableView.deselectRow(at: indexPath, animated: true)
do {
try context.selectServer(index: UInt32(indexPath.row))
navigationController?.setViewControllers([
RepositoriesViewController(context: context, mode: destination),
], animated: true)
} catch {
show(error: error)
}
@@ -211,7 +206,7 @@ final class RepositoriesViewController: RefreshingTableViewController {
primaryAction: UIAction { [weak self] _ in
guard let self else { return }
self.navigationController?.pushViewController(
ServersViewController(context: self.context, destination: self.mode),
ServersViewController(context: self.context),
animated: true
)
}