mirror of
https://github.com/permissionlesstech/bitchat.git
synced 2026-07-27 15:25:22 +00:00
Keep the composer focused after sending with the return key (#1490)
* Keep the composer focused after sending with the return key On iOS, return sends and then drops the keyboard, so every message in a back-and-forth costs an extra tap to reopen it. sendMessage() is the onSubmit handler; reasserting the FocusState there keeps the keyboard up between messages. macOS already refocuses on appear and is unaffected. Fixes #457 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Address Codex review: refocus only on return-key submission The reassert moves from sendMessage() into the TextField's onSubmit, so the send button no longer reopens a deliberately dismissed keyboard on iOS and never moves focus on macOS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: jack <jackjackbits@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
jack
Claude Fable 5
parent
132120a88e
commit
c671e3df66
@@ -73,7 +73,14 @@ struct ContentComposerView: View {
|
|||||||
.textInputAutocapitalization(.sentences)
|
.textInputAutocapitalization(.sentences)
|
||||||
#endif
|
#endif
|
||||||
.submitLabel(.send)
|
.submitLabel(.send)
|
||||||
.onSubmit(onSendMessage)
|
.onSubmit {
|
||||||
|
onSendMessage()
|
||||||
|
// Only the return-key path: it steals focus on iOS, so
|
||||||
|
// every message would cost a tap to reopen the keyboard.
|
||||||
|
// The send button must not reopen a deliberately
|
||||||
|
// dismissed keyboard, so it stays out of this.
|
||||||
|
isTextFieldFocused.wrappedValue = true
|
||||||
|
}
|
||||||
.padding(.vertical, theme.usesGlassChrome ? 8 : 4)
|
.padding(.vertical, theme.usesGlassChrome ? 8 : 4)
|
||||||
.padding(.horizontal, 6)
|
.padding(.horizontal, 6)
|
||||||
.themedInputBackground()
|
.themedInputBackground()
|
||||||
|
|||||||
Reference in New Issue
Block a user