Here's the entire code:
import SwiftData
struct ChatHistory: View {
@Environment(\.modelContext) var modelContext
// Sort SwiftData list by DATE:
@Query(sort: \SwiftDatabase.date, order: .reverse, animation: .spring) private var chatLog: [SwiftDatabase]
@Environment(\.dismiss) var dismiss
@State private var actTxt: String = ""
@State private var btnDel = false
var body: some View {
PullDownToDismiss()
NavigationStack {
List {
ForEach(chatLog) { show in
HStack {
// Show Date of Chat:
Text("\(show.date.formatted(date: .numeric, time: .omitted))")
.foregroundStyle(Color.init(uiColor: .secondaryLabel))
.font(.system(size: 18, weight: .regular))
Text("\(show.actTxt ?? "----")")
.foregroundStyle(Color.init(uiColor: .label))
.font(.system(size: 22, weight: .bold))
.navigationTitle("Chat Log")
.navigationBarTitleDisplayMode(.inline)
.swipeActions(allowsFullSwipe: true) {
Button("Delete", systemImage: "trash", role: .destructive) {
}
}
}
}.onDelete(perform: deleteLog)
}
}
}
public func deleteLog(_ indexSet: IndexSet)
{
for index in indexSet {
let chat = chatLog[index]
modelContext.delete(chat)
// do {
// try modelContext.save()
//
// } catch {
//
// print("Error saving: \(error)")
//
// }
}
}
}