import SwiftUI struct DepotDetails: View { @StateObject private var DATA = DataService() @State var isPresentedDepotstandAdd = false @State var depot_id: Int @State var date: Date = Date() @State var amount: Double = 0.0 /*var depot: Depot { DATA.depot } var sortedDatapoints: [Depotstand] { DATA.sortDatapoints(DATA.depot) }*/ var kategorien: [Kategorie] { DATA.Kategorien } //var dates: [String] { DATA.getDepotDates(depot) } //var entries: [ChartDataEntry] { DATA.getDepotEntries(depot) } private func deleteData(indexSet: IndexSet) { let id = indexSet.map { DATA.sortedDatapoints[$0].id } let parameters: [String: Any] = ["id": id[0]] //self.DATA.deleteDepotstand(parameters: parameters) } var body: some View { VStack { VStack { if let datapoints = DATA.depot.datapoints { if datapoints.count > 0 { CHFValue(betrag: Double(datapoints[0].amount)) .font(.system(size: 28, weight: .semibold)) .foregroundColor(.accentColor) .padding(.top) LineChart(depot_id: DATA.depot.id) .frame(height: 230) .padding(.horizontal) /*LineChart(entries: entries, dates: dates) .frame(height: 200) .padding(.bottom, 30) .padding(.horizontal)*/ } } if DATA.sortedDatapoints.count > 0 { List { ForEach(DATA.sortedDatapoints) { datapoint in NavigationLink(destination: EmptyView() /*DepotstandDetails(depotstand: datapoint)*/) { HStack { Text(DateFormat(datum: datapoint.date, format: "dd. MMMM yyyy").description) Spacer() CHFValue(betrag: Double(datapoint.amount)) } .padding(.vertical, 10) } .foregroundColor(.primary) } .onDelete(perform: deleteData) } .listStyle(.plain) } else { Spacer() Text("Keine Einträge vorhanden") .font(.headline) .padding() Button { isPresentedDepotstandAdd = true } label: { HStack { Image(systemName: "plus") Text("Depotstand hinzufügen") } } } Spacer() } .sheet(isPresented: $isPresentedDepotstandAdd) { DepotstandAdd(isPresented: $isPresentedDepotstandAdd, depot_id: $depot_id, date: $date, amount: $amount) } } .navigationTitle(DATA.depot.name) .navigationBarTitleDisplayMode(.inline) .task { await DATA.readDepot(id: depot_id) } .toolbar { HStack { if let datapoints = DATA.depot.datapoints { if datapoints.count > 0 { EditButton() Button { isPresentedDepotstandAdd = true } label: { Image(systemName: "plus") } } } } } } }