Skip to content

Commit 2c3bd75

Browse files
committed
Merge branch 'master' of gitlab.com:peter-iakovlev/telegram-ios
2 parents c4013c3 + 1322c43 commit 2c3bd75

File tree

191 files changed

+44192
-37219
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

191 files changed

+44192
-37219
lines changed

submodules/AccountContext/Sources/AccountContext.swift

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -823,6 +823,14 @@ public protocol CollectibleItemInfoScreenInitialData: AnyObject {
823823
public protocol BusinessLinksSetupScreenInitialData: AnyObject {
824824
}
825825

826+
public enum AffiliateProgramSetupScreenMode {
827+
case editProgram
828+
case connectedPrograms
829+
}
830+
831+
public protocol AffiliateProgramSetupScreenInitialData: AnyObject {
832+
}
833+
826834
public enum CollectibleItemInfoScreenSubject {
827835
case phoneNumber(String)
828836
case username(String)
@@ -873,6 +881,38 @@ public final class BotPreviewEditorTransitionOut {
873881
public protocol MiniAppListScreenInitialData: AnyObject {
874882
}
875883

884+
public enum JoinAffiliateProgramScreenMode {
885+
public final class Join {
886+
public let initialTargetPeer: EnginePeer
887+
public let canSelectTargetPeer: Bool
888+
public let completion: (EnginePeer) -> Void
889+
890+
public init(initialTargetPeer: EnginePeer, canSelectTargetPeer: Bool, completion: @escaping (EnginePeer) -> Void) {
891+
self.initialTargetPeer = initialTargetPeer
892+
self.canSelectTargetPeer = canSelectTargetPeer
893+
self.completion = completion
894+
}
895+
}
896+
897+
public final class Active {
898+
public let targetPeer: EnginePeer
899+
public let link: String
900+
public let userCount: Int
901+
public let copyLink: () -> Void
902+
903+
public init(targetPeer: EnginePeer, link: String, userCount: Int, copyLink: @escaping () -> Void) {
904+
self.targetPeer = targetPeer
905+
self.link = link
906+
self.userCount = userCount
907+
self.copyLink = copyLink
908+
}
909+
}
910+
911+
912+
case join(Join)
913+
case active(Active)
914+
}
915+
876916
public protocol SharedAccountContext: AnyObject {
877917
var sharedContainerPath: String { get }
878918
var basePath: String { get }
@@ -1063,6 +1103,11 @@ public protocol SharedAccountContext: AnyObject {
10631103

10641104
func openWebApp(context: AccountContext, parentController: ViewController, updatedPresentationData: (initial: PresentationData, signal: Signal<PresentationData, NoError>)?, botPeer: EnginePeer, chatPeer: EnginePeer?, threadId: Int64?, buttonText: String, url: String, simple: Bool, source: ChatOpenWebViewSource, skipTermsOfService: Bool, payload: String?)
10651105

1106+
func makeAffiliateProgramSetupScreenInitialData(context: AccountContext, peerId: EnginePeer.Id, mode: AffiliateProgramSetupScreenMode) -> Signal<AffiliateProgramSetupScreenInitialData, NoError>
1107+
func makeAffiliateProgramSetupScreen(context: AccountContext, initialData: AffiliateProgramSetupScreenInitialData) -> ViewController
1108+
1109+
func makeAffiliateProgramJoinScreen(context: AccountContext, sourcePeer: EnginePeer, commissionPermille: Int32, programDuration: Int32?, mode: JoinAffiliateProgramScreenMode) -> ViewController
1110+
10661111
func makeDebugSettingsController(context: AccountContext?) -> ViewController?
10671112

10681113
func navigateToCurrentCall()

submodules/AvatarNode/Sources/AvatarNode.swift

Lines changed: 34 additions & 22 deletions
Large diffs are not rendered by default.

submodules/AvatarNode/Sources/PeerAvatar.swift

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ public func peerAvatarCompleteImage(postbox: Postbox, network: Network, peer: En
171171
return iconSignal
172172
}
173173

174-
public func peerAvatarImage(account: Account, peerReference: PeerReference?, authorOfMessage: MessageReference?, representation: TelegramMediaImageRepresentation?, displayDimensions: CGSize = CGSize(width: 60.0, height: 60.0), clipStyle: AvatarNodeClipStyle = .round, blurred: Bool = false, inset: CGFloat = 0.0, emptyColor: UIColor? = nil, synchronousLoad: Bool = false, provideUnrounded: Bool = false) -> Signal<(UIImage, UIImage)?, NoError>? {
174+
public func peerAvatarImage(account: Account, peerReference: PeerReference?, authorOfMessage: MessageReference?, representation: TelegramMediaImageRepresentation?, displayDimensions: CGSize = CGSize(width: 60.0, height: 60.0), clipStyle: AvatarNodeClipStyle = .round, blurred: Bool = false, inset: CGFloat = 0.0, emptyColor: UIColor? = nil, synchronousLoad: Bool = false, provideUnrounded: Bool = false, cutoutRect: CGRect? = nil) -> Signal<(UIImage, UIImage)?, NoError>? {
175175
return peerAvatarImage(
176176
postbox: account.postbox,
177177
network: account.network,
@@ -184,11 +184,12 @@ public func peerAvatarImage(account: Account, peerReference: PeerReference?, aut
184184
inset: inset,
185185
emptyColor: emptyColor,
186186
synchronousLoad: synchronousLoad,
187-
provideUnrounded: synchronousLoad
187+
provideUnrounded: synchronousLoad,
188+
cutoutRect: cutoutRect
188189
)
189190
}
190191

191-
public func peerAvatarImage(postbox: Postbox, network: Network, peerReference: PeerReference?, authorOfMessage: MessageReference?, representation: TelegramMediaImageRepresentation?, displayDimensions: CGSize = CGSize(width: 60.0, height: 60.0), clipStyle: AvatarNodeClipStyle = .round, blurred: Bool = false, inset: CGFloat = 0.0, emptyColor: UIColor? = nil, synchronousLoad: Bool = false, provideUnrounded: Bool = false) -> Signal<(UIImage, UIImage)?, NoError>? {
192+
public func peerAvatarImage(postbox: Postbox, network: Network, peerReference: PeerReference?, authorOfMessage: MessageReference?, representation: TelegramMediaImageRepresentation?, displayDimensions: CGSize = CGSize(width: 60.0, height: 60.0), clipStyle: AvatarNodeClipStyle = .round, blurred: Bool = false, inset: CGFloat = 0.0, emptyColor: UIColor? = nil, synchronousLoad: Bool = false, provideUnrounded: Bool = false, cutoutRect: CGRect? = nil) -> Signal<(UIImage, UIImage)?, NoError>? {
192193
if let imageData = peerAvatarImageData(postbox: postbox, network: network, peerReference: peerReference, authorOfMessage: authorOfMessage, representation: representation, synchronousLoad: synchronousLoad) {
193194
return imageData
194195
|> mapToSignal { data -> Signal<(UIImage, UIImage)?, NoError> in
@@ -294,6 +295,12 @@ public func peerAvatarImage(postbox: Postbox, network: Network, peerReference: P
294295
context.fillPath()
295296
}
296297
}
298+
299+
if let cutoutRect {
300+
context.setBlendMode(.copy)
301+
context.setFillColor(UIColor.clear.cgColor)
302+
context.fillEllipse(in: cutoutRect)
303+
}
297304
})
298305
let unroundedImage: UIImage?
299306
if provideUnrounded {

submodules/BrowserUI/Sources/BrowserAddressListComponent.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,7 @@ final class BrowserAddressListComponent: Component {
409409

410410
UIPasteboard.general.string = url
411411
if let self, let component = self.component {
412-
component.presentInGlobalOverlay(UndoOverlayController(presentationData: presentationData, content: .linkCopied(text: presentationData.strings.Conversation_LinkCopied), elevatedLayout: false, animateInAsReplacement: false, action: { _ in return false }))
412+
component.presentInGlobalOverlay(UndoOverlayController(presentationData: presentationData, content: .linkCopied(title: nil, text: presentationData.strings.Conversation_LinkCopied), elevatedLayout: false, animateInAsReplacement: false, action: { _ in return false }))
413413
}
414414
})))
415415

submodules/BrowserUI/Sources/BrowserBookmarksScreen.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ public final class BrowserBookmarksScreen: ViewController {
245245

246246
UIPasteboard.general.string = url
247247
if let self {
248-
self.controller?.present(UndoOverlayController(presentationData: presentationData, content: .linkCopied(text: presentationData.strings.Conversation_LinkCopied), elevatedLayout: false, animateInAsReplacement: false, action: { _ in return false }), in: .window(.root))
248+
self.controller?.present(UndoOverlayController(presentationData: presentationData, content: .linkCopied(title: nil, text: presentationData.strings.Conversation_LinkCopied), elevatedLayout: false, animateInAsReplacement: false, action: { _ in return false }), in: .window(.root))
249249
}
250250
})))
251251
}

submodules/BrowserUI/Sources/BrowserDocumentContent.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -412,7 +412,7 @@ final class BrowserDocumentContent: UIView, BrowserContent, WKNavigationDelegate
412412
let presentationData = self.context.sharedContext.currentPresentationData.with { $0 }
413413
let shareController = ShareController(context: self.context, subject: .url(url))
414414
shareController.actionCompleted = { [weak self] in
415-
self?.present(UndoOverlayController(presentationData: presentationData, content: .linkCopied(text: presentationData.strings.Conversation_LinkCopied), elevatedLayout: false, animateInAsReplacement: false, action: { _ in return false }), nil)
415+
self?.present(UndoOverlayController(presentationData: presentationData, content: .linkCopied(title: nil, text: presentationData.strings.Conversation_LinkCopied), elevatedLayout: false, animateInAsReplacement: false, action: { _ in return false }), nil)
416416
}
417417
self.present(shareController, nil)
418418
}

submodules/BrowserUI/Sources/BrowserPdfContent.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -553,7 +553,7 @@ final class BrowserPdfContent: UIView, BrowserContent, UIScrollViewDelegate, PDF
553553
let presentationData = self.context.sharedContext.currentPresentationData.with { $0 }
554554
let shareController = ShareController(context: self.context, subject: .url(url))
555555
shareController.actionCompleted = { [weak self] in
556-
self?.present(UndoOverlayController(presentationData: presentationData, content: .linkCopied(text: presentationData.strings.Conversation_LinkCopied), elevatedLayout: false, animateInAsReplacement: false, action: { _ in return false }), nil)
556+
self?.present(UndoOverlayController(presentationData: presentationData, content: .linkCopied(title: nil, text: presentationData.strings.Conversation_LinkCopied), elevatedLayout: false, animateInAsReplacement: false, action: { _ in return false }), nil)
557557
}
558558
self.present(shareController, nil)
559559
}

submodules/BrowserUI/Sources/BrowserScreen.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -639,7 +639,7 @@ public class BrowserScreen: ViewController, MinimizableController {
639639
})
640640
}
641641
shareController.actionCompleted = { [weak self] in
642-
self?.controller?.present(UndoOverlayController(presentationData: presentationData, content: .linkCopied(text: presentationData.strings.Conversation_LinkCopied), elevatedLayout: false, animateInAsReplacement: false, action: { _ in return false }), in: .window(.root))
642+
self?.controller?.present(UndoOverlayController(presentationData: presentationData, content: .linkCopied(title: nil, text: presentationData.strings.Conversation_LinkCopied), elevatedLayout: false, animateInAsReplacement: false, action: { _ in return false }), in: .window(.root))
643643
}
644644
self.controller?.present(shareController, in: .window(.root))
645645
case .minimize:

submodules/BrowserUI/Sources/BrowserWebContent.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1339,7 +1339,7 @@ final class BrowserWebContent: UIView, BrowserContent, WKNavigationDelegate, WKU
13391339
}),
13401340
UIAction(title: presentationData.strings.Browser_ContextMenu_CopyLink, image: generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Copy"), color: presentationData.theme.contextMenu.primaryColor), handler: { [weak self] _ in
13411341
UIPasteboard.general.string = url.absoluteString
1342-
self?.present(UndoOverlayController(presentationData: presentationData, content: .linkCopied(text: presentationData.strings.Conversation_LinkCopied), elevatedLayout: false, animateInAsReplacement: false, action: { _ in return false }), nil)
1342+
self?.present(UndoOverlayController(presentationData: presentationData, content: .linkCopied(title: nil, text: presentationData.strings.Conversation_LinkCopied), elevatedLayout: false, animateInAsReplacement: false, action: { _ in return false }), nil)
13431343
}),
13441344
UIAction(title: presentationData.strings.Browser_ContextMenu_Share, image: generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Forward"), color: presentationData.theme.contextMenu.primaryColor), handler: { [weak self] _ in
13451345
self?.share(url: url.absoluteString)
@@ -1393,7 +1393,7 @@ final class BrowserWebContent: UIView, BrowserContent, WKNavigationDelegate, WKU
13931393
let presentationData = self.context.sharedContext.currentPresentationData.with { $0 }
13941394
let shareController = ShareController(context: self.context, subject: .url(url))
13951395
shareController.actionCompleted = { [weak self] in
1396-
self?.present(UndoOverlayController(presentationData: presentationData, content: .linkCopied(text: presentationData.strings.Conversation_LinkCopied), elevatedLayout: false, animateInAsReplacement: false, action: { _ in return false }), nil)
1396+
self?.present(UndoOverlayController(presentationData: presentationData, content: .linkCopied(title: nil, text: presentationData.strings.Conversation_LinkCopied), elevatedLayout: false, animateInAsReplacement: false, action: { _ in return false }), nil)
13971397
}
13981398
self.present(shareController, nil)
13991399
}

submodules/ChatListUI/Sources/ChatListFilterPresetController.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1493,7 +1493,7 @@ func chatListFilterPresetController(context: AccountContext, currentPreset initi
14931493
UIPasteboard.general.string = invite.link
14941494

14951495
let presentationData = context.sharedContext.currentPresentationData.with { $0 }
1496-
presentControllerImpl?(UndoOverlayController(presentationData: presentationData, content: .linkCopied(text: presentationData.strings.InviteLink_InviteLinkCopiedText), elevatedLayout: false, animateInAsReplacement: false, action: { _ in return false }), nil)
1496+
presentControllerImpl?(UndoOverlayController(presentationData: presentationData, content: .linkCopied(title: nil, text: presentationData.strings.InviteLink_InviteLinkCopiedText), elevatedLayout: false, animateInAsReplacement: false, action: { _ in return false }), nil)
14971497
})))
14981498

14991499
items.append(.action(ContextMenuActionItem(text: presentationData.strings.InviteLink_ContextGetQRCode, icon: { theme in

0 commit comments

Comments
 (0)