Inlined Timestamp in bubble style for messages that have a bubble (#947)

* web-like solution

* not super polished but working implementation

* polishing the spacing and sizes

* removing unused code

* code improvements

* adding a test case in the preview for RTL

* addressing some PR comments

* added some tests and polished the code

* better naming

* code improvement

* RTL fix

* Revert "RTL fix"

This reverts commit 14e4468a5358769daa57891f4991e9e32da1c985.

* better RTL fix

* updated UI tests

* separated some files

* addressed some PR comments

* some more tests
This commit is contained in:
Mauro
2023-05-25 12:13:45 +02:00
committed by GitHub
parent 6b13c52cd0
commit c59921103d
44 changed files with 468 additions and 152 deletions
@@ -62,3 +62,22 @@ extension String {
return mutableString.trimmingCharacters(in: .whitespaces)
}
}
extension String {
static func generateBreakableWhitespaceEnd(whitespaceCount: Int, isRTL: Bool) -> String {
guard whitespaceCount > 0 else {
return ""
}
var whiteSpaces = ""
if isRTL {
whiteSpaces = "\u{202e}"
}
// fixed size whitespace of size 1/3 em per character
whiteSpaces += String(repeating: "\u{2004}", count: whitespaceCount)
// braille whitespace, which is non breakable but makes previous whitespaces breakable
return whiteSpaces + "\u{2800}"
}
}