Updated on 2026-08-14
This commit is contained in:
parent
0574ddfb4b
commit
5409bed291
15 changed files with 135 additions and 42 deletions
|
|
@ -14,4 +14,5 @@ sealed class GlobalAction : Action {
|
|||
object RestoreAppCurrency : GlobalAction() {
|
||||
data class Success(val appCurrency: FiatCurrencyName) : GlobalAction()
|
||||
}
|
||||
data class UpdateWalletSignedHashes(val walletSignedHashes: Int) : GlobalAction()
|
||||
}
|
||||
|
|
@ -7,22 +7,32 @@ fun globalReducer(action: Action, state: AppState): GlobalState {
|
|||
|
||||
if (action !is GlobalAction) return state.globalState
|
||||
|
||||
var newState = state.globalState
|
||||
val globalState = state.globalState
|
||||
|
||||
when (action) {
|
||||
return when (action) {
|
||||
is GlobalAction.SaveScanNoteResponse ->
|
||||
newState = newState.copy(scanNoteResponse = action.scanNoteResponse)
|
||||
globalState.copy(scanNoteResponse = action.scanNoteResponse)
|
||||
is GlobalAction.SetFiatRate -> {
|
||||
val rates = newState.conversionRates.rates.toMutableMap()
|
||||
val rates = globalState.conversionRates.rates.toMutableMap()
|
||||
rates[action.fiatRates.first] = action.fiatRates.second
|
||||
newState = newState.copy(conversionRates = ConversionRates(rates))
|
||||
globalState.copy(conversionRates = ConversionRates(rates))
|
||||
}
|
||||
is GlobalAction.ChangeAppCurrency -> {
|
||||
newState = newState.copy(appCurrency = action.appCurrency, conversionRates = ConversionRates(mapOf()))
|
||||
globalState.copy(appCurrency = action.appCurrency, conversionRates = ConversionRates(mapOf()))
|
||||
}
|
||||
is GlobalAction.RestoreAppCurrency.Success -> {
|
||||
newState = newState.copy(appCurrency = action.appCurrency, conversionRates = ConversionRates(mapOf()))
|
||||
globalState.copy(appCurrency = action.appCurrency, conversionRates = ConversionRates(mapOf()))
|
||||
}
|
||||
is GlobalAction.UpdateWalletSignedHashes -> {
|
||||
val card = globalState.scanNoteResponse?.card?.copy(
|
||||
walletSignedHashes = action.walletSignedHashes
|
||||
)
|
||||
if (card != null) {
|
||||
globalState.copy(scanNoteResponse = globalState.scanNoteResponse.copy(card = card))
|
||||
} else {
|
||||
globalState
|
||||
}
|
||||
}
|
||||
else -> globalState
|
||||
}
|
||||
return newState
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue