Hutch/Views/Lookup/UserTrackersView.swift

63dd5cadae5e3867fbfb6f5d9923f00484728a6b
hutch/Hutch/Views/Lookup/UserTrackersView.swift history · blame · raw

28 lines · 785 bytes

 1import SwiftUI
 2
 3struct UserTrackersView: View {
 4    let viewModel: UserProfileViewModel
 5
 6    var body: some View {
 7        List {
 8            ForEach(viewModel.trackers) { tracker in
 9                NavigationLink {
10                    TicketListView(tracker: tracker)
11                } label: {
12                    UserProfileTrackerRowView(tracker: tracker)
13                }
14            }
15        }
16        .listStyle(.plain)
17        .navigationTitle("Trackers")
18        .navigationBarTitleDisplayMode(.inline)
19        .overlay {
20            if viewModel.isLoadingTrackers && viewModel.trackers.isEmpty {
21                SRHTLoadingStateView(message: "Loading trackers…")
22            }
23        }
24        .refreshable {
25            await viewModel.loadTrackers()
26        }
27    }
28}