krz/hutch

an ios client for sourcehut

clone: git clone https://gitbay.org/krz/hutch.git

v3.8.1: Hutch/Views/Lookup/UserRepositoriesView.swift · raw

 1import SwiftUI
 2
 3struct UserRepositoriesView: View {
 4    let viewModel: UserProfileViewModel
 5
 6    var body: some View {
 7        List {
 8            ForEach(viewModel.repositories) { repo in
 9                NavigationLink {
10                    RepositoryDetailView(repository: repo) { updatedRepository in
11                        viewModel.updateRepository(updatedRepository)
12                    }
13                } label: {
14                    RepositoryRowView(repository: repo, buildStatus: .none)
15                }
16            }
17            .themedRow()
18        }
19        .themedList()
20        .listStyle(.plain)
21        .navigationTitle("Repositories")
22        .navigationBarTitleDisplayMode(.inline)
23        .overlay {
24            if viewModel.isLoadingRepositories && viewModel.repositories.isEmpty {
25                SRHTLoadingStateView(message: "Loading repositories…")
26            }
27        }
28        .refreshable {
29            await viewModel.loadRepositories()
30        }
31    }
32}