mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 16:10:20 +00:00
App Polish (#1098)
* App polish - Skeleton avatar colour on app switching. - Bug report icon and string. - Semi-bold font on room list timestamps. - Room attachments button spacing and alignment. - Replace link tint with semi-bold font in AnalyticsSettingsScreen. - Semi-bold font on Invites button. - Add padding to media attachment sheet. - Message composer header layout tweaks. - Remove indicator after changing homeserver with an MXID. - Change copy permalink string. - Formatting of link in Analytics Prompt. - Remove indicator after changing homeserver with an MXID. - Change copy permalink string. - Formatting of link in Analytics Prompt. - Only semi-bold the room timestamp when unread. - Tweak the colour of the date separator. - Add activity indicator to toast style user indicator.
This commit is contained in:
@@ -33,20 +33,29 @@ extension AttributedString {
|
||||
}
|
||||
}
|
||||
|
||||
/// Replaces the specified placeholder with the a string that links to the specified URL.
|
||||
/// Replaces the specified placeholder with a string that links to the specified URL.
|
||||
/// - Parameters:
|
||||
/// - linkPlaceholder: The text in the string that will be replaced. Make sure this is unique within the string.
|
||||
/// - string: The text for the link that will be substituted into the placeholder.
|
||||
/// - url: The URL that the link should open.
|
||||
mutating func replace(_ linkPlaceholder: String, with string: String, asLinkTo url: URL) {
|
||||
guard let range = range(of: linkPlaceholder) else {
|
||||
MXLog.failure("Failed to find the link placeholder to be replaced.")
|
||||
return
|
||||
}
|
||||
|
||||
// Replace the placeholder with a link.
|
||||
var replacement = AttributedString(string)
|
||||
replacement.link = url
|
||||
replace(linkPlaceholder, with: replacement)
|
||||
}
|
||||
|
||||
/// Replaces the specified placeholder with the supplied attributed string.
|
||||
/// - Parameters:
|
||||
/// - placeholder: The text in the string that will be replaced. Make sure this is unique within the string.
|
||||
/// - attributedString: The text for the link that will be substituted into the placeholder.
|
||||
mutating func replace(_ placeholder: String, with replacement: AttributedString) {
|
||||
guard let range = range(of: placeholder) else {
|
||||
MXLog.failure("Failed to find the placeholder to be replaced.")
|
||||
return
|
||||
}
|
||||
|
||||
// Replace the placeholder.
|
||||
replaceSubrange(range, with: replacement)
|
||||
}
|
||||
|
||||
@@ -63,4 +72,12 @@ extension AttributedString {
|
||||
}
|
||||
return newValue
|
||||
}
|
||||
|
||||
/// Makes the entire string bold by setting the presentation intent to strongly emphasized.
|
||||
///
|
||||
/// In practice, this is rendered as semibold for smaller font sizes and just so happens to nicely
|
||||
/// line up with the semibold → bold font switch used by compound.
|
||||
mutating func bold() {
|
||||
self[startIndex..<endIndex].inlinePresentationIntent = .stronglyEmphasized
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user