diff --git a/cointop/conversion.go b/cointop/conversion.go index 51756c7..bbe2a2e 100644 --- a/cointop/conversion.go +++ b/cointop/conversion.go @@ -241,7 +241,7 @@ func (ct *Cointop) SetCurrencyConverstionFn(convert string) func() error { if err := ct.Save(); err != nil { return err } - + go ct.UpdateCurrentPageCoins() go ct.RefreshAll() return nil } diff --git a/cointop/list.go b/cointop/list.go index 94d28cd..ff66e6a 100644 --- a/cointop/list.go +++ b/cointop/list.go @@ -46,6 +46,22 @@ func (ct *Cointop) UpdateCoins() error { return nil } +// UpdateCurrentPageCoins updates all the coins in the current page +func (ct *Cointop) UpdateCurrentPageCoins() error { + log.Debugf("UpdateCurrentPageCoins(%d)", len(ct.State.coins)) + currentPageCoins := make([]string, len(ct.State.coins)) + for i, entry := range ct.State.coins { + currentPageCoins[i] = entry.Name + } + + coins, err := ct.api.GetCoinDataBatch(currentPageCoins, ct.State.currencyConversion) + if err != nil { + return err + } + go ct.processCoins(coins) + return nil +} + // ProcessCoinsMap processes coins map func (ct *Cointop) processCoinsMap(coinsMap map[string]types.Coin) { log.Debug("ProcessCoinsMap()")