mirror of
https://github.com/cypherstack/stack_wallet.git
synced 2024-12-27 05:49:21 +00:00
125 lines
3.9 KiB
Dart
125 lines
3.9 KiB
Dart
/*
|
|
* 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
|
|
*
|
|
*/
|
|
|
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
import 'package:stackwallet/models/isar/stack_theme.dart';
|
|
import 'package:stackwallet/themes/theme_providers.dart';
|
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
|
|
|
final coinImageProvider = Provider.family<String, Coin>((ref, coin) {
|
|
final assets = ref.watch(themeAssetsProvider);
|
|
|
|
// 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;
|
|
}
|
|
|
|
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;
|
|
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;
|
|
default:
|
|
return assets.stackIcon;
|
|
}
|
|
} else if (assets is ThemeAssetsV2) {
|
|
return (assets).coinImages[coin.mainNetVersion]!;
|
|
} else {
|
|
return (assets as ThemeAssetsV3).coinImages[coin.mainNetVersion]!;
|
|
}
|
|
});
|
|
|
|
final coinImageSecondaryProvider = Provider.family<String, Coin>((ref, coin) {
|
|
final assets = ref.watch(themeAssetsProvider);
|
|
|
|
// 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;
|
|
}
|
|
|
|
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;
|
|
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;
|
|
|
|
default:
|
|
return assets.stackIcon;
|
|
}
|
|
} else if (assets is ThemeAssetsV2) {
|
|
return (assets).coinSecondaryImages[coin.mainNetVersion]!;
|
|
} else {
|
|
return (assets as ThemeAssetsV3).coinSecondaryImages[coin.mainNetVersion]!;
|
|
}
|
|
});
|