diff --git a/Ring/Ring/Constants/Generated/Strings.swift b/Ring/Ring/Constants/Generated/Strings.swift index caa3c3ae75f96466ecfba2386d9f7ba1319d857f..532c2bb4e76329113b28c6358622b87278c4611d 100644 --- a/Ring/Ring/Constants/Generated/Strings.swift +++ b/Ring/Ring/Constants/Generated/Strings.swift @@ -325,7 +325,7 @@ internal enum L10n { internal static let explanationReceivingLocationFrom = L10n.tr("Localizable", "conversation.explanationReceivingLocationFrom") /// You are currently sharing your location with internal static let explanationSendingLocationTo = L10n.tr("Localizable", "conversation.explanationSendingLocationTo") - /// Type your message... + /// Write message to internal static let messagePlaceholder = L10n.tr("Localizable", "conversation.messagePlaceholder") } diff --git a/Ring/Ring/Features/Conversations/Conversation/ConversationViewController.swift b/Ring/Ring/Features/Conversations/Conversation/ConversationViewController.swift index 5b211a3ef1249c26826eb84730550a44c6c6c48b..e55a3dd700f4136611b6367d59d245e30a771e6a 100644 --- a/Ring/Ring/Features/Conversations/Conversation/ConversationViewController.swift +++ b/Ring/Ring/Features/Conversations/Conversation/ConversationViewController.swift @@ -621,6 +621,15 @@ class ConversationViewController: UIViewController, self?.viewModel.openCall() }) .disposed(by: self.disposeBag) + viewModel.bestName + .asObservable() + .observeOn(MainScheduler.instance) + .subscribe(onNext: { [weak self] name in + guard !name.isEmpty else { return } + let placeholder = L10n.Conversation.messagePlaceholder + name + self?.messageAccessoryView.setPlaceholder(placeholder: placeholder) + }) + .disposed(by: self.disposeBag) } func inviteItemTapped() { diff --git a/Ring/Ring/Features/Conversations/Conversation/GrowingTextView.swift b/Ring/Ring/Features/Conversations/Conversation/GrowingTextView.swift index 169c4e85c5d990db2dce17f472910ebd6b0b10e7..8ed1bd92219613ac580d65adcf820ec080e88913 100644 --- a/Ring/Ring/Features/Conversations/Conversation/GrowingTextView.swift +++ b/Ring/Ring/Features/Conversations/Conversation/GrowingTextView.swift @@ -147,6 +147,7 @@ open class GrowingTextView: UITextView { // Otherwise user placeholder and inherit `text` attributes let paragraphStyle = NSMutableParagraphStyle() paragraphStyle.alignment = textAlignment + paragraphStyle.lineBreakMode = .byTruncatingTail var attributes: [NSAttributedString.Key: Any] = [ .foregroundColor: placeholderColor, .paragraphStyle: paragraphStyle diff --git a/Ring/Ring/Features/Conversations/Conversation/MessageAccessoryView.swift b/Ring/Ring/Features/Conversations/Conversation/MessageAccessoryView.swift index 8b35108c759e288ce70c7820e29a9c785c26119a..00d6ebc058b0da0d4841487b20024792770ec1ee 100644 --- a/Ring/Ring/Features/Conversations/Conversation/MessageAccessoryView.swift +++ b/Ring/Ring/Features/Conversations/Conversation/MessageAccessoryView.swift @@ -74,9 +74,12 @@ class MessageAccessoryView: UIView, NibLoadable, GrowingTextViewDelegate { } } + func setPlaceholder(placeholder: String) { + self.messageTextView.placeholder = placeholder + } + func setupMessageTextView() { self.messageTextView.delegate = self - self.messageTextView.placeholder = L10n.Conversation.messagePlaceholder self.messageTextView.layer.cornerRadius = 18 self.messageTextView.tintColor = UIColor.jamiMain self.messageTextView.textContainerInset = UIEdgeInsets(top: 8, left: 7, bottom: 8, right: 7) diff --git a/Ring/Ring/Resources/en.lproj/Localizable.strings b/Ring/Ring/Resources/en.lproj/Localizable.strings index c44b4d6a73a1d47dc9e1d6ea0b97c364ff36eaea..c9d80a5e2ca4fa2a268cd1c77aa6a2d92fb1e7d8 100644 --- a/Ring/Ring/Resources/en.lproj/Localizable.strings +++ b/Ring/Ring/Resources/en.lproj/Localizable.strings @@ -47,7 +47,7 @@ "smartlist.selectOneNumber" = "Select one of the numbers"; //Conversation -"conversation.messagePlaceholder" = "Type your message..."; +"conversation.messagePlaceholder" = "Write message to "; "conversation.explanationSendingLocationTo" = "You are currently sharing your location with "; "conversation.explanationReceivingLocationFrom" = "You are currently receiving a live location from ";