mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-24 07:05:35 +00:00
Emoji in chat folders
This commit is contained in:
@@ -62,7 +62,7 @@ private enum InviteLinksListEntry: ItemListNodeEntry {
|
||||
case peer(EnginePeer.Id)
|
||||
}
|
||||
|
||||
case header(String)
|
||||
case header(NSAttributedString)
|
||||
|
||||
case mainLinkHeader(String)
|
||||
case mainLink(link: ExportedChatFolderLink?, isGenerating: Bool)
|
||||
@@ -225,13 +225,13 @@ private enum InviteLinksListEntry: ItemListNodeEntry {
|
||||
private func folderInviteLinkListControllerEntries(
|
||||
presentationData: PresentationData,
|
||||
state: FolderInviteLinkListControllerState,
|
||||
title: String,
|
||||
title: ChatFolderTitle,
|
||||
allPeers: [EnginePeer]
|
||||
) -> [InviteLinksListEntry] {
|
||||
var entries: [InviteLinksListEntry] = []
|
||||
|
||||
var infoString: String?
|
||||
let chatCountString: String
|
||||
let chatCountString: NSAttributedString
|
||||
let peersHeaderString: String
|
||||
|
||||
let canShareChats = !allPeers.allSatisfy({ !canShareLinkToPeer(peer: $0) })
|
||||
@@ -241,16 +241,36 @@ private func folderInviteLinkListControllerEntries(
|
||||
|
||||
if !canShareChats {
|
||||
infoString = presentationData.strings.FolderLinkScreen_TitleDescriptionUnavailable
|
||||
chatCountString = presentationData.strings.FolderLinkScreen_ChatCountHeaderUnavailable
|
||||
chatCountString = NSAttributedString(string: presentationData.strings.FolderLinkScreen_ChatCountHeaderUnavailable)
|
||||
peersHeaderString = presentationData.strings.FolderLinkScreen_ChatsSectionHeaderUnavailable
|
||||
} else if state.selectedPeerIds.isEmpty {
|
||||
chatCountString = presentationData.strings.FolderLinkScreen_TitleDescriptionDeselected(title).string
|
||||
let chatCountStringValue = NSMutableAttributedString(string: presentationData.strings.FolderLinkScreen_TitleDescriptionDeselectedV2)
|
||||
let folderRange = (chatCountStringValue.string as NSString).range(of: "{folder}")
|
||||
if folderRange.location != NSNotFound {
|
||||
chatCountStringValue.replaceCharacters(in: folderRange, with: "")
|
||||
chatCountStringValue.insert(title.rawAttributedString, at: folderRange.location)
|
||||
}
|
||||
|
||||
chatCountString = chatCountStringValue
|
||||
peersHeaderString = presentationData.strings.FolderLinkScreen_ChatsSectionHeader
|
||||
if allPeers.count > 1 {
|
||||
selectAllString = allSelected ? presentationData.strings.FolderLinkScreen_ChatsSectionHeaderActionDeselectAll : presentationData.strings.FolderLinkScreen_ChatsSectionHeaderActionSelectAll
|
||||
}
|
||||
} else {
|
||||
chatCountString = presentationData.strings.FolderLinkScreen_TitleDescriptionSelected(title, presentationData.strings.FolderLinkScreen_TitleDescriptionSelectedCount(Int32(state.selectedPeerIds.count))).string
|
||||
let chatCountStringValue = NSMutableAttributedString(string: presentationData.strings.FolderLinkScreen_TitleDescriptionSelectedV2)
|
||||
let folderRange = (chatCountStringValue.string as NSString).range(of: "{folder}")
|
||||
if folderRange.location != NSNotFound {
|
||||
chatCountStringValue.replaceCharacters(in: folderRange, with: "")
|
||||
chatCountStringValue.insert(title.rawAttributedString, at: folderRange.location)
|
||||
}
|
||||
let chatsRange = (chatCountStringValue.string as NSString).range(of: "{chats}")
|
||||
if chatsRange.location != NSNotFound {
|
||||
chatCountStringValue.replaceCharacters(in: chatsRange, with: "")
|
||||
let countValue = presentationData.strings.FolderLinkScreen_TitleDescriptionSelectedCount(Int32(state.selectedPeerIds.count))
|
||||
chatCountStringValue.insert(NSAttributedString(string: countValue), at: chatsRange.location)
|
||||
}
|
||||
|
||||
chatCountString = chatCountStringValue
|
||||
peersHeaderString = presentationData.strings.FolderLinkScreen_ChatsSectionHeaderSelected(Int32(state.selectedPeerIds.count))
|
||||
if allPeers.count > 1 {
|
||||
selectAllString = allSelected ? presentationData.strings.FolderLinkScreen_ChatsSectionHeaderActionDeselectAll : presentationData.strings.FolderLinkScreen_ChatsSectionHeaderActionSelectAll
|
||||
@@ -699,11 +719,10 @@ public func folderInviteLinkListController(context: AccountContext, updatedPrese
|
||||
}
|
||||
|
||||
let controllerState = ItemListControllerState(presentationData: ItemListPresentationData(presentationData), title: title, leftNavigationButton: nil, rightNavigationButton: doneButton, backNavigationButton: ItemListBackButton(title: presentationData.strings.Common_Back), animateChanges: true)
|
||||
//TODO:release
|
||||
let listState = ItemListNodeState(presentationData: ItemListPresentationData(presentationData), entries: folderInviteLinkListControllerEntries(
|
||||
presentationData: presentationData,
|
||||
state: state,
|
||||
title: filterTitle.text,
|
||||
title: filterTitle,
|
||||
allPeers: allPeers
|
||||
), style: .blocks, emptyStateItem: nil, crossfadeState: crossfade, animateChanges: animateChanges)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user