krz/hutch
an ios client for sourcehut
clone: git clone https://gitbay.org/krz/hutch.git
v3.0.0: 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 }
18 .listStyle(.plain)
19 .navigationTitle("Repositories")
20 .navigationBarTitleDisplayMode(.inline)
21 .overlay {
22 if viewModel.isLoadingRepositories && viewModel.repositories.isEmpty {
23 SRHTLoadingStateView(message: "Loading repositories…")
24 }
25 }
26 .refreshable {
27 await viewModel.loadRepositories()
28 }
29 }
30}