Scope repository favorites by pane

This commit is contained in:
Georg Bauer
2026-07-31 18:19:02 +02:00
parent 9c7cef3869
commit 0a38dbe9f2
7 changed files with 187 additions and 33 deletions

View File

@@ -1,11 +1,5 @@
import UIKit
enum RepositoryMode {
case issues
case commits
case milestones
}
@MainActor
final class ServersViewController: UITableViewController {
private let context: AppContext
@@ -186,11 +180,11 @@ final class AddServerViewController: UITableViewController, UITextFieldDelegate
@MainActor
final class RepositoriesViewController: RefreshingTableViewController {
private let context: AppContext
private let mode: RepositoryMode
private let mode: RepositoryPane
private var rows: [RepositoryRow] = []
private var currentPage: UInt32 = 0
init(context: AppContext, mode: RepositoryMode) {
init(context: AppContext, mode: RepositoryPane) {
self.context = context
self.mode = mode
super.init()
@@ -231,7 +225,7 @@ final class RepositoriesViewController: RefreshingTableViewController {
loadingTask?.cancel()
loadingTask = Task {
do {
let result = try await context.core.repositories(page: page)
let result = try await context.core.repositories(page: page, pane: mode)
rows = result.rows
currentPage = page
finishPagination(hasMore: result.hasMore)
@@ -307,7 +301,11 @@ final class RepositoriesViewController: RefreshingTableViewController {
private func toggleFavorite(_ row: RepositoryRow) {
do {
rows = try context.core.toggleFavorite(owner: row.owner, repository: row.name)
rows = try context.core.toggleFavorite(
owner: row.owner,
repository: row.name,
pane: mode
)
tableView.reloadData()
} catch {
show(error: error)