mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-11-29 11:25:38 +00:00
- bugfixes
This commit is contained in:
parent
928f79cb68
commit
d33703bc1b
@ -151,7 +151,7 @@ private final class StarsContextImpl {
|
|||||||
guard let self, let state = self._state, let balance = balances[peerId] else {
|
guard let self, let state = self._state, let balance = balances[peerId] else {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
self._state = StarsContext.State(balance: balance, transactions: state.transactions, canLoadMore: nextOffset != nil)
|
self._state = StarsContext.State(balance: balance, transactions: state.transactions, canLoadMore: nextOffset != nil, isLoading: false)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -168,7 +168,7 @@ private final class StarsContextImpl {
|
|||||||
|> deliverOnMainQueue).start(next: { [weak self] status in
|
|> deliverOnMainQueue).start(next: { [weak self] status in
|
||||||
if let self {
|
if let self {
|
||||||
if let status {
|
if let status {
|
||||||
self._state = StarsContext.State(balance: status.balance, transactions: status.transactions, canLoadMore: status.nextOffset != nil)
|
self._state = StarsContext.State(balance: status.balance, transactions: status.transactions, canLoadMore: status.nextOffset != nil, isLoading: false)
|
||||||
self.nextOffset = status.nextOffset
|
self.nextOffset = status.nextOffset
|
||||||
} else {
|
} else {
|
||||||
self._state = nil
|
self._state = nil
|
||||||
@ -178,10 +178,12 @@ private final class StarsContextImpl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func add(balance: Int64) {
|
func add(balance: Int64) {
|
||||||
if let state = self._state {
|
if var state = self._state {
|
||||||
var transactions = state.transactions
|
var transactions = state.transactions
|
||||||
transactions.insert(.init(id: "\(arc4random())", count: balance, date: Int32(Date().timeIntervalSince1970), peer: .appStore), at: 0)
|
transactions.insert(.init(id: "\(arc4random())", count: balance, date: Int32(Date().timeIntervalSince1970), peer: .appStore), at: 0)
|
||||||
self._state = StarsContext.State(balance: state.balance + balance, transactions: transactions, canLoadMore: nextOffset != nil)
|
|
||||||
|
state.balance = state.balance + balance
|
||||||
|
self._state = state
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -191,11 +193,14 @@ private final class StarsContextImpl {
|
|||||||
guard let currentState = self._state, let nextOffset = self.nextOffset else {
|
guard let currentState = self._state, let nextOffset = self.nextOffset else {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
self._state?.isLoading = true
|
||||||
|
|
||||||
self.disposable.set((requestStarsState(account: self.account, peerId: self.peerId, offset: nextOffset)
|
self.disposable.set((requestStarsState(account: self.account, peerId: self.peerId, offset: nextOffset)
|
||||||
|> deliverOnMainQueue).start(next: { [weak self] status in
|
|> deliverOnMainQueue).start(next: { [weak self] status in
|
||||||
if let self {
|
if let self {
|
||||||
if let status {
|
if let status {
|
||||||
self._state = StarsContext.State(balance: status.balance, transactions: currentState.transactions + status.transactions, canLoadMore: status.nextOffset != nil)
|
self._state = StarsContext.State(balance: status.balance, transactions: currentState.transactions + status.transactions, canLoadMore: status.nextOffset != nil, isLoading: false)
|
||||||
self.nextOffset = status.nextOffset
|
self.nextOffset = status.nextOffset
|
||||||
} else {
|
} else {
|
||||||
self.nextOffset = nil
|
self.nextOffset = nil
|
||||||
@ -251,13 +256,15 @@ public final class StarsContext {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public let balance: Int64
|
public var balance: Int64
|
||||||
public let transactions: [Transaction]
|
public var transactions: [Transaction]
|
||||||
public let canLoadMore: Bool
|
public var canLoadMore: Bool
|
||||||
init(balance: Int64, transactions: [Transaction], canLoadMore: Bool) {
|
public var isLoading: Bool
|
||||||
|
init(balance: Int64, transactions: [Transaction], canLoadMore: Bool, isLoading: Bool) {
|
||||||
self.balance = balance
|
self.balance = balance
|
||||||
self.transactions = transactions
|
self.transactions = transactions
|
||||||
self.canLoadMore = canLoadMore
|
self.canLoadMore = canLoadMore
|
||||||
|
self.isLoading = isLoading
|
||||||
}
|
}
|
||||||
|
|
||||||
public static func == (lhs: State, rhs: State) -> Bool {
|
public static func == (lhs: State, rhs: State) -> Bool {
|
||||||
@ -270,6 +277,9 @@ public final class StarsContext {
|
|||||||
if lhs.canLoadMore != rhs.canLoadMore {
|
if lhs.canLoadMore != rhs.canLoadMore {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
if lhs.isLoading != rhs.isLoading {
|
||||||
|
return false
|
||||||
|
}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user