mirror of
https://github.com/TelegramMessenger/Telegram-iOS.git
synced 2026-07-06 03:33:41 +02:00
Various fixes
This commit is contained in:
parent
510dadd5a5
commit
07bddcd6f4
2 changed files with 32 additions and 12 deletions
|
|
@ -34,7 +34,7 @@ private final class SheetContent: CombinedComponent {
|
|||
let source: BotPaymentInvoiceSource
|
||||
let extendedMedia: [TelegramExtendedMedia]
|
||||
let inputData: Signal<(StarsContext.State, BotPaymentForm, EnginePeer?, EnginePeer?)?, NoError>
|
||||
let navigateToPeer: (EnginePeer) -> Void
|
||||
let navigateToPeer: ((EnginePeer) -> Void)?
|
||||
let dismiss: () -> Void
|
||||
|
||||
init(
|
||||
|
|
@ -44,7 +44,7 @@ private final class SheetContent: CombinedComponent {
|
|||
source: BotPaymentInvoiceSource,
|
||||
extendedMedia: [TelegramExtendedMedia],
|
||||
inputData: Signal<(StarsContext.State, BotPaymentForm, EnginePeer?, EnginePeer?)?, NoError>,
|
||||
navigateToPeer: @escaping (EnginePeer) -> Void,
|
||||
navigateToPeer: ((EnginePeer) -> Void)?,
|
||||
dismiss: @escaping () -> Void
|
||||
) {
|
||||
self.context = context
|
||||
|
|
@ -85,7 +85,7 @@ private final class SheetContent: CombinedComponent {
|
|||
private var peerDisposable: Disposable?
|
||||
private(set) var balance: StarsAmount?
|
||||
private(set) var form: BotPaymentForm?
|
||||
private(set) var navigateToPeer: (EnginePeer) -> Void
|
||||
private(set) var navigateToPeer: ((EnginePeer) -> Void)?
|
||||
|
||||
private var stateDisposable: Disposable?
|
||||
|
||||
|
|
@ -106,7 +106,7 @@ private final class SheetContent: CombinedComponent {
|
|||
extendedMedia: [TelegramExtendedMedia],
|
||||
invoice: TelegramMediaInvoice,
|
||||
inputData: Signal<(StarsContext.State, BotPaymentForm, EnginePeer?, EnginePeer?)?, NoError>,
|
||||
navigateToPeer: @escaping (EnginePeer) -> Void
|
||||
navigateToPeer: ((EnginePeer) -> Void)?
|
||||
) {
|
||||
self.context = context
|
||||
self.starsContext = starsContext
|
||||
|
|
@ -189,7 +189,7 @@ private final class SheetContent: CombinedComponent {
|
|||
let _ = (self.context.engine.peers.joinLinkInformation(link)
|
||||
|> deliverOnMainQueue).startStandalone(next: { result in
|
||||
if case let .alreadyJoined(peer) = result {
|
||||
navigateToPeer(peer)
|
||||
navigateToPeer?(peer)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
@ -402,9 +402,11 @@ private final class SheetContent: CombinedComponent {
|
|||
)
|
||||
),
|
||||
action: {
|
||||
component.navigateToPeer(peer)
|
||||
}
|
||||
),
|
||||
component.navigateToPeer?(peer)
|
||||
},
|
||||
animateAlpha: component.navigateToPeer != nil,
|
||||
animateScale: false
|
||||
),
|
||||
availableSize: CGSize(width: context.availableSize.width - 32.0, height: context.availableSize.height),
|
||||
transition: .immediate
|
||||
)
|
||||
|
|
@ -740,7 +742,7 @@ private final class StarsTransferSheetComponent: CombinedComponent {
|
|||
private let source: BotPaymentInvoiceSource
|
||||
private let extendedMedia: [TelegramExtendedMedia]
|
||||
private let inputData: Signal<(StarsContext.State, BotPaymentForm, EnginePeer?, EnginePeer?)?, NoError>
|
||||
private let navigateToPeer: (EnginePeer) -> Void
|
||||
private let navigateToPeer: ((EnginePeer) -> Void)?
|
||||
|
||||
init(
|
||||
context: AccountContext,
|
||||
|
|
@ -749,7 +751,7 @@ private final class StarsTransferSheetComponent: CombinedComponent {
|
|||
source: BotPaymentInvoiceSource,
|
||||
extendedMedia: [TelegramExtendedMedia],
|
||||
inputData: Signal<(StarsContext.State, BotPaymentForm, EnginePeer?, EnginePeer?)?, NoError>,
|
||||
navigateToPeer: @escaping (EnginePeer) -> Void
|
||||
navigateToPeer: ((EnginePeer) -> Void)?
|
||||
) {
|
||||
self.context = context
|
||||
self.starsContext = starsContext
|
||||
|
|
@ -804,6 +806,7 @@ private final class StarsTransferSheetComponent: CombinedComponent {
|
|||
backgroundColor: .color(environment.theme.list.modalBlocksBackgroundColor),
|
||||
followContentSizeChanges: true,
|
||||
clipsContent: true,
|
||||
autoAnimateOut: false,
|
||||
animateOut: animateOut
|
||||
),
|
||||
environment: {
|
||||
|
|
@ -855,7 +858,7 @@ public final class StarsTransferScreen: ViewControllerComponentContainer {
|
|||
source: BotPaymentInvoiceSource,
|
||||
extendedMedia: [TelegramExtendedMedia] = [],
|
||||
inputData: Signal<(StarsContext.State, BotPaymentForm, EnginePeer?, EnginePeer?)?, NoError>,
|
||||
navigateToPeer: @escaping (EnginePeer) -> Void = { _ in },
|
||||
navigateToPeer: ((EnginePeer) -> Void)? = nil,
|
||||
completion: @escaping (Bool) -> Void
|
||||
) {
|
||||
self.context = context
|
||||
|
|
|
|||
|
|
@ -3783,7 +3783,24 @@ public final class SharedAccountContextImpl: SharedAccountContext {
|
|||
}
|
||||
|
||||
public func makeStarsTransferScreen(context: AccountContext, starsContext: StarsContext, invoice: TelegramMediaInvoice, source: BotPaymentInvoiceSource, extendedMedia: [TelegramExtendedMedia], inputData: Signal<(StarsContext.State, BotPaymentForm, EnginePeer?, EnginePeer?)?, NoError>, completion: @escaping (Bool) -> Void) -> ViewController {
|
||||
return StarsTransferScreen(context: context, starsContext: starsContext, invoice: invoice, source: source, extendedMedia: extendedMedia, inputData: inputData, completion: completion)
|
||||
return StarsTransferScreen(context: context, starsContext: starsContext, invoice: invoice, source: source, extendedMedia: extendedMedia, inputData: inputData, navigateToPeer: { [weak self] peer in
|
||||
guard let self else {
|
||||
return
|
||||
}
|
||||
if let infoController = self.makePeerInfoController(
|
||||
context: context,
|
||||
updatedPresentationData: nil,
|
||||
peer: peer._asPeer(),
|
||||
mode: .generic,
|
||||
avatarInitiallyExpanded: peer.smallProfileImage != nil,
|
||||
fromChat: false,
|
||||
requestsContext: nil
|
||||
) {
|
||||
if let navigationController = self.mainWindow?.viewController as? NavigationController {
|
||||
navigationController.pushViewController(infoController)
|
||||
}
|
||||
}
|
||||
}, completion: completion)
|
||||
}
|
||||
|
||||
public func makeStarsSubscriptionTransferScreen(context: AccountContext, starsContext: StarsContext, invoice: TelegramMediaInvoice, link: String, inputData: Signal<(StarsContext.State, BotPaymentForm, EnginePeer?, EnginePeer?)?, NoError>, navigateToPeer: @escaping (EnginePeer) -> Void) -> ViewController {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue