| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- import SwiftUI
- import Swinject
- extension AddCarbs {
- struct RootView: BaseView {
- let resolver: Resolver
- @StateObject var state = StateModel()
- private var formatter: NumberFormatter {
- let formatter = NumberFormatter()
- formatter.numberStyle = .decimal
- formatter.maximumFractionDigits = 0
- return formatter
- }
- var body: some View {
- Form {
- if let carbsReq = state.carbsRequired {
- Section {
- HStack {
- Text("Carbs required")
- Spacer()
- Text(formatter.string(from: carbsReq as NSNumber)! + " g")
- }
- }
- }
- Section {
- HStack {
- Text("Amount")
- Spacer()
- DecimalTextField("0", value: $state.carbs, formatter: formatter, autofocus: true, cleanInput: true)
- Text("grams").foregroundColor(.secondary)
- }
- DatePicker("Date", selection: $state.date)
- }
- Section {
- Button { state.add() }
- label: { Text("Add") }
- .disabled(state.carbs <= 0)
- }
- }
- .onAppear(perform: configureView)
- .navigationTitle("Add Carbs")
- .navigationBarTitleDisplayMode(.automatic)
- .navigationBarItems(leading: Button("Close", action: state.hideModal))
- }
- }
- }
|