diff --git a/submodules/TelegramUI/Components/MediaEditorScreen/Sources/MediaEditorScreen.swift b/submodules/TelegramUI/Components/MediaEditorScreen/Sources/MediaEditorScreen.swift index c08168500f..4ed4ad42e1 100644 --- a/submodules/TelegramUI/Components/MediaEditorScreen/Sources/MediaEditorScreen.swift +++ b/submodules/TelegramUI/Components/MediaEditorScreen/Sources/MediaEditorScreen.swift @@ -3214,7 +3214,7 @@ public final class MediaEditorScreen: ViewController, UIDropInteractionDelegate public var willDismiss: () -> Void = { } private var closeFriends = Promise<[EnginePeer]>() - private let storiesGrayList: BlockedPeersContext + private let storiesBlockedPeers: BlockedPeersContext private let hapticFeedback = HapticFeedback() @@ -3239,7 +3239,7 @@ public final class MediaEditorScreen: ViewController, UIDropInteractionDelegate self.transitionOut = transitionOut self.completion = completion - self.storiesGrayList = BlockedPeersContext(account: context.account, subject: .stories) + self.storiesBlockedPeers = BlockedPeersContext(account: context.account, subject: .stories) if let transitionIn, case .camera = transitionIn { self.isSavingAvailable = true @@ -3314,7 +3314,7 @@ public final class MediaEditorScreen: ViewController, UIDropInteractionDelegate subject: .stories(editing: false), initialPeerIds: Set(privacy.privacy.additionallyIncludePeers), closeFriends: self.closeFriends.get(), - storiesGrayList: self.storiesGrayList + blockedPeersContext: self.storiesBlockedPeers ) let _ = (stateContext.ready |> filter { $0 } |> take(1) |> deliverOnMainQueue).start(next: { [weak self] _ in guard let self else { @@ -3342,7 +3342,7 @@ public final class MediaEditorScreen: ViewController, UIDropInteractionDelegate guard let self else { return } - self.openEditCategory(privacy: privacy, isForwardingDisabled: !allowScreenshots, pin: pin, grayList: false, completion: { [weak self] privacy in + self.openEditCategory(privacy: privacy, isForwardingDisabled: !allowScreenshots, pin: pin, blockedPeers: false, completion: { [weak self] privacy in guard let self else { return } @@ -3354,11 +3354,11 @@ public final class MediaEditorScreen: ViewController, UIDropInteractionDelegate ), completion: completion) }) }, - editGrayList: { [weak self] privacy, allowScreenshots, pin in + editBlockedPeers: { [weak self] privacy, allowScreenshots, pin in guard let self else { return } - self.openEditCategory(privacy: privacy, isForwardingDisabled: !allowScreenshots, pin: pin, grayList: true, completion: { [weak self] privacy in + self.openEditCategory(privacy: privacy, isForwardingDisabled: !allowScreenshots, pin: pin, blockedPeers: true, completion: { [weak self] privacy in guard let self else { return } @@ -3378,12 +3378,12 @@ public final class MediaEditorScreen: ViewController, UIDropInteractionDelegate }) } - private func openEditCategory(privacy: EngineStoryPrivacy, isForwardingDisabled: Bool, pin: Bool, grayList: Bool, completion: @escaping (EngineStoryPrivacy) -> Void) { + private func openEditCategory(privacy: EngineStoryPrivacy, isForwardingDisabled: Bool, pin: Bool, blockedPeers: Bool, completion: @escaping (EngineStoryPrivacy) -> Void) { let subject: ShareWithPeersScreen.StateContext.Subject - if grayList { - subject = .chats(grayList: true) + if blockedPeers { + subject = .chats(blocked: true) } else if privacy.base == .nobody { - subject = .chats(grayList: false) + subject = .chats(blocked: false) } else { subject = .contacts(privacy.base) } @@ -3391,7 +3391,7 @@ public final class MediaEditorScreen: ViewController, UIDropInteractionDelegate context: self.context, subject: subject, initialPeerIds: Set(privacy.additionallyIncludePeers), - storiesGrayList: self.storiesGrayList + blockedPeersContext: self.storiesBlockedPeers ) let _ = (stateContext.ready |> filter { $0 } |> take(1) |> deliverOnMainQueue).start(next: { [weak self] _ in guard let self else { @@ -3407,8 +3407,8 @@ public final class MediaEditorScreen: ViewController, UIDropInteractionDelegate guard let self else { return } - if grayList { - let _ = self.storiesGrayList.updatePeerIds(result.additionallyIncludePeers).start() + if blockedPeers { + let _ = self.storiesBlockedPeers.updatePeerIds(result.additionallyIncludePeers).start() completion(privacy) } else if case .closeFriends = privacy.base { let _ = self.context.engine.privacy.updateCloseFriends(peerIds: result.additionallyIncludePeers).start() @@ -3419,7 +3419,7 @@ public final class MediaEditorScreen: ViewController, UIDropInteractionDelegate } }, editCategory: { _, _, _ in }, - editGrayList: { _, _, _ in } + editBlockedPeers: { _, _, _ in } ) controller.dismissed = { self.node.mediaEditor?.play() diff --git a/submodules/TelegramUI/Components/ShareWithPeersScreen/Sources/ShareWithPeersScreen.swift b/submodules/TelegramUI/Components/ShareWithPeersScreen/Sources/ShareWithPeersScreen.swift index 590245dbf5..28763eab75 100644 --- a/submodules/TelegramUI/Components/ShareWithPeersScreen/Sources/ShareWithPeersScreen.swift +++ b/submodules/TelegramUI/Components/ShareWithPeersScreen/Sources/ShareWithPeersScreen.swift @@ -39,7 +39,7 @@ final class ShareWithPeersScreenComponent: Component { let optionItems: [OptionItem] let completion: (EngineStoryPrivacy, Bool, Bool, [EnginePeer]) -> Void let editCategory: (EngineStoryPrivacy, Bool, Bool) -> Void - let editGrayList: (EngineStoryPrivacy, Bool, Bool) -> Void + let editBlockedPeers: (EngineStoryPrivacy, Bool, Bool) -> Void init( context: AccountContext, @@ -53,7 +53,7 @@ final class ShareWithPeersScreenComponent: Component { optionItems: [OptionItem], completion: @escaping (EngineStoryPrivacy, Bool, Bool, [EnginePeer]) -> Void, editCategory: @escaping (EngineStoryPrivacy, Bool, Bool) -> Void, - editGrayList: @escaping (EngineStoryPrivacy, Bool, Bool) -> Void + editBlockedPeers: @escaping (EngineStoryPrivacy, Bool, Bool) -> Void ) { self.context = context self.stateContext = stateContext @@ -66,7 +66,7 @@ final class ShareWithPeersScreenComponent: Component { self.optionItems = optionItems self.completion = completion self.editCategory = editCategory - self.editGrayList = editGrayList + self.editBlockedPeers = editBlockedPeers } static func ==(lhs: ShareWithPeersScreenComponent, rhs: ShareWithPeersScreenComponent) -> Bool { @@ -1024,7 +1024,7 @@ final class ShareWithPeersScreenComponent: Component { guard let self, let environment = self.environment, let controller = environment.controller() as? ShareWithPeersScreen else { return } - component.editGrayList( + component.editBlockedPeers( EngineStoryPrivacy(base: .nobody, additionallyIncludePeers: []), self.selectedOptions.contains(.screenshot), self.selectedOptions.contains(.pin) @@ -1672,7 +1672,7 @@ final class ShareWithPeersScreenComponent: Component { )) sections.append(ItemLayout.Section( id: 2, - insets: UIEdgeInsets(top: 28.0, left: 0.0, bottom: 0.0, right: 0.0), + insets: UIEdgeInsets(top: 28.0, left: 0.0, bottom: 24.0, right: 0.0), itemHeight: optionItemSize.height, itemCount: component.optionItems.count )) @@ -1782,9 +1782,9 @@ final class ShareWithPeersScreenComponent: Component { let inset: CGFloat if case let .stories(editing) = component.stateContext.subject { if editing { - inset = 446.0 + inset = 478.0 } else { - inset = 605.0 + inset = 630.0 } } else { inset = 600.0 @@ -2074,7 +2074,7 @@ public class ShareWithPeersScreen: ViewControllerComponentContainer { public final class StateContext { public enum Subject: Equatable { case stories(editing: Bool) - case chats(grayList: Bool) + case chats(blocked: Bool) case contacts(EngineStoryPrivacy.Base) case search(query: String, onlyContacts: Bool) } @@ -2083,7 +2083,7 @@ public class ShareWithPeersScreen: ViewControllerComponentContainer { public let subject: Subject public private(set) var initialPeerIds: Set = Set() - fileprivate let storiesGrayList: BlockedPeersContext? + fileprivate let blockedPeersContext: BlockedPeersContext? private var stateDisposable: Disposable? private let stateSubject = Promise() @@ -2097,18 +2097,18 @@ public class ShareWithPeersScreen: ViewControllerComponentContainer { public init( context: AccountContext, - subject: Subject = .chats(grayList: false), + subject: Subject = .chats(blocked: false), initialPeerIds: Set = Set(), closeFriends: Signal<[EnginePeer], NoError> = .single([]), - storiesGrayList: BlockedPeersContext? = nil + blockedPeersContext: BlockedPeersContext? = nil ) { self.subject = subject self.initialPeerIds = initialPeerIds - self.storiesGrayList = storiesGrayList + self.blockedPeersContext = blockedPeersContext let grayListPeers: Signal<[EnginePeer], NoError> - if let storiesGrayList { - grayListPeers = storiesGrayList.state + if let blockedPeersContext { + grayListPeers = blockedPeersContext.state |> map { state -> [EnginePeer] in return state.peers.compactMap { $0.peer.flatMap(EnginePeer.init) } } @@ -2426,7 +2426,7 @@ public class ShareWithPeersScreen: ViewControllerComponentContainer { stateContext: StateContext, completion: @escaping (EngineStoryPrivacy, Bool, Bool, [EnginePeer]) -> Void, editCategory: @escaping (EngineStoryPrivacy, Bool, Bool) -> Void, - editGrayList: @escaping (EngineStoryPrivacy, Bool, Bool) -> Void + editBlockedPeers: @escaping (EngineStoryPrivacy, Bool, Bool) -> Void ) { self.context = context @@ -2537,7 +2537,7 @@ public class ShareWithPeersScreen: ViewControllerComponentContainer { optionItems: optionItems, completion: completion, editCategory: editCategory, - editGrayList: editGrayList + editBlockedPeers: editBlockedPeers ), navigationBarAppearance: .none, theme: .dark) self.statusBar.statusBarStyle = .Ignore diff --git a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemSetContainerComponent.swift b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemSetContainerComponent.swift index 1cf8a16b7e..72fb33a7cf 100644 --- a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemSetContainerComponent.swift +++ b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemSetContainerComponent.swift @@ -3466,19 +3466,23 @@ public final class StoryItemSetContainerComponent: Component { guard let self else { return } - self.openItemPrivacyCategory(privacy: privacy, completion: { [weak self] privacy in + self.openItemPrivacyCategory(privacy: privacy, blockedPeers: false, completion: { [weak self] privacy in guard let self else { return } self.openItemPrivacySettings(initialPrivacy: privacy) }) }, - editGrayList: { [weak self] privacy, _, _ in + editBlockedPeers: { [weak self] privacy, _, _ in guard let self else { return } - let _ = self - let _ = privacy + self.openItemPrivacyCategory(privacy: privacy, blockedPeers: true, completion: { [weak self] privacy in + guard let self else { + return + } + self.openItemPrivacySettings(initialPrivacy: privacy) + }) } ) controller.dismissed = { [weak self] in @@ -3494,13 +3498,15 @@ public final class StoryItemSetContainerComponent: Component { }) } - private func openItemPrivacyCategory(privacy: EngineStoryPrivacy, completion: @escaping (EngineStoryPrivacy) -> Void) { + private func openItemPrivacyCategory(privacy: EngineStoryPrivacy, blockedPeers: Bool, completion: @escaping (EngineStoryPrivacy) -> Void) { guard let context = self.component?.context else { return } let subject: ShareWithPeersScreen.StateContext.Subject - if privacy.base == .nobody { - subject = .chats(grayList: false) + if blockedPeers { + subject = .chats(blocked: true) + } else if privacy.base == .nobody { + subject = .chats(blocked: false) } else { subject = .contacts(privacy.base) } @@ -3514,7 +3520,10 @@ public final class StoryItemSetContainerComponent: Component { initialPrivacy: privacy, stateContext: stateContext, completion: { [weak self] result, _, _, peers in - if case .closeFriends = privacy.base { + if blockedPeers { +// let _ = self.storiesBlockedPeers.updatePeerIds(result.additionallyIncludePeers).start() + completion(privacy) + } else if case .closeFriends = privacy.base { let _ = context.engine.privacy.updateCloseFriends(peerIds: result.additionallyIncludePeers).start() if let component = self?.component { component.closeFriends.set(.single(peers)) @@ -3525,7 +3534,7 @@ public final class StoryItemSetContainerComponent: Component { } }, editCategory: { _, _, _ in }, - editGrayList: { _, _, _ in } + editBlockedPeers: { _, _, _ in } ) controller.dismissed = { [weak self] in if let self {