// // DrinkDetailView.swift // meterios-watch // // (c) 2025 Martin "maride" Dessauer // import SwiftUI struct DrinkDetailView: View { private var drink: MeteClientDrink @State var shouldShowTransactionSheet = false @Environment(\.dismiss) private var dismiss init(drink: MeteClientDrink) { self.drink = drink } var body: some View { VStack { // Title Text(drink.name).font(.title) // Basic info HStack { VStack { if drink.caffeine != nil { Text(String(format: "%img", drink.caffeine!)).fontWeight(.bold) } else { Text("? mg").fontWeight(.bold) } Text(String(localized: "CAFFEINE")).fontWeight(Font.Weight.thin) } Divider() VStack { if drink.price != nil { Text(drink.price!.formatted(.currency(code: "EUR"))).fontWeight(.bold) } else { Text("? €").fontWeight(.bold) } Text(String(localized: "PRICE")).fontWeight(Font.Weight.thin) } } // Pick button Button(action: { // Open the transaction sheet shouldShowTransactionSheet = true }) { Text(String(localized: "POISON_PICKED")) }.tint(.green) } // Transaction sheet .sheet(isPresented: $shouldShowTransactionSheet) { // Sheet dismissed - dismiss detail perspective as well. dismiss() } content: { TransactionView(drinkID: drink.id).interactiveDismissDisabled() } } }