mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-15 21:45:19 +00:00
remove gift
This commit is contained in:
parent
27a2f38ff6
commit
c3c4e17b13
@ -1459,10 +1459,10 @@ private final class ProfileGiftsContextImpl {
|
||||
return _internal_transferStarGift(account: self.account, prepaid: prepaid, reference: reference, peerId: peerId)
|
||||
}
|
||||
|
||||
func buyStarGift(reference: StarGiftReference, peerId: EnginePeer.Id) -> Signal<Never, BuyStarGiftError> {
|
||||
var gift = self.gifts.first(where: { $0.reference == reference })
|
||||
func buyStarGift(gift inputGift: TelegramCore.StarGift, peerId: EnginePeer.Id) -> Signal<Never, BuyStarGiftError> {
|
||||
var gift = self.gifts.first(where: { $0.gift == inputGift })
|
||||
if gift == nil {
|
||||
gift = self.filteredGifts.first(where: { $0.reference == reference })
|
||||
gift = self.filteredGifts.first(where: { $0.gift == inputGift })
|
||||
}
|
||||
guard case let .unique(uniqueGift) = gift?.gift else {
|
||||
return .complete()
|
||||
@ -1471,13 +1471,19 @@ private final class ProfileGiftsContextImpl {
|
||||
if let count = self.count {
|
||||
self.count = max(0, count - 1)
|
||||
}
|
||||
self.gifts.removeAll(where: { $0.reference == reference })
|
||||
self.filteredGifts.removeAll(where: { $0.reference == reference })
|
||||
self.gifts.removeAll(where: { $0.gift == inputGift })
|
||||
self.filteredGifts.removeAll(where: { $0.gift == inputGift })
|
||||
self.pushState()
|
||||
|
||||
return _internal_buyStarGift(account: self.account, slug: uniqueGift.slug, peerId: peerId)
|
||||
}
|
||||
|
||||
func removeStarGift(gift: TelegramCore.StarGift) {
|
||||
self.gifts.removeAll(where: { $0.gift == gift })
|
||||
self.filteredGifts.removeAll(where: { $0.gift == gift })
|
||||
self.pushState()
|
||||
}
|
||||
|
||||
func upgradeStarGift(formId: Int64?, reference: StarGiftReference, keepOriginalInfo: Bool) -> Signal<ProfileGiftsContext.State.StarGift, UpgradeStarGiftError> {
|
||||
return Signal { [weak self] subscriber in
|
||||
guard let self else {
|
||||
@ -1893,11 +1899,11 @@ public final class ProfileGiftsContext {
|
||||
}
|
||||
}
|
||||
|
||||
public func buyStarGift(reference: StarGiftReference, peerId: EnginePeer.Id) -> Signal<Never, BuyStarGiftError> {
|
||||
public func buyStarGift(gift: TelegramCore.StarGift, peerId: EnginePeer.Id) -> Signal<Never, BuyStarGiftError> {
|
||||
return Signal { subscriber in
|
||||
let disposable = MetaDisposable()
|
||||
self.impl.with { impl in
|
||||
disposable.set(impl.buyStarGift(reference: reference, peerId: peerId).start(error: { error in
|
||||
disposable.set(impl.buyStarGift(gift: gift, peerId: peerId).start(error: { error in
|
||||
subscriber.putError(error)
|
||||
}, completed: {
|
||||
subscriber.putCompletion()
|
||||
@ -1907,6 +1913,12 @@ public final class ProfileGiftsContext {
|
||||
}
|
||||
}
|
||||
|
||||
public func removeStarGift(gift: TelegramCore.StarGift) {
|
||||
self.impl.with { impl in
|
||||
impl.removeStarGift(gift: gift)
|
||||
}
|
||||
}
|
||||
|
||||
public func transferStarGift(prepaid: Bool, reference: StarGiftReference, peerId: EnginePeer.Id) -> Signal<Never, TransferStarGiftError> {
|
||||
return Signal { subscriber in
|
||||
let disposable = MetaDisposable()
|
||||
|
Loading…
x
Reference in New Issue
Block a user