mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-06 06:13:10 +00:00
Additional links in admin log
This commit is contained in:
parent
4bbb0dd637
commit
85ac817816
@ -8138,3 +8138,7 @@ Sorry for the inconvenience.";
|
|||||||
|
|
||||||
"ChatListFolderSettings.SubscribeToMoveAll" = "Subscribe to **Telegram Premium** to move the \"All Chats\" folder.";
|
"ChatListFolderSettings.SubscribeToMoveAll" = "Subscribe to **Telegram Premium** to move the \"All Chats\" folder.";
|
||||||
"ChatListFolderSettings.SubscribeToMoveAllAction" = "More";
|
"ChatListFolderSettings.SubscribeToMoveAllAction" = "More";
|
||||||
|
|
||||||
|
"Channel.AdminLog.MessageChangedGroupUsernames" = "%@ changed group links:";
|
||||||
|
"Channel.AdminLog.MessageChangedChannelUsernames" = "%@ changed channel links:";
|
||||||
|
"Channel.AdminLog.MessagePreviousLinks" = "Previous links";
|
||||||
|
|||||||
@ -40,7 +40,7 @@ final class ChatMessageEventLogPreviousLinkContentNode: ChatMessageBubbleContent
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let title: String = item.presentationData.strings.Channel_AdminLog_MessagePreviousLink
|
let title: String = item.message.text.contains("\n") ? item.presentationData.strings.Channel_AdminLog_MessagePreviousLinks : item.presentationData.strings.Channel_AdminLog_MessagePreviousLink
|
||||||
let text: String = item.message.text
|
let text: String = item.message.text
|
||||||
let mediaAndFlags: (Media, ChatMessageAttachedContentNodeMediaFlags)? = nil
|
let mediaAndFlags: (Media, ChatMessageAttachedContentNodeMediaFlags)? = nil
|
||||||
|
|
||||||
|
|||||||
@ -31,7 +31,7 @@ struct ChatRecentActionsEntryId: Hashable, Comparable {
|
|||||||
|
|
||||||
private func eventNeedsHeader(_ event: AdminLogEvent) -> Bool {
|
private func eventNeedsHeader(_ event: AdminLogEvent) -> Bool {
|
||||||
switch event.action {
|
switch event.action {
|
||||||
case .changeAbout, .changeUsername, .editMessage, .deleteMessage, .pollStopped, .sendMessage:
|
case .changeAbout, .changeUsername, .changeUsernames, .editMessage, .deleteMessage, .pollStopped, .sendMessage:
|
||||||
return true
|
return true
|
||||||
case let .updatePinned(message):
|
case let .updatePinned(message):
|
||||||
if message != nil {
|
if message != nil {
|
||||||
@ -217,14 +217,14 @@ struct ChatRecentActionsEntry: Comparable, Identifiable {
|
|||||||
var text: String = ""
|
var text: String = ""
|
||||||
var entities: [MessageTextEntity] = []
|
var entities: [MessageTextEntity] = []
|
||||||
if let peer = peer as? TelegramChannel, case .broadcast = peer.info {
|
if let peer = peer as? TelegramChannel, case .broadcast = peer.info {
|
||||||
appendAttributedText(text: self.presentationData.strings.Channel_AdminLog_MessageChangedChannelUsername(author.flatMap(EnginePeer.init)?.displayTitle(strings: self.presentationData.strings, displayOrder: self.presentationData.nameDisplayOrder) ?? ""), generateEntities: { index in
|
appendAttributedText(text: self.presentationData.strings.Channel_AdminLog_MessageChangedChannelUsernames(author.flatMap(EnginePeer.init)?.displayTitle(strings: self.presentationData.strings, displayOrder: self.presentationData.nameDisplayOrder) ?? ""), generateEntities: { index in
|
||||||
if index == 0, let author = author {
|
if index == 0, let author = author {
|
||||||
return [.TextMention(peerId: author.id)]
|
return [.TextMention(peerId: author.id)]
|
||||||
}
|
}
|
||||||
return []
|
return []
|
||||||
}, to: &text, entities: &entities)
|
}, to: &text, entities: &entities)
|
||||||
} else {
|
} else {
|
||||||
appendAttributedText(text: self.presentationData.strings.Channel_AdminLog_MessageChangedGroupUsername(author.flatMap(EnginePeer.init)?.displayTitle(strings: self.presentationData.strings, displayOrder: self.presentationData.nameDisplayOrder) ?? ""), generateEntities: { index in
|
appendAttributedText(text: self.presentationData.strings.Channel_AdminLog_MessageChangedGroupUsernames(author.flatMap(EnginePeer.init)?.displayTitle(strings: self.presentationData.strings, displayOrder: self.presentationData.nameDisplayOrder) ?? ""), generateEntities: { index in
|
||||||
if index == 0, let author = author {
|
if index == 0, let author = author {
|
||||||
return [.TextMention(peerId: author.id)]
|
return [.TextMention(peerId: author.id)]
|
||||||
}
|
}
|
||||||
@ -237,14 +237,33 @@ struct ChatRecentActionsEntry: Comparable, Identifiable {
|
|||||||
case .content:
|
case .content:
|
||||||
var previousAttributes: [MessageAttribute] = []
|
var previousAttributes: [MessageAttribute] = []
|
||||||
var attributes: [MessageAttribute] = []
|
var attributes: [MessageAttribute] = []
|
||||||
|
|
||||||
let prevText = "https://t.me/\(prev.first ?? "")"
|
var prevTextEntities: [MessageTextEntity] = []
|
||||||
previousAttributes.append(TextEntitiesMessageAttribute(entities: [MessageTextEntity(range: 0 ..< prevText.count, type: .Url)]))
|
var textEntities: [MessageTextEntity] = []
|
||||||
|
|
||||||
let text: String
|
var prevText: String = ""
|
||||||
|
for username in prev {
|
||||||
|
let link = "https://t.me/\(username)"
|
||||||
|
prevTextEntities.append(MessageTextEntity(range: prevText.count ..< prevText.count + link.count, type: .Url))
|
||||||
|
prevText.append(link)
|
||||||
|
prevText.append("\n")
|
||||||
|
}
|
||||||
|
prevText.removeLast()
|
||||||
|
if !prevTextEntities.isEmpty {
|
||||||
|
previousAttributes.append(TextEntitiesMessageAttribute(entities: prevTextEntities))
|
||||||
|
}
|
||||||
|
var text: String = ""
|
||||||
if !new.isEmpty {
|
if !new.isEmpty {
|
||||||
text = "https://t.me/\(new.first ?? "")"
|
for username in new {
|
||||||
attributes.append(TextEntitiesMessageAttribute(entities: [MessageTextEntity(range: 0 ..< text.count, type: .Url)]))
|
let link = "https://t.me/\(username)"
|
||||||
|
textEntities.append(MessageTextEntity(range: text.count ..< text.count + link.count, type: .Url))
|
||||||
|
text.append(link)
|
||||||
|
text.append("\n")
|
||||||
|
}
|
||||||
|
text.removeLast()
|
||||||
|
if !textEntities.isEmpty {
|
||||||
|
attributes.append(TextEntitiesMessageAttribute(entities: prevTextEntities))
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
text = self.presentationData.strings.Channel_AdminLog_EmptyMessageText
|
text = self.presentationData.strings.Channel_AdminLog_EmptyMessageText
|
||||||
attributes.append(TextEntitiesMessageAttribute(entities: [MessageTextEntity(range: 0 ..< text.count, type: .Italic)]))
|
attributes.append(TextEntitiesMessageAttribute(entities: [MessageTextEntity(range: 0 ..< text.count, type: .Italic)]))
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user