2023-05-26 21:21:16 +00:00
|
|
|
/*
|
|
|
|
* This file is part of Stack Wallet.
|
|
|
|
*
|
|
|
|
* Copyright (c) 2023 Cypher Stack
|
|
|
|
* All Rights Reserved.
|
|
|
|
* The code is distributed under GPLv3 license, see LICENSE file for details.
|
|
|
|
* Generated by Cypher Stack on 2023-05-26
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
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';
|
|
|
|
|
2023-05-02 21:05:04 +00:00
|
|
|
final coinIconProvider = Provider.family<String, Coin>((ref, coin) {
|
2023-05-18 18:52:48 +00:00
|
|
|
final assets = ref.watch(themeAssetsProvider);
|
|
|
|
|
2024-01-19 23:44:01 +00:00
|
|
|
// TODO: handle this differently by adding proper frost assets to themes
|
|
|
|
if (coin == Coin.bitcoinFrost) {
|
|
|
|
coin = Coin.bitcoin;
|
|
|
|
} else if (coin == Coin.bitcoinFrostTestNet) {
|
|
|
|
coin = Coin.bitcoinTestNet;
|
|
|
|
}
|
|
|
|
|
2023-05-18 18:52:48 +00:00
|
|
|
if (assets is ThemeAssets) {
|
|
|
|
switch (coin) {
|
|
|
|
case Coin.bitcoin:
|
|
|
|
case Coin.bitcoinTestNet:
|
|
|
|
return assets.bitcoin;
|
|
|
|
case Coin.litecoin:
|
|
|
|
case Coin.litecoinTestNet:
|
|
|
|
return assets.litecoin;
|
|
|
|
case Coin.bitcoincash:
|
|
|
|
case Coin.bitcoincashTestnet:
|
|
|
|
return assets.bitcoincash;
|
|
|
|
case Coin.dogecoin:
|
|
|
|
case Coin.dogecoinTestNet:
|
|
|
|
return assets.dogecoin;
|
|
|
|
case Coin.epicCash:
|
|
|
|
return assets.epicCash;
|
|
|
|
case Coin.firo:
|
|
|
|
case Coin.firoTestNet:
|
|
|
|
return assets.firo;
|
|
|
|
case Coin.monero:
|
|
|
|
return assets.monero;
|
|
|
|
case Coin.wownero:
|
|
|
|
return assets.wownero;
|
|
|
|
case Coin.namecoin:
|
|
|
|
return assets.namecoin;
|
|
|
|
case Coin.particl:
|
|
|
|
return assets.particl;
|
|
|
|
case Coin.ethereum:
|
|
|
|
return assets.ethereum;
|
2023-05-24 18:08:32 +00:00
|
|
|
default:
|
2023-06-09 18:44:47 +00:00
|
|
|
return assets.stackIcon;
|
2023-05-18 18:52:48 +00:00
|
|
|
}
|
2023-06-08 16:35:44 +00:00
|
|
|
} else if (assets is ThemeAssetsV2) {
|
|
|
|
return (assets).coinIcons[coin.mainNetVersion]!;
|
2023-05-18 18:52:48 +00:00
|
|
|
} else {
|
2023-06-08 16:35:44 +00:00
|
|
|
return (assets as ThemeAssetsV3).coinIcons[coin.mainNetVersion]!;
|
2023-05-01 20:14:08 +00:00
|
|
|
}
|
|
|
|
});
|