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}