field_ios

In-the-field app for Radroots on iOS
git clone https://radroots.dev/git/field_ios.git
Log | Files | Refs | README | LICENSE

TeraTodayNavigation.swift (1148B)


      1 import SwiftUI
      2 
      3 /// A scope change also ends the lifetime of its details and supporting sheets.
      4 struct TeraTodayNavigation: View {
      5   let snapshot: TeraRuntimeSnapshot
      6   let stores: TeraProductStores
      7   let selectAdd: () -> Void
      8   @ObservedObject private var today: TeraTodayStore
      9 
     10   init(snapshot: TeraRuntimeSnapshot, stores: TeraProductStores, selectAdd: @escaping () -> Void) {
     11     self.snapshot = snapshot
     12     self.stores = stores
     13     self.selectAdd = selectAdd
     14     today = stores.today
     15   }
     16 
     17   var body: some View {
     18     NavigationStack {
     19       TeraTodayView(
     20         snapshot: snapshot,
     21         store: today,
     22         searchStore: stores.search,
     23         meStore: stores.me,
     24         addStore: stores.add,
     25         settingsStore: stores.settings,
     26         mediaStore: stores.media,
     27         revise: { card in
     28           Task {
     29             await stores.add.retractAndRevise(card)
     30             selectAdd()
     31           }
     32         },
     33         retract: { card in
     34           Task {
     35             await stores.add.retract(card)
     36             selectAdd()
     37           }
     38         }
     39       )
     40     }
     41     .id(today.scopeGeneration)
     42     .environmentObject(stores.visibility)
     43   }
     44 }