TempTrack-iOS/TempTrack/Views/HistoryList.swift
2025-01-31 13:06:11 +01:00

56 lines
1.7 KiB
Swift

import SwiftUI
import SFSafeSymbols
struct HistoryList: View {
@EnvironmentObject
var storage: PersistentStorage
@State
private var showExportSheet = false
var body: some View {
NavigationView {
List(storage.dailyMeasurementCounts) { day in
NavigationLink(destination: {
DayView(dateIndex: day.dateIndex)
.environmentObject(storage)
}) {
HistoryListRow(entry: day)
.swipeActions(edge: .trailing, allowsFullSwipe: true) {
Button {
deleteRow(for: day.dateIndex)
} label: {
Label("Delete", systemSymbol: .trash)
}
.tint(.red)
}
}
}
.navigationTitle("History")
.navigationBarTitleDisplayMode(.large)
.toolbar {
ToolbarItem {
Button(action: { showExportSheet = true }) {
Label("Export", systemSymbol: .arrowUpDoc)
}
}
}
.sheet(isPresented: $showExportSheet) {
ExportSheet(isPresented: $showExportSheet)
}
}
}
private func deleteRow(for dateIndex: Int) {
storage.removeMeasurements(for: dateIndex)
}
}
struct HistoryList_Previews: PreviewProvider {
static var previews: some View {
HistoryList()
.environmentObject(PersistentStorage(lastMeasurements: TemperatureMeasurement.mockData))
}
}