krz/hutch
an ios client for sourcehut
clone: git clone https://gitbay.org/krz/hutch.git
v3.3.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}