Files
meterios/meterios-watch/views/DrinkDetailView.swift
T

59 lines
1.6 KiB
Swift

//
// DrinkDetailView.swift
// meterios-watch
//
// (c) 2025 Martin "maride" Dessauer
//
import SwiftUI
struct DrinkDetailView: View {
@EnvironmentObject var wcMgr: WCManager
private var drink: Drink
@State var shouldShowTransactionSheet = false
@Environment(\.dismiss) private var dismiss
init(drink: Drink) {
self.drink = drink
}
var body: some View {
VStack {
// Title
Text(drink.name).font(.title)
// Basic info
HStack {
VStack {
Text(String(format: "%img", drink.caffeine)).fontWeight(.bold)
Text(String(localized: "CAFFEINE")).fontWeight(Font.Weight.thin)
}
Divider()
VStack {
Text(String(format: "%.2f€", drink.GetPrice())).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()
}
}
}