import SwiftUI
import HealthDB
import HealthKitExtensions

struct CycleTrackingList: View {

    let database: HealthDatabase

    var body: some View {
        List {
            CategoryEnumSampleRow<AbdominalCramps>(database: database)
            CategoryEnumSampleRow<Acne>(database: database)
            CategoryEnumSampleRow<AppetiteChanges>(database: database)
            QuantitySampleRow<BasalBodyTemperature>(database: database)
            CategoryEnumSampleRow<BladderIncontinence>(database: database)
            CategoryEnumSampleRow<Bloating>(database: database)
            CategoryEnumSampleRow<BreastPain>(database: database)
            CategoryEnumSampleRow<CervicalMucusQuality>(database: database)
            CategoryEnumSampleRow<Chills>(database: database)
            CategoryEnumSampleRow<Constipation>(database: database)
            CategoryEnumSampleRow<Contraceptive>(database: database)
            CategoryEnumSampleRow<Diarrhea>(database: database)
            CategoryEnumSampleRow<DrySkin>(database: database)
            CategoryEnumSampleRow<Fatigue>(database: database)
            CategoryEnumSampleRow<HairLoss>(database: database)
            CategoryEnumSampleRow<Headache>(database: database)
            CategoryEnumSampleRow<HotFlashes>(database: database)
            CategoryEmptySampleRow<InfrequentMenstrualCycles>(database: database)
            CategoryEmptySampleRow<IntermenstrualBleeding>(database: database)
            CategoryEmptySampleRow<IrregularMenstrualCycles>(database: database)
            CategoryEmptySampleRow<Lactation>(database: database)
            CategoryEnumSampleRow<LowerBackPain>(database: database)
            CategoryEnumSampleRow<MemoryLapse>(database: database)
            CategoryEnumSampleRow<MenstrualFlow>(database: database)
            CategoryEnumSampleRow<MoodChanges>(database: database)
            CategoryEnumSampleRow<Nausea>(database: database)
            CategoryEnumSampleRow<NightSweats>(database: database)
            CategoryEnumSampleRow<OvulationTestResult>(database: database)
            CategoryEnumSampleRow<PelvicPain>(database: database)
            CategoryEmptySampleRow<PersistentIntermenstrualBleeding>(database: database)
            CategoryEmptySampleRow<Pregnancy>(database: database)
            CategoryEnumSampleRow<PregnancyTestResult>(database: database)
            CategoryEnumSampleRow<ProgesteroneTestResult>(database: database)
            CategoryEmptySampleRow<ProlongedMenstrualPeriods>(database: database)
            CategoryEmptySampleRow<SexualActivity>(database: database)
            CategoryEnumSampleRow<SleepChanges>(database: database)
            CategoryEnumSampleRow<VaginalDryness>(database: database)
        }
        .navigationTitle("Cycle Tracking")
    }
}

#Preview {
    NavigationStack {
        CycleTrackingList(database: .empty)
    }
}
