2023-05-01 20:14:08 +00:00
|
|
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
2023-05-18 18:52:48 +00:00
|
|
|
import 'package:stackwallet/models/isar/stack_theme.dart';
|
2023-05-01 20:14:08 +00:00
|
|
|
import 'package:stackwallet/themes/theme_providers.dart';
|
|
|
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
|
|
|
|
|
|
|
final coinImageProvider = Provider.family<String, Coin>((ref, coin) {
|
2023-05-18 18:52:48 +00:00
|
|
|
final assets = ref.watch(themeAssetsProvider);
|
|
|
|
|
|
|
|
if (assets is ThemeAssets) {
|
|
|
|
switch (coin) {
|
|
|
|
case Coin.bitcoin:
|
|
|
|
return assets.bitcoinImage;
|
|
|
|
case Coin.litecoin:
|
|
|
|
case Coin.litecoinTestNet:
|
|
|
|
return assets.litecoinImage;
|
|
|
|
case Coin.bitcoincash:
|
|
|
|
return assets.bitcoincashImage;
|
|
|
|
case Coin.dogecoin:
|
|
|
|
return assets.dogecoinImage;
|
|
|
|
case Coin.eCash:
|
|
|
|
return assets.bitcoinImage;
|
|
|
|
case Coin.epicCash:
|
|
|
|
return assets.epicCashImage;
|
|
|
|
case Coin.firo:
|
|
|
|
return assets.firoImage;
|
|
|
|
case Coin.monero:
|
|
|
|
return assets.moneroImage;
|
|
|
|
case Coin.wownero:
|
|
|
|
return assets.wowneroImage;
|
|
|
|
case Coin.namecoin:
|
|
|
|
return assets.namecoinImage;
|
|
|
|
case Coin.particl:
|
|
|
|
return assets.particlImage;
|
2023-06-12 19:03:32 +00:00
|
|
|
case Coin.tezos:
|
|
|
|
return assets.tezosImage;
|
2023-05-18 18:52:48 +00:00
|
|
|
case Coin.bitcoinTestNet:
|
|
|
|
return assets.bitcoinImage;
|
|
|
|
case Coin.bitcoincashTestnet:
|
|
|
|
return assets.bitcoincashImage;
|
|
|
|
case Coin.firoTestNet:
|
|
|
|
return assets.firoImage;
|
|
|
|
case Coin.dogecoinTestNet:
|
|
|
|
return assets.dogecoinImage;
|
|
|
|
case Coin.ethereum:
|
|
|
|
return assets.ethereumImage;
|
|
|
|
}
|
|
|
|
} else {
|
2023-05-18 22:13:52 +00:00
|
|
|
return (assets as ThemeAssetsV2).coinImages[coin.mainNetVersion]!;
|
2023-05-01 20:14:08 +00:00
|
|
|
}
|
|
|
|
});
|
2023-05-09 16:36:01 +00:00
|
|
|
|
|
|
|
final coinImageSecondaryProvider = Provider.family<String, Coin>((ref, coin) {
|
2023-05-18 18:52:48 +00:00
|
|
|
final assets = ref.watch(themeAssetsProvider);
|
|
|
|
|
|
|
|
if (assets is ThemeAssets) {
|
|
|
|
switch (coin) {
|
|
|
|
case Coin.bitcoin:
|
|
|
|
return assets.bitcoinImageSecondary;
|
|
|
|
case Coin.litecoin:
|
|
|
|
case Coin.litecoinTestNet:
|
|
|
|
return assets.litecoinImageSecondary;
|
|
|
|
case Coin.bitcoincash:
|
|
|
|
return assets.bitcoincashImageSecondary;
|
|
|
|
case Coin.dogecoin:
|
|
|
|
return assets.dogecoinImageSecondary;
|
|
|
|
case Coin.eCash:
|
|
|
|
return assets.bitcoinImageSecondary;
|
|
|
|
case Coin.epicCash:
|
|
|
|
return assets.epicCashImageSecondary;
|
|
|
|
case Coin.firo:
|
|
|
|
return assets.firoImageSecondary;
|
|
|
|
case Coin.monero:
|
|
|
|
return assets.moneroImageSecondary;
|
|
|
|
case Coin.wownero:
|
|
|
|
return assets.wowneroImageSecondary;
|
|
|
|
case Coin.namecoin:
|
|
|
|
return assets.namecoinImageSecondary;
|
|
|
|
case Coin.particl:
|
|
|
|
return assets.particlImageSecondary;
|
2023-06-12 19:03:32 +00:00
|
|
|
case Coin.tezos:
|
|
|
|
return assets.tezosImageSecondary;
|
2023-05-18 18:52:48 +00:00
|
|
|
case Coin.bitcoinTestNet:
|
|
|
|
return assets.bitcoinImageSecondary;
|
|
|
|
case Coin.bitcoincashTestnet:
|
|
|
|
return assets.bitcoincashImageSecondary;
|
|
|
|
case Coin.firoTestNet:
|
|
|
|
return assets.firoImageSecondary;
|
|
|
|
case Coin.dogecoinTestNet:
|
|
|
|
return assets.dogecoinImageSecondary;
|
|
|
|
case Coin.ethereum:
|
|
|
|
return assets.ethereumImageSecondary;
|
|
|
|
}
|
|
|
|
} else {
|
2023-05-18 22:13:52 +00:00
|
|
|
return (assets as ThemeAssetsV2).coinSecondaryImages[coin.mainNetVersion]!;
|
2023-05-09 16:36:01 +00:00
|
|
|
}
|
|
|
|
});
|