diff --git a/ios/Sources/ListViews.swift b/ios/Sources/ListViews.swift index fb40b52..37e5f4f 100644 --- a/ios/Sources/ListViews.swift +++ b/ios/Sources/ListViews.swift @@ -985,6 +985,11 @@ struct ChargeDetailSheet: View { LabeledContent("Zustand", value: zeile.istAngebrochen ? "angebrochen" : "ungeƶffnet") LabeledContent("Lagerort", value: ortText) + if let seit = zeile.createdAt { + LabeledContent("Eingelagert", + value: display.formatBestBefore(String(seit.prefix(10)), + precision: "day")) + } } Section("Fristen") { @@ -1029,6 +1034,17 @@ struct ChargeDetailSheet: View { : "Anbrechen spaltet eine Packung ab und gibt ihr ein Verbrauchsdatum; " + "der Rest bleibt ungeƶffnet mit seinem MHD.") } + + Section { + // Eine einzelne Charge hat keinen eigenen Verlauf im Backend; + // die Bewegungen haengen am Artikel. Das ist hier die naechste + // Frage nach "was ist das" - "was ist damit passiert". + NavigationLink { + HistoryView(productId: zeile.productId) + } label: { + Label("Verlauf dieses Artikels", systemImage: "clock.arrow.circlepath") + } + } } .navigationTitle("Charge") .navigationBarTitleDisplayMode(.inline) diff --git a/ios/Sources/Models.swift b/ios/Sources/Models.swift index c3fdff2..995ae30 100644 --- a/ios/Sources/Models.swift +++ b/ios/Sources/Models.swift @@ -384,6 +384,9 @@ struct LotRow: Codable, Identifiable, Hashable { let openedOn: String? let consumeBy: String? let openedQuantity: Double? + /// Wann die Charge eingelagert wurde - gehoert zu den Angaben, die man an + /// einer Charge sucht ("seit wann liegt das hier?"). + let createdAt: String? var istAngebrochen: Bool { openedOn != nil } @@ -436,6 +439,7 @@ struct LotRow: Codable, Identifiable, Hashable { case openedOn = "opened_on" case consumeBy = "consume_by" case openedQuantity = "opened_quantity" + case createdAt = "created_at" } }