mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-08-01 07:57:01 +00:00
Support markdown in standardTextAlertController
This commit is contained in:
parent
f32baad111
commit
b01c3d9b09
@ -1,6 +1,7 @@
|
|||||||
import Foundation
|
import Foundation
|
||||||
import UIKit
|
import UIKit
|
||||||
import AsyncDisplayKit
|
import AsyncDisplayKit
|
||||||
|
import Markdown
|
||||||
|
|
||||||
private let alertWidth: CGFloat = 270.0
|
private let alertWidth: CGFloat = 270.0
|
||||||
|
|
||||||
@ -354,9 +355,19 @@ public func textAlertController(theme: AlertControllerTheme, title: NSAttributed
|
|||||||
return AlertController(theme: theme, contentNode: TextAlertContentNode(theme: theme, title: title, text: text, actions: actions, actionLayout: actionLayout))
|
return AlertController(theme: theme, contentNode: TextAlertContentNode(theme: theme, title: title, text: text, actions: actions, actionLayout: actionLayout))
|
||||||
}
|
}
|
||||||
|
|
||||||
public func standardTextAlertController(theme: AlertControllerTheme, title: String?, text: String, actions: [TextAlertAction], actionLayout: TextAlertContentActionLayout = .horizontal, allowInputInset: Bool = true) -> AlertController {
|
public func standardTextAlertController(theme: AlertControllerTheme, title: String?, text: String, actions: [TextAlertAction], actionLayout: TextAlertContentActionLayout = .horizontal, allowInputInset: Bool = true, parseMarkdown: Bool = false) -> AlertController {
|
||||||
var dismissImpl: (() -> Void)?
|
var dismissImpl: (() -> Void)?
|
||||||
let controller = AlertController(theme: theme, contentNode: TextAlertContentNode(theme: theme, title: title != nil ? NSAttributedString(string: title!, font: Font.semibold(17.0), textColor: theme.primaryColor, paragraphAlignment: .center) : nil, text: NSAttributedString(string: text, font: title == nil ? Font.semibold(17.0) : Font.regular(13.0), textColor: theme.primaryColor, paragraphAlignment: .center), actions: actions.map { action in
|
let attributedText: NSAttributedString
|
||||||
|
if parseMarkdown {
|
||||||
|
let font = title == nil ? Font.semibold(17.0) : Font.regular(13.0)
|
||||||
|
let boldFont = title == nil ? Font.bold(17.0) : Font.semibold(13.0)
|
||||||
|
let body = MarkdownAttributeSet(font: font, textColor: theme.primaryColor)
|
||||||
|
let bold = MarkdownAttributeSet(font: boldFont, textColor: theme.primaryColor)
|
||||||
|
attributedText = parseMarkdownIntoAttributedString(text, attributes: MarkdownAttributes(body: body, bold: bold, link: body, linkAttribute: { _ in nil }), textAlignment: .center)
|
||||||
|
} else {
|
||||||
|
attributedText = NSAttributedString(string: text, font: title == nil ? Font.semibold(17.0) : Font.regular(13.0), textColor: theme.primaryColor, paragraphAlignment: .center)
|
||||||
|
}
|
||||||
|
let controller = AlertController(theme: theme, contentNode: TextAlertContentNode(theme: theme, title: title != nil ? NSAttributedString(string: title!, font: Font.semibold(17.0), textColor: theme.primaryColor, paragraphAlignment: .center) : nil, text: attributedText, actions: actions.map { action in
|
||||||
return TextAlertAction(type: action.type, title: action.title, action: {
|
return TextAlertAction(type: action.type, title: action.title, action: {
|
||||||
dismissImpl?()
|
dismissImpl?()
|
||||||
action.action()
|
action.action()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user