From fbec5e7362a35c6f202bd6bc0f03ca9c95406baf Mon Sep 17 00:00:00 2001 From: Brandon McAnsh Date: Tue, 8 Sep 2026 13:49:24 -0400 Subject: [PATCH] feat(chat): hint "Reply" while the composer is replying The composer's hint read "Message" in every state, so a reply that was started from a swipe or a long press looked like a new message once the keyboard covered the reply strip. The hint now reads the same `state.replyingTo` that gates the strip, so both appear and clear on one state change. Both hints move to string resources in `:apps:flipcash:core` alongside the other chat strings. --- apps/flipcash/core/src/main/res/values/strings.xml | 4 ++++ .../messenger/internal/screens/components/ChatBottomBar.kt | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/flipcash/core/src/main/res/values/strings.xml b/apps/flipcash/core/src/main/res/values/strings.xml index ba87b45124..08aefbb475 100644 --- a/apps/flipcash/core/src/main/res/values/strings.xml +++ b/apps/flipcash/core/src/main/res/values/strings.xml @@ -863,6 +863,10 @@ Send %1$s Send Message + + Message + Reply + This user unlinked their phone number and this conversation is no longer available You sent diff --git a/apps/flipcash/features/messenger/src/main/kotlin/com/flipcash/app/messenger/internal/screens/components/ChatBottomBar.kt b/apps/flipcash/features/messenger/src/main/kotlin/com/flipcash/app/messenger/internal/screens/components/ChatBottomBar.kt index e8e4fa0720..c257161739 100644 --- a/apps/flipcash/features/messenger/src/main/kotlin/com/flipcash/app/messenger/internal/screens/components/ChatBottomBar.kt +++ b/apps/flipcash/features/messenger/src/main/kotlin/com/flipcash/app/messenger/internal/screens/components/ChatBottomBar.kt @@ -235,7 +235,10 @@ internal fun UserControlBottomBar( ) .hazeBlur(HazeInput.Sources(hazeState), material), focusRequester = focusRequester, - hint = "Message", + hint = stringResource( + if (state.replyingTo != null) R.string.hint_chatReply + else R.string.hint_chatMessage + ), state = state.chatInputState, // One read of the edit state decides both the glyph and what the tap // does, so the composer cannot show a checkmark and send a new message.