diff --git a/iosApp/iosApp/Task/CompleteTaskView.swift b/iosApp/iosApp/Task/CompleteTaskView.swift index 6293d0b..22c0ad9 100644 --- a/iosApp/iosApp/Task/CompleteTaskView.swift +++ b/iosApp/iosApp/Task/CompleteTaskView.swift @@ -120,7 +120,6 @@ struct CompleteTaskView: View { .foregroundStyle(.secondary) } .padding(.leading, 12) - .keyboardDismissToolbar() .accessibilityIdentifier(AccessibilityIdentifiers.Task.actualCostField) } label: { Label(L10n.Tasks.actualCost, systemImage: "dollarsign.circle") @@ -142,7 +141,6 @@ struct CompleteTaskView: View { TextEditor(text: $notes) .frame(minHeight: 100) .scrollContentBackground(.hidden) - .keyboardDismissToolbar() .accessibilityIdentifier(AccessibilityIdentifiers.Task.notesField) } } footer: { @@ -289,6 +287,12 @@ struct CompleteTaskView: View { .background(WarmGradientBackground()) .navigationTitle(L10n.Tasks.completeTask) .navigationBarTitleDisplayMode(.inline) + // ONE keyboard "Done" toolbar at the form root — per-field + // `.keyboardDismissToolbar()` modifiers each install a + // separate `ToolbarItemGroup(placement: .keyboard)`, and + // SwiftUI stacks them on the responder chain so any focused + // field renders multiple Done buttons side-by-side (issue #5). + .keyboardDismissToolbar() .toolbar { ToolbarItem(placement: .cancellationAction) { Button(L10n.Common.cancel) {