InfoTableView.swift 886 B

1234567891011121314151617181920212223242526272829303132333435
  1. // LoopFollow
  2. // InfoTableView.swift
  3. import SwiftUI
  4. struct InfoTableView: View {
  5. @ObservedObject var infoManager: InfoManager
  6. var timeZoneOverride: String?
  7. var body: some View {
  8. List {
  9. if let tz = timeZoneOverride {
  10. row(name: "Time Zone", value: tz)
  11. }
  12. ForEach(infoManager.visibleRows) { item in
  13. row(name: item.name, value: item.value)
  14. }
  15. }
  16. .listStyle(.plain)
  17. .environment(\.defaultMinListRowHeight, 21)
  18. }
  19. private func row(name: String, value: String) -> some View {
  20. HStack {
  21. Text(name)
  22. Spacer()
  23. Text(value)
  24. .foregroundStyle(.primary)
  25. }
  26. .font(.system(size: 17))
  27. .frame(height: 21)
  28. .listRowInsets(EdgeInsets(top: 0, leading: 8, bottom: 0, trailing: 8))
  29. }
  30. }