|
|
|
@ -50,7 +50,8 @@ struct CountdownFormView : View { |
|
|
|
Button { |
|
|
|
Button { |
|
|
|
self.selectedStepItem = stepItem |
|
|
|
self.selectedStepItem = stepItem |
|
|
|
} label: { |
|
|
|
} label: { |
|
|
|
LabeledContent(stepItem.name ?? "", value: stepItem.duration.hourMinuteSecond) |
|
|
|
LabeledContent(stepItem.name ?? "", |
|
|
|
|
|
|
|
value: stepItem.duration.hourMinuteSecond) |
|
|
|
} |
|
|
|
} |
|
|
|
}.onDelete { indexSet in |
|
|
|
}.onDelete { indexSet in |
|
|
|
self.model.deleteStep(indexSet: indexSet) |
|
|
|
self.model.deleteStep(indexSet: indexSet) |
|
|
|
@ -98,10 +99,7 @@ struct CountdownFormView : View { |
|
|
|
|
|
|
|
|
|
|
|
SoundFormView(model: self.model) |
|
|
|
SoundFormView(model: self.model) |
|
|
|
} |
|
|
|
} |
|
|
|
.sheet(item: self.$selectedStepItem, onDismiss: { |
|
|
|
.sheet(item: self.$selectedStepItem) { item in |
|
|
|
// TODO: improve lag |
|
|
|
|
|
|
|
self.model.objectWillChange.send() |
|
|
|
|
|
|
|
}) { item in |
|
|
|
|
|
|
|
StepFormView(stepItem: item) |
|
|
|
StepFormView(stepItem: item) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -117,6 +115,22 @@ struct CountdownFormView : View { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
struct StepItemView: View { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var stepItem: StepItem |
|
|
|
|
|
|
|
@Binding var selectedStepItem: StepItem? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var body: some View { |
|
|
|
|
|
|
|
Button { |
|
|
|
|
|
|
|
self.selectedStepItem = stepItem |
|
|
|
|
|
|
|
} label: { |
|
|
|
|
|
|
|
LabeledContent(self.stepItem.name ?? "", |
|
|
|
|
|
|
|
value: self.stepItem.duration.hourMinuteSecond) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
struct CountdownFormView_Previews: PreviewProvider { |
|
|
|
struct CountdownFormView_Previews: PreviewProvider { |
|
|
|
|
|
|
|
|
|
|
|
static var previews: some View { |
|
|
|
static var previews: some View { |
|
|
|
|