diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 01cd71173..3704f1488 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -8,10 +8,13 @@ jobs: - name: Prepare repository uses: actions/checkout@v3 with: - flutter-version: '3.3.4' + flutter-version: '3.7.10' + channel: 'stable' + - name: Install Flutter + uses: subosito/flutter-action@v2 + with: + flutter-version: '3.7.10' channel: 'stable' - - name: Install Flutter - uses: subosito/flutter-action@v2 - name: Setup | Rust uses: ATiltedTree/setup-rust@v1 with: diff --git a/assets/default_themes/dark.zip b/assets/default_themes/dark.zip new file mode 100644 index 000000000..ba8404f9c Binary files /dev/null and b/assets/default_themes/dark.zip differ diff --git a/assets/default_themes/light.zip b/assets/default_themes/light.zip new file mode 100644 index 000000000..8cfefa953 Binary files /dev/null and b/assets/default_themes/light.zip differ diff --git a/assets/gif/coins/bitcoin/kiss.gif b/assets/gif/coins/bitcoin/kiss.gif deleted file mode 100644 index 4c645a8c2..000000000 Binary files a/assets/gif/coins/bitcoin/kiss.gif and /dev/null differ diff --git a/assets/gif/coins/bitcoin/plain.gif b/assets/gif/coins/bitcoin/plain.gif deleted file mode 100644 index f2fce4f49..000000000 Binary files a/assets/gif/coins/bitcoin/plain.gif and /dev/null differ diff --git a/assets/gif/coins/bitcoincash/kiss.gif b/assets/gif/coins/bitcoincash/kiss.gif deleted file mode 100644 index 97013d1a1..000000000 Binary files a/assets/gif/coins/bitcoincash/kiss.gif and /dev/null differ diff --git a/assets/gif/coins/bitcoincash/plain.gif b/assets/gif/coins/bitcoincash/plain.gif deleted file mode 100644 index 1d764d132..000000000 Binary files a/assets/gif/coins/bitcoincash/plain.gif and /dev/null differ diff --git a/assets/gif/coins/dogecoin/kiss.gif b/assets/gif/coins/dogecoin/kiss.gif deleted file mode 100644 index 1c0a7f57c..000000000 Binary files a/assets/gif/coins/dogecoin/kiss.gif and /dev/null differ diff --git a/assets/gif/coins/dogecoin/plain.gif b/assets/gif/coins/dogecoin/plain.gif deleted file mode 100644 index 19ac9c474..000000000 Binary files a/assets/gif/coins/dogecoin/plain.gif and /dev/null differ diff --git a/assets/gif/coins/epicCash/kiss.gif b/assets/gif/coins/epicCash/kiss.gif deleted file mode 100644 index 2b71c1291..000000000 Binary files a/assets/gif/coins/epicCash/kiss.gif and /dev/null differ diff --git a/assets/gif/coins/epicCash/plain.gif b/assets/gif/coins/epicCash/plain.gif deleted file mode 100644 index 3ad6ef13d..000000000 Binary files a/assets/gif/coins/epicCash/plain.gif and /dev/null differ diff --git a/assets/gif/coins/ethereum/kiss.gif b/assets/gif/coins/ethereum/kiss.gif deleted file mode 100644 index 1399368e7..000000000 Binary files a/assets/gif/coins/ethereum/kiss.gif and /dev/null differ diff --git a/assets/gif/coins/ethereum/plain.gif b/assets/gif/coins/ethereum/plain.gif deleted file mode 100644 index 040f643ce..000000000 Binary files a/assets/gif/coins/ethereum/plain.gif and /dev/null differ diff --git a/assets/gif/coins/firo/kiss.gif b/assets/gif/coins/firo/kiss.gif deleted file mode 100644 index b969feae5..000000000 Binary files a/assets/gif/coins/firo/kiss.gif and /dev/null differ diff --git a/assets/gif/coins/firo/plain.gif b/assets/gif/coins/firo/plain.gif deleted file mode 100644 index 535098f46..000000000 Binary files a/assets/gif/coins/firo/plain.gif and /dev/null differ diff --git a/assets/gif/coins/litecoin/kiss.gif b/assets/gif/coins/litecoin/kiss.gif deleted file mode 100644 index 2e0ed64d4..000000000 Binary files a/assets/gif/coins/litecoin/kiss.gif and /dev/null differ diff --git a/assets/gif/coins/litecoin/plain.gif b/assets/gif/coins/litecoin/plain.gif deleted file mode 100644 index 0a1d55170..000000000 Binary files a/assets/gif/coins/litecoin/plain.gif and /dev/null differ diff --git a/assets/gif/coins/monero/kiss.gif b/assets/gif/coins/monero/kiss.gif deleted file mode 100644 index 173bc8f9c..000000000 Binary files a/assets/gif/coins/monero/kiss.gif and /dev/null differ diff --git a/assets/gif/coins/monero/plain.gif b/assets/gif/coins/monero/plain.gif deleted file mode 100644 index 7d93c50c8..000000000 Binary files a/assets/gif/coins/monero/plain.gif and /dev/null differ diff --git a/assets/gif/coins/namecoin/kiss.gif b/assets/gif/coins/namecoin/kiss.gif deleted file mode 100644 index 5d773fa4c..000000000 Binary files a/assets/gif/coins/namecoin/kiss.gif and /dev/null differ diff --git a/assets/gif/coins/namecoin/plain.gif b/assets/gif/coins/namecoin/plain.gif deleted file mode 100644 index f08720983..000000000 Binary files a/assets/gif/coins/namecoin/plain.gif and /dev/null differ diff --git a/assets/gif/coins/particl/kiss.gif b/assets/gif/coins/particl/kiss.gif deleted file mode 100644 index da138ea07..000000000 Binary files a/assets/gif/coins/particl/kiss.gif and /dev/null differ diff --git a/assets/gif/coins/particl/plain.gif b/assets/gif/coins/particl/plain.gif deleted file mode 100644 index adba9b545..000000000 Binary files a/assets/gif/coins/particl/plain.gif and /dev/null differ diff --git a/assets/gif/coins/wownero/kiss.gif b/assets/gif/coins/wownero/kiss.gif deleted file mode 100644 index e3fd05fa3..000000000 Binary files a/assets/gif/coins/wownero/kiss.gif and /dev/null differ diff --git a/assets/gif/coins/wownero/plain.gif b/assets/gif/coins/wownero/plain.gif deleted file mode 100644 index fd498a875..000000000 Binary files a/assets/gif/coins/wownero/plain.gif and /dev/null differ diff --git a/assets/gif/stacy-plain.gif b/assets/gif/stacy-plain.gif deleted file mode 100644 index 8fde2db6f..000000000 Binary files a/assets/gif/stacy-plain.gif and /dev/null differ diff --git a/assets/images/chan-persona-easy.png b/assets/images/chan-persona-easy.png deleted file mode 100644 index e76af7c55..000000000 Binary files a/assets/images/chan-persona-easy.png and /dev/null differ diff --git a/assets/images/chan-persona-incognito.png b/assets/images/chan-persona-incognito.png deleted file mode 100644 index 57ccb555b..000000000 Binary files a/assets/images/chan-persona-incognito.png and /dev/null differ diff --git a/assets/images/forest/ethereum.png b/assets/images/forest/ethereum.png deleted file mode 100644 index 2827ad56e..000000000 Binary files a/assets/images/forest/ethereum.png and /dev/null differ diff --git a/assets/images/fruitSorbet/ethereum.png b/assets/images/fruitSorbet/ethereum.png deleted file mode 100644 index 2827ad56e..000000000 Binary files a/assets/images/fruitSorbet/ethereum.png and /dev/null differ diff --git a/assets/images/fruitSorbet/ethereum.svg b/assets/images/fruitSorbet/ethereum.svg deleted file mode 100644 index df9a44d1e..000000000 --- a/assets/images/fruitSorbet/ethereum.svg +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/images/light/ethereum.png b/assets/images/light/ethereum.png deleted file mode 100644 index 2827ad56e..000000000 Binary files a/assets/images/light/ethereum.png and /dev/null differ diff --git a/assets/images/light/ethereum.svg b/assets/images/light/ethereum.svg deleted file mode 100644 index df9a44d1e..000000000 --- a/assets/images/light/ethereum.svg +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/images/oceanBreeze/ethereum.png b/assets/images/oceanBreeze/ethereum.png deleted file mode 100644 index 2827ad56e..000000000 Binary files a/assets/images/oceanBreeze/ethereum.png and /dev/null differ diff --git a/assets/images/oceanBreeze/ethereum.svg b/assets/images/oceanBreeze/ethereum.svg deleted file mode 100644 index df9a44d1e..000000000 --- a/assets/images/oceanBreeze/ethereum.svg +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/images/oledBlack/ethereum.png b/assets/images/oledBlack/ethereum.png deleted file mode 100644 index 2827ad56e..000000000 Binary files a/assets/images/oledBlack/ethereum.png and /dev/null differ diff --git a/assets/images/oledBlack/ethereum.svg b/assets/images/oledBlack/ethereum.svg deleted file mode 100644 index df9a44d1e..000000000 --- a/assets/images/oledBlack/ethereum.svg +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/chanstheme.svg b/assets/svg/chanstheme.svg deleted file mode 100644 index 0a94d5f57..000000000 --- a/assets/svg/chanstheme.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/assets/svg/coin_icons/Bitcoin.svg b/assets/svg/coin_icons/Bitcoin.svg deleted file mode 100644 index b86bdd431..000000000 --- a/assets/svg/coin_icons/Bitcoin.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/svg/coin_icons/Bitcoincash.svg b/assets/svg/coin_icons/Bitcoincash.svg deleted file mode 100644 index a36597b89..000000000 --- a/assets/svg/coin_icons/Bitcoincash.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/svg/coin_icons/Dogecoin.svg b/assets/svg/coin_icons/Dogecoin.svg deleted file mode 100644 index 04d8b88d9..000000000 --- a/assets/svg/coin_icons/Dogecoin.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/svg/coin_icons/EpicCash.svg b/assets/svg/coin_icons/EpicCash.svg deleted file mode 100644 index d334b9296..000000000 --- a/assets/svg/coin_icons/EpicCash.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/svg/coin_icons/Ethereum.svg b/assets/svg/coin_icons/Ethereum.svg deleted file mode 100644 index 77020df7b..000000000 --- a/assets/svg/coin_icons/Ethereum.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/coin_icons/Firo.svg b/assets/svg/coin_icons/Firo.svg deleted file mode 100644 index d4571d949..000000000 --- a/assets/svg/coin_icons/Firo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/svg/coin_icons/Litecoin.svg b/assets/svg/coin_icons/Litecoin.svg deleted file mode 100644 index f662c0a95..000000000 --- a/assets/svg/coin_icons/Litecoin.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/svg/coin_icons/Monero.svg b/assets/svg/coin_icons/Monero.svg deleted file mode 100644 index 0b2e38984..000000000 --- a/assets/svg/coin_icons/Monero.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/svg/coin_icons/Namecoin.svg b/assets/svg/coin_icons/Namecoin.svg deleted file mode 100644 index d26988c61..000000000 --- a/assets/svg/coin_icons/Namecoin.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/svg/coin_icons/Particl.svg b/assets/svg/coin_icons/Particl.svg deleted file mode 100644 index f9e792e14..000000000 --- a/assets/svg/coin_icons/Particl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/svg/coin_icons/Wownero.svg b/assets/svg/coin_icons/Wownero.svg deleted file mode 100644 index c768d746f..000000000 --- a/assets/svg/coin_icons/Wownero.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/svg/coin_icons/bnb_icon.svg b/assets/svg/coin_icons/bnb_icon.svg deleted file mode 100644 index d32653823..000000000 --- a/assets/svg/coin_icons/bnb_icon.svg +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - diff --git a/assets/svg/darkChansTheme.svg b/assets/svg/darkChansTheme.svg deleted file mode 100644 index 5bcca42fd..000000000 --- a/assets/svg/darkChansTheme.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/assets/svg/file-upload.svg b/assets/svg/file-upload.svg new file mode 100644 index 000000000..0e3576cbe --- /dev/null +++ b/assets/svg/file-upload.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/svg/file.svg b/assets/svg/file.svg new file mode 100644 index 000000000..afe1d662e --- /dev/null +++ b/assets/svg/file.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/svg/forest-theme.svg b/assets/svg/forest-theme.svg deleted file mode 100644 index fd73b92a6..000000000 --- a/assets/svg/forest-theme.svg +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/fruit-sorbet-theme.svg b/assets/svg/fruit-sorbet-theme.svg deleted file mode 100644 index ca090c713..000000000 --- a/assets/svg/fruit-sorbet-theme.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/ocean-breeze-theme.svg b/assets/svg/ocean-breeze-theme.svg deleted file mode 100644 index 298a0a372..000000000 --- a/assets/svg/ocean-breeze-theme.svg +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/oled-black-theme.svg b/assets/svg/oled-black-theme.svg deleted file mode 100644 index d52469e4b..000000000 --- a/assets/svg/oled-black-theme.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/orange-theme.svg b/assets/svg/orange-theme.svg deleted file mode 100644 index 876e933b4..000000000 --- a/assets/svg/orange-theme.svg +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/dark/bell-new.svg b/assets/svg/themed/dark/bell-new.svg deleted file mode 100644 index f976e0986..000000000 --- a/assets/svg/themed/dark/bell-new.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/svg/themed/dark/bitcoin.svg b/assets/svg/themed/dark/bitcoin.svg deleted file mode 100644 index c03761586..000000000 --- a/assets/svg/themed/dark/bitcoin.svg +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/dark/bitcoincash.svg b/assets/svg/themed/dark/bitcoincash.svg deleted file mode 100644 index 27ea7a8fa..000000000 --- a/assets/svg/themed/dark/bitcoincash.svg +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/dark/buy-coins-icon.svg b/assets/svg/themed/dark/buy-coins-icon.svg deleted file mode 100644 index 9170c4190..000000000 --- a/assets/svg/themed/dark/buy-coins-icon.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/dark/doge.svg b/assets/svg/themed/dark/doge.svg deleted file mode 100644 index f70d0e3c4..000000000 --- a/assets/svg/themed/dark/doge.svg +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/dark/epic-cash.svg b/assets/svg/themed/dark/epic-cash.svg deleted file mode 100644 index 0a5e9cbb4..000000000 --- a/assets/svg/themed/dark/epic-cash.svg +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/dark/ethereum.svg b/assets/svg/themed/dark/ethereum.svg deleted file mode 100644 index df9a44d1e..000000000 --- a/assets/svg/themed/dark/ethereum.svg +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/dark/exchange-2.svg b/assets/svg/themed/dark/exchange-2.svg deleted file mode 100644 index ee04dcebe..000000000 --- a/assets/svg/themed/dark/exchange-2.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/assets/svg/themed/dark/firo.svg b/assets/svg/themed/dark/firo.svg deleted file mode 100644 index 27c86b5aa..000000000 --- a/assets/svg/themed/dark/firo.svg +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/dark/litecoin.svg b/assets/svg/themed/dark/litecoin.svg deleted file mode 100644 index 4c68c9a12..000000000 --- a/assets/svg/themed/dark/litecoin.svg +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/dark/monero.svg b/assets/svg/themed/dark/monero.svg deleted file mode 100644 index 82ecbf3bb..000000000 --- a/assets/svg/themed/dark/monero.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/dark/namecoin.svg b/assets/svg/themed/dark/namecoin.svg deleted file mode 100644 index a842d947f..000000000 --- a/assets/svg/themed/dark/namecoin.svg +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/dark/particl.svg b/assets/svg/themed/dark/particl.svg deleted file mode 100644 index 5a4d9b291..000000000 --- a/assets/svg/themed/dark/particl.svg +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/dark/persona-easy-1.svg b/assets/svg/themed/dark/persona-easy-1.svg deleted file mode 100644 index 1e15b8dab..000000000 --- a/assets/svg/themed/dark/persona-easy-1.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/svg/themed/dark/persona-incognito-1.svg b/assets/svg/themed/dark/persona-incognito-1.svg deleted file mode 100644 index c31c285b1..000000000 --- a/assets/svg/themed/dark/persona-incognito-1.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/svg/themed/dark/stack-icon1.svg b/assets/svg/themed/dark/stack-icon1.svg deleted file mode 100644 index 4fb16176a..000000000 --- a/assets/svg/themed/dark/stack-icon1.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/svg/themed/dark/stack.svg b/assets/svg/themed/dark/stack.svg deleted file mode 100644 index 94929475d..000000000 --- a/assets/svg/themed/dark/stack.svg +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/dark/tx-exchange-icon-failed.svg b/assets/svg/themed/dark/tx-exchange-icon-failed.svg deleted file mode 100644 index 64acda4e9..000000000 --- a/assets/svg/themed/dark/tx-exchange-icon-failed.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/assets/svg/themed/dark/tx-exchange-icon-pending.svg b/assets/svg/themed/dark/tx-exchange-icon-pending.svg deleted file mode 100644 index f9cdeb7c2..000000000 --- a/assets/svg/themed/dark/tx-exchange-icon-pending.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/assets/svg/themed/dark/tx-exchange-icon.svg b/assets/svg/themed/dark/tx-exchange-icon.svg deleted file mode 100644 index 36b2cf7cc..000000000 --- a/assets/svg/themed/dark/tx-exchange-icon.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/assets/svg/themed/dark/tx-icon-receive-failed.svg b/assets/svg/themed/dark/tx-icon-receive-failed.svg deleted file mode 100644 index cb1d500b1..000000000 --- a/assets/svg/themed/dark/tx-icon-receive-failed.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/assets/svg/themed/dark/tx-icon-receive-pending.svg b/assets/svg/themed/dark/tx-icon-receive-pending.svg deleted file mode 100644 index efb8350b3..000000000 --- a/assets/svg/themed/dark/tx-icon-receive-pending.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/assets/svg/themed/dark/tx-icon-receive.svg b/assets/svg/themed/dark/tx-icon-receive.svg deleted file mode 100644 index 15be19d52..000000000 --- a/assets/svg/themed/dark/tx-icon-receive.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/assets/svg/themed/dark/tx-icon-send-failed.svg b/assets/svg/themed/dark/tx-icon-send-failed.svg deleted file mode 100644 index 2be637ef3..000000000 --- a/assets/svg/themed/dark/tx-icon-send-failed.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/assets/svg/themed/dark/tx-icon-send-pending.svg b/assets/svg/themed/dark/tx-icon-send-pending.svg deleted file mode 100644 index 50cca5a9e..000000000 --- a/assets/svg/themed/dark/tx-icon-send-pending.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/assets/svg/themed/dark/tx-icon-send.svg b/assets/svg/themed/dark/tx-icon-send.svg deleted file mode 100644 index 0e64ee37e..000000000 --- a/assets/svg/themed/dark/tx-icon-send.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/assets/svg/themed/dark/wownero.svg b/assets/svg/themed/dark/wownero.svg deleted file mode 100644 index 15f3a317d..000000000 --- a/assets/svg/themed/dark/wownero.svg +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/forest/bell-new.svg b/assets/svg/themed/forest/bell-new.svg deleted file mode 100644 index 2ca7ccca6..000000000 --- a/assets/svg/themed/forest/bell-new.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/svg/themed/forest/bg.svg b/assets/svg/themed/forest/bg.svg deleted file mode 100644 index 70a082bbe..000000000 --- a/assets/svg/themed/forest/bg.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/forest/bitcoin.svg b/assets/svg/themed/forest/bitcoin.svg deleted file mode 100644 index 09a56308d..000000000 --- a/assets/svg/themed/forest/bitcoin.svg +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/forest/bitcoincash.svg b/assets/svg/themed/forest/bitcoincash.svg deleted file mode 100644 index 3fa8aed39..000000000 --- a/assets/svg/themed/forest/bitcoincash.svg +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/forest/buy-coins-icon.svg b/assets/svg/themed/forest/buy-coins-icon.svg deleted file mode 100644 index 9db3fb792..000000000 --- a/assets/svg/themed/forest/buy-coins-icon.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/forest/doge.svg b/assets/svg/themed/forest/doge.svg deleted file mode 100644 index 1bf72f38f..000000000 --- a/assets/svg/themed/forest/doge.svg +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/forest/epic-cash.svg b/assets/svg/themed/forest/epic-cash.svg deleted file mode 100644 index 2a7e0654b..000000000 --- a/assets/svg/themed/forest/epic-cash.svg +++ /dev/null @@ -1,260 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/forest/ethereum.svg b/assets/svg/themed/forest/ethereum.svg deleted file mode 100644 index 8ffac3415..000000000 --- a/assets/svg/themed/forest/ethereum.svg +++ /dev/null @@ -1,243 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/forest/exchange-2.svg b/assets/svg/themed/forest/exchange-2.svg deleted file mode 100644 index 597c2b1ac..000000000 --- a/assets/svg/themed/forest/exchange-2.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/assets/svg/themed/forest/firo.svg b/assets/svg/themed/forest/firo.svg deleted file mode 100644 index 205772a2e..000000000 --- a/assets/svg/themed/forest/firo.svg +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/forest/litecoin.svg b/assets/svg/themed/forest/litecoin.svg deleted file mode 100644 index 8427255b6..000000000 --- a/assets/svg/themed/forest/litecoin.svg +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/forest/monero.svg b/assets/svg/themed/forest/monero.svg deleted file mode 100644 index d14b26c0a..000000000 --- a/assets/svg/themed/forest/monero.svg +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/forest/namecoin.svg b/assets/svg/themed/forest/namecoin.svg deleted file mode 100644 index d960d2fe7..000000000 --- a/assets/svg/themed/forest/namecoin.svg +++ /dev/null @@ -1,287 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/forest/particl.svg b/assets/svg/themed/forest/particl.svg deleted file mode 100644 index fa5773d0b..000000000 --- a/assets/svg/themed/forest/particl.svg +++ /dev/null @@ -1,283 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/forest/persona-easy-1.svg b/assets/svg/themed/forest/persona-easy-1.svg deleted file mode 100644 index 11383fbaf..000000000 --- a/assets/svg/themed/forest/persona-easy-1.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/svg/themed/forest/persona-incognito-1.svg b/assets/svg/themed/forest/persona-incognito-1.svg deleted file mode 100644 index 526a8f4a0..000000000 --- a/assets/svg/themed/forest/persona-incognito-1.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/svg/themed/forest/stack-icon1.svg b/assets/svg/themed/forest/stack-icon1.svg deleted file mode 100644 index f316012d7..000000000 --- a/assets/svg/themed/forest/stack-icon1.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/svg/themed/forest/stack.svg b/assets/svg/themed/forest/stack.svg deleted file mode 100644 index 0c1c482c6..000000000 --- a/assets/svg/themed/forest/stack.svg +++ /dev/null @@ -1,222 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/forest/tx-exchange-icon-failed.svg b/assets/svg/themed/forest/tx-exchange-icon-failed.svg deleted file mode 100644 index a54836bba..000000000 --- a/assets/svg/themed/forest/tx-exchange-icon-failed.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/assets/svg/themed/forest/tx-exchange-icon-pending.svg b/assets/svg/themed/forest/tx-exchange-icon-pending.svg deleted file mode 100644 index 5f9aa4256..000000000 --- a/assets/svg/themed/forest/tx-exchange-icon-pending.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/assets/svg/themed/forest/tx-exchange-icon.svg b/assets/svg/themed/forest/tx-exchange-icon.svg deleted file mode 100644 index fcd3ef9dc..000000000 --- a/assets/svg/themed/forest/tx-exchange-icon.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/svg/themed/forest/tx-icon-receive-failed.svg b/assets/svg/themed/forest/tx-icon-receive-failed.svg deleted file mode 100644 index 189bd15c9..000000000 --- a/assets/svg/themed/forest/tx-icon-receive-failed.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/assets/svg/themed/forest/tx-icon-receive-pending.svg b/assets/svg/themed/forest/tx-icon-receive-pending.svg deleted file mode 100644 index 64ea8da3d..000000000 --- a/assets/svg/themed/forest/tx-icon-receive-pending.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/svg/themed/forest/tx-icon-receive.svg b/assets/svg/themed/forest/tx-icon-receive.svg deleted file mode 100644 index 1076d8d57..000000000 --- a/assets/svg/themed/forest/tx-icon-receive.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/svg/themed/forest/tx-icon-send-failed.svg b/assets/svg/themed/forest/tx-icon-send-failed.svg deleted file mode 100644 index 9751b61e8..000000000 --- a/assets/svg/themed/forest/tx-icon-send-failed.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/assets/svg/themed/forest/tx-icon-send-pending.svg b/assets/svg/themed/forest/tx-icon-send-pending.svg deleted file mode 100644 index e4ec777e3..000000000 --- a/assets/svg/themed/forest/tx-icon-send-pending.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/assets/svg/themed/forest/tx-icon-send.svg b/assets/svg/themed/forest/tx-icon-send.svg deleted file mode 100644 index ee32aa6b4..000000000 --- a/assets/svg/themed/forest/tx-icon-send.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/svg/themed/forest/wownero.svg b/assets/svg/themed/forest/wownero.svg deleted file mode 100644 index 6056b86e9..000000000 --- a/assets/svg/themed/forest/wownero.svg +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/fruitSorbet/bell-new.svg b/assets/svg/themed/fruitSorbet/bell-new.svg deleted file mode 100644 index 6131bc550..000000000 --- a/assets/svg/themed/fruitSorbet/bell-new.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/svg/themed/fruitSorbet/bg.svg b/assets/svg/themed/fruitSorbet/bg.svg deleted file mode 100644 index 1c2942910..000000000 --- a/assets/svg/themed/fruitSorbet/bg.svg +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/fruitSorbet/bitcoin.svg b/assets/svg/themed/fruitSorbet/bitcoin.svg deleted file mode 100644 index 1268a788f..000000000 --- a/assets/svg/themed/fruitSorbet/bitcoin.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/fruitSorbet/bitcoincash.svg b/assets/svg/themed/fruitSorbet/bitcoincash.svg deleted file mode 100644 index a619d469d..000000000 --- a/assets/svg/themed/fruitSorbet/bitcoincash.svg +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/fruitSorbet/buy-coins-icon.svg b/assets/svg/themed/fruitSorbet/buy-coins-icon.svg deleted file mode 100644 index 63b214e40..000000000 --- a/assets/svg/themed/fruitSorbet/buy-coins-icon.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/fruitSorbet/doge.svg b/assets/svg/themed/fruitSorbet/doge.svg deleted file mode 100644 index 2841c8b54..000000000 --- a/assets/svg/themed/fruitSorbet/doge.svg +++ /dev/null @@ -1,255 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/fruitSorbet/epic-cash.svg b/assets/svg/themed/fruitSorbet/epic-cash.svg deleted file mode 100644 index 17f7fe0b2..000000000 --- a/assets/svg/themed/fruitSorbet/epic-cash.svg +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/fruitSorbet/ethereum.svg b/assets/svg/themed/fruitSorbet/ethereum.svg deleted file mode 100644 index df9a44d1e..000000000 --- a/assets/svg/themed/fruitSorbet/ethereum.svg +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/fruitSorbet/exchange-2.svg b/assets/svg/themed/fruitSorbet/exchange-2.svg deleted file mode 100644 index 0310a3386..000000000 --- a/assets/svg/themed/fruitSorbet/exchange-2.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/svg/themed/fruitSorbet/firo.svg b/assets/svg/themed/fruitSorbet/firo.svg deleted file mode 100644 index 73f63ce61..000000000 --- a/assets/svg/themed/fruitSorbet/firo.svg +++ /dev/null @@ -1,198 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/fruitSorbet/litecoin.svg b/assets/svg/themed/fruitSorbet/litecoin.svg deleted file mode 100644 index 935c24c64..000000000 --- a/assets/svg/themed/fruitSorbet/litecoin.svg +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/fruitSorbet/monero.svg b/assets/svg/themed/fruitSorbet/monero.svg deleted file mode 100644 index 5193d0c9d..000000000 --- a/assets/svg/themed/fruitSorbet/monero.svg +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/fruitSorbet/namecoin.svg b/assets/svg/themed/fruitSorbet/namecoin.svg deleted file mode 100644 index 1a1a5fc46..000000000 --- a/assets/svg/themed/fruitSorbet/namecoin.svg +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/fruitSorbet/particl.svg b/assets/svg/themed/fruitSorbet/particl.svg deleted file mode 100644 index ef184c472..000000000 --- a/assets/svg/themed/fruitSorbet/particl.svg +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/fruitSorbet/persona-easy-1.svg b/assets/svg/themed/fruitSorbet/persona-easy-1.svg deleted file mode 100644 index 041c775fb..000000000 --- a/assets/svg/themed/fruitSorbet/persona-easy-1.svg +++ /dev/null @@ -1,225 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/fruitSorbet/persona-incognito-1.svg b/assets/svg/themed/fruitSorbet/persona-incognito-1.svg deleted file mode 100644 index 6602556f9..000000000 --- a/assets/svg/themed/fruitSorbet/persona-incognito-1.svg +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/fruitSorbet/stack-icon1.svg b/assets/svg/themed/fruitSorbet/stack-icon1.svg deleted file mode 100644 index f316012d7..000000000 --- a/assets/svg/themed/fruitSorbet/stack-icon1.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/svg/themed/fruitSorbet/stack.svg b/assets/svg/themed/fruitSorbet/stack.svg deleted file mode 100644 index cedb7e1d5..000000000 --- a/assets/svg/themed/fruitSorbet/stack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/svg/themed/fruitSorbet/tx-exchange-icon-failed.svg b/assets/svg/themed/fruitSorbet/tx-exchange-icon-failed.svg deleted file mode 100644 index a54836bba..000000000 --- a/assets/svg/themed/fruitSorbet/tx-exchange-icon-failed.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/assets/svg/themed/fruitSorbet/tx-exchange-icon-pending.svg b/assets/svg/themed/fruitSorbet/tx-exchange-icon-pending.svg deleted file mode 100644 index 5f9aa4256..000000000 --- a/assets/svg/themed/fruitSorbet/tx-exchange-icon-pending.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/assets/svg/themed/fruitSorbet/tx-exchange-icon.svg b/assets/svg/themed/fruitSorbet/tx-exchange-icon.svg deleted file mode 100644 index fcd3ef9dc..000000000 --- a/assets/svg/themed/fruitSorbet/tx-exchange-icon.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/svg/themed/fruitSorbet/tx-icon-receive-failed.svg b/assets/svg/themed/fruitSorbet/tx-icon-receive-failed.svg deleted file mode 100644 index 189bd15c9..000000000 --- a/assets/svg/themed/fruitSorbet/tx-icon-receive-failed.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/assets/svg/themed/fruitSorbet/tx-icon-receive-pending.svg b/assets/svg/themed/fruitSorbet/tx-icon-receive-pending.svg deleted file mode 100644 index 64ea8da3d..000000000 --- a/assets/svg/themed/fruitSorbet/tx-icon-receive-pending.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/svg/themed/fruitSorbet/tx-icon-receive.svg b/assets/svg/themed/fruitSorbet/tx-icon-receive.svg deleted file mode 100644 index 1076d8d57..000000000 --- a/assets/svg/themed/fruitSorbet/tx-icon-receive.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/svg/themed/fruitSorbet/tx-icon-send-failed.svg b/assets/svg/themed/fruitSorbet/tx-icon-send-failed.svg deleted file mode 100644 index 9751b61e8..000000000 --- a/assets/svg/themed/fruitSorbet/tx-icon-send-failed.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/assets/svg/themed/fruitSorbet/tx-icon-send-pending.svg b/assets/svg/themed/fruitSorbet/tx-icon-send-pending.svg deleted file mode 100644 index e4ec777e3..000000000 --- a/assets/svg/themed/fruitSorbet/tx-icon-send-pending.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/assets/svg/themed/fruitSorbet/tx-icon-send.svg b/assets/svg/themed/fruitSorbet/tx-icon-send.svg deleted file mode 100644 index ee32aa6b4..000000000 --- a/assets/svg/themed/fruitSorbet/tx-icon-send.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/svg/themed/fruitSorbet/wownero.svg b/assets/svg/themed/fruitSorbet/wownero.svg deleted file mode 100644 index c26377043..000000000 --- a/assets/svg/themed/fruitSorbet/wownero.svg +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/light/bell-new.svg b/assets/svg/themed/light/bell-new.svg deleted file mode 100644 index ffb3d630b..000000000 --- a/assets/svg/themed/light/bell-new.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/svg/themed/light/bitcoin.svg b/assets/svg/themed/light/bitcoin.svg deleted file mode 100644 index c03761586..000000000 --- a/assets/svg/themed/light/bitcoin.svg +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/light/bitcoincash.svg b/assets/svg/themed/light/bitcoincash.svg deleted file mode 100644 index 27ea7a8fa..000000000 --- a/assets/svg/themed/light/bitcoincash.svg +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/light/buy-coins-icon.svg b/assets/svg/themed/light/buy-coins-icon.svg deleted file mode 100644 index 5788e2bf0..000000000 --- a/assets/svg/themed/light/buy-coins-icon.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/assets/svg/themed/light/doge.svg b/assets/svg/themed/light/doge.svg deleted file mode 100644 index f70d0e3c4..000000000 --- a/assets/svg/themed/light/doge.svg +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/light/epic-cash.svg b/assets/svg/themed/light/epic-cash.svg deleted file mode 100644 index 0a5e9cbb4..000000000 --- a/assets/svg/themed/light/epic-cash.svg +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/light/ethereum.svg b/assets/svg/themed/light/ethereum.svg deleted file mode 100644 index df9a44d1e..000000000 --- a/assets/svg/themed/light/ethereum.svg +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/light/exchange-2.svg b/assets/svg/themed/light/exchange-2.svg deleted file mode 100644 index 11e246a3b..000000000 --- a/assets/svg/themed/light/exchange-2.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/svg/themed/light/firo.svg b/assets/svg/themed/light/firo.svg deleted file mode 100644 index 27c86b5aa..000000000 --- a/assets/svg/themed/light/firo.svg +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/light/litecoin.svg b/assets/svg/themed/light/litecoin.svg deleted file mode 100644 index 4c68c9a12..000000000 --- a/assets/svg/themed/light/litecoin.svg +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/light/monero.svg b/assets/svg/themed/light/monero.svg deleted file mode 100644 index 82ecbf3bb..000000000 --- a/assets/svg/themed/light/monero.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/light/namecoin.svg b/assets/svg/themed/light/namecoin.svg deleted file mode 100644 index a842d947f..000000000 --- a/assets/svg/themed/light/namecoin.svg +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/light/particl.svg b/assets/svg/themed/light/particl.svg deleted file mode 100644 index 5a4d9b291..000000000 --- a/assets/svg/themed/light/particl.svg +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/light/persona-easy-1.svg b/assets/svg/themed/light/persona-easy-1.svg deleted file mode 100644 index 1e15b8dab..000000000 --- a/assets/svg/themed/light/persona-easy-1.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/svg/themed/light/persona-incognito-1.svg b/assets/svg/themed/light/persona-incognito-1.svg deleted file mode 100644 index c31c285b1..000000000 --- a/assets/svg/themed/light/persona-incognito-1.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/svg/themed/light/stack-icon1.svg b/assets/svg/themed/light/stack-icon1.svg deleted file mode 100644 index f316012d7..000000000 --- a/assets/svg/themed/light/stack-icon1.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/svg/themed/light/stack.svg b/assets/svg/themed/light/stack.svg deleted file mode 100644 index 94929475d..000000000 --- a/assets/svg/themed/light/stack.svg +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/light/tx-exchange-icon-failed.svg b/assets/svg/themed/light/tx-exchange-icon-failed.svg deleted file mode 100644 index a54836bba..000000000 --- a/assets/svg/themed/light/tx-exchange-icon-failed.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/assets/svg/themed/light/tx-exchange-icon-pending.svg b/assets/svg/themed/light/tx-exchange-icon-pending.svg deleted file mode 100644 index 5f9aa4256..000000000 --- a/assets/svg/themed/light/tx-exchange-icon-pending.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/assets/svg/themed/light/tx-exchange-icon.svg b/assets/svg/themed/light/tx-exchange-icon.svg deleted file mode 100644 index fcd3ef9dc..000000000 --- a/assets/svg/themed/light/tx-exchange-icon.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/svg/themed/light/tx-icon-receive-failed.svg b/assets/svg/themed/light/tx-icon-receive-failed.svg deleted file mode 100644 index 189bd15c9..000000000 --- a/assets/svg/themed/light/tx-icon-receive-failed.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/assets/svg/themed/light/tx-icon-receive-pending.svg b/assets/svg/themed/light/tx-icon-receive-pending.svg deleted file mode 100644 index 64ea8da3d..000000000 --- a/assets/svg/themed/light/tx-icon-receive-pending.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/svg/themed/light/tx-icon-receive.svg b/assets/svg/themed/light/tx-icon-receive.svg deleted file mode 100644 index 1076d8d57..000000000 --- a/assets/svg/themed/light/tx-icon-receive.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/svg/themed/light/tx-icon-send-failed.svg b/assets/svg/themed/light/tx-icon-send-failed.svg deleted file mode 100644 index 9751b61e8..000000000 --- a/assets/svg/themed/light/tx-icon-send-failed.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/assets/svg/themed/light/tx-icon-send-pending.svg b/assets/svg/themed/light/tx-icon-send-pending.svg deleted file mode 100644 index e4ec777e3..000000000 --- a/assets/svg/themed/light/tx-icon-send-pending.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/assets/svg/themed/light/tx-icon-send.svg b/assets/svg/themed/light/tx-icon-send.svg deleted file mode 100644 index ee32aa6b4..000000000 --- a/assets/svg/themed/light/tx-icon-send.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/svg/themed/light/wownero.svg b/assets/svg/themed/light/wownero.svg deleted file mode 100644 index 15f3a317d..000000000 --- a/assets/svg/themed/light/wownero.svg +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oceanBreeze/bell-new.svg b/assets/svg/themed/oceanBreeze/bell-new.svg deleted file mode 100644 index 8cef32715..000000000 --- a/assets/svg/themed/oceanBreeze/bell-new.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/svg/themed/oceanBreeze/bg.svg b/assets/svg/themed/oceanBreeze/bg.svg deleted file mode 100644 index 35fbda281..000000000 --- a/assets/svg/themed/oceanBreeze/bg.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/assets/svg/themed/oceanBreeze/bitcoin.svg b/assets/svg/themed/oceanBreeze/bitcoin.svg deleted file mode 100644 index c03761586..000000000 --- a/assets/svg/themed/oceanBreeze/bitcoin.svg +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oceanBreeze/bitcoincash.svg b/assets/svg/themed/oceanBreeze/bitcoincash.svg deleted file mode 100644 index 27ea7a8fa..000000000 --- a/assets/svg/themed/oceanBreeze/bitcoincash.svg +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oceanBreeze/buy-coins-icon.svg b/assets/svg/themed/oceanBreeze/buy-coins-icon.svg deleted file mode 100644 index d9613bccb..000000000 --- a/assets/svg/themed/oceanBreeze/buy-coins-icon.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oceanBreeze/doge.svg b/assets/svg/themed/oceanBreeze/doge.svg deleted file mode 100644 index f70d0e3c4..000000000 --- a/assets/svg/themed/oceanBreeze/doge.svg +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oceanBreeze/epic-cash.svg b/assets/svg/themed/oceanBreeze/epic-cash.svg deleted file mode 100644 index 0a5e9cbb4..000000000 --- a/assets/svg/themed/oceanBreeze/epic-cash.svg +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oceanBreeze/ethereum.svg b/assets/svg/themed/oceanBreeze/ethereum.svg deleted file mode 100644 index df9a44d1e..000000000 --- a/assets/svg/themed/oceanBreeze/ethereum.svg +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oceanBreeze/exchange-2.svg b/assets/svg/themed/oceanBreeze/exchange-2.svg deleted file mode 100644 index 7baeaf87f..000000000 --- a/assets/svg/themed/oceanBreeze/exchange-2.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/svg/themed/oceanBreeze/firo.svg b/assets/svg/themed/oceanBreeze/firo.svg deleted file mode 100644 index 27c86b5aa..000000000 --- a/assets/svg/themed/oceanBreeze/firo.svg +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oceanBreeze/litecoin.svg b/assets/svg/themed/oceanBreeze/litecoin.svg deleted file mode 100644 index 4c68c9a12..000000000 --- a/assets/svg/themed/oceanBreeze/litecoin.svg +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oceanBreeze/monero.svg b/assets/svg/themed/oceanBreeze/monero.svg deleted file mode 100644 index 82ecbf3bb..000000000 --- a/assets/svg/themed/oceanBreeze/monero.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oceanBreeze/namecoin.svg b/assets/svg/themed/oceanBreeze/namecoin.svg deleted file mode 100644 index a842d947f..000000000 --- a/assets/svg/themed/oceanBreeze/namecoin.svg +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oceanBreeze/particl.svg b/assets/svg/themed/oceanBreeze/particl.svg deleted file mode 100644 index 5a4d9b291..000000000 --- a/assets/svg/themed/oceanBreeze/particl.svg +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oceanBreeze/persona-easy-1.svg b/assets/svg/themed/oceanBreeze/persona-easy-1.svg deleted file mode 100644 index 760b6a852..000000000 --- a/assets/svg/themed/oceanBreeze/persona-easy-1.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oceanBreeze/persona-incognito-1.svg b/assets/svg/themed/oceanBreeze/persona-incognito-1.svg deleted file mode 100644 index d1160b221..000000000 --- a/assets/svg/themed/oceanBreeze/persona-incognito-1.svg +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oceanBreeze/stack-icon1.svg b/assets/svg/themed/oceanBreeze/stack-icon1.svg deleted file mode 100644 index f316012d7..000000000 --- a/assets/svg/themed/oceanBreeze/stack-icon1.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/svg/themed/oceanBreeze/stack.svg b/assets/svg/themed/oceanBreeze/stack.svg deleted file mode 100644 index 455f2c377..000000000 --- a/assets/svg/themed/oceanBreeze/stack.svg +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oceanBreeze/tx-exchange-icon-failed.svg b/assets/svg/themed/oceanBreeze/tx-exchange-icon-failed.svg deleted file mode 100644 index a54836bba..000000000 --- a/assets/svg/themed/oceanBreeze/tx-exchange-icon-failed.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/assets/svg/themed/oceanBreeze/tx-exchange-icon-pending.svg b/assets/svg/themed/oceanBreeze/tx-exchange-icon-pending.svg deleted file mode 100644 index 5f9aa4256..000000000 --- a/assets/svg/themed/oceanBreeze/tx-exchange-icon-pending.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/assets/svg/themed/oceanBreeze/tx-exchange-icon.svg b/assets/svg/themed/oceanBreeze/tx-exchange-icon.svg deleted file mode 100644 index fcd3ef9dc..000000000 --- a/assets/svg/themed/oceanBreeze/tx-exchange-icon.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/svg/themed/oceanBreeze/tx-icon-receive-failed.svg b/assets/svg/themed/oceanBreeze/tx-icon-receive-failed.svg deleted file mode 100644 index 189bd15c9..000000000 --- a/assets/svg/themed/oceanBreeze/tx-icon-receive-failed.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/assets/svg/themed/oceanBreeze/tx-icon-receive-pending.svg b/assets/svg/themed/oceanBreeze/tx-icon-receive-pending.svg deleted file mode 100644 index 64ea8da3d..000000000 --- a/assets/svg/themed/oceanBreeze/tx-icon-receive-pending.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/svg/themed/oceanBreeze/tx-icon-receive.svg b/assets/svg/themed/oceanBreeze/tx-icon-receive.svg deleted file mode 100644 index 1076d8d57..000000000 --- a/assets/svg/themed/oceanBreeze/tx-icon-receive.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/svg/themed/oceanBreeze/tx-icon-send-failed.svg b/assets/svg/themed/oceanBreeze/tx-icon-send-failed.svg deleted file mode 100644 index 9751b61e8..000000000 --- a/assets/svg/themed/oceanBreeze/tx-icon-send-failed.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/assets/svg/themed/oceanBreeze/tx-icon-send-pending.svg b/assets/svg/themed/oceanBreeze/tx-icon-send-pending.svg deleted file mode 100644 index e4ec777e3..000000000 --- a/assets/svg/themed/oceanBreeze/tx-icon-send-pending.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/assets/svg/themed/oceanBreeze/tx-icon-send.svg b/assets/svg/themed/oceanBreeze/tx-icon-send.svg deleted file mode 100644 index ee32aa6b4..000000000 --- a/assets/svg/themed/oceanBreeze/tx-icon-send.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/svg/themed/oceanBreeze/wownero.svg b/assets/svg/themed/oceanBreeze/wownero.svg deleted file mode 100644 index 15f3a317d..000000000 --- a/assets/svg/themed/oceanBreeze/wownero.svg +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oledBlack/bell-new.svg b/assets/svg/themed/oledBlack/bell-new.svg deleted file mode 100644 index f976e0986..000000000 --- a/assets/svg/themed/oledBlack/bell-new.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/svg/themed/oledBlack/bitcoin.svg b/assets/svg/themed/oledBlack/bitcoin.svg deleted file mode 100644 index c03761586..000000000 --- a/assets/svg/themed/oledBlack/bitcoin.svg +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oledBlack/bitcoincash.svg b/assets/svg/themed/oledBlack/bitcoincash.svg deleted file mode 100644 index 27ea7a8fa..000000000 --- a/assets/svg/themed/oledBlack/bitcoincash.svg +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oledBlack/buy-coins-icon.svg b/assets/svg/themed/oledBlack/buy-coins-icon.svg deleted file mode 100644 index 9170c4190..000000000 --- a/assets/svg/themed/oledBlack/buy-coins-icon.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oledBlack/doge.svg b/assets/svg/themed/oledBlack/doge.svg deleted file mode 100644 index f70d0e3c4..000000000 --- a/assets/svg/themed/oledBlack/doge.svg +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oledBlack/epic-cash.svg b/assets/svg/themed/oledBlack/epic-cash.svg deleted file mode 100644 index 0a5e9cbb4..000000000 --- a/assets/svg/themed/oledBlack/epic-cash.svg +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oledBlack/ethereum.svg b/assets/svg/themed/oledBlack/ethereum.svg deleted file mode 100644 index df9a44d1e..000000000 --- a/assets/svg/themed/oledBlack/ethereum.svg +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oledBlack/exchange-2.svg b/assets/svg/themed/oledBlack/exchange-2.svg deleted file mode 100644 index ee04dcebe..000000000 --- a/assets/svg/themed/oledBlack/exchange-2.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/assets/svg/themed/oledBlack/firo.svg b/assets/svg/themed/oledBlack/firo.svg deleted file mode 100644 index 27c86b5aa..000000000 --- a/assets/svg/themed/oledBlack/firo.svg +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oledBlack/litecoin.svg b/assets/svg/themed/oledBlack/litecoin.svg deleted file mode 100644 index 4c68c9a12..000000000 --- a/assets/svg/themed/oledBlack/litecoin.svg +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oledBlack/monero.svg b/assets/svg/themed/oledBlack/monero.svg deleted file mode 100644 index 82ecbf3bb..000000000 --- a/assets/svg/themed/oledBlack/monero.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oledBlack/namecoin.svg b/assets/svg/themed/oledBlack/namecoin.svg deleted file mode 100644 index a842d947f..000000000 --- a/assets/svg/themed/oledBlack/namecoin.svg +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oledBlack/particl.svg b/assets/svg/themed/oledBlack/particl.svg deleted file mode 100644 index 5a4d9b291..000000000 --- a/assets/svg/themed/oledBlack/particl.svg +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oledBlack/persona-easy-1.svg b/assets/svg/themed/oledBlack/persona-easy-1.svg deleted file mode 100644 index 1e15b8dab..000000000 --- a/assets/svg/themed/oledBlack/persona-easy-1.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/svg/themed/oledBlack/persona-incognito-1.svg b/assets/svg/themed/oledBlack/persona-incognito-1.svg deleted file mode 100644 index c31c285b1..000000000 --- a/assets/svg/themed/oledBlack/persona-incognito-1.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/svg/themed/oledBlack/stack-icon1.svg b/assets/svg/themed/oledBlack/stack-icon1.svg deleted file mode 100644 index 4fb16176a..000000000 --- a/assets/svg/themed/oledBlack/stack-icon1.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/svg/themed/oledBlack/stack.svg b/assets/svg/themed/oledBlack/stack.svg deleted file mode 100644 index 94929475d..000000000 --- a/assets/svg/themed/oledBlack/stack.svg +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oledBlack/tx-exchange-icon-failed.svg b/assets/svg/themed/oledBlack/tx-exchange-icon-failed.svg deleted file mode 100644 index 64acda4e9..000000000 --- a/assets/svg/themed/oledBlack/tx-exchange-icon-failed.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oledBlack/tx-exchange-icon-pending.svg b/assets/svg/themed/oledBlack/tx-exchange-icon-pending.svg deleted file mode 100644 index f9cdeb7c2..000000000 --- a/assets/svg/themed/oledBlack/tx-exchange-icon-pending.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/assets/svg/themed/oledBlack/tx-exchange-icon.svg b/assets/svg/themed/oledBlack/tx-exchange-icon.svg deleted file mode 100644 index 36b2cf7cc..000000000 --- a/assets/svg/themed/oledBlack/tx-exchange-icon.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/assets/svg/themed/oledBlack/tx-icon-receive-failed.svg b/assets/svg/themed/oledBlack/tx-icon-receive-failed.svg deleted file mode 100644 index cb1d500b1..000000000 --- a/assets/svg/themed/oledBlack/tx-icon-receive-failed.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oledBlack/tx-icon-receive-pending.svg b/assets/svg/themed/oledBlack/tx-icon-receive-pending.svg deleted file mode 100644 index efb8350b3..000000000 --- a/assets/svg/themed/oledBlack/tx-icon-receive-pending.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/assets/svg/themed/oledBlack/tx-icon-receive.svg b/assets/svg/themed/oledBlack/tx-icon-receive.svg deleted file mode 100644 index 15be19d52..000000000 --- a/assets/svg/themed/oledBlack/tx-icon-receive.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/assets/svg/themed/oledBlack/tx-icon-send-failed.svg b/assets/svg/themed/oledBlack/tx-icon-send-failed.svg deleted file mode 100644 index 2be637ef3..000000000 --- a/assets/svg/themed/oledBlack/tx-icon-send-failed.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/assets/svg/themed/oledBlack/tx-icon-send-pending.svg b/assets/svg/themed/oledBlack/tx-icon-send-pending.svg deleted file mode 100644 index 50cca5a9e..000000000 --- a/assets/svg/themed/oledBlack/tx-icon-send-pending.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/assets/svg/themed/oledBlack/tx-icon-send.svg b/assets/svg/themed/oledBlack/tx-icon-send.svg deleted file mode 100644 index 0e64ee37e..000000000 --- a/assets/svg/themed/oledBlack/tx-icon-send.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/assets/svg/themed/oledBlack/wownero.svg b/assets/svg/themed/oledBlack/wownero.svg deleted file mode 100644 index 15f3a317d..000000000 --- a/assets/svg/themed/oledBlack/wownero.svg +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/orange/bell-new.svg b/assets/svg/themed/orange/bell-new.svg deleted file mode 100644 index 368444e14..000000000 --- a/assets/svg/themed/orange/bell-new.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/svg/themed/orange/bitcoin.svg b/assets/svg/themed/orange/bitcoin.svg deleted file mode 100644 index 5f1b48394..000000000 --- a/assets/svg/themed/orange/bitcoin.svg +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/orange/bitcoincash.svg b/assets/svg/themed/orange/bitcoincash.svg deleted file mode 100644 index ee2ec8a5a..000000000 --- a/assets/svg/themed/orange/bitcoincash.svg +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/orange/buy-coins-icon.svg b/assets/svg/themed/orange/buy-coins-icon.svg deleted file mode 100644 index 6ac2d5d64..000000000 --- a/assets/svg/themed/orange/buy-coins-icon.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/orange/doge.svg b/assets/svg/themed/orange/doge.svg deleted file mode 100644 index 99f3f359c..000000000 --- a/assets/svg/themed/orange/doge.svg +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/orange/epic-cash.svg b/assets/svg/themed/orange/epic-cash.svg deleted file mode 100644 index ec667c286..000000000 --- a/assets/svg/themed/orange/epic-cash.svg +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/orange/ethereum.svg b/assets/svg/themed/orange/ethereum.svg deleted file mode 100644 index 26d492cc4..000000000 --- a/assets/svg/themed/orange/ethereum.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/orange/exchange-2.svg b/assets/svg/themed/orange/exchange-2.svg deleted file mode 100644 index 89ae87740..000000000 --- a/assets/svg/themed/orange/exchange-2.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/assets/svg/themed/orange/firo.svg b/assets/svg/themed/orange/firo.svg deleted file mode 100644 index 4e9356e5a..000000000 --- a/assets/svg/themed/orange/firo.svg +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/orange/litecoin.svg b/assets/svg/themed/orange/litecoin.svg deleted file mode 100644 index 4673da2d8..000000000 --- a/assets/svg/themed/orange/litecoin.svg +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/orange/monero.svg b/assets/svg/themed/orange/monero.svg deleted file mode 100644 index a755a5bdb..000000000 --- a/assets/svg/themed/orange/monero.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/orange/namecoin.svg b/assets/svg/themed/orange/namecoin.svg deleted file mode 100644 index 835d0c0e6..000000000 --- a/assets/svg/themed/orange/namecoin.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/orange/particl.svg b/assets/svg/themed/orange/particl.svg deleted file mode 100644 index cb4a4e990..000000000 --- a/assets/svg/themed/orange/particl.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/orange/persona-easy-1.svg b/assets/svg/themed/orange/persona-easy-1.svg deleted file mode 100644 index 4b8087bf3..000000000 --- a/assets/svg/themed/orange/persona-easy-1.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/assets/svg/themed/orange/persona-incognito-1.svg b/assets/svg/themed/orange/persona-incognito-1.svg deleted file mode 100644 index 5b5185ec0..000000000 --- a/assets/svg/themed/orange/persona-incognito-1.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/orange/stack-icon1.svg b/assets/svg/themed/orange/stack-icon1.svg deleted file mode 100644 index f316012d7..000000000 --- a/assets/svg/themed/orange/stack-icon1.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/svg/themed/orange/stack.svg b/assets/svg/themed/orange/stack.svg deleted file mode 100644 index 570b2d8fd..000000000 --- a/assets/svg/themed/orange/stack.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/assets/svg/themed/orange/tx-exchange-icon-failed.svg b/assets/svg/themed/orange/tx-exchange-icon-failed.svg deleted file mode 100644 index a54836bba..000000000 --- a/assets/svg/themed/orange/tx-exchange-icon-failed.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/assets/svg/themed/orange/tx-exchange-icon-pending.svg b/assets/svg/themed/orange/tx-exchange-icon-pending.svg deleted file mode 100644 index 5f9aa4256..000000000 --- a/assets/svg/themed/orange/tx-exchange-icon-pending.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/assets/svg/themed/orange/tx-exchange-icon.svg b/assets/svg/themed/orange/tx-exchange-icon.svg deleted file mode 100644 index fcd3ef9dc..000000000 --- a/assets/svg/themed/orange/tx-exchange-icon.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/svg/themed/orange/tx-icon-receive-failed.svg b/assets/svg/themed/orange/tx-icon-receive-failed.svg deleted file mode 100644 index 189bd15c9..000000000 --- a/assets/svg/themed/orange/tx-icon-receive-failed.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/assets/svg/themed/orange/tx-icon-receive-pending.svg b/assets/svg/themed/orange/tx-icon-receive-pending.svg deleted file mode 100644 index 64ea8da3d..000000000 --- a/assets/svg/themed/orange/tx-icon-receive-pending.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/svg/themed/orange/tx-icon-receive.svg b/assets/svg/themed/orange/tx-icon-receive.svg deleted file mode 100644 index 1076d8d57..000000000 --- a/assets/svg/themed/orange/tx-icon-receive.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/svg/themed/orange/tx-icon-send-failed.svg b/assets/svg/themed/orange/tx-icon-send-failed.svg deleted file mode 100644 index 9751b61e8..000000000 --- a/assets/svg/themed/orange/tx-icon-send-failed.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/assets/svg/themed/orange/tx-icon-send-pending.svg b/assets/svg/themed/orange/tx-icon-send-pending.svg deleted file mode 100644 index e4ec777e3..000000000 --- a/assets/svg/themed/orange/tx-icon-send-pending.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/assets/svg/themed/orange/tx-icon-send.svg b/assets/svg/themed/orange/tx-icon-send.svg deleted file mode 100644 index ee32aa6b4..000000000 --- a/assets/svg/themed/orange/tx-icon-send.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/svg/themed/orange/wownero.svg b/assets/svg/themed/orange/wownero.svg deleted file mode 100644 index 642939829..000000000 --- a/assets/svg/themed/orange/wownero.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/crypto_plugins/flutter_libepiccash b/crypto_plugins/flutter_libepiccash index 398077d74..594ab89bc 160000 --- a/crypto_plugins/flutter_libepiccash +++ b/crypto_plugins/flutter_libepiccash @@ -1 +1 @@ -Subproject commit 398077d745bfb8e27c6fcb3fae971908566b2222 +Subproject commit 594ab89bc665a15a810ba7476ed2ad255fa8b5ac diff --git a/lib/db/isar/main_db.dart b/lib/db/isar/main_db.dart index 33b7e606f..0e9d9efc4 100644 --- a/lib/db/isar/main_db.dart +++ b/lib/db/isar/main_db.dart @@ -4,6 +4,7 @@ import 'package:isar/isar.dart'; import 'package:stackwallet/exceptions/main_db/main_db_exception.dart'; import 'package:stackwallet/models/isar/models/block_explorer.dart'; import 'package:stackwallet/models/isar/models/isar_models.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/stack_file_system.dart'; @@ -35,6 +36,7 @@ class MainDB { AddressLabelSchema, EthContractSchema, TransactionBlockExplorerSchema, + StackThemeSchema, ], directory: (await StackFileSystem.applicationIsarDirectory()).path, // inspector: kDebugMode, diff --git a/lib/main.dart b/lib/main.dart index 10d1c4a12..d9d7d4851 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -41,7 +41,6 @@ import 'package:stackwallet/providers/global/base_currencies_provider.dart'; // import 'package:stackwallet/providers/global/has_authenticated_start_state_provider.dart'; import 'package:stackwallet/providers/global/trades_service_provider.dart'; import 'package:stackwallet/providers/providers.dart'; -import 'package:stackwallet/providers/ui/color_theme_provider.dart'; import 'package:stackwallet/route_generator.dart'; // import 'package:stackwallet/services/buy/buy_data_loading_service.dart'; import 'package:stackwallet/services/debug_service.dart'; @@ -51,6 +50,8 @@ import 'package:stackwallet/services/node_service.dart'; import 'package:stackwallet/services/notifications_api.dart'; import 'package:stackwallet/services/notifications_service.dart'; import 'package:stackwallet/services/trade_service.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; +import 'package:stackwallet/themes/theme_service.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/db_version_migration.dart'; import 'package:stackwallet/utilities/enums/backup_frequency_type.dart'; @@ -58,9 +59,8 @@ import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/prefs.dart'; import 'package:stackwallet/utilities/stack_file_system.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; +import 'package:stackwallet/widgets/crypto_notifications.dart'; import 'package:window_size/window_size.dart'; final openedFromSWBFileStringStateProvider = @@ -178,6 +178,9 @@ void main() async { } } + //Add Themes directory - TODO + // await StackFileSystem.applicationThemesDirectory(); + monero.onStartup(); wownero.onStartup(); @@ -185,6 +188,37 @@ void main() async { // overlays: [SystemUiOverlay.bottom]); await NotificationApi.init(); + await MainDB.instance.initMainDB(); + ThemeService.instance.init(MainDB.instance); + + // install default themes + if (!(await ThemeService.instance.verifyInstalled(themeId: "light"))) { + Logging.instance.log( + "Installing default light theme...", + level: LogLevel.Info, + ); + final lightZip = await rootBundle.load("assets/default_themes/light.zip"); + await ThemeService.instance + .install(themeArchiveData: lightZip.buffer.asUint8List()); + Logging.instance.log( + "Installing default light theme... finished", + level: LogLevel.Info, + ); + } + if (!(await ThemeService.instance.verifyInstalled(themeId: "dark"))) { + Logging.instance.log( + "Installing default dark theme... ", + level: LogLevel.Info, + ); + final darkZip = await rootBundle.load("assets/default_themes/dark.zip"); + await ThemeService.instance + .install(themeArchiveData: darkZip.buffer.asUint8List()); + Logging.instance.log( + "Installing default dark theme... finished", + level: LogLevel.Info, + ); + } + runApp(const ProviderScope(child: MyApp())); } @@ -250,7 +284,7 @@ class _MaterialAppWithThemeState extends ConsumerState _desktopHasPassword = await ref.read(storageCryptoHandlerProvider).hasPassword(); } - await MainDB.instance.initMainDB(); + ref .read(priceAnd24hChangeNotifierProvider) .tokenContractAddressesToCheck @@ -270,6 +304,9 @@ class _MaterialAppWithThemeState extends ConsumerState await loadShared(); } + ref.read(applicationThemesDirectoryPathProvider.notifier).state = + (await StackFileSystem.applicationThemesDirectory()).path; + _notificationsService = ref.read(notificationsProvider); _nodeService = ref.read(nodeServiceChangeNotifierProvider); _tradesService = ref.read(tradesServiceProvider); @@ -335,25 +372,22 @@ class _MaterialAppWithThemeState extends ConsumerState @override void initState() { - StackColorTheme colorTheme; + String themeId; if (ref.read(prefsChangeNotifierProvider).enableSystemBrightness) { final brightness = WidgetsBinding.instance.window.platformBrightness; switch (brightness) { case Brightness.dark: - colorTheme = ref - .read(prefsChangeNotifierProvider) - .systemBrightnessDarkTheme - .colorTheme; + themeId = + ref.read(prefsChangeNotifierProvider).systemBrightnessDarkThemeId; break; case Brightness.light: - colorTheme = ref + themeId = ref .read(prefsChangeNotifierProvider) - .systemBrightnessLightTheme - .colorTheme; + .systemBrightnessLightThemeId; break; } } else { - colorTheme = ref.read(prefsChangeNotifierProvider).theme.colorTheme; + themeId = ref.read(prefsChangeNotifierProvider).themeId; } loadingCompleter = Completer(); @@ -364,8 +398,13 @@ class _MaterialAppWithThemeState extends ConsumerState .loadLocale(notify: false); WidgetsBinding.instance.addPostFrameCallback((_) async { - ref.read(colorThemeProvider.state).state = - StackColors.fromStackColorTheme(colorTheme); + //Add themes path to provider + ref.read(applicationThemesDirectoryPathProvider.notifier).state = + (await StackFileSystem.applicationThemesDirectory()).path; + + ref.read(themeProvider.state).state = ref.read(pThemeService).getTheme( + themeId: themeId, + )!; if (Platform.isAndroid) { // fetch open file if it exists @@ -385,26 +424,25 @@ class _MaterialAppWithThemeState extends ConsumerState }); WidgetsBinding.instance.window.onPlatformBrightnessChanged = () { - StackColorTheme colorTheme; + String themeId; switch (WidgetsBinding.instance.window.platformBrightness) { case Brightness.dark: - colorTheme = ref - .read(prefsChangeNotifierProvider) - .systemBrightnessDarkTheme - .colorTheme; + themeId = + ref.read(prefsChangeNotifierProvider).systemBrightnessDarkThemeId; break; case Brightness.light: - colorTheme = ref + themeId = ref .read(prefsChangeNotifierProvider) - .systemBrightnessLightTheme - .colorTheme; + .systemBrightnessLightThemeId; break; } WidgetsBinding.instance.addPostFrameCallback((_) { if (ref.read(prefsChangeNotifierProvider).enableSystemBrightness) { - ref.read(colorThemeProvider.notifier).state = - StackColors.fromStackColorTheme(colorTheme); + ref.read(themeProvider.state).state = + ref.read(pThemeService).getTheme( + themeId: themeId, + )!; } }); }; @@ -539,7 +577,7 @@ class _MaterialAppWithThemeState extends ConsumerState // addToDebugMessagesDB: false); // }); - final colorScheme = ref.watch(colorThemeProvider.state).state; + final colorScheme = ref.watch(colorProvider.state).state; return MaterialApp( key: GlobalKey(), @@ -637,70 +675,74 @@ class _MaterialAppWithThemeState extends ConsumerState _buildOutlineInputBorder(colorScheme.textFieldDefaultBG), ), ), - home: Util.isDesktop - ? FutureBuilder( - future: loadShared(), - builder: (context, snapshot) { - if (snapshot.connectionState == ConnectionState.done) { - if (_desktopHasPassword) { - String? startupWalletId; - if (ref - .read(prefsChangeNotifierProvider) - .gotoWalletOnStartup) { - startupWalletId = - ref.read(prefsChangeNotifierProvider).startupWalletId; + home: CryptoNotifications( + child: Util.isDesktop + ? FutureBuilder( + future: loadShared(), + builder: (context, snapshot) { + if (snapshot.connectionState == ConnectionState.done) { + if (_desktopHasPassword) { + String? startupWalletId; + if (ref + .read(prefsChangeNotifierProvider) + .gotoWalletOnStartup) { + startupWalletId = ref + .read(prefsChangeNotifierProvider) + .startupWalletId; + } + + return DesktopLoginView( + startupWalletId: startupWalletId, + load: load, + ); + } else { + return const IntroView(); } - - return DesktopLoginView( - startupWalletId: startupWalletId, - load: load, - ); } else { - return const IntroView(); + return const LoadingView(); } - } else { - return const LoadingView(); - } - }, - ) - : FutureBuilder( - future: load(), - builder: (BuildContext context, AsyncSnapshot snapshot) { - if (snapshot.connectionState == ConnectionState.done) { - // FlutterNativeSplash.remove(); - if (ref.read(walletsChangeNotifierProvider).hasWallets || - ref.read(prefsChangeNotifierProvider).hasPin) { - // return HomeView(); + }, + ) + : FutureBuilder( + future: load(), + builder: (BuildContext context, AsyncSnapshot snapshot) { + if (snapshot.connectionState == ConnectionState.done) { + // FlutterNativeSplash.remove(); + if (ref.read(walletsChangeNotifierProvider).hasWallets || + ref.read(prefsChangeNotifierProvider).hasPin) { + // return HomeView(); - String? startupWalletId; - if (ref - .read(prefsChangeNotifierProvider) - .gotoWalletOnStartup) { - startupWalletId = - ref.read(prefsChangeNotifierProvider).startupWalletId; + String? startupWalletId; + if (ref + .read(prefsChangeNotifierProvider) + .gotoWalletOnStartup) { + startupWalletId = ref + .read(prefsChangeNotifierProvider) + .startupWalletId; + } + + return LockscreenView( + isInitialAppLogin: true, + routeOnSuccess: HomeView.routeName, + routeOnSuccessArguments: startupWalletId, + biometricsAuthenticationTitle: "Unlock Stack", + biometricsLocalizedReason: + "Unlock your stack wallet using biometrics", + biometricsCancelButtonString: "Cancel", + ); + } else { + return const IntroView(); } - - return LockscreenView( - isInitialAppLogin: true, - routeOnSuccess: HomeView.routeName, - routeOnSuccessArguments: startupWalletId, - biometricsAuthenticationTitle: "Unlock Stack", - biometricsLocalizedReason: - "Unlock your stack wallet using biometrics", - biometricsCancelButtonString: "Cancel", - ); } else { - return const IntroView(); + // CURRENTLY DISABLED as cannot be animated + // technically not needed as FlutterNativeSplash will overlay + // anything returned here until the future completes but + // FutureBuilder requires you to return something + return const LoadingView(); } - } else { - // CURRENTLY DISABLED as cannot be animated - // technically not needed as FlutterNativeSplash will overlay - // anything returned here until the future completes but - // FutureBuilder requires you to return something - return const LoadingView(); - } - }, - ), + }, + ), + ), ); } } diff --git a/lib/models/isar/stack_theme.dart b/lib/models/isar/stack_theme.dart new file mode 100644 index 000000000..d91e61cd3 --- /dev/null +++ b/lib/models/isar/stack_theme.dart @@ -0,0 +1,2155 @@ +import 'dart:convert'; + +import 'package:flutter/material.dart'; +import 'package:isar/isar.dart'; +import 'package:stackwallet/themes/color_theme.dart'; +import 'package:stackwallet/utilities/enums/coin_enum.dart'; +import 'package:stackwallet/utilities/extensions/impl/box_shadow.dart'; +import 'package:stackwallet/utilities/extensions/impl/gradient.dart'; +import 'package:stackwallet/utilities/extensions/impl/string.dart'; + +part 'stack_theme.g.dart'; + +@Collection(inheritance: false) +class StackTheme { + Id id = Isar.autoIncrement; + + /// id of theme on themes server + @Index(unique: true, replace: true) + final String themeId; + + /// the theme name that will be displayed in app + final String name; + + // system brightness + final String brightnessString; + + /// convenience enum conversion for stored [brightnessString] + @ignore + Brightness get brightness { + switch (brightnessString) { + case "light": + return Brightness.light; + case "dark": + return Brightness.dark; + default: + // just return light instead of a possible crash causing error + return Brightness.light; + } + } + +// ==== background ===================================================== + + @ignore + Color get background => _background ??= Color(backgroundInt); + @ignore + Color? _background; + final int backgroundInt; + + // ==== backgroundAppBar ===================================================== + + @ignore + Color get backgroundAppBar => + _backgroundAppBar ??= Color(backgroundAppBarInt); + @ignore + Color? _backgroundAppBar; + final int backgroundAppBarInt; + + // ==== gradientBackground ===================================================== + + @ignore + Gradient? get gradientBackground { + if (gradientBackgroundString == null) { + _gradientBackground = null; + } else { + _gradientBackground ??= GradientExt.fromJson( + Map.from( + jsonDecode(gradientBackgroundString!) as Map, + ), + ); + } + return _gradientBackground; + } + + @ignore + Gradient? _gradientBackground; + final String? gradientBackgroundString; + + // ==== boxShadows ===================================================== + + @ignore + BoxShadow get standardBoxShadow => + _standardBoxShadow ??= BoxShadowExt.fromJson( + Map.from( + jsonDecode(standardBoxShadowString) as Map, + ), + ); + @ignore + BoxShadow? _standardBoxShadow; + final String standardBoxShadowString; + + @ignore + BoxShadow? get homeViewButtonBarBoxShadow { + if (homeViewButtonBarBoxShadowString == null) { + _homeViewButtonBarBoxShadow = null; + } else { + _homeViewButtonBarBoxShadow ??= BoxShadowExt.fromJson( + Map.from( + jsonDecode(homeViewButtonBarBoxShadowString!) as Map, + ), + ); + } + + return _homeViewButtonBarBoxShadow; + } + + @ignore + BoxShadow? _homeViewButtonBarBoxShadow; + final String? homeViewButtonBarBoxShadowString; + + // ==== overlay ===================================================== + + @ignore + Color get overlay => _overlay ??= Color(overlayInt); + @ignore + Color? _overlay; + final int overlayInt; + + // ==== accentColorBlue ===================================================== + + @ignore + Color get accentColorBlue => _accentColorBlue ??= Color( + accentColorBlueInt, + ); + @ignore + Color? _accentColorBlue; + final int accentColorBlueInt; + + // ==== accentColorGreen ===================================================== + + @ignore + Color get accentColorGreen => _accentColorGreen ??= Color( + accentColorGreenInt, + ); + @ignore + Color? _accentColorGreen; + final int accentColorGreenInt; + + // ==== accentColorYellow ===================================================== + + @ignore + Color get accentColorYellow => _accentColorYellow ??= Color( + accentColorYellowInt, + ); + @ignore + Color? _accentColorYellow; + final int accentColorYellowInt; + + // ==== accentColorRed ===================================================== + + @ignore + Color get accentColorRed => _accentColorRed ??= Color( + accentColorRedInt, + ); + @ignore + Color? _accentColorRed; + final int accentColorRedInt; + + // ==== accentColorOrange ===================================================== + + @ignore + Color get accentColorOrange => _accentColorOrange ??= Color( + accentColorOrangeInt, + ); + @ignore + Color? _accentColorOrange; + final int accentColorOrangeInt; + + // ==== accentColorDark ===================================================== + + @ignore + Color get accentColorDark => _accentColorDark ??= Color( + accentColorDarkInt, + ); + @ignore + Color? _accentColorDark; + final int accentColorDarkInt; + + // ==== shadow ===================================================== + + @ignore + Color get shadow => _shadow ??= Color( + shadowInt, + ); + @ignore + Color? _shadow; + final int shadowInt; + + // ==== textDark ===================================================== + + @ignore + Color get textDark => _textDark ??= Color( + textDarkInt, + ); + @ignore + Color? _textDark; + final int textDarkInt; + + // ==== textDark2 ===================================================== + + @ignore + Color get textDark2 => _textDark2 ??= Color( + textDark2Int, + ); + @ignore + Color? _textDark2; + final int textDark2Int; + + // ==== textDark3 ===================================================== + + @ignore + Color get textDark3 => _textDark3 ??= Color( + textDark3Int, + ); + @ignore + Color? _textDark3; + final int textDark3Int; + + // ==== textSubtitle1 ===================================================== + + @ignore + Color get textSubtitle1 => _textSubtitle1 ??= Color( + textSubtitle1Int, + ); + @ignore + Color? _textSubtitle1; + final int textSubtitle1Int; + + // ==== textSubtitle2 ===================================================== + + @ignore + Color get textSubtitle2 => _textSubtitle2 ??= Color( + textSubtitle2Int, + ); + @ignore + Color? _textSubtitle2; + final int textSubtitle2Int; + + // ==== textSubtitle3 ===================================================== + + @ignore + Color get textSubtitle3 => _textSubtitle3 ??= Color( + textSubtitle3Int, + ); + @ignore + Color? _textSubtitle3; + final int textSubtitle3Int; + + // ==== textSubtitle4 ===================================================== + + @ignore + Color get textSubtitle4 => _textSubtitle4 ??= Color( + textSubtitle4Int, + ); + @ignore + Color? _textSubtitle4; + final int textSubtitle4Int; + + // ==== textSubtitle5 ===================================================== + + @ignore + Color get textSubtitle5 => _textSubtitle5 ??= Color( + textSubtitle5Int, + ); + @ignore + Color? _textSubtitle5; + final int textSubtitle5Int; + + // ==== textSubtitle6 ===================================================== + + @ignore + Color get textSubtitle6 => _textSubtitle6 ??= Color( + textSubtitle6Int, + ); + @ignore + Color? _textSubtitle6; + final int textSubtitle6Int; + + // ==== textWhite ===================================================== + + @ignore + Color get textWhite => _textWhite ??= Color( + textWhiteInt, + ); + @ignore + Color? _textWhite; + final int textWhiteInt; + + // ==== textFavoriteCard ===================================================== + + @ignore + Color get textFavoriteCard => _textFavoriteCard ??= Color( + textFavoriteCardInt, + ); + @ignore + Color? _textFavoriteCard; + final int textFavoriteCardInt; + + // ==== textError ===================================================== + + @ignore + Color get textError => _textError ??= Color( + textErrorInt, + ); + @ignore + Color? _textError; + final int textErrorInt; + + // ==== textRestore ===================================================== + + @ignore + Color get textRestore => _textRestore ??= Color( + textRestoreInt, + ); + @ignore + Color? _textRestore; + final int textRestoreInt; + + // ==== buttonBackPrimary ===================================================== + + @ignore + Color get buttonBackPrimary => _buttonBackPrimary ??= Color( + buttonBackPrimaryInt, + ); + @ignore + Color? _buttonBackPrimary; + final int buttonBackPrimaryInt; + + // ==== buttonBackSecondary ===================================================== + + @ignore + Color get buttonBackSecondary => _buttonBackSecondary ??= Color( + buttonBackSecondaryInt, + ); + @ignore + Color? _buttonBackSecondary; + final int buttonBackSecondaryInt; + + // ==== buttonBackPrimaryDisabled ===================================================== + + @ignore + Color get buttonBackPrimaryDisabled => _buttonBackPrimaryDisabled ??= Color( + buttonBackPrimaryDisabledInt, + ); + @ignore + Color? _buttonBackPrimaryDisabled; + final int buttonBackPrimaryDisabledInt; + + // ==== buttonBackSecondaryDisabled ===================================================== + + @ignore + Color get buttonBackSecondaryDisabled => + _buttonBackSecondaryDisabled ??= Color( + buttonBackSecondaryDisabledInt, + ); + @ignore + Color? _buttonBackSecondaryDisabled; + final int buttonBackSecondaryDisabledInt; + + // ==== buttonBackBorder ===================================================== + + @ignore + Color get buttonBackBorder => _buttonBackBorder ??= Color( + buttonBackBorderInt, + ); + @ignore + Color? _buttonBackBorder; + final int buttonBackBorderInt; + + // ==== buttonBackBorderDisabled ===================================================== + + @ignore + Color get buttonBackBorderDisabled => _buttonBackBorderDisabled ??= Color( + buttonBackBorderDisabledInt, + ); + @ignore + Color? _buttonBackBorderDisabled; + final int buttonBackBorderDisabledInt; + + // ==== buttonBackBorderSecondary ===================================================== + + @ignore + Color get buttonBackBorderSecondary => _buttonBackBorderSecondary ??= Color( + buttonBackBorderSecondaryInt, + ); + @ignore + Color? _buttonBackBorderSecondary; + final int buttonBackBorderSecondaryInt; + + // ==== buttonBackBorderSecondaryDisabled ===================================================== + + @ignore + Color get buttonBackBorderSecondaryDisabled => + _buttonBackBorderSecondaryDisabled ??= Color( + buttonBackBorderSecondaryDisabledInt, + ); + @ignore + Color? _buttonBackBorderSecondaryDisabled; + final int buttonBackBorderSecondaryDisabledInt; + + // ==== numberBackDefault ===================================================== + + @ignore + Color get numberBackDefault => _numberBackDefault ??= Color( + numberBackDefaultInt, + ); + @ignore + Color? _numberBackDefault; + final int numberBackDefaultInt; + + // ==== numpadBackDefault ===================================================== + + @ignore + Color get numpadBackDefault => _numpadBackDefault ??= Color( + numpadBackDefaultInt, + ); + @ignore + Color? _numpadBackDefault; + final int numpadBackDefaultInt; + + // ==== bottomNavBack ===================================================== + + @ignore + Color get bottomNavBack => _bottomNavBack ??= Color( + bottomNavBackInt, + ); + @ignore + Color? _bottomNavBack; + final int bottomNavBackInt; + + // ==== buttonTextPrimary ===================================================== + + @ignore + Color get buttonTextPrimary => _buttonTextPrimary ??= Color( + buttonTextPrimaryInt, + ); + @ignore + Color? _buttonTextPrimary; + final int buttonTextPrimaryInt; + + // ==== buttonTextSecondary ===================================================== + + @ignore + Color get buttonTextSecondary => _buttonTextSecondary ??= Color( + buttonTextSecondaryInt, + ); + @ignore + Color? _buttonTextSecondary; + final int buttonTextSecondaryInt; + + // ==== buttonTextPrimaryDisabled ===================================================== + + @ignore + Color get buttonTextPrimaryDisabled => _buttonTextPrimaryDisabled ??= Color( + buttonTextPrimaryDisabledInt, + ); + @ignore + Color? _buttonTextPrimaryDisabled; + final int buttonTextPrimaryDisabledInt; + + // ==== buttonTextSecondaryDisabled ===================================================== + + @ignore + Color get buttonTextSecondaryDisabled => + _buttonTextSecondaryDisabled ??= Color(buttonTextSecondaryDisabledInt); + @ignore + Color? _buttonTextSecondaryDisabled; + final int buttonTextSecondaryDisabledInt; + + // ==== buttonTextBorder ===================================================== + + @ignore + Color get buttonTextBorder => + _buttonTextBorder ??= Color(buttonTextBorderInt); + @ignore + Color? _buttonTextBorder; + final int buttonTextBorderInt; + + // ==== buttonTextDisabled ===================================================== + + @ignore + Color get buttonTextDisabled => + _buttonTextDisabled ??= Color(buttonTextDisabledInt); + @ignore + Color? _buttonTextDisabled; + final int buttonTextDisabledInt; + + // ==== buttonTextBorderless ===================================================== + + @ignore + Color get buttonTextBorderless => + _buttonTextBorderless ??= Color(buttonTextBorderlessInt); + @ignore + Color? _buttonTextBorderless; + final int buttonTextBorderlessInt; + + // ==== buttonTextBorderlessDisabled ===================================================== + + @ignore + Color get buttonTextBorderlessDisabled => + _buttonTextBorderlessDisabled ??= Color(buttonTextBorderlessDisabledInt); + @ignore + Color? _buttonTextBorderlessDisabled; + final int buttonTextBorderlessDisabledInt; + + // ==== numberTextDefault ===================================================== + + @ignore + Color get numberTextDefault => + _numberTextDefault ??= Color(numberTextDefaultInt); + @ignore + Color? _numberTextDefault; + final int numberTextDefaultInt; + + // ==== numpadTextDefault ===================================================== + + @ignore + Color get numpadTextDefault => + _numpadTextDefault ??= Color(numpadTextDefaultInt); + @ignore + Color? _numpadTextDefault; + final int numpadTextDefaultInt; + + // ==== bottomNavText ===================================================== + + @ignore + Color get bottomNavText => _bottomNavText ??= Color(bottomNavTextInt); + @ignore + Color? _bottomNavText; + final int bottomNavTextInt; + + // ==== customTextButtonEnabledText ===================================================== + + @ignore + Color get customTextButtonEnabledText => + _customTextButtonEnabledText ??= Color(customTextButtonEnabledTextInt); + @ignore + Color? _customTextButtonEnabledText; + final int customTextButtonEnabledTextInt; + + // ==== customTextButtonDisabledText ===================================================== + + @ignore + Color get customTextButtonDisabledText => + _customTextButtonDisabledText ??= Color(customTextButtonDisabledTextInt); + @ignore + Color? _customTextButtonDisabledText; + final int customTextButtonDisabledTextInt; + + // ==== switchBGOn ===================================================== + + @ignore + Color get switchBGOn => _switchBGOn ??= Color(switchBGOnInt); + @ignore + Color? _switchBGOn; + final int switchBGOnInt; + + // ==== switchBGOff ===================================================== + + @ignore + Color get switchBGOff => _switchBGOff ??= Color(switchBGOffInt); + @ignore + Color? _switchBGOff; + final int switchBGOffInt; + + // ==== switchBGDisabled ===================================================== + + @ignore + Color get switchBGDisabled => + _switchBGDisabled ??= Color(switchBGDisabledInt); + @ignore + Color? _switchBGDisabled; + final int switchBGDisabledInt; + + // ==== switchCircleOn ===================================================== + + @ignore + Color get switchCircleOn => _switchCircleOn ??= Color(switchCircleOnInt); + @ignore + Color? _switchCircleOn; + final int switchCircleOnInt; + + // ==== switchCircleOff ===================================================== + + @ignore + Color get switchCircleOff => _switchCircleOff ??= Color(switchCircleOffInt); + @ignore + Color? _switchCircleOff; + final int switchCircleOffInt; + + // ==== switchCircleDisabled ===================================================== + + @ignore + Color get switchCircleDisabled => + _switchCircleDisabled ??= Color(switchCircleDisabledInt); + @ignore + Color? _switchCircleDisabled; + final int switchCircleDisabledInt; + + // ==== stepIndicatorBGCheck ===================================================== + + @ignore + Color get stepIndicatorBGCheck => + _stepIndicatorBGCheck ??= Color(stepIndicatorBGCheckInt); + @ignore + Color? _stepIndicatorBGCheck; + final int stepIndicatorBGCheckInt; + + // ==== stepIndicatorBGNumber ===================================================== + + @ignore + Color get stepIndicatorBGNumber => + _stepIndicatorBGNumber ??= Color(stepIndicatorBGNumberInt); + @ignore + Color? _stepIndicatorBGNumber; + final int stepIndicatorBGNumberInt; + + // ==== stepIndicatorBGInactive ===================================================== + + @ignore + Color get stepIndicatorBGInactive => + _stepIndicatorBGInactive ??= Color(stepIndicatorBGInactiveInt); + @ignore + Color? _stepIndicatorBGInactive; + final int stepIndicatorBGInactiveInt; + + // ==== stepIndicatorBGLines ===================================================== + + @ignore + Color get stepIndicatorBGLines => + _stepIndicatorBGLines ??= Color(stepIndicatorBGLinesInt); + @ignore + Color? _stepIndicatorBGLines; + final int stepIndicatorBGLinesInt; + + // ==== stepIndicatorBGLinesInactive ===================================================== + + @ignore + Color get stepIndicatorBGLinesInactive => + _stepIndicatorBGLinesInactive ??= Color(stepIndicatorBGLinesInactiveInt); + @ignore + Color? _stepIndicatorBGLinesInactive; + final int stepIndicatorBGLinesInactiveInt; + + // ==== stepIndicatorIconText ===================================================== + + @ignore + Color get stepIndicatorIconText => + _stepIndicatorIconText ??= Color(stepIndicatorIconTextInt); + @ignore + Color? _stepIndicatorIconText; + final int stepIndicatorIconTextInt; + + // ==== stepIndicatorIconNumber ===================================================== + + @ignore + Color get stepIndicatorIconNumber => + _stepIndicatorIconNumber ??= Color(stepIndicatorIconNumberInt); + @ignore + Color? _stepIndicatorIconNumber; + final int stepIndicatorIconNumberInt; + + // ==== stepIndicatorIconInactive ===================================================== + + @ignore + Color get stepIndicatorIconInactive => + _stepIndicatorIconInactive ??= Color(stepIndicatorIconInactiveInt); + @ignore + Color? _stepIndicatorIconInactive; + final int stepIndicatorIconInactiveInt; + + // ==== checkboxBGChecked ===================================================== + + @ignore + Color get checkboxBGChecked => + _checkboxBGChecked ??= Color(checkboxBGCheckedInt); + @ignore + Color? _checkboxBGChecked; + final int checkboxBGCheckedInt; + + // ==== checkboxBorderEmpty ===================================================== + + @ignore + Color get checkboxBorderEmpty => + _checkboxBorderEmpty ??= Color(checkboxBorderEmptyInt); + @ignore + Color? _checkboxBorderEmpty; + final int checkboxBorderEmptyInt; + + // ==== checkboxBGDisabled ===================================================== + + @ignore + Color get checkboxBGDisabled => + _checkboxBGDisabled ??= Color(checkboxBGDisabledInt); + @ignore + Color? _checkboxBGDisabled; + final int checkboxBGDisabledInt; + + // ==== checkboxIconChecked ===================================================== + + @ignore + Color get checkboxIconChecked => + _checkboxIconChecked ??= Color(checkboxIconCheckedInt); + @ignore + Color? _checkboxIconChecked; + final int checkboxIconCheckedInt; + + // ==== checkboxIconDisabled ===================================================== + + @ignore + Color get checkboxIconDisabled => + _checkboxIconDisabled ??= Color(checkboxIconDisabledInt); + @ignore + Color? _checkboxIconDisabled; + final int checkboxIconDisabledInt; + + // ==== checkboxTextLabel ===================================================== + + @ignore + Color get checkboxTextLabel => + _checkboxTextLabel ??= Color(checkboxTextLabelInt); + @ignore + Color? _checkboxTextLabel; + final int checkboxTextLabelInt; + + // ==== snackBarBackSuccess ===================================================== + + @ignore + Color get snackBarBackSuccess => + _snackBarBackSuccess ??= Color(snackBarBackSuccessInt); + @ignore + Color? _snackBarBackSuccess; + final int snackBarBackSuccessInt; + + // ==== snackBarBackError ===================================================== + + @ignore + Color get snackBarBackError => + _snackBarBackError ??= Color(snackBarBackErrorInt); + @ignore + Color? _snackBarBackError; + final int snackBarBackErrorInt; + + // ==== snackBarBackInfo ===================================================== + + @ignore + Color get snackBarBackInfo => + _snackBarBackInfo ??= Color(snackBarBackInfoInt); + @ignore + Color? _snackBarBackInfo; + final int snackBarBackInfoInt; + + // ==== snackBarTextSuccess ===================================================== + + @ignore + Color get snackBarTextSuccess => + _snackBarTextSuccess ??= Color(snackBarTextSuccessInt); + @ignore + Color? _snackBarTextSuccess; + final int snackBarTextSuccessInt; + + // ==== snackBarTextError ===================================================== + + @ignore + Color get snackBarTextError => + _snackBarTextError ??= Color(snackBarTextErrorInt); + @ignore + Color? _snackBarTextError; + final int snackBarTextErrorInt; + + // ==== snackBarTextInfo ===================================================== + + @ignore + Color get snackBarTextInfo => + _snackBarTextInfo ??= Color(snackBarTextInfoInt); + @ignore + Color? _snackBarTextInfo; + final int snackBarTextInfoInt; + + // ==== bottomNavIconBack ===================================================== + + @ignore + Color get bottomNavIconBack => + _bottomNavIconBack ??= Color(bottomNavIconBackInt); + @ignore + Color? _bottomNavIconBack; + final int bottomNavIconBackInt; + + // ==== bottomNavIconIcon ===================================================== + + @ignore + Color get bottomNavIconIcon => + _bottomNavIconIcon ??= Color(bottomNavIconIconInt); + @ignore + Color? _bottomNavIconIcon; + final int bottomNavIconIconInt; + + // ==== topNavIconPrimary ===================================================== + + @ignore + Color get topNavIconPrimary => + _topNavIconPrimary ??= Color(topNavIconPrimaryInt); + @ignore + Color? _topNavIconPrimary; + final int topNavIconPrimaryInt; + + // ==== topNavIconGreen ===================================================== + + @ignore + Color get topNavIconGreen => _topNavIconGreen ??= Color(topNavIconGreenInt); + @ignore + Color? _topNavIconGreen; + final int topNavIconGreenInt; + + // ==== topNavIconYellow ===================================================== + + @ignore + Color get topNavIconYellow => + _topNavIconYellow ??= Color(topNavIconYellowInt); + @ignore + Color? _topNavIconYellow; + final int topNavIconYellowInt; + + // ==== topNavIconRed ===================================================== + + @ignore + Color get topNavIconRed => _topNavIconRed ??= Color(topNavIconRedInt); + @ignore + Color? _topNavIconRed; + final int topNavIconRedInt; + + // ==== settingsIconBack ===================================================== + + @ignore + Color get settingsIconBack => + _settingsIconBack ??= Color(settingsIconBackInt); + @ignore + Color? _settingsIconBack; + final int settingsIconBackInt; + + // ==== settingsIconIcon ===================================================== + + @ignore + Color get settingsIconIcon => + _settingsIconIcon ??= Color(settingsIconIconInt); + @ignore + Color? _settingsIconIcon; + final int settingsIconIconInt; + + // ==== settingsIconBack2 ===================================================== + + @ignore + Color get settingsIconBack2 => + _settingsIconBack2 ??= Color(settingsIconBack2Int); + @ignore + Color? _settingsIconBack2; + final int settingsIconBack2Int; + + // ==== settingsIconElement ===================================================== + + @ignore + Color get settingsIconElement => + _settingsIconElement ??= Color(settingsIconElementInt); + @ignore + Color? _settingsIconElement; + final int settingsIconElementInt; + + // ==== textFieldActiveBG ===================================================== + + @ignore + Color get textFieldActiveBG => + _textFieldActiveBG ??= Color(textFieldActiveBGInt); + @ignore + Color? _textFieldActiveBG; + final int textFieldActiveBGInt; + + // ==== textFieldDefaultBG ===================================================== + + @ignore + Color get textFieldDefaultBG => + _textFieldDefaultBG ??= Color(textFieldDefaultBGInt); + @ignore + Color? _textFieldDefaultBG; + final int textFieldDefaultBGInt; + + // ==== textFieldErrorBG ===================================================== + + @ignore + Color get textFieldErrorBG => + _textFieldErrorBG ??= Color(textFieldErrorBGInt); + @ignore + Color? _textFieldErrorBG; + final int textFieldErrorBGInt; + + // ==== textFieldSuccessBG ===================================================== + + @ignore + Color get textFieldSuccessBG => + _textFieldSuccessBG ??= Color(textFieldSuccessBGInt); + @ignore + Color? _textFieldSuccessBG; + final int textFieldSuccessBGInt; + + // ==== textFieldErrorBorder ===================================================== + + @ignore + Color get textFieldErrorBorder => + _textFieldErrorBorder ??= Color(textFieldErrorBorderInt); + @ignore + Color? _textFieldErrorBorder; + final int textFieldErrorBorderInt; + + // ==== textFieldSuccessBorder ===================================================== + + @ignore + Color get textFieldSuccessBorder => + _textFieldSuccessBorder ??= Color(textFieldSuccessBorderInt); + @ignore + Color? _textFieldSuccessBorder; + final int textFieldSuccessBorderInt; + + // ==== textFieldActiveSearchIconLeft ===================================================== + + @ignore + Color get textFieldActiveSearchIconLeft => _textFieldActiveSearchIconLeft ??= + Color(textFieldActiveSearchIconLeftInt); + @ignore + Color? _textFieldActiveSearchIconLeft; + final int textFieldActiveSearchIconLeftInt; + + // ==== textFieldDefaultSearchIconLeft ===================================================== + + @ignore + Color get textFieldDefaultSearchIconLeft => + _textFieldDefaultSearchIconLeft ??= + Color(textFieldDefaultSearchIconLeftInt); + @ignore + Color? _textFieldDefaultSearchIconLeft; + final int textFieldDefaultSearchIconLeftInt; + + // ==== textFieldErrorSearchIconLeft ===================================================== + + @ignore + Color get textFieldErrorSearchIconLeft => + _textFieldErrorSearchIconLeft ??= Color(textFieldErrorSearchIconLeftInt); + @ignore + Color? _textFieldErrorSearchIconLeft; + final int textFieldErrorSearchIconLeftInt; + + // ==== textFieldSuccessSearchIconLeft ===================================================== + + @ignore + Color get textFieldSuccessSearchIconLeft => + _textFieldSuccessSearchIconLeft ??= + Color(textFieldSuccessSearchIconLeftInt); + @ignore + Color? _textFieldSuccessSearchIconLeft; + final int textFieldSuccessSearchIconLeftInt; + + // ==== textFieldActiveText ===================================================== + + @ignore + Color get textFieldActiveText => + _textFieldActiveText ??= Color(textFieldActiveTextInt); + @ignore + Color? _textFieldActiveText; + final int textFieldActiveTextInt; + + // ==== textFieldDefaultText ===================================================== + + @ignore + Color get textFieldDefaultText => + _textFieldDefaultText ??= Color(textFieldDefaultTextInt); + @ignore + Color? _textFieldDefaultText; + final int textFieldDefaultTextInt; + + // ==== textFieldErrorText ===================================================== + + @ignore + Color get textFieldErrorText => + _textFieldErrorText ??= Color(textFieldErrorTextInt); + @ignore + Color? _textFieldErrorText; + final int textFieldErrorTextInt; + + // ==== textFieldSuccessText ===================================================== + + @ignore + Color get textFieldSuccessText => + _textFieldSuccessText ??= Color(textFieldSuccessTextInt); + @ignore + Color? _textFieldSuccessText; + final int textFieldSuccessTextInt; + + // ==== textFieldActiveLabel ===================================================== + + @ignore + Color get textFieldActiveLabel => + _textFieldActiveLabel ??= Color(textFieldActiveLabelInt); + @ignore + Color? _textFieldActiveLabel; + final int textFieldActiveLabelInt; + + // ==== textFieldErrorLabel ===================================================== + + @ignore + Color get textFieldErrorLabel => + _textFieldErrorLabel ??= Color(textFieldErrorLabelInt); + @ignore + Color? _textFieldErrorLabel; + final int textFieldErrorLabelInt; + + // ==== textFieldSuccessLabel ===================================================== + + @ignore + Color get textFieldSuccessLabel => + _textFieldSuccessLabel ??= Color(textFieldSuccessLabelInt); + @ignore + Color? _textFieldSuccessLabel; + final int textFieldSuccessLabelInt; + + // ==== textFieldActiveSearchIconRight ===================================================== + + @ignore + Color get textFieldActiveSearchIconRight => + _textFieldActiveSearchIconRight ??= + Color(textFieldActiveSearchIconRightInt); + @ignore + Color? _textFieldActiveSearchIconRight; + final int textFieldActiveSearchIconRightInt; + + // ==== textFieldDefaultSearchIconRight ===================================================== + + @ignore + Color get textFieldDefaultSearchIconRight => + _textFieldDefaultSearchIconRight ??= + Color(textFieldDefaultSearchIconRightInt); + @ignore + Color? _textFieldDefaultSearchIconRight; + final int textFieldDefaultSearchIconRightInt; + + // ==== textFieldErrorSearchIconRight ===================================================== + + @ignore + Color get textFieldErrorSearchIconRight => _textFieldErrorSearchIconRight ??= + Color(textFieldErrorSearchIconRightInt); + @ignore + Color? _textFieldErrorSearchIconRight; + final int textFieldErrorSearchIconRightInt; + + // ==== textFieldSuccessSearchIconRight ===================================================== + + @ignore + Color get textFieldSuccessSearchIconRight => + _textFieldSuccessSearchIconRight ??= + Color(textFieldSuccessSearchIconRightInt); + @ignore + Color? _textFieldSuccessSearchIconRight; + final int textFieldSuccessSearchIconRightInt; + + // ==== settingsItem2ActiveBG ===================================================== + + @ignore + Color get settingsItem2ActiveBG => + _settingsItem2ActiveBG ??= Color(settingsItem2ActiveBGInt); + @ignore + Color? _settingsItem2ActiveBG; + final int settingsItem2ActiveBGInt; + + // ==== settingsItem2ActiveText ===================================================== + + @ignore + Color get settingsItem2ActiveText => + _settingsItem2ActiveText ??= Color(settingsItem2ActiveTextInt); + @ignore + Color? _settingsItem2ActiveText; + final int settingsItem2ActiveTextInt; + + // ==== settingsItem2ActiveSub ===================================================== + + @ignore + Color get settingsItem2ActiveSub => + _settingsItem2ActiveSub ??= Color(settingsItem2ActiveSubInt); + @ignore + Color? _settingsItem2ActiveSub; + final int settingsItem2ActiveSubInt; + + // ==== radioButtonIconBorder ===================================================== + + @ignore + Color get radioButtonIconBorder => + _radioButtonIconBorder ??= Color(radioButtonIconBorderInt); + @ignore + Color? _radioButtonIconBorder; + final int radioButtonIconBorderInt; + + // ==== radioButtonIconBorderDisabled ===================================================== + + @ignore + Color get radioButtonIconBorderDisabled => _radioButtonIconBorderDisabled ??= + Color(radioButtonIconBorderDisabledInt); + @ignore + Color? _radioButtonIconBorderDisabled; + final int radioButtonIconBorderDisabledInt; + + // ==== radioButtonBorderEnabled ===================================================== + + @ignore + Color get radioButtonBorderEnabled => + _radioButtonBorderEnabled ??= Color(radioButtonBorderEnabledInt); + @ignore + Color? _radioButtonBorderEnabled; + final int radioButtonBorderEnabledInt; + + // ==== radioButtonBorderDisabled ===================================================== + + @ignore + Color get radioButtonBorderDisabled => + _radioButtonBorderDisabled ??= Color(radioButtonBorderDisabledInt); + @ignore + Color? _radioButtonBorderDisabled; + final int radioButtonBorderDisabledInt; + + // ==== radioButtonIconCircle ===================================================== + + @ignore + Color get radioButtonIconCircle => + _radioButtonIconCircle ??= Color(radioButtonIconCircleInt); + @ignore + Color? _radioButtonIconCircle; + final int radioButtonIconCircleInt; + + // ==== radioButtonIconEnabled ===================================================== + + @ignore + Color get radioButtonIconEnabled => + _radioButtonIconEnabled ??= Color(radioButtonIconEnabledInt); + @ignore + Color? _radioButtonIconEnabled; + final int radioButtonIconEnabledInt; + + // ==== radioButtonTextEnabled ===================================================== + + @ignore + Color get radioButtonTextEnabled => + _radioButtonTextEnabled ??= Color(radioButtonTextEnabledInt); + @ignore + Color? _radioButtonTextEnabled; + final int radioButtonTextEnabledInt; + + // ==== radioButtonTextDisabled ===================================================== + + @ignore + Color get radioButtonTextDisabled => + _radioButtonTextDisabled ??= Color(radioButtonTextDisabledInt); + @ignore + Color? _radioButtonTextDisabled; + final int radioButtonTextDisabledInt; + + // ==== radioButtonLabelEnabled ===================================================== + + @ignore + Color get radioButtonLabelEnabled => + _radioButtonLabelEnabled ??= Color(radioButtonLabelEnabledInt); + @ignore + Color? _radioButtonLabelEnabled; + final int radioButtonLabelEnabledInt; + + // ==== radioButtonLabelDisabled ===================================================== + + @ignore + Color get radioButtonLabelDisabled => + _radioButtonLabelDisabled ??= Color(radioButtonLabelDisabledInt); + @ignore + Color? _radioButtonLabelDisabled; + final int radioButtonLabelDisabledInt; + + // ==== infoItemBG ===================================================== + + @ignore + Color get infoItemBG => _infoItemBG ??= Color(infoItemBGInt); + @ignore + Color? _infoItemBG; + final int infoItemBGInt; + + // ==== infoItemLabel ===================================================== + + @ignore + Color get infoItemLabel => _infoItemLabel ??= Color(infoItemLabelInt); + @ignore + Color? _infoItemLabel; + final int infoItemLabelInt; + + // ==== infoItemText ===================================================== + + @ignore + Color get infoItemText => _infoItemText ??= Color(infoItemTextInt); + @ignore + Color? _infoItemText; + final int infoItemTextInt; + + // ==== infoItemIcons ===================================================== + + @ignore + Color get infoItemIcons => _infoItemIcons ??= Color(infoItemIconsInt); + @ignore + Color? _infoItemIcons; + final int infoItemIconsInt; + + // ==== popupBG ===================================================== + + @ignore + Color get popupBG => _popupBG ??= Color(popupBGInt); + @ignore + Color? _popupBG; + final int popupBGInt; + + // ==== currencyListItemBG ===================================================== + + @ignore + Color get currencyListItemBG => + _currencyListItemBG ??= Color(currencyListItemBGInt); + @ignore + Color? _currencyListItemBG; + final int currencyListItemBGInt; + + // ==== stackWalletBG ===================================================== + + @ignore + Color get stackWalletBG => _stackWalletBG ??= Color(stackWalletBGInt); + @ignore + Color? _stackWalletBG; + final int stackWalletBGInt; + + // ==== stackWalletMid ===================================================== + + @ignore + Color get stackWalletMid => _stackWalletMid ??= Color(stackWalletMidInt); + @ignore + Color? _stackWalletMid; + final int stackWalletMidInt; + + // ==== stackWalletBottom ===================================================== + + @ignore + Color get stackWalletBottom => + _stackWalletBottom ??= Color(stackWalletBottomInt); + @ignore + Color? _stackWalletBottom; + final int stackWalletBottomInt; + + // ==== bottomNavShadow ===================================================== + + @ignore + Color get bottomNavShadow => _bottomNavShadow ??= Color(bottomNavShadowInt); + @ignore + Color? _bottomNavShadow; + final int bottomNavShadowInt; + + // ==== favoriteStarActive ===================================================== + + @ignore + Color get favoriteStarActive => + _favoriteStarActive ??= Color(favoriteStarActiveInt); + @ignore + Color? _favoriteStarActive; + final int favoriteStarActiveInt; + + // ==== favoriteStarInactive ===================================================== + + @ignore + Color get favoriteStarInactive => + _favoriteStarInactive ??= Color(favoriteStarInactiveInt); + @ignore + Color? _favoriteStarInactive; + final int favoriteStarInactiveInt; + + // ==== splash ===================================================== + + @ignore + Color get splash => _splash ??= Color(splashInt); + @ignore + Color? _splash; + final int splashInt; + + // ==== highlight ===================================================== + + @ignore + Color get highlight => _highlight ??= Color(highlightInt); + @ignore + Color? _highlight; + final int highlightInt; + + // ==== warningForeground ===================================================== + + @ignore + Color get warningForeground => + _warningForeground ??= Color(warningForegroundInt); + @ignore + Color? _warningForeground; + final int warningForegroundInt; + + // ==== warningBackground ===================================================== + + @ignore + Color get warningBackground => + _warningBackground ??= Color(warningBackgroundInt); + @ignore + Color? _warningBackground; + final int warningBackgroundInt; + + // ==== loadingOverlayTextColor ===================================================== + + @ignore + Color get loadingOverlayTextColor => + _loadingOverlayTextColor ??= Color(loadingOverlayTextColorInt); + @ignore + Color? _loadingOverlayTextColor; + final int loadingOverlayTextColorInt; + + // ==== myStackContactIconBG ===================================================== + + @ignore + Color get myStackContactIconBG => + _myStackContactIconBG ??= Color(myStackContactIconBGInt); + @ignore + Color? _myStackContactIconBG; + final int myStackContactIconBGInt; + + // ==== textConfirmTotalAmount ===================================================== + + @ignore + Color get textConfirmTotalAmount => + _textConfirmTotalAmount ??= Color(textConfirmTotalAmountInt); + @ignore + Color? _textConfirmTotalAmount; + final int textConfirmTotalAmountInt; + + // ==== textSelectedWordTableItem ===================================================== + + @ignore + Color get textSelectedWordTableItem => + _textSelectedWordTableItem ??= Color(textSelectedWordTableItemInt); + @ignore + Color? _textSelectedWordTableItem; + final int textSelectedWordTableItemInt; + + // ==== rateTypeToggleColorOn ===================================================== + + @ignore + Color get rateTypeToggleColorOn => + _rateTypeToggleColorOn ??= Color(rateTypeToggleColorOnInt); + @ignore + Color? _rateTypeToggleColorOn; + final int rateTypeToggleColorOnInt; + + // ==== rateTypeToggleColorOff ===================================================== + + @ignore + Color get rateTypeToggleColorOff => + _rateTypeToggleColorOff ??= Color(rateTypeToggleColorOffInt); + @ignore + Color? _rateTypeToggleColorOff; + final int rateTypeToggleColorOffInt; + + // ==== rateTypeToggleDesktopColorOn ===================================================== + + @ignore + Color get rateTypeToggleDesktopColorOn => + _rateTypeToggleDesktopColorOn ??= Color(rateTypeToggleDesktopColorOnInt); + @ignore + Color? _rateTypeToggleDesktopColorOn; + final int rateTypeToggleDesktopColorOnInt; + + // ==== rateTypeToggleDesktopColorOff ===================================================== + + @ignore + Color get rateTypeToggleDesktopColorOff => _rateTypeToggleDesktopColorOff ??= + Color(rateTypeToggleDesktopColorOffInt); + @ignore + Color? _rateTypeToggleDesktopColorOff; + final int rateTypeToggleDesktopColorOffInt; + + // ==== ethTagText ===================================================== + + @ignore + Color get ethTagText => _ethTagText ??= Color(ethTagTextInt); + @ignore + Color? _ethTagText; + final int ethTagTextInt; + + // ==== ethTagBG ===================================================== + + @ignore + Color get ethTagBG => _ethTagBG ??= Color(ethTagBGInt); + @ignore + Color? _ethTagBG; + final int ethTagBGInt; + + // ==== ethWalletTagText ===================================================== + + @ignore + Color get ethWalletTagText => + _ethWalletTagText ??= Color(ethWalletTagTextInt); + @ignore + Color? _ethWalletTagText; + final int ethWalletTagTextInt; + + // ==== ethWalletTagBG ===================================================== + + @ignore + Color get ethWalletTagBG => _ethWalletTagBG ??= Color(ethWalletTagBGInt); + @ignore + Color? _ethWalletTagBG; + final int ethWalletTagBGInt; + + // ==== tokenSummaryTextPrimary ===================================================== + + @ignore + Color get tokenSummaryTextPrimary => + _tokenSummaryTextPrimary ??= Color(tokenSummaryTextPrimaryInt); + @ignore + Color? _tokenSummaryTextPrimary; + final int tokenSummaryTextPrimaryInt; + + // ==== tokenSummaryTextSecondary ===================================================== + + @ignore + Color get tokenSummaryTextSecondary => + _tokenSummaryTextSecondary ??= Color(tokenSummaryTextSecondaryInt); + @ignore + Color? _tokenSummaryTextSecondary; + final int tokenSummaryTextSecondaryInt; + + // ==== tokenSummaryBG ===================================================== + + @ignore + Color get tokenSummaryBG => _tokenSummaryBG ??= Color(tokenSummaryBGInt); + @ignore + Color? _tokenSummaryBG; + final int tokenSummaryBGInt; + + // ==== tokenSummaryButtonBG ===================================================== + + @ignore + Color get tokenSummaryButtonBG => + _tokenSummaryButtonBG ??= Color(tokenSummaryButtonBGInt); + @ignore + Color? _tokenSummaryButtonBG; + final int tokenSummaryButtonBGInt; + + // ==== tokenSummaryIcon ===================================================== + + @ignore + Color get tokenSummaryIcon => + _tokenSummaryIcon ??= Color(tokenSummaryIconInt); + @ignore + Color? _tokenSummaryIcon; + final int tokenSummaryIconInt; + + // ==== coinColors ===================================================== + + @ignore + Map get coinColors => + _coinColors ??= parseCoinColors(coinColorsJsonString); + @ignore + Map? _coinColors; + final String coinColorsJsonString; + + // ==== assets ===================================================== + + final ThemeAssets assets; + + // =========================================================================== + + StackTheme({ + required this.themeId, + required this.name, + required this.assets, + required this.brightnessString, + required this.backgroundInt, + required this.backgroundAppBarInt, + required this.gradientBackgroundString, + required this.standardBoxShadowString, + required this.homeViewButtonBarBoxShadowString, + required this.overlayInt, + required this.accentColorBlueInt, + required this.accentColorGreenInt, + required this.accentColorYellowInt, + required this.accentColorRedInt, + required this.accentColorOrangeInt, + required this.accentColorDarkInt, + required this.shadowInt, + required this.textDarkInt, + required this.textDark2Int, + required this.textDark3Int, + required this.textSubtitle1Int, + required this.textSubtitle2Int, + required this.textSubtitle3Int, + required this.textSubtitle4Int, + required this.textSubtitle5Int, + required this.textSubtitle6Int, + required this.textWhiteInt, + required this.textFavoriteCardInt, + required this.textErrorInt, + required this.textRestoreInt, + required this.buttonBackPrimaryInt, + required this.buttonBackSecondaryInt, + required this.buttonBackPrimaryDisabledInt, + required this.buttonBackSecondaryDisabledInt, + required this.buttonBackBorderInt, + required this.buttonBackBorderDisabledInt, + required this.buttonBackBorderSecondaryInt, + required this.buttonBackBorderSecondaryDisabledInt, + required this.numberBackDefaultInt, + required this.numpadBackDefaultInt, + required this.bottomNavBackInt, + required this.buttonTextPrimaryInt, + required this.buttonTextSecondaryInt, + required this.buttonTextPrimaryDisabledInt, + required this.buttonTextSecondaryDisabledInt, + required this.buttonTextBorderInt, + required this.buttonTextDisabledInt, + required this.buttonTextBorderlessInt, + required this.buttonTextBorderlessDisabledInt, + required this.numberTextDefaultInt, + required this.numpadTextDefaultInt, + required this.bottomNavTextInt, + required this.customTextButtonEnabledTextInt, + required this.customTextButtonDisabledTextInt, + required this.switchBGOnInt, + required this.switchBGOffInt, + required this.switchBGDisabledInt, + required this.switchCircleOnInt, + required this.switchCircleOffInt, + required this.switchCircleDisabledInt, + required this.stepIndicatorBGCheckInt, + required this.stepIndicatorBGNumberInt, + required this.stepIndicatorBGInactiveInt, + required this.stepIndicatorBGLinesInt, + required this.stepIndicatorBGLinesInactiveInt, + required this.stepIndicatorIconTextInt, + required this.stepIndicatorIconNumberInt, + required this.stepIndicatorIconInactiveInt, + required this.checkboxBGCheckedInt, + required this.checkboxBorderEmptyInt, + required this.checkboxBGDisabledInt, + required this.checkboxIconCheckedInt, + required this.checkboxIconDisabledInt, + required this.checkboxTextLabelInt, + required this.snackBarBackSuccessInt, + required this.snackBarBackErrorInt, + required this.snackBarBackInfoInt, + required this.snackBarTextSuccessInt, + required this.snackBarTextErrorInt, + required this.snackBarTextInfoInt, + required this.bottomNavIconBackInt, + required this.bottomNavIconIconInt, + required this.topNavIconPrimaryInt, + required this.topNavIconGreenInt, + required this.topNavIconYellowInt, + required this.topNavIconRedInt, + required this.settingsIconBackInt, + required this.settingsIconIconInt, + required this.settingsIconBack2Int, + required this.settingsIconElementInt, + required this.textFieldActiveBGInt, + required this.textFieldDefaultBGInt, + required this.textFieldErrorBGInt, + required this.textFieldSuccessBGInt, + required this.textFieldErrorBorderInt, + required this.textFieldSuccessBorderInt, + required this.textFieldActiveSearchIconLeftInt, + required this.textFieldDefaultSearchIconLeftInt, + required this.textFieldErrorSearchIconLeftInt, + required this.textFieldSuccessSearchIconLeftInt, + required this.textFieldActiveTextInt, + required this.textFieldDefaultTextInt, + required this.textFieldErrorTextInt, + required this.textFieldSuccessTextInt, + required this.textFieldActiveLabelInt, + required this.textFieldErrorLabelInt, + required this.textFieldSuccessLabelInt, + required this.textFieldActiveSearchIconRightInt, + required this.textFieldDefaultSearchIconRightInt, + required this.textFieldErrorSearchIconRightInt, + required this.textFieldSuccessSearchIconRightInt, + required this.settingsItem2ActiveBGInt, + required this.settingsItem2ActiveTextInt, + required this.settingsItem2ActiveSubInt, + required this.radioButtonIconBorderInt, + required this.radioButtonIconBorderDisabledInt, + required this.radioButtonBorderEnabledInt, + required this.radioButtonBorderDisabledInt, + required this.radioButtonIconCircleInt, + required this.radioButtonIconEnabledInt, + required this.radioButtonTextEnabledInt, + required this.radioButtonTextDisabledInt, + required this.radioButtonLabelEnabledInt, + required this.radioButtonLabelDisabledInt, + required this.infoItemBGInt, + required this.infoItemLabelInt, + required this.infoItemTextInt, + required this.infoItemIconsInt, + required this.popupBGInt, + required this.currencyListItemBGInt, + required this.stackWalletBGInt, + required this.stackWalletMidInt, + required this.stackWalletBottomInt, + required this.bottomNavShadowInt, + required this.favoriteStarActiveInt, + required this.favoriteStarInactiveInt, + required this.splashInt, + required this.highlightInt, + required this.warningForegroundInt, + required this.warningBackgroundInt, + required this.loadingOverlayTextColorInt, + required this.myStackContactIconBGInt, + required this.textConfirmTotalAmountInt, + required this.textSelectedWordTableItemInt, + required this.rateTypeToggleColorOnInt, + required this.rateTypeToggleColorOffInt, + required this.rateTypeToggleDesktopColorOnInt, + required this.rateTypeToggleDesktopColorOffInt, + required this.ethTagTextInt, + required this.ethTagBGInt, + required this.ethWalletTagTextInt, + required this.ethWalletTagBGInt, + required this.tokenSummaryTextPrimaryInt, + required this.tokenSummaryTextSecondaryInt, + required this.tokenSummaryBGInt, + required this.tokenSummaryButtonBGInt, + required this.tokenSummaryIconInt, + required this.coinColorsJsonString, + }); + + factory StackTheme.fromJson({ + required Map json, + required String applicationThemesDirectoryPath, + }) { + return StackTheme( + themeId: json["id"] as String, + name: json["name"] as String, + brightnessString: json["brightness"] as String, + backgroundInt: parseColor(json["colors"]["background"] as String), + backgroundAppBarInt: + parseColor(json["colors"]["background_app_bar"] as String), + gradientBackgroundString: json["colors"]["gradients"] != null + ? jsonEncode(json["colors"]["gradients"]) + : null, + standardBoxShadowString: + jsonEncode(json["colors"]["box_shadows"]["standard"] as Map), + homeViewButtonBarBoxShadowString: + json["colors"]["box_shadows"]["home_view_button_bar"] == null + ? null + : jsonEncode( + json["colors"]["box_shadows"]["home_view_button_bar"] as Map), + coinColorsJsonString: jsonEncode(json["colors"]['coin'] as Map), + assets: ThemeAssets.fromJson( + json: Map.from(json["assets"] as Map), + applicationThemesDirectoryPath: applicationThemesDirectoryPath, + themeId: json["id"] as String, + ), + overlayInt: parseColor(json["colors"]["overlay"] as String), + accentColorBlueInt: + parseColor(json["colors"]["accent_color_blue"] as String), + accentColorGreenInt: + parseColor(json["colors"]["accent_color_green"] as String), + accentColorYellowInt: + parseColor(json["colors"]["accent_color_yellow"] as String), + accentColorRedInt: + parseColor(json["colors"]["accent_color_red"] as String), + accentColorOrangeInt: + parseColor(json["colors"]["accent_color_orange"] as String), + accentColorDarkInt: + parseColor(json["colors"]["accent_color_dark"] as String), + shadowInt: parseColor(json["colors"]["shadow"] as String), + textDarkInt: parseColor(json["colors"]["text_dark_one"] as String), + textDark2Int: parseColor(json["colors"]["text_dark_two"] as String), + textDark3Int: parseColor(json["colors"]["text_dark_three"] as String), + textWhiteInt: parseColor(json["colors"]["text_white"] as String), + textFavoriteCardInt: + parseColor(json["colors"]["text_favorite"] as String), + textErrorInt: parseColor(json["colors"]["text_error"] as String), + textRestoreInt: parseColor(json["colors"]["text_restore"] as String), + buttonBackPrimaryInt: + parseColor(json["colors"]["button_back_primary"] as String), + buttonBackSecondaryInt: + parseColor(json["colors"]["button_back_secondary"] as String), + buttonBackPrimaryDisabledInt: + parseColor(json["colors"]["button_back_primary_disabled"] as String), + buttonBackSecondaryDisabledInt: parseColor( + json["colors"]["button_back_secondary_disabled"] as String), + buttonBackBorderInt: + parseColor(json["colors"]["button_back_border"] as String), + buttonBackBorderDisabledInt: + parseColor(json["colors"]["button_back_border_disabled"] as String), + buttonBackBorderSecondaryInt: + parseColor(json["colors"]["button_back_border_secondary"] as String), + buttonBackBorderSecondaryDisabledInt: parseColor( + json["colors"]["button_back_border_secondary_disabled"] as String), + numberBackDefaultInt: + parseColor(json["colors"]["number_back_default"] as String), + numpadBackDefaultInt: + parseColor(json["colors"]["numpad_back_default"] as String), + bottomNavBackInt: parseColor(json["colors"]["bottom_nav_back"] as String), + textSubtitle1Int: + parseColor(json["colors"]["text_subtitle_one"] as String), + textSubtitle2Int: + parseColor(json["colors"]["text_subtitle_two"] as String), + textSubtitle3Int: + parseColor(json["colors"]["text_subtitle_three"] as String), + textSubtitle4Int: + parseColor(json["colors"]["text_subtitle_four"] as String), + textSubtitle5Int: + parseColor(json["colors"]["text_subtitle_five"] as String), + textSubtitle6Int: + parseColor(json["colors"]["text_subtitle_six"] as String), + buttonTextPrimaryInt: + parseColor(json["colors"]["button_text_primary"] as String), + buttonTextSecondaryInt: + parseColor(json["colors"]["button_text_secondary"] as String), + buttonTextPrimaryDisabledInt: + parseColor(json["colors"]["button_text_primary_disabled"] as String), + buttonTextSecondaryDisabledInt: parseColor( + json["colors"]["button_text_secondary_disabled"] as String), + buttonTextBorderInt: + parseColor(json["colors"]["button_text_border"] as String), + buttonTextDisabledInt: + parseColor(json["colors"]["button_text_disabled"] as String), + buttonTextBorderlessInt: + parseColor(json["colors"]["button_text_borderless"] as String), + buttonTextBorderlessDisabledInt: parseColor( + json["colors"]["button_text_borderless_disabled"] as String), + numberTextDefaultInt: + parseColor(json["colors"]["number_text_default"] as String), + numpadTextDefaultInt: + parseColor(json["colors"]["numpad_text_default"] as String), + bottomNavTextInt: parseColor(json["colors"]["bottom_nav_text"] as String), + customTextButtonEnabledTextInt: parseColor( + json["colors"]["custom_text_button_enabled_text"] as String), + customTextButtonDisabledTextInt: parseColor( + json["colors"]["custom_text_button_disabled_text"] as String), + switchBGOnInt: parseColor(json["colors"]["switch_bg_on"] as String), + switchBGOffInt: parseColor(json["colors"]["switch_bg_off"] as String), + switchBGDisabledInt: + parseColor(json["colors"]["switch_bg_disabled"] as String), + switchCircleOnInt: + parseColor(json["colors"]["switch_circle_on"] as String), + switchCircleOffInt: + parseColor(json["colors"]["switch_circle_off"] as String), + switchCircleDisabledInt: + parseColor(json["colors"]["switch_circle_disabled"] as String), + stepIndicatorBGCheckInt: + parseColor(json["colors"]["step_indicator_bg_check"] as String), + stepIndicatorBGNumberInt: + parseColor(json["colors"]["step_indicator_bg_number"] as String), + stepIndicatorBGInactiveInt: + parseColor(json["colors"]["step_indicator_bg_inactive"] as String), + stepIndicatorBGLinesInt: + parseColor(json["colors"]["step_indicator_bg_lines"] as String), + stepIndicatorBGLinesInactiveInt: parseColor( + json["colors"]["step_indicator_bg_lines_inactive"] as String), + stepIndicatorIconTextInt: + parseColor(json["colors"]["step_indicator_icon_text"] as String), + stepIndicatorIconNumberInt: + parseColor(json["colors"]["step_indicator_icon_number"] as String), + stepIndicatorIconInactiveInt: + parseColor(json["colors"]["step_indicator_icon_inactive"] as String), + checkboxBGCheckedInt: + parseColor(json["colors"]["checkbox_bg_checked"] as String), + checkboxBorderEmptyInt: + parseColor(json["colors"]["checkbox_border_empty"] as String), + checkboxBGDisabledInt: + parseColor(json["colors"]["checkbox_bg_disabled"] as String), + checkboxIconCheckedInt: + parseColor(json["colors"]["checkbox_icon_checked"] as String), + checkboxIconDisabledInt: + parseColor(json["colors"]["checkbox_icon_disabled"] as String), + checkboxTextLabelInt: + parseColor(json["colors"]["checkbox_text_label"] as String), + snackBarBackSuccessInt: + parseColor(json["colors"]["snack_bar_back_success"] as String), + snackBarBackErrorInt: + parseColor(json["colors"]["snack_bar_back_error"] as String), + snackBarBackInfoInt: + parseColor(json["colors"]["snack_bar_back_info"] as String), + snackBarTextSuccessInt: + parseColor(json["colors"]["snack_bar_text_success"] as String), + snackBarTextErrorInt: + parseColor(json["colors"]["snack_bar_text_error"] as String), + snackBarTextInfoInt: + parseColor(json["colors"]["snack_bar_text_info"] as String), + bottomNavIconBackInt: + parseColor(json["colors"]["bottom_nav_icon_back"] as String), + bottomNavIconIconInt: + parseColor(json["colors"]["bottom_nav_icon_icon"] as String), + topNavIconPrimaryInt: + parseColor(json["colors"]["top_nav_icon_primary"] as String), + topNavIconGreenInt: + parseColor(json["colors"]["top_nav_icon_green"] as String), + topNavIconYellowInt: + parseColor(json["colors"]["top_nav_icon_yellow"] as String), + topNavIconRedInt: + parseColor(json["colors"]["top_nav_icon_red"] as String), + settingsIconBackInt: + parseColor(json["colors"]["settings_icon_back"] as String), + settingsIconIconInt: + parseColor(json["colors"]["settings_icon_icon"] as String), + settingsIconBack2Int: + parseColor(json["colors"]["settings_icon_back_two"] as String), + settingsIconElementInt: + parseColor(json["colors"]["settings_icon_element"] as String), + textFieldActiveBGInt: + parseColor(json["colors"]["text_field_active_bg"] as String), + textFieldDefaultBGInt: + parseColor(json["colors"]["text_field_default_bg"] as String), + textFieldErrorBGInt: + parseColor(json["colors"]["text_field_error_bg"] as String), + textFieldSuccessBGInt: + parseColor(json["colors"]["text_field_success_bg"] as String), + textFieldErrorBorderInt: + parseColor(json["colors"]["text_field_error_border"] as String), + textFieldSuccessBorderInt: + parseColor(json["colors"]["text_field_success_border"] as String), + textFieldActiveSearchIconLeftInt: parseColor( + json["colors"]["text_field_active_search_icon_left"] as String), + textFieldDefaultSearchIconLeftInt: parseColor( + json["colors"]["text_field_default_search_icon_left"] as String), + textFieldErrorSearchIconLeftInt: parseColor( + json["colors"]["text_field_error_search_icon_left"] as String), + textFieldSuccessSearchIconLeftInt: parseColor( + json["colors"]["text_field_success_search_icon_left"] as String), + textFieldActiveTextInt: + parseColor(json["colors"]["text_field_active_text"] as String), + textFieldDefaultTextInt: + parseColor(json["colors"]["text_field_default_text"] as String), + textFieldErrorTextInt: + parseColor(json["colors"]["text_field_error_text"] as String), + textFieldSuccessTextInt: + parseColor(json["colors"]["text_field_success_text"] as String), + textFieldActiveLabelInt: + parseColor(json["colors"]["text_field_active_label"] as String), + textFieldErrorLabelInt: + parseColor(json["colors"]["text_field_error_label"] as String), + textFieldSuccessLabelInt: + parseColor(json["colors"]["text_field_success_label"] as String), + textFieldActiveSearchIconRightInt: parseColor( + json["colors"]["text_field_active_search_icon_right"] as String), + textFieldDefaultSearchIconRightInt: parseColor( + json["colors"]["text_field_default_search_icon_right"] as String), + textFieldErrorSearchIconRightInt: parseColor( + json["colors"]["text_field_error_search_icon_right"] as String), + textFieldSuccessSearchIconRightInt: parseColor( + json["colors"]["text_field_success_search_icon_right"] as String), + settingsItem2ActiveBGInt: parseColor( + json["colors"]["settings_item_level_two_active_bg"] as String), + settingsItem2ActiveTextInt: parseColor( + json["colors"]["settings_item_level_two_active_text"] as String), + settingsItem2ActiveSubInt: parseColor( + json["colors"]["settings_item_level_two_active_sub"] as String), + radioButtonIconBorderInt: + parseColor(json["colors"]["radio_button_icon_border"] as String), + radioButtonIconBorderDisabledInt: parseColor( + json["colors"]["radio_button_icon_border_disabled"] as String), + radioButtonBorderEnabledInt: + parseColor(json["colors"]["radio_button_border_enabled"] as String), + radioButtonBorderDisabledInt: + parseColor(json["colors"]["radio_button_border_disabled"] as String), + radioButtonIconCircleInt: + parseColor(json["colors"]["radio_button_icon_circle"] as String), + radioButtonIconEnabledInt: + parseColor(json["colors"]["radio_button_icon_enabled"] as String), + radioButtonTextEnabledInt: + parseColor(json["colors"]["radio_button_text_enabled"] as String), + radioButtonTextDisabledInt: + parseColor(json["colors"]["radio_button_text_disabled"] as String), + radioButtonLabelEnabledInt: + parseColor(json["colors"]["radio_button_label_enabled"] as String), + radioButtonLabelDisabledInt: + parseColor(json["colors"]["radio_button_label_disabled"] as String), + infoItemBGInt: parseColor(json["colors"]["info_item_bg"] as String), + infoItemLabelInt: parseColor(json["colors"]["info_item_label"] as String), + infoItemTextInt: parseColor(json["colors"]["info_item_text"] as String), + infoItemIconsInt: parseColor(json["colors"]["info_item_icons"] as String), + popupBGInt: parseColor(json["colors"]["popup_bg"] as String), + currencyListItemBGInt: + parseColor(json["colors"]["currency_list_item_bg"] as String), + stackWalletBGInt: parseColor(json["colors"]["sw_bg"] as String), + stackWalletMidInt: parseColor(json["colors"]["sw_mid"] as String), + stackWalletBottomInt: parseColor(json["colors"]["sw_bottom"] as String), + bottomNavShadowInt: + parseColor(json["colors"]["bottom_nav_shadow"] as String), + splashInt: parseColor(json["colors"]["splash"] as String), + highlightInt: parseColor(json["colors"]["highlight"] as String), + warningForegroundInt: + parseColor(json["colors"]["warning_foreground"] as String), + warningBackgroundInt: + parseColor(json["colors"]["warning_background"] as String), + loadingOverlayTextColorInt: + parseColor(json["colors"]["loading_overlay_text_color"] as String), + myStackContactIconBGInt: + parseColor(json["colors"]["my_stack_contact_icon_bg"] as String), + textConfirmTotalAmountInt: + parseColor(json["colors"]["text_confirm_total_amount"] as String), + textSelectedWordTableItemInt: parseColor( + json["colors"]["text_selected_word_table_iterm"] as String), + favoriteStarActiveInt: + parseColor(json["colors"]["favorite_star_active"] as String), + favoriteStarInactiveInt: + parseColor(json["colors"]["favorite_star_inactive"] as String), + rateTypeToggleColorOnInt: + parseColor(json["colors"]["rate_type_toggle_color_on"] as String), + rateTypeToggleColorOffInt: + parseColor(json["colors"]["rate_type_toggle_color_off"] as String), + rateTypeToggleDesktopColorOnInt: parseColor( + json["colors"]["rate_type_toggle_desktop_color_on"] as String), + rateTypeToggleDesktopColorOffInt: parseColor( + json["colors"]["rate_type_toggle_desktop_color_off"] as String), + ethTagTextInt: parseColor(json["colors"]["eth_tag_text"] as String), + ethTagBGInt: parseColor(json["colors"]["eth_tag_bg"] as String), + ethWalletTagTextInt: + parseColor(json["colors"]["eth_wallet_tag_text"] as String), + ethWalletTagBGInt: + parseColor(json["colors"]["eth_wallet_tag_bg"] as String), + tokenSummaryTextPrimaryInt: + parseColor(json["colors"]["token_summary_text_primary"] as String), + tokenSummaryTextSecondaryInt: + parseColor(json["colors"]["token_summary_text_secondary"] as String), + tokenSummaryBGInt: + parseColor(json["colors"]["token_summary_bg"] as String), + tokenSummaryButtonBGInt: + parseColor(json["colors"]["token_summary_button_bg"] as String), + tokenSummaryIconInt: + parseColor(json["colors"]["token_summary_icon"] as String), + ); + } + + /// Grab the int value of the hex color string. + /// 8 char string value expected where the first 2 are opacity + static int parseColor(String colorHex) { + try { + final int colorValue = colorHex.toBigIntFromHex.toInt(); + if (colorValue >= 0 && colorValue <= 0xFFFFFFFF) { + return colorValue; + } else { + throw ArgumentError( + '"$colorHex" and corresponding int ' + 'value "$colorValue" is not a valid color.', + ); + } + } catch (_) { + throw ArgumentError( + '"$colorHex" is not a valid hex number', + ); + } + } + + /// parse coin colors json and fetch color or use default + static Map parseCoinColors(String jsonString) { + final json = jsonDecode(jsonString) as Map; + final map = Map.from(json); + + final Map result = {}; + + for (final coin in Coin.values) { + if (map[coin.name] is String) { + result[coin] = Color( + (map[coin.name] as String).toBigIntFromHex.toInt(), + ); + } else { + result[coin] = kCoinThemeColorDefaults.forCoin(coin); + } + } + + return result; + } +} + +@Embedded(inheritance: false) +class ThemeAssets { + late final String bellNew; + late final String buy; + late final String exchange; + late final String personaIncognito; + late final String personaEasy; + late final String stack; + late final String stackIcon; + late final String receive; + late final String receivePending; + late final String receiveCancelled; + late final String send; + late final String sendPending; + late final String sendCancelled; + late final String themeSelector; + late final String themePreview; + late final String txExchange; + late final String txExchangePending; + late final String txExchangeFailed; + late final String bitcoin; + late final String litecoin; + late final String bitcoincash; + late final String dogecoin; + late final String epicCash; + late final String ethereum; + late final String firo; + late final String monero; + late final String wownero; + late final String namecoin; + late final String particl; + late final String bitcoinImage; + late final String bitcoincashImage; + late final String dogecoinImage; + late final String epicCashImage; + late final String ethereumImage; + late final String firoImage; + late final String litecoinImage; + late final String moneroImage; + late final String wowneroImage; + late final String namecoinImage; + late final String particlImage; + late final String bitcoinImageSecondary; + late final String bitcoincashImageSecondary; + late final String dogecoinImageSecondary; + late final String epicCashImageSecondary; + late final String ethereumImageSecondary; + late final String firoImageSecondary; + late final String litecoinImageSecondary; + late final String moneroImageSecondary; + late final String wowneroImageSecondary; + late final String namecoinImageSecondary; + late final String particlImageSecondary; + late final String? loadingGif; + late final String? background; + + // todo: add all assets expected in json + + ThemeAssets(); + + factory ThemeAssets.fromJson({ + required Map json, + required String applicationThemesDirectoryPath, + required String themeId, + }) { + return ThemeAssets() + ..bellNew = + "$applicationThemesDirectoryPath/$themeId/assets/${json["bell_new"] as String}" + ..buy = + "$applicationThemesDirectoryPath/$themeId/assets/${json["buy"] as String}" + ..exchange = + "$applicationThemesDirectoryPath/$themeId/assets/${json["exchange"] as String}" + ..personaIncognito = + "$applicationThemesDirectoryPath/$themeId/assets/${json["persona_incognito"] as String}" + ..personaEasy = + "$applicationThemesDirectoryPath/$themeId/assets/${json["persona_easy"] as String}" + ..stack = + "$applicationThemesDirectoryPath/$themeId/assets/${json["stack"] as String}" + ..stackIcon = + "$applicationThemesDirectoryPath/$themeId/assets/${json["stack_icon"] as String}" + ..receive = + "$applicationThemesDirectoryPath/$themeId/assets/${json["receive"] as String}" + ..receivePending = + "$applicationThemesDirectoryPath/$themeId/assets/${json["receive_pending"] as String}" + ..receiveCancelled = + "$applicationThemesDirectoryPath/$themeId/assets/${json["receive_cancelled"] as String}" + ..send = + "$applicationThemesDirectoryPath/$themeId/assets/${json["send"] as String}" + ..sendPending = + "$applicationThemesDirectoryPath/$themeId/assets/${json["send_pending"] as String}" + ..sendCancelled = + "$applicationThemesDirectoryPath/$themeId/assets/${json["send_cancelled"] as String}" + ..themeSelector = + "$applicationThemesDirectoryPath/$themeId/assets/${json["theme_selector"] as String}" + ..themePreview = + "$applicationThemesDirectoryPath/$themeId/assets/${json["theme_preview"] as String}" + ..txExchange = + "$applicationThemesDirectoryPath/$themeId/assets/${json["tx_exchange"] as String}" + ..txExchangePending = + "$applicationThemesDirectoryPath/$themeId/assets/${json["tx_exchange_pending"] as String}" + ..txExchangeFailed = + "$applicationThemesDirectoryPath/$themeId/assets/${json["tx_exchange_failed"] as String}" + ..bitcoin = + "$applicationThemesDirectoryPath/$themeId/assets/${json["bitcoin"] as String}" + ..litecoin = + "$applicationThemesDirectoryPath/$themeId/assets/${json["litecoin"] as String}" + ..bitcoincash = + "$applicationThemesDirectoryPath/$themeId/assets/${json["bitcoincash"] as String}" + ..dogecoin = + "$applicationThemesDirectoryPath/$themeId/assets/${json["dogecoin"] as String}" + ..epicCash = + "$applicationThemesDirectoryPath/$themeId/assets/${json["epicCash"] as String}" + ..ethereum = + "$applicationThemesDirectoryPath/$themeId/assets/${json["ethereum"] as String}" + ..firo = + "$applicationThemesDirectoryPath/$themeId/assets/${json["firo"] as String}" + ..monero = + "$applicationThemesDirectoryPath/$themeId/assets/${json["monero"] as String}" + ..wownero = + "$applicationThemesDirectoryPath/$themeId/assets/${json["wownero"] as String}" + ..namecoin = + "$applicationThemesDirectoryPath/$themeId/assets/${json["namecoin"] as String}" + ..particl = + "$applicationThemesDirectoryPath/$themeId/assets/${json["particl"] as String}" + ..bitcoinImage = + "$applicationThemesDirectoryPath/$themeId/assets/${json["bitcoin_image"] as String}" + ..bitcoincashImage = + "$applicationThemesDirectoryPath/$themeId/assets/${json["bitcoincash_image"] as String}" + ..dogecoinImage = + "$applicationThemesDirectoryPath/$themeId/assets/${json["dogecoin_image"] as String}" + ..epicCashImage = + "$applicationThemesDirectoryPath/$themeId/assets/${json["epicCash_image"] as String}" + ..ethereumImage = + "$applicationThemesDirectoryPath/$themeId/assets/${json["ethereum_image"] as String}" + ..firoImage = + "$applicationThemesDirectoryPath/$themeId/assets/${json["firo_image"] as String}" + ..litecoinImage = + "$applicationThemesDirectoryPath/$themeId/assets/${json["litecoin_image"] as String}" + ..moneroImage = + "$applicationThemesDirectoryPath/$themeId/assets/${json["monero_image"] as String}" + ..wowneroImage = + "$applicationThemesDirectoryPath/$themeId/assets/${json["wownero_image"] as String}" + ..namecoinImage = + "$applicationThemesDirectoryPath/$themeId/assets/${json["namecoin_image"] as String}" + ..particlImage = + "$applicationThemesDirectoryPath/$themeId/assets/${json["particl_image"] as String}" + ..bitcoinImageSecondary = + "$applicationThemesDirectoryPath/$themeId/assets/${json["bitcoin_image_secondary"] as String}" + ..bitcoincashImageSecondary = + "$applicationThemesDirectoryPath/$themeId/assets/${json["bitcoincash_image_secondary"] as String}" + ..dogecoinImageSecondary = + "$applicationThemesDirectoryPath/$themeId/assets/${json["dogecoin_image_secondary"] as String}" + ..epicCashImageSecondary = + "$applicationThemesDirectoryPath/$themeId/assets/${json["epicCash_image_secondary"] as String}" + ..ethereumImageSecondary = + "$applicationThemesDirectoryPath/$themeId/assets/${json["ethereum_image_secondary"] as String}" + ..firoImageSecondary = + "$applicationThemesDirectoryPath/$themeId/assets/${json["firo_image_secondary"] as String}" + ..litecoinImageSecondary = + "$applicationThemesDirectoryPath/$themeId/assets/${json["litecoin_image_secondary"] as String}" + ..moneroImageSecondary = + "$applicationThemesDirectoryPath/$themeId/assets/${json["monero_image_secondary"] as String}" + ..wowneroImageSecondary = + "$applicationThemesDirectoryPath/$themeId/assets/${json["wownero_image_secondary"] as String}" + ..namecoinImageSecondary = + "$applicationThemesDirectoryPath/$themeId/assets/${json["namecoin_image_secondary"] as String}" + ..particlImageSecondary = + "$applicationThemesDirectoryPath/$themeId/assets/${json["particl_image_secondary"] as String}" + ..loadingGif = json["loading_gif"] is String + ? "$applicationThemesDirectoryPath/$themeId/assets/${json["loading_gif"] as String}" + : null + ..background = json["background"] is String + ? "$applicationThemesDirectoryPath/$themeId/assets/${json["background"] as String}" + : null; + } +} diff --git a/lib/models/isar/stack_theme.g.dart b/lib/models/isar/stack_theme.g.dart new file mode 100644 index 000000000..33646c12e --- /dev/null +++ b/lib/models/isar/stack_theme.g.dart @@ -0,0 +1,25462 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'stack_theme.dart'; + +// ************************************************************************** +// IsarCollectionGenerator +// ************************************************************************** + +// coverage:ignore-file +// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters + +extension GetStackThemeCollection on Isar { + IsarCollection get stackThemes => this.collection(); +} + +const StackThemeSchema = CollectionSchema( + name: r'StackTheme', + id: 6699740637547692013, + properties: { + r'accentColorBlueInt': PropertySchema( + id: 0, + name: r'accentColorBlueInt', + type: IsarType.long, + ), + r'accentColorDarkInt': PropertySchema( + id: 1, + name: r'accentColorDarkInt', + type: IsarType.long, + ), + r'accentColorGreenInt': PropertySchema( + id: 2, + name: r'accentColorGreenInt', + type: IsarType.long, + ), + r'accentColorOrangeInt': PropertySchema( + id: 3, + name: r'accentColorOrangeInt', + type: IsarType.long, + ), + r'accentColorRedInt': PropertySchema( + id: 4, + name: r'accentColorRedInt', + type: IsarType.long, + ), + r'accentColorYellowInt': PropertySchema( + id: 5, + name: r'accentColorYellowInt', + type: IsarType.long, + ), + r'assets': PropertySchema( + id: 6, + name: r'assets', + type: IsarType.object, + target: r'ThemeAssets', + ), + r'backgroundAppBarInt': PropertySchema( + id: 7, + name: r'backgroundAppBarInt', + type: IsarType.long, + ), + r'backgroundInt': PropertySchema( + id: 8, + name: r'backgroundInt', + type: IsarType.long, + ), + r'bottomNavBackInt': PropertySchema( + id: 9, + name: r'bottomNavBackInt', + type: IsarType.long, + ), + r'bottomNavIconBackInt': PropertySchema( + id: 10, + name: r'bottomNavIconBackInt', + type: IsarType.long, + ), + r'bottomNavIconIconInt': PropertySchema( + id: 11, + name: r'bottomNavIconIconInt', + type: IsarType.long, + ), + r'bottomNavShadowInt': PropertySchema( + id: 12, + name: r'bottomNavShadowInt', + type: IsarType.long, + ), + r'bottomNavTextInt': PropertySchema( + id: 13, + name: r'bottomNavTextInt', + type: IsarType.long, + ), + r'brightnessString': PropertySchema( + id: 14, + name: r'brightnessString', + type: IsarType.string, + ), + r'buttonBackBorderDisabledInt': PropertySchema( + id: 15, + name: r'buttonBackBorderDisabledInt', + type: IsarType.long, + ), + r'buttonBackBorderInt': PropertySchema( + id: 16, + name: r'buttonBackBorderInt', + type: IsarType.long, + ), + r'buttonBackBorderSecondaryDisabledInt': PropertySchema( + id: 17, + name: r'buttonBackBorderSecondaryDisabledInt', + type: IsarType.long, + ), + r'buttonBackBorderSecondaryInt': PropertySchema( + id: 18, + name: r'buttonBackBorderSecondaryInt', + type: IsarType.long, + ), + r'buttonBackPrimaryDisabledInt': PropertySchema( + id: 19, + name: r'buttonBackPrimaryDisabledInt', + type: IsarType.long, + ), + r'buttonBackPrimaryInt': PropertySchema( + id: 20, + name: r'buttonBackPrimaryInt', + type: IsarType.long, + ), + r'buttonBackSecondaryDisabledInt': PropertySchema( + id: 21, + name: r'buttonBackSecondaryDisabledInt', + type: IsarType.long, + ), + r'buttonBackSecondaryInt': PropertySchema( + id: 22, + name: r'buttonBackSecondaryInt', + type: IsarType.long, + ), + r'buttonTextBorderInt': PropertySchema( + id: 23, + name: r'buttonTextBorderInt', + type: IsarType.long, + ), + r'buttonTextBorderlessDisabledInt': PropertySchema( + id: 24, + name: r'buttonTextBorderlessDisabledInt', + type: IsarType.long, + ), + r'buttonTextBorderlessInt': PropertySchema( + id: 25, + name: r'buttonTextBorderlessInt', + type: IsarType.long, + ), + r'buttonTextDisabledInt': PropertySchema( + id: 26, + name: r'buttonTextDisabledInt', + type: IsarType.long, + ), + r'buttonTextPrimaryDisabledInt': PropertySchema( + id: 27, + name: r'buttonTextPrimaryDisabledInt', + type: IsarType.long, + ), + r'buttonTextPrimaryInt': PropertySchema( + id: 28, + name: r'buttonTextPrimaryInt', + type: IsarType.long, + ), + r'buttonTextSecondaryDisabledInt': PropertySchema( + id: 29, + name: r'buttonTextSecondaryDisabledInt', + type: IsarType.long, + ), + r'buttonTextSecondaryInt': PropertySchema( + id: 30, + name: r'buttonTextSecondaryInt', + type: IsarType.long, + ), + r'checkboxBGCheckedInt': PropertySchema( + id: 31, + name: r'checkboxBGCheckedInt', + type: IsarType.long, + ), + r'checkboxBGDisabledInt': PropertySchema( + id: 32, + name: r'checkboxBGDisabledInt', + type: IsarType.long, + ), + r'checkboxBorderEmptyInt': PropertySchema( + id: 33, + name: r'checkboxBorderEmptyInt', + type: IsarType.long, + ), + r'checkboxIconCheckedInt': PropertySchema( + id: 34, + name: r'checkboxIconCheckedInt', + type: IsarType.long, + ), + r'checkboxIconDisabledInt': PropertySchema( + id: 35, + name: r'checkboxIconDisabledInt', + type: IsarType.long, + ), + r'checkboxTextLabelInt': PropertySchema( + id: 36, + name: r'checkboxTextLabelInt', + type: IsarType.long, + ), + r'coinColorsJsonString': PropertySchema( + id: 37, + name: r'coinColorsJsonString', + type: IsarType.string, + ), + r'currencyListItemBGInt': PropertySchema( + id: 38, + name: r'currencyListItemBGInt', + type: IsarType.long, + ), + r'customTextButtonDisabledTextInt': PropertySchema( + id: 39, + name: r'customTextButtonDisabledTextInt', + type: IsarType.long, + ), + r'customTextButtonEnabledTextInt': PropertySchema( + id: 40, + name: r'customTextButtonEnabledTextInt', + type: IsarType.long, + ), + r'ethTagBGInt': PropertySchema( + id: 41, + name: r'ethTagBGInt', + type: IsarType.long, + ), + r'ethTagTextInt': PropertySchema( + id: 42, + name: r'ethTagTextInt', + type: IsarType.long, + ), + r'ethWalletTagBGInt': PropertySchema( + id: 43, + name: r'ethWalletTagBGInt', + type: IsarType.long, + ), + r'ethWalletTagTextInt': PropertySchema( + id: 44, + name: r'ethWalletTagTextInt', + type: IsarType.long, + ), + r'favoriteStarActiveInt': PropertySchema( + id: 45, + name: r'favoriteStarActiveInt', + type: IsarType.long, + ), + r'favoriteStarInactiveInt': PropertySchema( + id: 46, + name: r'favoriteStarInactiveInt', + type: IsarType.long, + ), + r'gradientBackgroundString': PropertySchema( + id: 47, + name: r'gradientBackgroundString', + type: IsarType.string, + ), + r'highlightInt': PropertySchema( + id: 48, + name: r'highlightInt', + type: IsarType.long, + ), + r'homeViewButtonBarBoxShadowString': PropertySchema( + id: 49, + name: r'homeViewButtonBarBoxShadowString', + type: IsarType.string, + ), + r'infoItemBGInt': PropertySchema( + id: 50, + name: r'infoItemBGInt', + type: IsarType.long, + ), + r'infoItemIconsInt': PropertySchema( + id: 51, + name: r'infoItemIconsInt', + type: IsarType.long, + ), + r'infoItemLabelInt': PropertySchema( + id: 52, + name: r'infoItemLabelInt', + type: IsarType.long, + ), + r'infoItemTextInt': PropertySchema( + id: 53, + name: r'infoItemTextInt', + type: IsarType.long, + ), + r'loadingOverlayTextColorInt': PropertySchema( + id: 54, + name: r'loadingOverlayTextColorInt', + type: IsarType.long, + ), + r'myStackContactIconBGInt': PropertySchema( + id: 55, + name: r'myStackContactIconBGInt', + type: IsarType.long, + ), + r'name': PropertySchema( + id: 56, + name: r'name', + type: IsarType.string, + ), + r'numberBackDefaultInt': PropertySchema( + id: 57, + name: r'numberBackDefaultInt', + type: IsarType.long, + ), + r'numberTextDefaultInt': PropertySchema( + id: 58, + name: r'numberTextDefaultInt', + type: IsarType.long, + ), + r'numpadBackDefaultInt': PropertySchema( + id: 59, + name: r'numpadBackDefaultInt', + type: IsarType.long, + ), + r'numpadTextDefaultInt': PropertySchema( + id: 60, + name: r'numpadTextDefaultInt', + type: IsarType.long, + ), + r'overlayInt': PropertySchema( + id: 61, + name: r'overlayInt', + type: IsarType.long, + ), + r'popupBGInt': PropertySchema( + id: 62, + name: r'popupBGInt', + type: IsarType.long, + ), + r'radioButtonBorderDisabledInt': PropertySchema( + id: 63, + name: r'radioButtonBorderDisabledInt', + type: IsarType.long, + ), + r'radioButtonBorderEnabledInt': PropertySchema( + id: 64, + name: r'radioButtonBorderEnabledInt', + type: IsarType.long, + ), + r'radioButtonIconBorderDisabledInt': PropertySchema( + id: 65, + name: r'radioButtonIconBorderDisabledInt', + type: IsarType.long, + ), + r'radioButtonIconBorderInt': PropertySchema( + id: 66, + name: r'radioButtonIconBorderInt', + type: IsarType.long, + ), + r'radioButtonIconCircleInt': PropertySchema( + id: 67, + name: r'radioButtonIconCircleInt', + type: IsarType.long, + ), + r'radioButtonIconEnabledInt': PropertySchema( + id: 68, + name: r'radioButtonIconEnabledInt', + type: IsarType.long, + ), + r'radioButtonLabelDisabledInt': PropertySchema( + id: 69, + name: r'radioButtonLabelDisabledInt', + type: IsarType.long, + ), + r'radioButtonLabelEnabledInt': PropertySchema( + id: 70, + name: r'radioButtonLabelEnabledInt', + type: IsarType.long, + ), + r'radioButtonTextDisabledInt': PropertySchema( + id: 71, + name: r'radioButtonTextDisabledInt', + type: IsarType.long, + ), + r'radioButtonTextEnabledInt': PropertySchema( + id: 72, + name: r'radioButtonTextEnabledInt', + type: IsarType.long, + ), + r'rateTypeToggleColorOffInt': PropertySchema( + id: 73, + name: r'rateTypeToggleColorOffInt', + type: IsarType.long, + ), + r'rateTypeToggleColorOnInt': PropertySchema( + id: 74, + name: r'rateTypeToggleColorOnInt', + type: IsarType.long, + ), + r'rateTypeToggleDesktopColorOffInt': PropertySchema( + id: 75, + name: r'rateTypeToggleDesktopColorOffInt', + type: IsarType.long, + ), + r'rateTypeToggleDesktopColorOnInt': PropertySchema( + id: 76, + name: r'rateTypeToggleDesktopColorOnInt', + type: IsarType.long, + ), + r'settingsIconBack2Int': PropertySchema( + id: 77, + name: r'settingsIconBack2Int', + type: IsarType.long, + ), + r'settingsIconBackInt': PropertySchema( + id: 78, + name: r'settingsIconBackInt', + type: IsarType.long, + ), + r'settingsIconElementInt': PropertySchema( + id: 79, + name: r'settingsIconElementInt', + type: IsarType.long, + ), + r'settingsIconIconInt': PropertySchema( + id: 80, + name: r'settingsIconIconInt', + type: IsarType.long, + ), + r'settingsItem2ActiveBGInt': PropertySchema( + id: 81, + name: r'settingsItem2ActiveBGInt', + type: IsarType.long, + ), + r'settingsItem2ActiveSubInt': PropertySchema( + id: 82, + name: r'settingsItem2ActiveSubInt', + type: IsarType.long, + ), + r'settingsItem2ActiveTextInt': PropertySchema( + id: 83, + name: r'settingsItem2ActiveTextInt', + type: IsarType.long, + ), + r'shadowInt': PropertySchema( + id: 84, + name: r'shadowInt', + type: IsarType.long, + ), + r'snackBarBackErrorInt': PropertySchema( + id: 85, + name: r'snackBarBackErrorInt', + type: IsarType.long, + ), + r'snackBarBackInfoInt': PropertySchema( + id: 86, + name: r'snackBarBackInfoInt', + type: IsarType.long, + ), + r'snackBarBackSuccessInt': PropertySchema( + id: 87, + name: r'snackBarBackSuccessInt', + type: IsarType.long, + ), + r'snackBarTextErrorInt': PropertySchema( + id: 88, + name: r'snackBarTextErrorInt', + type: IsarType.long, + ), + r'snackBarTextInfoInt': PropertySchema( + id: 89, + name: r'snackBarTextInfoInt', + type: IsarType.long, + ), + r'snackBarTextSuccessInt': PropertySchema( + id: 90, + name: r'snackBarTextSuccessInt', + type: IsarType.long, + ), + r'splashInt': PropertySchema( + id: 91, + name: r'splashInt', + type: IsarType.long, + ), + r'stackWalletBGInt': PropertySchema( + id: 92, + name: r'stackWalletBGInt', + type: IsarType.long, + ), + r'stackWalletBottomInt': PropertySchema( + id: 93, + name: r'stackWalletBottomInt', + type: IsarType.long, + ), + r'stackWalletMidInt': PropertySchema( + id: 94, + name: r'stackWalletMidInt', + type: IsarType.long, + ), + r'standardBoxShadowString': PropertySchema( + id: 95, + name: r'standardBoxShadowString', + type: IsarType.string, + ), + r'stepIndicatorBGCheckInt': PropertySchema( + id: 96, + name: r'stepIndicatorBGCheckInt', + type: IsarType.long, + ), + r'stepIndicatorBGInactiveInt': PropertySchema( + id: 97, + name: r'stepIndicatorBGInactiveInt', + type: IsarType.long, + ), + r'stepIndicatorBGLinesInactiveInt': PropertySchema( + id: 98, + name: r'stepIndicatorBGLinesInactiveInt', + type: IsarType.long, + ), + r'stepIndicatorBGLinesInt': PropertySchema( + id: 99, + name: r'stepIndicatorBGLinesInt', + type: IsarType.long, + ), + r'stepIndicatorBGNumberInt': PropertySchema( + id: 100, + name: r'stepIndicatorBGNumberInt', + type: IsarType.long, + ), + r'stepIndicatorIconInactiveInt': PropertySchema( + id: 101, + name: r'stepIndicatorIconInactiveInt', + type: IsarType.long, + ), + r'stepIndicatorIconNumberInt': PropertySchema( + id: 102, + name: r'stepIndicatorIconNumberInt', + type: IsarType.long, + ), + r'stepIndicatorIconTextInt': PropertySchema( + id: 103, + name: r'stepIndicatorIconTextInt', + type: IsarType.long, + ), + r'switchBGDisabledInt': PropertySchema( + id: 104, + name: r'switchBGDisabledInt', + type: IsarType.long, + ), + r'switchBGOffInt': PropertySchema( + id: 105, + name: r'switchBGOffInt', + type: IsarType.long, + ), + r'switchBGOnInt': PropertySchema( + id: 106, + name: r'switchBGOnInt', + type: IsarType.long, + ), + r'switchCircleDisabledInt': PropertySchema( + id: 107, + name: r'switchCircleDisabledInt', + type: IsarType.long, + ), + r'switchCircleOffInt': PropertySchema( + id: 108, + name: r'switchCircleOffInt', + type: IsarType.long, + ), + r'switchCircleOnInt': PropertySchema( + id: 109, + name: r'switchCircleOnInt', + type: IsarType.long, + ), + r'textConfirmTotalAmountInt': PropertySchema( + id: 110, + name: r'textConfirmTotalAmountInt', + type: IsarType.long, + ), + r'textDark2Int': PropertySchema( + id: 111, + name: r'textDark2Int', + type: IsarType.long, + ), + r'textDark3Int': PropertySchema( + id: 112, + name: r'textDark3Int', + type: IsarType.long, + ), + r'textDarkInt': PropertySchema( + id: 113, + name: r'textDarkInt', + type: IsarType.long, + ), + r'textErrorInt': PropertySchema( + id: 114, + name: r'textErrorInt', + type: IsarType.long, + ), + r'textFavoriteCardInt': PropertySchema( + id: 115, + name: r'textFavoriteCardInt', + type: IsarType.long, + ), + r'textFieldActiveBGInt': PropertySchema( + id: 116, + name: r'textFieldActiveBGInt', + type: IsarType.long, + ), + r'textFieldActiveLabelInt': PropertySchema( + id: 117, + name: r'textFieldActiveLabelInt', + type: IsarType.long, + ), + r'textFieldActiveSearchIconLeftInt': PropertySchema( + id: 118, + name: r'textFieldActiveSearchIconLeftInt', + type: IsarType.long, + ), + r'textFieldActiveSearchIconRightInt': PropertySchema( + id: 119, + name: r'textFieldActiveSearchIconRightInt', + type: IsarType.long, + ), + r'textFieldActiveTextInt': PropertySchema( + id: 120, + name: r'textFieldActiveTextInt', + type: IsarType.long, + ), + r'textFieldDefaultBGInt': PropertySchema( + id: 121, + name: r'textFieldDefaultBGInt', + type: IsarType.long, + ), + r'textFieldDefaultSearchIconLeftInt': PropertySchema( + id: 122, + name: r'textFieldDefaultSearchIconLeftInt', + type: IsarType.long, + ), + r'textFieldDefaultSearchIconRightInt': PropertySchema( + id: 123, + name: r'textFieldDefaultSearchIconRightInt', + type: IsarType.long, + ), + r'textFieldDefaultTextInt': PropertySchema( + id: 124, + name: r'textFieldDefaultTextInt', + type: IsarType.long, + ), + r'textFieldErrorBGInt': PropertySchema( + id: 125, + name: r'textFieldErrorBGInt', + type: IsarType.long, + ), + r'textFieldErrorBorderInt': PropertySchema( + id: 126, + name: r'textFieldErrorBorderInt', + type: IsarType.long, + ), + r'textFieldErrorLabelInt': PropertySchema( + id: 127, + name: r'textFieldErrorLabelInt', + type: IsarType.long, + ), + r'textFieldErrorSearchIconLeftInt': PropertySchema( + id: 128, + name: r'textFieldErrorSearchIconLeftInt', + type: IsarType.long, + ), + r'textFieldErrorSearchIconRightInt': PropertySchema( + id: 129, + name: r'textFieldErrorSearchIconRightInt', + type: IsarType.long, + ), + r'textFieldErrorTextInt': PropertySchema( + id: 130, + name: r'textFieldErrorTextInt', + type: IsarType.long, + ), + r'textFieldSuccessBGInt': PropertySchema( + id: 131, + name: r'textFieldSuccessBGInt', + type: IsarType.long, + ), + r'textFieldSuccessBorderInt': PropertySchema( + id: 132, + name: r'textFieldSuccessBorderInt', + type: IsarType.long, + ), + r'textFieldSuccessLabelInt': PropertySchema( + id: 133, + name: r'textFieldSuccessLabelInt', + type: IsarType.long, + ), + r'textFieldSuccessSearchIconLeftInt': PropertySchema( + id: 134, + name: r'textFieldSuccessSearchIconLeftInt', + type: IsarType.long, + ), + r'textFieldSuccessSearchIconRightInt': PropertySchema( + id: 135, + name: r'textFieldSuccessSearchIconRightInt', + type: IsarType.long, + ), + r'textFieldSuccessTextInt': PropertySchema( + id: 136, + name: r'textFieldSuccessTextInt', + type: IsarType.long, + ), + r'textRestoreInt': PropertySchema( + id: 137, + name: r'textRestoreInt', + type: IsarType.long, + ), + r'textSelectedWordTableItemInt': PropertySchema( + id: 138, + name: r'textSelectedWordTableItemInt', + type: IsarType.long, + ), + r'textSubtitle1Int': PropertySchema( + id: 139, + name: r'textSubtitle1Int', + type: IsarType.long, + ), + r'textSubtitle2Int': PropertySchema( + id: 140, + name: r'textSubtitle2Int', + type: IsarType.long, + ), + r'textSubtitle3Int': PropertySchema( + id: 141, + name: r'textSubtitle3Int', + type: IsarType.long, + ), + r'textSubtitle4Int': PropertySchema( + id: 142, + name: r'textSubtitle4Int', + type: IsarType.long, + ), + r'textSubtitle5Int': PropertySchema( + id: 143, + name: r'textSubtitle5Int', + type: IsarType.long, + ), + r'textSubtitle6Int': PropertySchema( + id: 144, + name: r'textSubtitle6Int', + type: IsarType.long, + ), + r'textWhiteInt': PropertySchema( + id: 145, + name: r'textWhiteInt', + type: IsarType.long, + ), + r'themeId': PropertySchema( + id: 146, + name: r'themeId', + type: IsarType.string, + ), + r'tokenSummaryBGInt': PropertySchema( + id: 147, + name: r'tokenSummaryBGInt', + type: IsarType.long, + ), + r'tokenSummaryButtonBGInt': PropertySchema( + id: 148, + name: r'tokenSummaryButtonBGInt', + type: IsarType.long, + ), + r'tokenSummaryIconInt': PropertySchema( + id: 149, + name: r'tokenSummaryIconInt', + type: IsarType.long, + ), + r'tokenSummaryTextPrimaryInt': PropertySchema( + id: 150, + name: r'tokenSummaryTextPrimaryInt', + type: IsarType.long, + ), + r'tokenSummaryTextSecondaryInt': PropertySchema( + id: 151, + name: r'tokenSummaryTextSecondaryInt', + type: IsarType.long, + ), + r'topNavIconGreenInt': PropertySchema( + id: 152, + name: r'topNavIconGreenInt', + type: IsarType.long, + ), + r'topNavIconPrimaryInt': PropertySchema( + id: 153, + name: r'topNavIconPrimaryInt', + type: IsarType.long, + ), + r'topNavIconRedInt': PropertySchema( + id: 154, + name: r'topNavIconRedInt', + type: IsarType.long, + ), + r'topNavIconYellowInt': PropertySchema( + id: 155, + name: r'topNavIconYellowInt', + type: IsarType.long, + ), + r'warningBackgroundInt': PropertySchema( + id: 156, + name: r'warningBackgroundInt', + type: IsarType.long, + ), + r'warningForegroundInt': PropertySchema( + id: 157, + name: r'warningForegroundInt', + type: IsarType.long, + ) + }, + estimateSize: _stackThemeEstimateSize, + serialize: _stackThemeSerialize, + deserialize: _stackThemeDeserialize, + deserializeProp: _stackThemeDeserializeProp, + idName: r'id', + indexes: { + r'themeId': IndexSchema( + id: 2474229918109385772, + name: r'themeId', + unique: true, + replace: true, + properties: [ + IndexPropertySchema( + name: r'themeId', + type: IndexType.hash, + caseSensitive: true, + ) + ], + ) + }, + links: {}, + embeddedSchemas: {r'ThemeAssets': ThemeAssetsSchema}, + getId: _stackThemeGetId, + getLinks: _stackThemeGetLinks, + attach: _stackThemeAttach, + version: '3.0.5', +); + +int _stackThemeEstimateSize( + StackTheme object, + List offsets, + Map> allOffsets, +) { + var bytesCount = offsets.last; + bytesCount += 3 + + ThemeAssetsSchema.estimateSize( + object.assets, allOffsets[ThemeAssets]!, allOffsets); + bytesCount += 3 + object.brightnessString.length * 3; + bytesCount += 3 + object.coinColorsJsonString.length * 3; + { + final value = object.gradientBackgroundString; + if (value != null) { + bytesCount += 3 + value.length * 3; + } + } + { + final value = object.homeViewButtonBarBoxShadowString; + if (value != null) { + bytesCount += 3 + value.length * 3; + } + } + bytesCount += 3 + object.name.length * 3; + bytesCount += 3 + object.standardBoxShadowString.length * 3; + bytesCount += 3 + object.themeId.length * 3; + return bytesCount; +} + +void _stackThemeSerialize( + StackTheme object, + IsarWriter writer, + List offsets, + Map> allOffsets, +) { + writer.writeLong(offsets[0], object.accentColorBlueInt); + writer.writeLong(offsets[1], object.accentColorDarkInt); + writer.writeLong(offsets[2], object.accentColorGreenInt); + writer.writeLong(offsets[3], object.accentColorOrangeInt); + writer.writeLong(offsets[4], object.accentColorRedInt); + writer.writeLong(offsets[5], object.accentColorYellowInt); + writer.writeObject( + offsets[6], + allOffsets, + ThemeAssetsSchema.serialize, + object.assets, + ); + writer.writeLong(offsets[7], object.backgroundAppBarInt); + writer.writeLong(offsets[8], object.backgroundInt); + writer.writeLong(offsets[9], object.bottomNavBackInt); + writer.writeLong(offsets[10], object.bottomNavIconBackInt); + writer.writeLong(offsets[11], object.bottomNavIconIconInt); + writer.writeLong(offsets[12], object.bottomNavShadowInt); + writer.writeLong(offsets[13], object.bottomNavTextInt); + writer.writeString(offsets[14], object.brightnessString); + writer.writeLong(offsets[15], object.buttonBackBorderDisabledInt); + writer.writeLong(offsets[16], object.buttonBackBorderInt); + writer.writeLong(offsets[17], object.buttonBackBorderSecondaryDisabledInt); + writer.writeLong(offsets[18], object.buttonBackBorderSecondaryInt); + writer.writeLong(offsets[19], object.buttonBackPrimaryDisabledInt); + writer.writeLong(offsets[20], object.buttonBackPrimaryInt); + writer.writeLong(offsets[21], object.buttonBackSecondaryDisabledInt); + writer.writeLong(offsets[22], object.buttonBackSecondaryInt); + writer.writeLong(offsets[23], object.buttonTextBorderInt); + writer.writeLong(offsets[24], object.buttonTextBorderlessDisabledInt); + writer.writeLong(offsets[25], object.buttonTextBorderlessInt); + writer.writeLong(offsets[26], object.buttonTextDisabledInt); + writer.writeLong(offsets[27], object.buttonTextPrimaryDisabledInt); + writer.writeLong(offsets[28], object.buttonTextPrimaryInt); + writer.writeLong(offsets[29], object.buttonTextSecondaryDisabledInt); + writer.writeLong(offsets[30], object.buttonTextSecondaryInt); + writer.writeLong(offsets[31], object.checkboxBGCheckedInt); + writer.writeLong(offsets[32], object.checkboxBGDisabledInt); + writer.writeLong(offsets[33], object.checkboxBorderEmptyInt); + writer.writeLong(offsets[34], object.checkboxIconCheckedInt); + writer.writeLong(offsets[35], object.checkboxIconDisabledInt); + writer.writeLong(offsets[36], object.checkboxTextLabelInt); + writer.writeString(offsets[37], object.coinColorsJsonString); + writer.writeLong(offsets[38], object.currencyListItemBGInt); + writer.writeLong(offsets[39], object.customTextButtonDisabledTextInt); + writer.writeLong(offsets[40], object.customTextButtonEnabledTextInt); + writer.writeLong(offsets[41], object.ethTagBGInt); + writer.writeLong(offsets[42], object.ethTagTextInt); + writer.writeLong(offsets[43], object.ethWalletTagBGInt); + writer.writeLong(offsets[44], object.ethWalletTagTextInt); + writer.writeLong(offsets[45], object.favoriteStarActiveInt); + writer.writeLong(offsets[46], object.favoriteStarInactiveInt); + writer.writeString(offsets[47], object.gradientBackgroundString); + writer.writeLong(offsets[48], object.highlightInt); + writer.writeString(offsets[49], object.homeViewButtonBarBoxShadowString); + writer.writeLong(offsets[50], object.infoItemBGInt); + writer.writeLong(offsets[51], object.infoItemIconsInt); + writer.writeLong(offsets[52], object.infoItemLabelInt); + writer.writeLong(offsets[53], object.infoItemTextInt); + writer.writeLong(offsets[54], object.loadingOverlayTextColorInt); + writer.writeLong(offsets[55], object.myStackContactIconBGInt); + writer.writeString(offsets[56], object.name); + writer.writeLong(offsets[57], object.numberBackDefaultInt); + writer.writeLong(offsets[58], object.numberTextDefaultInt); + writer.writeLong(offsets[59], object.numpadBackDefaultInt); + writer.writeLong(offsets[60], object.numpadTextDefaultInt); + writer.writeLong(offsets[61], object.overlayInt); + writer.writeLong(offsets[62], object.popupBGInt); + writer.writeLong(offsets[63], object.radioButtonBorderDisabledInt); + writer.writeLong(offsets[64], object.radioButtonBorderEnabledInt); + writer.writeLong(offsets[65], object.radioButtonIconBorderDisabledInt); + writer.writeLong(offsets[66], object.radioButtonIconBorderInt); + writer.writeLong(offsets[67], object.radioButtonIconCircleInt); + writer.writeLong(offsets[68], object.radioButtonIconEnabledInt); + writer.writeLong(offsets[69], object.radioButtonLabelDisabledInt); + writer.writeLong(offsets[70], object.radioButtonLabelEnabledInt); + writer.writeLong(offsets[71], object.radioButtonTextDisabledInt); + writer.writeLong(offsets[72], object.radioButtonTextEnabledInt); + writer.writeLong(offsets[73], object.rateTypeToggleColorOffInt); + writer.writeLong(offsets[74], object.rateTypeToggleColorOnInt); + writer.writeLong(offsets[75], object.rateTypeToggleDesktopColorOffInt); + writer.writeLong(offsets[76], object.rateTypeToggleDesktopColorOnInt); + writer.writeLong(offsets[77], object.settingsIconBack2Int); + writer.writeLong(offsets[78], object.settingsIconBackInt); + writer.writeLong(offsets[79], object.settingsIconElementInt); + writer.writeLong(offsets[80], object.settingsIconIconInt); + writer.writeLong(offsets[81], object.settingsItem2ActiveBGInt); + writer.writeLong(offsets[82], object.settingsItem2ActiveSubInt); + writer.writeLong(offsets[83], object.settingsItem2ActiveTextInt); + writer.writeLong(offsets[84], object.shadowInt); + writer.writeLong(offsets[85], object.snackBarBackErrorInt); + writer.writeLong(offsets[86], object.snackBarBackInfoInt); + writer.writeLong(offsets[87], object.snackBarBackSuccessInt); + writer.writeLong(offsets[88], object.snackBarTextErrorInt); + writer.writeLong(offsets[89], object.snackBarTextInfoInt); + writer.writeLong(offsets[90], object.snackBarTextSuccessInt); + writer.writeLong(offsets[91], object.splashInt); + writer.writeLong(offsets[92], object.stackWalletBGInt); + writer.writeLong(offsets[93], object.stackWalletBottomInt); + writer.writeLong(offsets[94], object.stackWalletMidInt); + writer.writeString(offsets[95], object.standardBoxShadowString); + writer.writeLong(offsets[96], object.stepIndicatorBGCheckInt); + writer.writeLong(offsets[97], object.stepIndicatorBGInactiveInt); + writer.writeLong(offsets[98], object.stepIndicatorBGLinesInactiveInt); + writer.writeLong(offsets[99], object.stepIndicatorBGLinesInt); + writer.writeLong(offsets[100], object.stepIndicatorBGNumberInt); + writer.writeLong(offsets[101], object.stepIndicatorIconInactiveInt); + writer.writeLong(offsets[102], object.stepIndicatorIconNumberInt); + writer.writeLong(offsets[103], object.stepIndicatorIconTextInt); + writer.writeLong(offsets[104], object.switchBGDisabledInt); + writer.writeLong(offsets[105], object.switchBGOffInt); + writer.writeLong(offsets[106], object.switchBGOnInt); + writer.writeLong(offsets[107], object.switchCircleDisabledInt); + writer.writeLong(offsets[108], object.switchCircleOffInt); + writer.writeLong(offsets[109], object.switchCircleOnInt); + writer.writeLong(offsets[110], object.textConfirmTotalAmountInt); + writer.writeLong(offsets[111], object.textDark2Int); + writer.writeLong(offsets[112], object.textDark3Int); + writer.writeLong(offsets[113], object.textDarkInt); + writer.writeLong(offsets[114], object.textErrorInt); + writer.writeLong(offsets[115], object.textFavoriteCardInt); + writer.writeLong(offsets[116], object.textFieldActiveBGInt); + writer.writeLong(offsets[117], object.textFieldActiveLabelInt); + writer.writeLong(offsets[118], object.textFieldActiveSearchIconLeftInt); + writer.writeLong(offsets[119], object.textFieldActiveSearchIconRightInt); + writer.writeLong(offsets[120], object.textFieldActiveTextInt); + writer.writeLong(offsets[121], object.textFieldDefaultBGInt); + writer.writeLong(offsets[122], object.textFieldDefaultSearchIconLeftInt); + writer.writeLong(offsets[123], object.textFieldDefaultSearchIconRightInt); + writer.writeLong(offsets[124], object.textFieldDefaultTextInt); + writer.writeLong(offsets[125], object.textFieldErrorBGInt); + writer.writeLong(offsets[126], object.textFieldErrorBorderInt); + writer.writeLong(offsets[127], object.textFieldErrorLabelInt); + writer.writeLong(offsets[128], object.textFieldErrorSearchIconLeftInt); + writer.writeLong(offsets[129], object.textFieldErrorSearchIconRightInt); + writer.writeLong(offsets[130], object.textFieldErrorTextInt); + writer.writeLong(offsets[131], object.textFieldSuccessBGInt); + writer.writeLong(offsets[132], object.textFieldSuccessBorderInt); + writer.writeLong(offsets[133], object.textFieldSuccessLabelInt); + writer.writeLong(offsets[134], object.textFieldSuccessSearchIconLeftInt); + writer.writeLong(offsets[135], object.textFieldSuccessSearchIconRightInt); + writer.writeLong(offsets[136], object.textFieldSuccessTextInt); + writer.writeLong(offsets[137], object.textRestoreInt); + writer.writeLong(offsets[138], object.textSelectedWordTableItemInt); + writer.writeLong(offsets[139], object.textSubtitle1Int); + writer.writeLong(offsets[140], object.textSubtitle2Int); + writer.writeLong(offsets[141], object.textSubtitle3Int); + writer.writeLong(offsets[142], object.textSubtitle4Int); + writer.writeLong(offsets[143], object.textSubtitle5Int); + writer.writeLong(offsets[144], object.textSubtitle6Int); + writer.writeLong(offsets[145], object.textWhiteInt); + writer.writeString(offsets[146], object.themeId); + writer.writeLong(offsets[147], object.tokenSummaryBGInt); + writer.writeLong(offsets[148], object.tokenSummaryButtonBGInt); + writer.writeLong(offsets[149], object.tokenSummaryIconInt); + writer.writeLong(offsets[150], object.tokenSummaryTextPrimaryInt); + writer.writeLong(offsets[151], object.tokenSummaryTextSecondaryInt); + writer.writeLong(offsets[152], object.topNavIconGreenInt); + writer.writeLong(offsets[153], object.topNavIconPrimaryInt); + writer.writeLong(offsets[154], object.topNavIconRedInt); + writer.writeLong(offsets[155], object.topNavIconYellowInt); + writer.writeLong(offsets[156], object.warningBackgroundInt); + writer.writeLong(offsets[157], object.warningForegroundInt); +} + +StackTheme _stackThemeDeserialize( + Id id, + IsarReader reader, + List offsets, + Map> allOffsets, +) { + final object = StackTheme( + accentColorBlueInt: reader.readLong(offsets[0]), + accentColorDarkInt: reader.readLong(offsets[1]), + accentColorGreenInt: reader.readLong(offsets[2]), + accentColorOrangeInt: reader.readLong(offsets[3]), + accentColorRedInt: reader.readLong(offsets[4]), + accentColorYellowInt: reader.readLong(offsets[5]), + assets: reader.readObjectOrNull( + offsets[6], + ThemeAssetsSchema.deserialize, + allOffsets, + ) ?? + ThemeAssets(), + backgroundAppBarInt: reader.readLong(offsets[7]), + backgroundInt: reader.readLong(offsets[8]), + bottomNavBackInt: reader.readLong(offsets[9]), + bottomNavIconBackInt: reader.readLong(offsets[10]), + bottomNavIconIconInt: reader.readLong(offsets[11]), + bottomNavShadowInt: reader.readLong(offsets[12]), + bottomNavTextInt: reader.readLong(offsets[13]), + brightnessString: reader.readString(offsets[14]), + buttonBackBorderDisabledInt: reader.readLong(offsets[15]), + buttonBackBorderInt: reader.readLong(offsets[16]), + buttonBackBorderSecondaryDisabledInt: reader.readLong(offsets[17]), + buttonBackBorderSecondaryInt: reader.readLong(offsets[18]), + buttonBackPrimaryDisabledInt: reader.readLong(offsets[19]), + buttonBackPrimaryInt: reader.readLong(offsets[20]), + buttonBackSecondaryDisabledInt: reader.readLong(offsets[21]), + buttonBackSecondaryInt: reader.readLong(offsets[22]), + buttonTextBorderInt: reader.readLong(offsets[23]), + buttonTextBorderlessDisabledInt: reader.readLong(offsets[24]), + buttonTextBorderlessInt: reader.readLong(offsets[25]), + buttonTextDisabledInt: reader.readLong(offsets[26]), + buttonTextPrimaryDisabledInt: reader.readLong(offsets[27]), + buttonTextPrimaryInt: reader.readLong(offsets[28]), + buttonTextSecondaryDisabledInt: reader.readLong(offsets[29]), + buttonTextSecondaryInt: reader.readLong(offsets[30]), + checkboxBGCheckedInt: reader.readLong(offsets[31]), + checkboxBGDisabledInt: reader.readLong(offsets[32]), + checkboxBorderEmptyInt: reader.readLong(offsets[33]), + checkboxIconCheckedInt: reader.readLong(offsets[34]), + checkboxIconDisabledInt: reader.readLong(offsets[35]), + checkboxTextLabelInt: reader.readLong(offsets[36]), + coinColorsJsonString: reader.readString(offsets[37]), + currencyListItemBGInt: reader.readLong(offsets[38]), + customTextButtonDisabledTextInt: reader.readLong(offsets[39]), + customTextButtonEnabledTextInt: reader.readLong(offsets[40]), + ethTagBGInt: reader.readLong(offsets[41]), + ethTagTextInt: reader.readLong(offsets[42]), + ethWalletTagBGInt: reader.readLong(offsets[43]), + ethWalletTagTextInt: reader.readLong(offsets[44]), + favoriteStarActiveInt: reader.readLong(offsets[45]), + favoriteStarInactiveInt: reader.readLong(offsets[46]), + gradientBackgroundString: reader.readStringOrNull(offsets[47]), + highlightInt: reader.readLong(offsets[48]), + homeViewButtonBarBoxShadowString: reader.readStringOrNull(offsets[49]), + infoItemBGInt: reader.readLong(offsets[50]), + infoItemIconsInt: reader.readLong(offsets[51]), + infoItemLabelInt: reader.readLong(offsets[52]), + infoItemTextInt: reader.readLong(offsets[53]), + loadingOverlayTextColorInt: reader.readLong(offsets[54]), + myStackContactIconBGInt: reader.readLong(offsets[55]), + name: reader.readString(offsets[56]), + numberBackDefaultInt: reader.readLong(offsets[57]), + numberTextDefaultInt: reader.readLong(offsets[58]), + numpadBackDefaultInt: reader.readLong(offsets[59]), + numpadTextDefaultInt: reader.readLong(offsets[60]), + overlayInt: reader.readLong(offsets[61]), + popupBGInt: reader.readLong(offsets[62]), + radioButtonBorderDisabledInt: reader.readLong(offsets[63]), + radioButtonBorderEnabledInt: reader.readLong(offsets[64]), + radioButtonIconBorderDisabledInt: reader.readLong(offsets[65]), + radioButtonIconBorderInt: reader.readLong(offsets[66]), + radioButtonIconCircleInt: reader.readLong(offsets[67]), + radioButtonIconEnabledInt: reader.readLong(offsets[68]), + radioButtonLabelDisabledInt: reader.readLong(offsets[69]), + radioButtonLabelEnabledInt: reader.readLong(offsets[70]), + radioButtonTextDisabledInt: reader.readLong(offsets[71]), + radioButtonTextEnabledInt: reader.readLong(offsets[72]), + rateTypeToggleColorOffInt: reader.readLong(offsets[73]), + rateTypeToggleColorOnInt: reader.readLong(offsets[74]), + rateTypeToggleDesktopColorOffInt: reader.readLong(offsets[75]), + rateTypeToggleDesktopColorOnInt: reader.readLong(offsets[76]), + settingsIconBack2Int: reader.readLong(offsets[77]), + settingsIconBackInt: reader.readLong(offsets[78]), + settingsIconElementInt: reader.readLong(offsets[79]), + settingsIconIconInt: reader.readLong(offsets[80]), + settingsItem2ActiveBGInt: reader.readLong(offsets[81]), + settingsItem2ActiveSubInt: reader.readLong(offsets[82]), + settingsItem2ActiveTextInt: reader.readLong(offsets[83]), + shadowInt: reader.readLong(offsets[84]), + snackBarBackErrorInt: reader.readLong(offsets[85]), + snackBarBackInfoInt: reader.readLong(offsets[86]), + snackBarBackSuccessInt: reader.readLong(offsets[87]), + snackBarTextErrorInt: reader.readLong(offsets[88]), + snackBarTextInfoInt: reader.readLong(offsets[89]), + snackBarTextSuccessInt: reader.readLong(offsets[90]), + splashInt: reader.readLong(offsets[91]), + stackWalletBGInt: reader.readLong(offsets[92]), + stackWalletBottomInt: reader.readLong(offsets[93]), + stackWalletMidInt: reader.readLong(offsets[94]), + standardBoxShadowString: reader.readString(offsets[95]), + stepIndicatorBGCheckInt: reader.readLong(offsets[96]), + stepIndicatorBGInactiveInt: reader.readLong(offsets[97]), + stepIndicatorBGLinesInactiveInt: reader.readLong(offsets[98]), + stepIndicatorBGLinesInt: reader.readLong(offsets[99]), + stepIndicatorBGNumberInt: reader.readLong(offsets[100]), + stepIndicatorIconInactiveInt: reader.readLong(offsets[101]), + stepIndicatorIconNumberInt: reader.readLong(offsets[102]), + stepIndicatorIconTextInt: reader.readLong(offsets[103]), + switchBGDisabledInt: reader.readLong(offsets[104]), + switchBGOffInt: reader.readLong(offsets[105]), + switchBGOnInt: reader.readLong(offsets[106]), + switchCircleDisabledInt: reader.readLong(offsets[107]), + switchCircleOffInt: reader.readLong(offsets[108]), + switchCircleOnInt: reader.readLong(offsets[109]), + textConfirmTotalAmountInt: reader.readLong(offsets[110]), + textDark2Int: reader.readLong(offsets[111]), + textDark3Int: reader.readLong(offsets[112]), + textDarkInt: reader.readLong(offsets[113]), + textErrorInt: reader.readLong(offsets[114]), + textFavoriteCardInt: reader.readLong(offsets[115]), + textFieldActiveBGInt: reader.readLong(offsets[116]), + textFieldActiveLabelInt: reader.readLong(offsets[117]), + textFieldActiveSearchIconLeftInt: reader.readLong(offsets[118]), + textFieldActiveSearchIconRightInt: reader.readLong(offsets[119]), + textFieldActiveTextInt: reader.readLong(offsets[120]), + textFieldDefaultBGInt: reader.readLong(offsets[121]), + textFieldDefaultSearchIconLeftInt: reader.readLong(offsets[122]), + textFieldDefaultSearchIconRightInt: reader.readLong(offsets[123]), + textFieldDefaultTextInt: reader.readLong(offsets[124]), + textFieldErrorBGInt: reader.readLong(offsets[125]), + textFieldErrorBorderInt: reader.readLong(offsets[126]), + textFieldErrorLabelInt: reader.readLong(offsets[127]), + textFieldErrorSearchIconLeftInt: reader.readLong(offsets[128]), + textFieldErrorSearchIconRightInt: reader.readLong(offsets[129]), + textFieldErrorTextInt: reader.readLong(offsets[130]), + textFieldSuccessBGInt: reader.readLong(offsets[131]), + textFieldSuccessBorderInt: reader.readLong(offsets[132]), + textFieldSuccessLabelInt: reader.readLong(offsets[133]), + textFieldSuccessSearchIconLeftInt: reader.readLong(offsets[134]), + textFieldSuccessSearchIconRightInt: reader.readLong(offsets[135]), + textFieldSuccessTextInt: reader.readLong(offsets[136]), + textRestoreInt: reader.readLong(offsets[137]), + textSelectedWordTableItemInt: reader.readLong(offsets[138]), + textSubtitle1Int: reader.readLong(offsets[139]), + textSubtitle2Int: reader.readLong(offsets[140]), + textSubtitle3Int: reader.readLong(offsets[141]), + textSubtitle4Int: reader.readLong(offsets[142]), + textSubtitle5Int: reader.readLong(offsets[143]), + textSubtitle6Int: reader.readLong(offsets[144]), + textWhiteInt: reader.readLong(offsets[145]), + themeId: reader.readString(offsets[146]), + tokenSummaryBGInt: reader.readLong(offsets[147]), + tokenSummaryButtonBGInt: reader.readLong(offsets[148]), + tokenSummaryIconInt: reader.readLong(offsets[149]), + tokenSummaryTextPrimaryInt: reader.readLong(offsets[150]), + tokenSummaryTextSecondaryInt: reader.readLong(offsets[151]), + topNavIconGreenInt: reader.readLong(offsets[152]), + topNavIconPrimaryInt: reader.readLong(offsets[153]), + topNavIconRedInt: reader.readLong(offsets[154]), + topNavIconYellowInt: reader.readLong(offsets[155]), + warningBackgroundInt: reader.readLong(offsets[156]), + warningForegroundInt: reader.readLong(offsets[157]), + ); + object.id = id; + return object; +} + +P _stackThemeDeserializeProp

( + IsarReader reader, + int propertyId, + int offset, + Map> allOffsets, +) { + switch (propertyId) { + case 0: + return (reader.readLong(offset)) as P; + case 1: + return (reader.readLong(offset)) as P; + case 2: + return (reader.readLong(offset)) as P; + case 3: + return (reader.readLong(offset)) as P; + case 4: + return (reader.readLong(offset)) as P; + case 5: + return (reader.readLong(offset)) as P; + case 6: + return (reader.readObjectOrNull( + offset, + ThemeAssetsSchema.deserialize, + allOffsets, + ) ?? + ThemeAssets()) as P; + case 7: + return (reader.readLong(offset)) as P; + case 8: + return (reader.readLong(offset)) as P; + case 9: + return (reader.readLong(offset)) as P; + case 10: + return (reader.readLong(offset)) as P; + case 11: + return (reader.readLong(offset)) as P; + case 12: + return (reader.readLong(offset)) as P; + case 13: + return (reader.readLong(offset)) as P; + case 14: + return (reader.readString(offset)) as P; + case 15: + return (reader.readLong(offset)) as P; + case 16: + return (reader.readLong(offset)) as P; + case 17: + return (reader.readLong(offset)) as P; + case 18: + return (reader.readLong(offset)) as P; + case 19: + return (reader.readLong(offset)) as P; + case 20: + return (reader.readLong(offset)) as P; + case 21: + return (reader.readLong(offset)) as P; + case 22: + return (reader.readLong(offset)) as P; + case 23: + return (reader.readLong(offset)) as P; + case 24: + return (reader.readLong(offset)) as P; + case 25: + return (reader.readLong(offset)) as P; + case 26: + return (reader.readLong(offset)) as P; + case 27: + return (reader.readLong(offset)) as P; + case 28: + return (reader.readLong(offset)) as P; + case 29: + return (reader.readLong(offset)) as P; + case 30: + return (reader.readLong(offset)) as P; + case 31: + return (reader.readLong(offset)) as P; + case 32: + return (reader.readLong(offset)) as P; + case 33: + return (reader.readLong(offset)) as P; + case 34: + return (reader.readLong(offset)) as P; + case 35: + return (reader.readLong(offset)) as P; + case 36: + return (reader.readLong(offset)) as P; + case 37: + return (reader.readString(offset)) as P; + case 38: + return (reader.readLong(offset)) as P; + case 39: + return (reader.readLong(offset)) as P; + case 40: + return (reader.readLong(offset)) as P; + case 41: + return (reader.readLong(offset)) as P; + case 42: + return (reader.readLong(offset)) as P; + case 43: + return (reader.readLong(offset)) as P; + case 44: + return (reader.readLong(offset)) as P; + case 45: + return (reader.readLong(offset)) as P; + case 46: + return (reader.readLong(offset)) as P; + case 47: + return (reader.readStringOrNull(offset)) as P; + case 48: + return (reader.readLong(offset)) as P; + case 49: + return (reader.readStringOrNull(offset)) as P; + case 50: + return (reader.readLong(offset)) as P; + case 51: + return (reader.readLong(offset)) as P; + case 52: + return (reader.readLong(offset)) as P; + case 53: + return (reader.readLong(offset)) as P; + case 54: + return (reader.readLong(offset)) as P; + case 55: + return (reader.readLong(offset)) as P; + case 56: + return (reader.readString(offset)) as P; + case 57: + return (reader.readLong(offset)) as P; + case 58: + return (reader.readLong(offset)) as P; + case 59: + return (reader.readLong(offset)) as P; + case 60: + return (reader.readLong(offset)) as P; + case 61: + return (reader.readLong(offset)) as P; + case 62: + return (reader.readLong(offset)) as P; + case 63: + return (reader.readLong(offset)) as P; + case 64: + return (reader.readLong(offset)) as P; + case 65: + return (reader.readLong(offset)) as P; + case 66: + return (reader.readLong(offset)) as P; + case 67: + return (reader.readLong(offset)) as P; + case 68: + return (reader.readLong(offset)) as P; + case 69: + return (reader.readLong(offset)) as P; + case 70: + return (reader.readLong(offset)) as P; + case 71: + return (reader.readLong(offset)) as P; + case 72: + return (reader.readLong(offset)) as P; + case 73: + return (reader.readLong(offset)) as P; + case 74: + return (reader.readLong(offset)) as P; + case 75: + return (reader.readLong(offset)) as P; + case 76: + return (reader.readLong(offset)) as P; + case 77: + return (reader.readLong(offset)) as P; + case 78: + return (reader.readLong(offset)) as P; + case 79: + return (reader.readLong(offset)) as P; + case 80: + return (reader.readLong(offset)) as P; + case 81: + return (reader.readLong(offset)) as P; + case 82: + return (reader.readLong(offset)) as P; + case 83: + return (reader.readLong(offset)) as P; + case 84: + return (reader.readLong(offset)) as P; + case 85: + return (reader.readLong(offset)) as P; + case 86: + return (reader.readLong(offset)) as P; + case 87: + return (reader.readLong(offset)) as P; + case 88: + return (reader.readLong(offset)) as P; + case 89: + return (reader.readLong(offset)) as P; + case 90: + return (reader.readLong(offset)) as P; + case 91: + return (reader.readLong(offset)) as P; + case 92: + return (reader.readLong(offset)) as P; + case 93: + return (reader.readLong(offset)) as P; + case 94: + return (reader.readLong(offset)) as P; + case 95: + return (reader.readString(offset)) as P; + case 96: + return (reader.readLong(offset)) as P; + case 97: + return (reader.readLong(offset)) as P; + case 98: + return (reader.readLong(offset)) as P; + case 99: + return (reader.readLong(offset)) as P; + case 100: + return (reader.readLong(offset)) as P; + case 101: + return (reader.readLong(offset)) as P; + case 102: + return (reader.readLong(offset)) as P; + case 103: + return (reader.readLong(offset)) as P; + case 104: + return (reader.readLong(offset)) as P; + case 105: + return (reader.readLong(offset)) as P; + case 106: + return (reader.readLong(offset)) as P; + case 107: + return (reader.readLong(offset)) as P; + case 108: + return (reader.readLong(offset)) as P; + case 109: + return (reader.readLong(offset)) as P; + case 110: + return (reader.readLong(offset)) as P; + case 111: + return (reader.readLong(offset)) as P; + case 112: + return (reader.readLong(offset)) as P; + case 113: + return (reader.readLong(offset)) as P; + case 114: + return (reader.readLong(offset)) as P; + case 115: + return (reader.readLong(offset)) as P; + case 116: + return (reader.readLong(offset)) as P; + case 117: + return (reader.readLong(offset)) as P; + case 118: + return (reader.readLong(offset)) as P; + case 119: + return (reader.readLong(offset)) as P; + case 120: + return (reader.readLong(offset)) as P; + case 121: + return (reader.readLong(offset)) as P; + case 122: + return (reader.readLong(offset)) as P; + case 123: + return (reader.readLong(offset)) as P; + case 124: + return (reader.readLong(offset)) as P; + case 125: + return (reader.readLong(offset)) as P; + case 126: + return (reader.readLong(offset)) as P; + case 127: + return (reader.readLong(offset)) as P; + case 128: + return (reader.readLong(offset)) as P; + case 129: + return (reader.readLong(offset)) as P; + case 130: + return (reader.readLong(offset)) as P; + case 131: + return (reader.readLong(offset)) as P; + case 132: + return (reader.readLong(offset)) as P; + case 133: + return (reader.readLong(offset)) as P; + case 134: + return (reader.readLong(offset)) as P; + case 135: + return (reader.readLong(offset)) as P; + case 136: + return (reader.readLong(offset)) as P; + case 137: + return (reader.readLong(offset)) as P; + case 138: + return (reader.readLong(offset)) as P; + case 139: + return (reader.readLong(offset)) as P; + case 140: + return (reader.readLong(offset)) as P; + case 141: + return (reader.readLong(offset)) as P; + case 142: + return (reader.readLong(offset)) as P; + case 143: + return (reader.readLong(offset)) as P; + case 144: + return (reader.readLong(offset)) as P; + case 145: + return (reader.readLong(offset)) as P; + case 146: + return (reader.readString(offset)) as P; + case 147: + return (reader.readLong(offset)) as P; + case 148: + return (reader.readLong(offset)) as P; + case 149: + return (reader.readLong(offset)) as P; + case 150: + return (reader.readLong(offset)) as P; + case 151: + return (reader.readLong(offset)) as P; + case 152: + return (reader.readLong(offset)) as P; + case 153: + return (reader.readLong(offset)) as P; + case 154: + return (reader.readLong(offset)) as P; + case 155: + return (reader.readLong(offset)) as P; + case 156: + return (reader.readLong(offset)) as P; + case 157: + return (reader.readLong(offset)) as P; + default: + throw IsarError('Unknown property with id $propertyId'); + } +} + +Id _stackThemeGetId(StackTheme object) { + return object.id; +} + +List> _stackThemeGetLinks(StackTheme object) { + return []; +} + +void _stackThemeAttach(IsarCollection col, Id id, StackTheme object) { + object.id = id; +} + +extension StackThemeByIndex on IsarCollection { + Future getByThemeId(String themeId) { + return getByIndex(r'themeId', [themeId]); + } + + StackTheme? getByThemeIdSync(String themeId) { + return getByIndexSync(r'themeId', [themeId]); + } + + Future deleteByThemeId(String themeId) { + return deleteByIndex(r'themeId', [themeId]); + } + + bool deleteByThemeIdSync(String themeId) { + return deleteByIndexSync(r'themeId', [themeId]); + } + + Future> getAllByThemeId(List themeIdValues) { + final values = themeIdValues.map((e) => [e]).toList(); + return getAllByIndex(r'themeId', values); + } + + List getAllByThemeIdSync(List themeIdValues) { + final values = themeIdValues.map((e) => [e]).toList(); + return getAllByIndexSync(r'themeId', values); + } + + Future deleteAllByThemeId(List themeIdValues) { + final values = themeIdValues.map((e) => [e]).toList(); + return deleteAllByIndex(r'themeId', values); + } + + int deleteAllByThemeIdSync(List themeIdValues) { + final values = themeIdValues.map((e) => [e]).toList(); + return deleteAllByIndexSync(r'themeId', values); + } + + Future putByThemeId(StackTheme object) { + return putByIndex(r'themeId', object); + } + + Id putByThemeIdSync(StackTheme object, {bool saveLinks = true}) { + return putByIndexSync(r'themeId', object, saveLinks: saveLinks); + } + + Future> putAllByThemeId(List objects) { + return putAllByIndex(r'themeId', objects); + } + + List putAllByThemeIdSync(List objects, + {bool saveLinks = true}) { + return putAllByIndexSync(r'themeId', objects, saveLinks: saveLinks); + } +} + +extension StackThemeQueryWhereSort + on QueryBuilder { + QueryBuilder anyId() { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(const IdWhereClause.any()); + }); + } +} + +extension StackThemeQueryWhere + on QueryBuilder { + QueryBuilder idEqualTo(Id id) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(IdWhereClause.between( + lower: id, + upper: id, + )); + }); + } + + QueryBuilder idNotEqualTo(Id id) { + return QueryBuilder.apply(this, (query) { + if (query.whereSort == Sort.asc) { + return query + .addWhereClause( + IdWhereClause.lessThan(upper: id, includeUpper: false), + ) + .addWhereClause( + IdWhereClause.greaterThan(lower: id, includeLower: false), + ); + } else { + return query + .addWhereClause( + IdWhereClause.greaterThan(lower: id, includeLower: false), + ) + .addWhereClause( + IdWhereClause.lessThan(upper: id, includeUpper: false), + ); + } + }); + } + + QueryBuilder idGreaterThan(Id id, + {bool include = false}) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause( + IdWhereClause.greaterThan(lower: id, includeLower: include), + ); + }); + } + + QueryBuilder idLessThan(Id id, + {bool include = false}) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause( + IdWhereClause.lessThan(upper: id, includeUpper: include), + ); + }); + } + + QueryBuilder idBetween( + Id lowerId, + Id upperId, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(IdWhereClause.between( + lower: lowerId, + includeLower: includeLower, + upper: upperId, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder themeIdEqualTo( + String themeId) { + return QueryBuilder.apply(this, (query) { + return query.addWhereClause(IndexWhereClause.equalTo( + indexName: r'themeId', + value: [themeId], + )); + }); + } + + QueryBuilder themeIdNotEqualTo( + String themeId) { + return QueryBuilder.apply(this, (query) { + if (query.whereSort == Sort.asc) { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'themeId', + lower: [], + upper: [themeId], + includeUpper: false, + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'themeId', + lower: [themeId], + includeLower: false, + upper: [], + )); + } else { + return query + .addWhereClause(IndexWhereClause.between( + indexName: r'themeId', + lower: [themeId], + includeLower: false, + upper: [], + )) + .addWhereClause(IndexWhereClause.between( + indexName: r'themeId', + lower: [], + upper: [themeId], + includeUpper: false, + )); + } + }); + } +} + +extension StackThemeQueryFilter + on QueryBuilder { + QueryBuilder + accentColorBlueIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'accentColorBlueInt', + value: value, + )); + }); + } + + QueryBuilder + accentColorBlueIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'accentColorBlueInt', + value: value, + )); + }); + } + + QueryBuilder + accentColorBlueIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'accentColorBlueInt', + value: value, + )); + }); + } + + QueryBuilder + accentColorBlueIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'accentColorBlueInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + accentColorDarkIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'accentColorDarkInt', + value: value, + )); + }); + } + + QueryBuilder + accentColorDarkIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'accentColorDarkInt', + value: value, + )); + }); + } + + QueryBuilder + accentColorDarkIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'accentColorDarkInt', + value: value, + )); + }); + } + + QueryBuilder + accentColorDarkIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'accentColorDarkInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + accentColorGreenIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'accentColorGreenInt', + value: value, + )); + }); + } + + QueryBuilder + accentColorGreenIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'accentColorGreenInt', + value: value, + )); + }); + } + + QueryBuilder + accentColorGreenIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'accentColorGreenInt', + value: value, + )); + }); + } + + QueryBuilder + accentColorGreenIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'accentColorGreenInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + accentColorOrangeIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'accentColorOrangeInt', + value: value, + )); + }); + } + + QueryBuilder + accentColorOrangeIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'accentColorOrangeInt', + value: value, + )); + }); + } + + QueryBuilder + accentColorOrangeIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'accentColorOrangeInt', + value: value, + )); + }); + } + + QueryBuilder + accentColorOrangeIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'accentColorOrangeInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + accentColorRedIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'accentColorRedInt', + value: value, + )); + }); + } + + QueryBuilder + accentColorRedIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'accentColorRedInt', + value: value, + )); + }); + } + + QueryBuilder + accentColorRedIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'accentColorRedInt', + value: value, + )); + }); + } + + QueryBuilder + accentColorRedIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'accentColorRedInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + accentColorYellowIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'accentColorYellowInt', + value: value, + )); + }); + } + + QueryBuilder + accentColorYellowIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'accentColorYellowInt', + value: value, + )); + }); + } + + QueryBuilder + accentColorYellowIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'accentColorYellowInt', + value: value, + )); + }); + } + + QueryBuilder + accentColorYellowIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'accentColorYellowInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + backgroundAppBarIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'backgroundAppBarInt', + value: value, + )); + }); + } + + QueryBuilder + backgroundAppBarIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'backgroundAppBarInt', + value: value, + )); + }); + } + + QueryBuilder + backgroundAppBarIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'backgroundAppBarInt', + value: value, + )); + }); + } + + QueryBuilder + backgroundAppBarIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'backgroundAppBarInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + backgroundIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'backgroundInt', + value: value, + )); + }); + } + + QueryBuilder + backgroundIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'backgroundInt', + value: value, + )); + }); + } + + QueryBuilder + backgroundIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'backgroundInt', + value: value, + )); + }); + } + + QueryBuilder + backgroundIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'backgroundInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + bottomNavBackIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'bottomNavBackInt', + value: value, + )); + }); + } + + QueryBuilder + bottomNavBackIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'bottomNavBackInt', + value: value, + )); + }); + } + + QueryBuilder + bottomNavBackIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'bottomNavBackInt', + value: value, + )); + }); + } + + QueryBuilder + bottomNavBackIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'bottomNavBackInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + bottomNavIconBackIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'bottomNavIconBackInt', + value: value, + )); + }); + } + + QueryBuilder + bottomNavIconBackIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'bottomNavIconBackInt', + value: value, + )); + }); + } + + QueryBuilder + bottomNavIconBackIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'bottomNavIconBackInt', + value: value, + )); + }); + } + + QueryBuilder + bottomNavIconBackIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'bottomNavIconBackInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + bottomNavIconIconIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'bottomNavIconIconInt', + value: value, + )); + }); + } + + QueryBuilder + bottomNavIconIconIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'bottomNavIconIconInt', + value: value, + )); + }); + } + + QueryBuilder + bottomNavIconIconIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'bottomNavIconIconInt', + value: value, + )); + }); + } + + QueryBuilder + bottomNavIconIconIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'bottomNavIconIconInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + bottomNavShadowIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'bottomNavShadowInt', + value: value, + )); + }); + } + + QueryBuilder + bottomNavShadowIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'bottomNavShadowInt', + value: value, + )); + }); + } + + QueryBuilder + bottomNavShadowIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'bottomNavShadowInt', + value: value, + )); + }); + } + + QueryBuilder + bottomNavShadowIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'bottomNavShadowInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + bottomNavTextIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'bottomNavTextInt', + value: value, + )); + }); + } + + QueryBuilder + bottomNavTextIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'bottomNavTextInt', + value: value, + )); + }); + } + + QueryBuilder + bottomNavTextIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'bottomNavTextInt', + value: value, + )); + }); + } + + QueryBuilder + bottomNavTextIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'bottomNavTextInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + brightnessStringEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'brightnessString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + brightnessStringGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'brightnessString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + brightnessStringLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'brightnessString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + brightnessStringBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'brightnessString', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + brightnessStringStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'brightnessString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + brightnessStringEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'brightnessString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + brightnessStringContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'brightnessString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + brightnessStringMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'brightnessString', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + brightnessStringIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'brightnessString', + value: '', + )); + }); + } + + QueryBuilder + brightnessStringIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'brightnessString', + value: '', + )); + }); + } + + QueryBuilder + buttonBackBorderDisabledIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'buttonBackBorderDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + buttonBackBorderDisabledIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'buttonBackBorderDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + buttonBackBorderDisabledIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'buttonBackBorderDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + buttonBackBorderDisabledIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'buttonBackBorderDisabledInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + buttonBackBorderIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'buttonBackBorderInt', + value: value, + )); + }); + } + + QueryBuilder + buttonBackBorderIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'buttonBackBorderInt', + value: value, + )); + }); + } + + QueryBuilder + buttonBackBorderIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'buttonBackBorderInt', + value: value, + )); + }); + } + + QueryBuilder + buttonBackBorderIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'buttonBackBorderInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + buttonBackBorderSecondaryDisabledIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'buttonBackBorderSecondaryDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + buttonBackBorderSecondaryDisabledIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'buttonBackBorderSecondaryDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + buttonBackBorderSecondaryDisabledIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'buttonBackBorderSecondaryDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + buttonBackBorderSecondaryDisabledIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'buttonBackBorderSecondaryDisabledInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + buttonBackBorderSecondaryIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'buttonBackBorderSecondaryInt', + value: value, + )); + }); + } + + QueryBuilder + buttonBackBorderSecondaryIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'buttonBackBorderSecondaryInt', + value: value, + )); + }); + } + + QueryBuilder + buttonBackBorderSecondaryIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'buttonBackBorderSecondaryInt', + value: value, + )); + }); + } + + QueryBuilder + buttonBackBorderSecondaryIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'buttonBackBorderSecondaryInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + buttonBackPrimaryDisabledIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'buttonBackPrimaryDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + buttonBackPrimaryDisabledIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'buttonBackPrimaryDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + buttonBackPrimaryDisabledIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'buttonBackPrimaryDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + buttonBackPrimaryDisabledIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'buttonBackPrimaryDisabledInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + buttonBackPrimaryIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'buttonBackPrimaryInt', + value: value, + )); + }); + } + + QueryBuilder + buttonBackPrimaryIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'buttonBackPrimaryInt', + value: value, + )); + }); + } + + QueryBuilder + buttonBackPrimaryIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'buttonBackPrimaryInt', + value: value, + )); + }); + } + + QueryBuilder + buttonBackPrimaryIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'buttonBackPrimaryInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + buttonBackSecondaryDisabledIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'buttonBackSecondaryDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + buttonBackSecondaryDisabledIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'buttonBackSecondaryDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + buttonBackSecondaryDisabledIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'buttonBackSecondaryDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + buttonBackSecondaryDisabledIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'buttonBackSecondaryDisabledInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + buttonBackSecondaryIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'buttonBackSecondaryInt', + value: value, + )); + }); + } + + QueryBuilder + buttonBackSecondaryIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'buttonBackSecondaryInt', + value: value, + )); + }); + } + + QueryBuilder + buttonBackSecondaryIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'buttonBackSecondaryInt', + value: value, + )); + }); + } + + QueryBuilder + buttonBackSecondaryIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'buttonBackSecondaryInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + buttonTextBorderIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'buttonTextBorderInt', + value: value, + )); + }); + } + + QueryBuilder + buttonTextBorderIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'buttonTextBorderInt', + value: value, + )); + }); + } + + QueryBuilder + buttonTextBorderIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'buttonTextBorderInt', + value: value, + )); + }); + } + + QueryBuilder + buttonTextBorderIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'buttonTextBorderInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + buttonTextBorderlessDisabledIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'buttonTextBorderlessDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + buttonTextBorderlessDisabledIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'buttonTextBorderlessDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + buttonTextBorderlessDisabledIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'buttonTextBorderlessDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + buttonTextBorderlessDisabledIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'buttonTextBorderlessDisabledInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + buttonTextBorderlessIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'buttonTextBorderlessInt', + value: value, + )); + }); + } + + QueryBuilder + buttonTextBorderlessIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'buttonTextBorderlessInt', + value: value, + )); + }); + } + + QueryBuilder + buttonTextBorderlessIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'buttonTextBorderlessInt', + value: value, + )); + }); + } + + QueryBuilder + buttonTextBorderlessIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'buttonTextBorderlessInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + buttonTextDisabledIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'buttonTextDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + buttonTextDisabledIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'buttonTextDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + buttonTextDisabledIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'buttonTextDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + buttonTextDisabledIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'buttonTextDisabledInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + buttonTextPrimaryDisabledIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'buttonTextPrimaryDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + buttonTextPrimaryDisabledIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'buttonTextPrimaryDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + buttonTextPrimaryDisabledIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'buttonTextPrimaryDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + buttonTextPrimaryDisabledIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'buttonTextPrimaryDisabledInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + buttonTextPrimaryIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'buttonTextPrimaryInt', + value: value, + )); + }); + } + + QueryBuilder + buttonTextPrimaryIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'buttonTextPrimaryInt', + value: value, + )); + }); + } + + QueryBuilder + buttonTextPrimaryIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'buttonTextPrimaryInt', + value: value, + )); + }); + } + + QueryBuilder + buttonTextPrimaryIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'buttonTextPrimaryInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + buttonTextSecondaryDisabledIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'buttonTextSecondaryDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + buttonTextSecondaryDisabledIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'buttonTextSecondaryDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + buttonTextSecondaryDisabledIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'buttonTextSecondaryDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + buttonTextSecondaryDisabledIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'buttonTextSecondaryDisabledInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + buttonTextSecondaryIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'buttonTextSecondaryInt', + value: value, + )); + }); + } + + QueryBuilder + buttonTextSecondaryIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'buttonTextSecondaryInt', + value: value, + )); + }); + } + + QueryBuilder + buttonTextSecondaryIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'buttonTextSecondaryInt', + value: value, + )); + }); + } + + QueryBuilder + buttonTextSecondaryIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'buttonTextSecondaryInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + checkboxBGCheckedIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'checkboxBGCheckedInt', + value: value, + )); + }); + } + + QueryBuilder + checkboxBGCheckedIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'checkboxBGCheckedInt', + value: value, + )); + }); + } + + QueryBuilder + checkboxBGCheckedIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'checkboxBGCheckedInt', + value: value, + )); + }); + } + + QueryBuilder + checkboxBGCheckedIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'checkboxBGCheckedInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + checkboxBGDisabledIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'checkboxBGDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + checkboxBGDisabledIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'checkboxBGDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + checkboxBGDisabledIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'checkboxBGDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + checkboxBGDisabledIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'checkboxBGDisabledInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + checkboxBorderEmptyIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'checkboxBorderEmptyInt', + value: value, + )); + }); + } + + QueryBuilder + checkboxBorderEmptyIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'checkboxBorderEmptyInt', + value: value, + )); + }); + } + + QueryBuilder + checkboxBorderEmptyIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'checkboxBorderEmptyInt', + value: value, + )); + }); + } + + QueryBuilder + checkboxBorderEmptyIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'checkboxBorderEmptyInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + checkboxIconCheckedIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'checkboxIconCheckedInt', + value: value, + )); + }); + } + + QueryBuilder + checkboxIconCheckedIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'checkboxIconCheckedInt', + value: value, + )); + }); + } + + QueryBuilder + checkboxIconCheckedIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'checkboxIconCheckedInt', + value: value, + )); + }); + } + + QueryBuilder + checkboxIconCheckedIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'checkboxIconCheckedInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + checkboxIconDisabledIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'checkboxIconDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + checkboxIconDisabledIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'checkboxIconDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + checkboxIconDisabledIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'checkboxIconDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + checkboxIconDisabledIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'checkboxIconDisabledInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + checkboxTextLabelIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'checkboxTextLabelInt', + value: value, + )); + }); + } + + QueryBuilder + checkboxTextLabelIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'checkboxTextLabelInt', + value: value, + )); + }); + } + + QueryBuilder + checkboxTextLabelIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'checkboxTextLabelInt', + value: value, + )); + }); + } + + QueryBuilder + checkboxTextLabelIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'checkboxTextLabelInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + coinColorsJsonStringEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'coinColorsJsonString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + coinColorsJsonStringGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'coinColorsJsonString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + coinColorsJsonStringLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'coinColorsJsonString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + coinColorsJsonStringBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'coinColorsJsonString', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + coinColorsJsonStringStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'coinColorsJsonString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + coinColorsJsonStringEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'coinColorsJsonString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + coinColorsJsonStringContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'coinColorsJsonString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + coinColorsJsonStringMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'coinColorsJsonString', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + coinColorsJsonStringIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'coinColorsJsonString', + value: '', + )); + }); + } + + QueryBuilder + coinColorsJsonStringIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'coinColorsJsonString', + value: '', + )); + }); + } + + QueryBuilder + currencyListItemBGIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'currencyListItemBGInt', + value: value, + )); + }); + } + + QueryBuilder + currencyListItemBGIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'currencyListItemBGInt', + value: value, + )); + }); + } + + QueryBuilder + currencyListItemBGIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'currencyListItemBGInt', + value: value, + )); + }); + } + + QueryBuilder + currencyListItemBGIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'currencyListItemBGInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + customTextButtonDisabledTextIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'customTextButtonDisabledTextInt', + value: value, + )); + }); + } + + QueryBuilder + customTextButtonDisabledTextIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'customTextButtonDisabledTextInt', + value: value, + )); + }); + } + + QueryBuilder + customTextButtonDisabledTextIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'customTextButtonDisabledTextInt', + value: value, + )); + }); + } + + QueryBuilder + customTextButtonDisabledTextIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'customTextButtonDisabledTextInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + customTextButtonEnabledTextIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'customTextButtonEnabledTextInt', + value: value, + )); + }); + } + + QueryBuilder + customTextButtonEnabledTextIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'customTextButtonEnabledTextInt', + value: value, + )); + }); + } + + QueryBuilder + customTextButtonEnabledTextIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'customTextButtonEnabledTextInt', + value: value, + )); + }); + } + + QueryBuilder + customTextButtonEnabledTextIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'customTextButtonEnabledTextInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + ethTagBGIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'ethTagBGInt', + value: value, + )); + }); + } + + QueryBuilder + ethTagBGIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'ethTagBGInt', + value: value, + )); + }); + } + + QueryBuilder + ethTagBGIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'ethTagBGInt', + value: value, + )); + }); + } + + QueryBuilder + ethTagBGIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'ethTagBGInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + ethTagTextIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'ethTagTextInt', + value: value, + )); + }); + } + + QueryBuilder + ethTagTextIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'ethTagTextInt', + value: value, + )); + }); + } + + QueryBuilder + ethTagTextIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'ethTagTextInt', + value: value, + )); + }); + } + + QueryBuilder + ethTagTextIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'ethTagTextInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + ethWalletTagBGIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'ethWalletTagBGInt', + value: value, + )); + }); + } + + QueryBuilder + ethWalletTagBGIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'ethWalletTagBGInt', + value: value, + )); + }); + } + + QueryBuilder + ethWalletTagBGIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'ethWalletTagBGInt', + value: value, + )); + }); + } + + QueryBuilder + ethWalletTagBGIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'ethWalletTagBGInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + ethWalletTagTextIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'ethWalletTagTextInt', + value: value, + )); + }); + } + + QueryBuilder + ethWalletTagTextIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'ethWalletTagTextInt', + value: value, + )); + }); + } + + QueryBuilder + ethWalletTagTextIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'ethWalletTagTextInt', + value: value, + )); + }); + } + + QueryBuilder + ethWalletTagTextIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'ethWalletTagTextInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + favoriteStarActiveIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'favoriteStarActiveInt', + value: value, + )); + }); + } + + QueryBuilder + favoriteStarActiveIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'favoriteStarActiveInt', + value: value, + )); + }); + } + + QueryBuilder + favoriteStarActiveIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'favoriteStarActiveInt', + value: value, + )); + }); + } + + QueryBuilder + favoriteStarActiveIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'favoriteStarActiveInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + favoriteStarInactiveIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'favoriteStarInactiveInt', + value: value, + )); + }); + } + + QueryBuilder + favoriteStarInactiveIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'favoriteStarInactiveInt', + value: value, + )); + }); + } + + QueryBuilder + favoriteStarInactiveIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'favoriteStarInactiveInt', + value: value, + )); + }); + } + + QueryBuilder + favoriteStarInactiveIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'favoriteStarInactiveInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + gradientBackgroundStringIsNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNull( + property: r'gradientBackgroundString', + )); + }); + } + + QueryBuilder + gradientBackgroundStringIsNotNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNotNull( + property: r'gradientBackgroundString', + )); + }); + } + + QueryBuilder + gradientBackgroundStringEqualTo( + String? value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'gradientBackgroundString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + gradientBackgroundStringGreaterThan( + String? value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'gradientBackgroundString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + gradientBackgroundStringLessThan( + String? value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'gradientBackgroundString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + gradientBackgroundStringBetween( + String? lower, + String? upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'gradientBackgroundString', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + gradientBackgroundStringStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'gradientBackgroundString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + gradientBackgroundStringEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'gradientBackgroundString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + gradientBackgroundStringContains(String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'gradientBackgroundString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + gradientBackgroundStringMatches(String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'gradientBackgroundString', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + gradientBackgroundStringIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'gradientBackgroundString', + value: '', + )); + }); + } + + QueryBuilder + gradientBackgroundStringIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'gradientBackgroundString', + value: '', + )); + }); + } + + QueryBuilder + highlightIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'highlightInt', + value: value, + )); + }); + } + + QueryBuilder + highlightIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'highlightInt', + value: value, + )); + }); + } + + QueryBuilder + highlightIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'highlightInt', + value: value, + )); + }); + } + + QueryBuilder + highlightIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'highlightInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + homeViewButtonBarBoxShadowStringIsNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNull( + property: r'homeViewButtonBarBoxShadowString', + )); + }); + } + + QueryBuilder + homeViewButtonBarBoxShadowStringIsNotNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNotNull( + property: r'homeViewButtonBarBoxShadowString', + )); + }); + } + + QueryBuilder + homeViewButtonBarBoxShadowStringEqualTo( + String? value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'homeViewButtonBarBoxShadowString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + homeViewButtonBarBoxShadowStringGreaterThan( + String? value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'homeViewButtonBarBoxShadowString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + homeViewButtonBarBoxShadowStringLessThan( + String? value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'homeViewButtonBarBoxShadowString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + homeViewButtonBarBoxShadowStringBetween( + String? lower, + String? upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'homeViewButtonBarBoxShadowString', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + homeViewButtonBarBoxShadowStringStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'homeViewButtonBarBoxShadowString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + homeViewButtonBarBoxShadowStringEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'homeViewButtonBarBoxShadowString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + homeViewButtonBarBoxShadowStringContains(String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'homeViewButtonBarBoxShadowString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + homeViewButtonBarBoxShadowStringMatches(String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'homeViewButtonBarBoxShadowString', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + homeViewButtonBarBoxShadowStringIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'homeViewButtonBarBoxShadowString', + value: '', + )); + }); + } + + QueryBuilder + homeViewButtonBarBoxShadowStringIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'homeViewButtonBarBoxShadowString', + value: '', + )); + }); + } + + QueryBuilder idEqualTo( + Id value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'id', + value: value, + )); + }); + } + + QueryBuilder idGreaterThan( + Id value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'id', + value: value, + )); + }); + } + + QueryBuilder idLessThan( + Id value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'id', + value: value, + )); + }); + } + + QueryBuilder idBetween( + Id lower, + Id upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'id', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + infoItemBGIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'infoItemBGInt', + value: value, + )); + }); + } + + QueryBuilder + infoItemBGIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'infoItemBGInt', + value: value, + )); + }); + } + + QueryBuilder + infoItemBGIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'infoItemBGInt', + value: value, + )); + }); + } + + QueryBuilder + infoItemBGIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'infoItemBGInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + infoItemIconsIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'infoItemIconsInt', + value: value, + )); + }); + } + + QueryBuilder + infoItemIconsIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'infoItemIconsInt', + value: value, + )); + }); + } + + QueryBuilder + infoItemIconsIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'infoItemIconsInt', + value: value, + )); + }); + } + + QueryBuilder + infoItemIconsIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'infoItemIconsInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + infoItemLabelIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'infoItemLabelInt', + value: value, + )); + }); + } + + QueryBuilder + infoItemLabelIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'infoItemLabelInt', + value: value, + )); + }); + } + + QueryBuilder + infoItemLabelIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'infoItemLabelInt', + value: value, + )); + }); + } + + QueryBuilder + infoItemLabelIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'infoItemLabelInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + infoItemTextIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'infoItemTextInt', + value: value, + )); + }); + } + + QueryBuilder + infoItemTextIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'infoItemTextInt', + value: value, + )); + }); + } + + QueryBuilder + infoItemTextIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'infoItemTextInt', + value: value, + )); + }); + } + + QueryBuilder + infoItemTextIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'infoItemTextInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + loadingOverlayTextColorIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'loadingOverlayTextColorInt', + value: value, + )); + }); + } + + QueryBuilder + loadingOverlayTextColorIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'loadingOverlayTextColorInt', + value: value, + )); + }); + } + + QueryBuilder + loadingOverlayTextColorIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'loadingOverlayTextColorInt', + value: value, + )); + }); + } + + QueryBuilder + loadingOverlayTextColorIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'loadingOverlayTextColorInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + myStackContactIconBGIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'myStackContactIconBGInt', + value: value, + )); + }); + } + + QueryBuilder + myStackContactIconBGIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'myStackContactIconBGInt', + value: value, + )); + }); + } + + QueryBuilder + myStackContactIconBGIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'myStackContactIconBGInt', + value: value, + )); + }); + } + + QueryBuilder + myStackContactIconBGIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'myStackContactIconBGInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder nameEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'name', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder nameGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'name', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder nameLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'name', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder nameBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'name', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder nameStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'name', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder nameEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'name', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder nameContains( + String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'name', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder nameMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'name', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder nameIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'name', + value: '', + )); + }); + } + + QueryBuilder nameIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'name', + value: '', + )); + }); + } + + QueryBuilder + numberBackDefaultIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'numberBackDefaultInt', + value: value, + )); + }); + } + + QueryBuilder + numberBackDefaultIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'numberBackDefaultInt', + value: value, + )); + }); + } + + QueryBuilder + numberBackDefaultIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'numberBackDefaultInt', + value: value, + )); + }); + } + + QueryBuilder + numberBackDefaultIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'numberBackDefaultInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + numberTextDefaultIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'numberTextDefaultInt', + value: value, + )); + }); + } + + QueryBuilder + numberTextDefaultIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'numberTextDefaultInt', + value: value, + )); + }); + } + + QueryBuilder + numberTextDefaultIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'numberTextDefaultInt', + value: value, + )); + }); + } + + QueryBuilder + numberTextDefaultIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'numberTextDefaultInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + numpadBackDefaultIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'numpadBackDefaultInt', + value: value, + )); + }); + } + + QueryBuilder + numpadBackDefaultIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'numpadBackDefaultInt', + value: value, + )); + }); + } + + QueryBuilder + numpadBackDefaultIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'numpadBackDefaultInt', + value: value, + )); + }); + } + + QueryBuilder + numpadBackDefaultIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'numpadBackDefaultInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + numpadTextDefaultIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'numpadTextDefaultInt', + value: value, + )); + }); + } + + QueryBuilder + numpadTextDefaultIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'numpadTextDefaultInt', + value: value, + )); + }); + } + + QueryBuilder + numpadTextDefaultIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'numpadTextDefaultInt', + value: value, + )); + }); + } + + QueryBuilder + numpadTextDefaultIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'numpadTextDefaultInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder overlayIntEqualTo( + int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'overlayInt', + value: value, + )); + }); + } + + QueryBuilder + overlayIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'overlayInt', + value: value, + )); + }); + } + + QueryBuilder + overlayIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'overlayInt', + value: value, + )); + }); + } + + QueryBuilder overlayIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'overlayInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder popupBGIntEqualTo( + int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'popupBGInt', + value: value, + )); + }); + } + + QueryBuilder + popupBGIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'popupBGInt', + value: value, + )); + }); + } + + QueryBuilder + popupBGIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'popupBGInt', + value: value, + )); + }); + } + + QueryBuilder popupBGIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'popupBGInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + radioButtonBorderDisabledIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'radioButtonBorderDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonBorderDisabledIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'radioButtonBorderDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonBorderDisabledIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'radioButtonBorderDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonBorderDisabledIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'radioButtonBorderDisabledInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + radioButtonBorderEnabledIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'radioButtonBorderEnabledInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonBorderEnabledIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'radioButtonBorderEnabledInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonBorderEnabledIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'radioButtonBorderEnabledInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonBorderEnabledIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'radioButtonBorderEnabledInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + radioButtonIconBorderDisabledIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'radioButtonIconBorderDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonIconBorderDisabledIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'radioButtonIconBorderDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonIconBorderDisabledIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'radioButtonIconBorderDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonIconBorderDisabledIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'radioButtonIconBorderDisabledInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + radioButtonIconBorderIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'radioButtonIconBorderInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonIconBorderIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'radioButtonIconBorderInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonIconBorderIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'radioButtonIconBorderInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonIconBorderIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'radioButtonIconBorderInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + radioButtonIconCircleIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'radioButtonIconCircleInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonIconCircleIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'radioButtonIconCircleInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonIconCircleIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'radioButtonIconCircleInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonIconCircleIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'radioButtonIconCircleInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + radioButtonIconEnabledIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'radioButtonIconEnabledInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonIconEnabledIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'radioButtonIconEnabledInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonIconEnabledIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'radioButtonIconEnabledInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonIconEnabledIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'radioButtonIconEnabledInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + radioButtonLabelDisabledIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'radioButtonLabelDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonLabelDisabledIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'radioButtonLabelDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonLabelDisabledIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'radioButtonLabelDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonLabelDisabledIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'radioButtonLabelDisabledInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + radioButtonLabelEnabledIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'radioButtonLabelEnabledInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonLabelEnabledIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'radioButtonLabelEnabledInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonLabelEnabledIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'radioButtonLabelEnabledInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonLabelEnabledIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'radioButtonLabelEnabledInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + radioButtonTextDisabledIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'radioButtonTextDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonTextDisabledIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'radioButtonTextDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonTextDisabledIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'radioButtonTextDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonTextDisabledIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'radioButtonTextDisabledInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + radioButtonTextEnabledIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'radioButtonTextEnabledInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonTextEnabledIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'radioButtonTextEnabledInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonTextEnabledIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'radioButtonTextEnabledInt', + value: value, + )); + }); + } + + QueryBuilder + radioButtonTextEnabledIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'radioButtonTextEnabledInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + rateTypeToggleColorOffIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'rateTypeToggleColorOffInt', + value: value, + )); + }); + } + + QueryBuilder + rateTypeToggleColorOffIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'rateTypeToggleColorOffInt', + value: value, + )); + }); + } + + QueryBuilder + rateTypeToggleColorOffIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'rateTypeToggleColorOffInt', + value: value, + )); + }); + } + + QueryBuilder + rateTypeToggleColorOffIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'rateTypeToggleColorOffInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + rateTypeToggleColorOnIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'rateTypeToggleColorOnInt', + value: value, + )); + }); + } + + QueryBuilder + rateTypeToggleColorOnIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'rateTypeToggleColorOnInt', + value: value, + )); + }); + } + + QueryBuilder + rateTypeToggleColorOnIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'rateTypeToggleColorOnInt', + value: value, + )); + }); + } + + QueryBuilder + rateTypeToggleColorOnIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'rateTypeToggleColorOnInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + rateTypeToggleDesktopColorOffIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'rateTypeToggleDesktopColorOffInt', + value: value, + )); + }); + } + + QueryBuilder + rateTypeToggleDesktopColorOffIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'rateTypeToggleDesktopColorOffInt', + value: value, + )); + }); + } + + QueryBuilder + rateTypeToggleDesktopColorOffIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'rateTypeToggleDesktopColorOffInt', + value: value, + )); + }); + } + + QueryBuilder + rateTypeToggleDesktopColorOffIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'rateTypeToggleDesktopColorOffInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + rateTypeToggleDesktopColorOnIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'rateTypeToggleDesktopColorOnInt', + value: value, + )); + }); + } + + QueryBuilder + rateTypeToggleDesktopColorOnIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'rateTypeToggleDesktopColorOnInt', + value: value, + )); + }); + } + + QueryBuilder + rateTypeToggleDesktopColorOnIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'rateTypeToggleDesktopColorOnInt', + value: value, + )); + }); + } + + QueryBuilder + rateTypeToggleDesktopColorOnIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'rateTypeToggleDesktopColorOnInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + settingsIconBack2IntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'settingsIconBack2Int', + value: value, + )); + }); + } + + QueryBuilder + settingsIconBack2IntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'settingsIconBack2Int', + value: value, + )); + }); + } + + QueryBuilder + settingsIconBack2IntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'settingsIconBack2Int', + value: value, + )); + }); + } + + QueryBuilder + settingsIconBack2IntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'settingsIconBack2Int', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + settingsIconBackIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'settingsIconBackInt', + value: value, + )); + }); + } + + QueryBuilder + settingsIconBackIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'settingsIconBackInt', + value: value, + )); + }); + } + + QueryBuilder + settingsIconBackIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'settingsIconBackInt', + value: value, + )); + }); + } + + QueryBuilder + settingsIconBackIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'settingsIconBackInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + settingsIconElementIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'settingsIconElementInt', + value: value, + )); + }); + } + + QueryBuilder + settingsIconElementIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'settingsIconElementInt', + value: value, + )); + }); + } + + QueryBuilder + settingsIconElementIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'settingsIconElementInt', + value: value, + )); + }); + } + + QueryBuilder + settingsIconElementIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'settingsIconElementInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + settingsIconIconIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'settingsIconIconInt', + value: value, + )); + }); + } + + QueryBuilder + settingsIconIconIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'settingsIconIconInt', + value: value, + )); + }); + } + + QueryBuilder + settingsIconIconIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'settingsIconIconInt', + value: value, + )); + }); + } + + QueryBuilder + settingsIconIconIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'settingsIconIconInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + settingsItem2ActiveBGIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'settingsItem2ActiveBGInt', + value: value, + )); + }); + } + + QueryBuilder + settingsItem2ActiveBGIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'settingsItem2ActiveBGInt', + value: value, + )); + }); + } + + QueryBuilder + settingsItem2ActiveBGIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'settingsItem2ActiveBGInt', + value: value, + )); + }); + } + + QueryBuilder + settingsItem2ActiveBGIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'settingsItem2ActiveBGInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + settingsItem2ActiveSubIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'settingsItem2ActiveSubInt', + value: value, + )); + }); + } + + QueryBuilder + settingsItem2ActiveSubIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'settingsItem2ActiveSubInt', + value: value, + )); + }); + } + + QueryBuilder + settingsItem2ActiveSubIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'settingsItem2ActiveSubInt', + value: value, + )); + }); + } + + QueryBuilder + settingsItem2ActiveSubIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'settingsItem2ActiveSubInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + settingsItem2ActiveTextIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'settingsItem2ActiveTextInt', + value: value, + )); + }); + } + + QueryBuilder + settingsItem2ActiveTextIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'settingsItem2ActiveTextInt', + value: value, + )); + }); + } + + QueryBuilder + settingsItem2ActiveTextIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'settingsItem2ActiveTextInt', + value: value, + )); + }); + } + + QueryBuilder + settingsItem2ActiveTextIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'settingsItem2ActiveTextInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder shadowIntEqualTo( + int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'shadowInt', + value: value, + )); + }); + } + + QueryBuilder + shadowIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'shadowInt', + value: value, + )); + }); + } + + QueryBuilder shadowIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'shadowInt', + value: value, + )); + }); + } + + QueryBuilder shadowIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'shadowInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + snackBarBackErrorIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'snackBarBackErrorInt', + value: value, + )); + }); + } + + QueryBuilder + snackBarBackErrorIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'snackBarBackErrorInt', + value: value, + )); + }); + } + + QueryBuilder + snackBarBackErrorIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'snackBarBackErrorInt', + value: value, + )); + }); + } + + QueryBuilder + snackBarBackErrorIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'snackBarBackErrorInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + snackBarBackInfoIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'snackBarBackInfoInt', + value: value, + )); + }); + } + + QueryBuilder + snackBarBackInfoIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'snackBarBackInfoInt', + value: value, + )); + }); + } + + QueryBuilder + snackBarBackInfoIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'snackBarBackInfoInt', + value: value, + )); + }); + } + + QueryBuilder + snackBarBackInfoIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'snackBarBackInfoInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + snackBarBackSuccessIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'snackBarBackSuccessInt', + value: value, + )); + }); + } + + QueryBuilder + snackBarBackSuccessIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'snackBarBackSuccessInt', + value: value, + )); + }); + } + + QueryBuilder + snackBarBackSuccessIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'snackBarBackSuccessInt', + value: value, + )); + }); + } + + QueryBuilder + snackBarBackSuccessIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'snackBarBackSuccessInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + snackBarTextErrorIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'snackBarTextErrorInt', + value: value, + )); + }); + } + + QueryBuilder + snackBarTextErrorIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'snackBarTextErrorInt', + value: value, + )); + }); + } + + QueryBuilder + snackBarTextErrorIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'snackBarTextErrorInt', + value: value, + )); + }); + } + + QueryBuilder + snackBarTextErrorIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'snackBarTextErrorInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + snackBarTextInfoIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'snackBarTextInfoInt', + value: value, + )); + }); + } + + QueryBuilder + snackBarTextInfoIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'snackBarTextInfoInt', + value: value, + )); + }); + } + + QueryBuilder + snackBarTextInfoIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'snackBarTextInfoInt', + value: value, + )); + }); + } + + QueryBuilder + snackBarTextInfoIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'snackBarTextInfoInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + snackBarTextSuccessIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'snackBarTextSuccessInt', + value: value, + )); + }); + } + + QueryBuilder + snackBarTextSuccessIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'snackBarTextSuccessInt', + value: value, + )); + }); + } + + QueryBuilder + snackBarTextSuccessIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'snackBarTextSuccessInt', + value: value, + )); + }); + } + + QueryBuilder + snackBarTextSuccessIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'snackBarTextSuccessInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder splashIntEqualTo( + int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'splashInt', + value: value, + )); + }); + } + + QueryBuilder + splashIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'splashInt', + value: value, + )); + }); + } + + QueryBuilder splashIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'splashInt', + value: value, + )); + }); + } + + QueryBuilder splashIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'splashInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + stackWalletBGIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'stackWalletBGInt', + value: value, + )); + }); + } + + QueryBuilder + stackWalletBGIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'stackWalletBGInt', + value: value, + )); + }); + } + + QueryBuilder + stackWalletBGIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'stackWalletBGInt', + value: value, + )); + }); + } + + QueryBuilder + stackWalletBGIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'stackWalletBGInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + stackWalletBottomIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'stackWalletBottomInt', + value: value, + )); + }); + } + + QueryBuilder + stackWalletBottomIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'stackWalletBottomInt', + value: value, + )); + }); + } + + QueryBuilder + stackWalletBottomIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'stackWalletBottomInt', + value: value, + )); + }); + } + + QueryBuilder + stackWalletBottomIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'stackWalletBottomInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + stackWalletMidIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'stackWalletMidInt', + value: value, + )); + }); + } + + QueryBuilder + stackWalletMidIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'stackWalletMidInt', + value: value, + )); + }); + } + + QueryBuilder + stackWalletMidIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'stackWalletMidInt', + value: value, + )); + }); + } + + QueryBuilder + stackWalletMidIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'stackWalletMidInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + standardBoxShadowStringEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'standardBoxShadowString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + standardBoxShadowStringGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'standardBoxShadowString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + standardBoxShadowStringLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'standardBoxShadowString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + standardBoxShadowStringBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'standardBoxShadowString', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + standardBoxShadowStringStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'standardBoxShadowString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + standardBoxShadowStringEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'standardBoxShadowString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + standardBoxShadowStringContains(String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'standardBoxShadowString', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + standardBoxShadowStringMatches(String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'standardBoxShadowString', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + standardBoxShadowStringIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'standardBoxShadowString', + value: '', + )); + }); + } + + QueryBuilder + standardBoxShadowStringIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'standardBoxShadowString', + value: '', + )); + }); + } + + QueryBuilder + stepIndicatorBGCheckIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'stepIndicatorBGCheckInt', + value: value, + )); + }); + } + + QueryBuilder + stepIndicatorBGCheckIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'stepIndicatorBGCheckInt', + value: value, + )); + }); + } + + QueryBuilder + stepIndicatorBGCheckIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'stepIndicatorBGCheckInt', + value: value, + )); + }); + } + + QueryBuilder + stepIndicatorBGCheckIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'stepIndicatorBGCheckInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + stepIndicatorBGInactiveIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'stepIndicatorBGInactiveInt', + value: value, + )); + }); + } + + QueryBuilder + stepIndicatorBGInactiveIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'stepIndicatorBGInactiveInt', + value: value, + )); + }); + } + + QueryBuilder + stepIndicatorBGInactiveIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'stepIndicatorBGInactiveInt', + value: value, + )); + }); + } + + QueryBuilder + stepIndicatorBGInactiveIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'stepIndicatorBGInactiveInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + stepIndicatorBGLinesInactiveIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'stepIndicatorBGLinesInactiveInt', + value: value, + )); + }); + } + + QueryBuilder + stepIndicatorBGLinesInactiveIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'stepIndicatorBGLinesInactiveInt', + value: value, + )); + }); + } + + QueryBuilder + stepIndicatorBGLinesInactiveIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'stepIndicatorBGLinesInactiveInt', + value: value, + )); + }); + } + + QueryBuilder + stepIndicatorBGLinesInactiveIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'stepIndicatorBGLinesInactiveInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + stepIndicatorBGLinesIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'stepIndicatorBGLinesInt', + value: value, + )); + }); + } + + QueryBuilder + stepIndicatorBGLinesIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'stepIndicatorBGLinesInt', + value: value, + )); + }); + } + + QueryBuilder + stepIndicatorBGLinesIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'stepIndicatorBGLinesInt', + value: value, + )); + }); + } + + QueryBuilder + stepIndicatorBGLinesIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'stepIndicatorBGLinesInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + stepIndicatorBGNumberIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'stepIndicatorBGNumberInt', + value: value, + )); + }); + } + + QueryBuilder + stepIndicatorBGNumberIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'stepIndicatorBGNumberInt', + value: value, + )); + }); + } + + QueryBuilder + stepIndicatorBGNumberIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'stepIndicatorBGNumberInt', + value: value, + )); + }); + } + + QueryBuilder + stepIndicatorBGNumberIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'stepIndicatorBGNumberInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + stepIndicatorIconInactiveIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'stepIndicatorIconInactiveInt', + value: value, + )); + }); + } + + QueryBuilder + stepIndicatorIconInactiveIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'stepIndicatorIconInactiveInt', + value: value, + )); + }); + } + + QueryBuilder + stepIndicatorIconInactiveIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'stepIndicatorIconInactiveInt', + value: value, + )); + }); + } + + QueryBuilder + stepIndicatorIconInactiveIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'stepIndicatorIconInactiveInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + stepIndicatorIconNumberIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'stepIndicatorIconNumberInt', + value: value, + )); + }); + } + + QueryBuilder + stepIndicatorIconNumberIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'stepIndicatorIconNumberInt', + value: value, + )); + }); + } + + QueryBuilder + stepIndicatorIconNumberIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'stepIndicatorIconNumberInt', + value: value, + )); + }); + } + + QueryBuilder + stepIndicatorIconNumberIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'stepIndicatorIconNumberInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + stepIndicatorIconTextIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'stepIndicatorIconTextInt', + value: value, + )); + }); + } + + QueryBuilder + stepIndicatorIconTextIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'stepIndicatorIconTextInt', + value: value, + )); + }); + } + + QueryBuilder + stepIndicatorIconTextIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'stepIndicatorIconTextInt', + value: value, + )); + }); + } + + QueryBuilder + stepIndicatorIconTextIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'stepIndicatorIconTextInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + switchBGDisabledIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'switchBGDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + switchBGDisabledIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'switchBGDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + switchBGDisabledIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'switchBGDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + switchBGDisabledIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'switchBGDisabledInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + switchBGOffIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'switchBGOffInt', + value: value, + )); + }); + } + + QueryBuilder + switchBGOffIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'switchBGOffInt', + value: value, + )); + }); + } + + QueryBuilder + switchBGOffIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'switchBGOffInt', + value: value, + )); + }); + } + + QueryBuilder + switchBGOffIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'switchBGOffInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + switchBGOnIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'switchBGOnInt', + value: value, + )); + }); + } + + QueryBuilder + switchBGOnIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'switchBGOnInt', + value: value, + )); + }); + } + + QueryBuilder + switchBGOnIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'switchBGOnInt', + value: value, + )); + }); + } + + QueryBuilder + switchBGOnIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'switchBGOnInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + switchCircleDisabledIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'switchCircleDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + switchCircleDisabledIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'switchCircleDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + switchCircleDisabledIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'switchCircleDisabledInt', + value: value, + )); + }); + } + + QueryBuilder + switchCircleDisabledIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'switchCircleDisabledInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + switchCircleOffIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'switchCircleOffInt', + value: value, + )); + }); + } + + QueryBuilder + switchCircleOffIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'switchCircleOffInt', + value: value, + )); + }); + } + + QueryBuilder + switchCircleOffIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'switchCircleOffInt', + value: value, + )); + }); + } + + QueryBuilder + switchCircleOffIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'switchCircleOffInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + switchCircleOnIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'switchCircleOnInt', + value: value, + )); + }); + } + + QueryBuilder + switchCircleOnIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'switchCircleOnInt', + value: value, + )); + }); + } + + QueryBuilder + switchCircleOnIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'switchCircleOnInt', + value: value, + )); + }); + } + + QueryBuilder + switchCircleOnIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'switchCircleOnInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textConfirmTotalAmountIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textConfirmTotalAmountInt', + value: value, + )); + }); + } + + QueryBuilder + textConfirmTotalAmountIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textConfirmTotalAmountInt', + value: value, + )); + }); + } + + QueryBuilder + textConfirmTotalAmountIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textConfirmTotalAmountInt', + value: value, + )); + }); + } + + QueryBuilder + textConfirmTotalAmountIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textConfirmTotalAmountInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textDark2IntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textDark2Int', + value: value, + )); + }); + } + + QueryBuilder + textDark2IntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textDark2Int', + value: value, + )); + }); + } + + QueryBuilder + textDark2IntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textDark2Int', + value: value, + )); + }); + } + + QueryBuilder + textDark2IntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textDark2Int', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textDark3IntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textDark3Int', + value: value, + )); + }); + } + + QueryBuilder + textDark3IntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textDark3Int', + value: value, + )); + }); + } + + QueryBuilder + textDark3IntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textDark3Int', + value: value, + )); + }); + } + + QueryBuilder + textDark3IntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textDark3Int', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textDarkIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textDarkInt', + value: value, + )); + }); + } + + QueryBuilder + textDarkIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textDarkInt', + value: value, + )); + }); + } + + QueryBuilder + textDarkIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textDarkInt', + value: value, + )); + }); + } + + QueryBuilder + textDarkIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textDarkInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textErrorIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textErrorInt', + value: value, + )); + }); + } + + QueryBuilder + textErrorIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textErrorInt', + value: value, + )); + }); + } + + QueryBuilder + textErrorIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textErrorInt', + value: value, + )); + }); + } + + QueryBuilder + textErrorIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textErrorInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textFavoriteCardIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textFavoriteCardInt', + value: value, + )); + }); + } + + QueryBuilder + textFavoriteCardIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textFavoriteCardInt', + value: value, + )); + }); + } + + QueryBuilder + textFavoriteCardIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textFavoriteCardInt', + value: value, + )); + }); + } + + QueryBuilder + textFavoriteCardIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textFavoriteCardInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textFieldActiveBGIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textFieldActiveBGInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldActiveBGIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textFieldActiveBGInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldActiveBGIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textFieldActiveBGInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldActiveBGIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textFieldActiveBGInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textFieldActiveLabelIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textFieldActiveLabelInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldActiveLabelIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textFieldActiveLabelInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldActiveLabelIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textFieldActiveLabelInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldActiveLabelIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textFieldActiveLabelInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textFieldActiveSearchIconLeftIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textFieldActiveSearchIconLeftInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldActiveSearchIconLeftIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textFieldActiveSearchIconLeftInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldActiveSearchIconLeftIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textFieldActiveSearchIconLeftInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldActiveSearchIconLeftIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textFieldActiveSearchIconLeftInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textFieldActiveSearchIconRightIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textFieldActiveSearchIconRightInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldActiveSearchIconRightIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textFieldActiveSearchIconRightInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldActiveSearchIconRightIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textFieldActiveSearchIconRightInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldActiveSearchIconRightIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textFieldActiveSearchIconRightInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textFieldActiveTextIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textFieldActiveTextInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldActiveTextIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textFieldActiveTextInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldActiveTextIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textFieldActiveTextInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldActiveTextIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textFieldActiveTextInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textFieldDefaultBGIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textFieldDefaultBGInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldDefaultBGIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textFieldDefaultBGInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldDefaultBGIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textFieldDefaultBGInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldDefaultBGIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textFieldDefaultBGInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textFieldDefaultSearchIconLeftIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textFieldDefaultSearchIconLeftInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldDefaultSearchIconLeftIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textFieldDefaultSearchIconLeftInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldDefaultSearchIconLeftIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textFieldDefaultSearchIconLeftInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldDefaultSearchIconLeftIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textFieldDefaultSearchIconLeftInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textFieldDefaultSearchIconRightIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textFieldDefaultSearchIconRightInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldDefaultSearchIconRightIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textFieldDefaultSearchIconRightInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldDefaultSearchIconRightIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textFieldDefaultSearchIconRightInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldDefaultSearchIconRightIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textFieldDefaultSearchIconRightInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textFieldDefaultTextIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textFieldDefaultTextInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldDefaultTextIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textFieldDefaultTextInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldDefaultTextIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textFieldDefaultTextInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldDefaultTextIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textFieldDefaultTextInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textFieldErrorBGIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textFieldErrorBGInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldErrorBGIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textFieldErrorBGInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldErrorBGIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textFieldErrorBGInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldErrorBGIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textFieldErrorBGInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textFieldErrorBorderIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textFieldErrorBorderInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldErrorBorderIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textFieldErrorBorderInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldErrorBorderIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textFieldErrorBorderInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldErrorBorderIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textFieldErrorBorderInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textFieldErrorLabelIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textFieldErrorLabelInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldErrorLabelIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textFieldErrorLabelInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldErrorLabelIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textFieldErrorLabelInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldErrorLabelIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textFieldErrorLabelInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textFieldErrorSearchIconLeftIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textFieldErrorSearchIconLeftInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldErrorSearchIconLeftIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textFieldErrorSearchIconLeftInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldErrorSearchIconLeftIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textFieldErrorSearchIconLeftInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldErrorSearchIconLeftIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textFieldErrorSearchIconLeftInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textFieldErrorSearchIconRightIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textFieldErrorSearchIconRightInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldErrorSearchIconRightIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textFieldErrorSearchIconRightInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldErrorSearchIconRightIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textFieldErrorSearchIconRightInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldErrorSearchIconRightIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textFieldErrorSearchIconRightInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textFieldErrorTextIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textFieldErrorTextInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldErrorTextIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textFieldErrorTextInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldErrorTextIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textFieldErrorTextInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldErrorTextIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textFieldErrorTextInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textFieldSuccessBGIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textFieldSuccessBGInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldSuccessBGIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textFieldSuccessBGInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldSuccessBGIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textFieldSuccessBGInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldSuccessBGIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textFieldSuccessBGInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textFieldSuccessBorderIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textFieldSuccessBorderInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldSuccessBorderIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textFieldSuccessBorderInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldSuccessBorderIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textFieldSuccessBorderInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldSuccessBorderIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textFieldSuccessBorderInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textFieldSuccessLabelIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textFieldSuccessLabelInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldSuccessLabelIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textFieldSuccessLabelInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldSuccessLabelIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textFieldSuccessLabelInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldSuccessLabelIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textFieldSuccessLabelInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textFieldSuccessSearchIconLeftIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textFieldSuccessSearchIconLeftInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldSuccessSearchIconLeftIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textFieldSuccessSearchIconLeftInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldSuccessSearchIconLeftIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textFieldSuccessSearchIconLeftInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldSuccessSearchIconLeftIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textFieldSuccessSearchIconLeftInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textFieldSuccessSearchIconRightIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textFieldSuccessSearchIconRightInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldSuccessSearchIconRightIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textFieldSuccessSearchIconRightInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldSuccessSearchIconRightIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textFieldSuccessSearchIconRightInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldSuccessSearchIconRightIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textFieldSuccessSearchIconRightInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textFieldSuccessTextIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textFieldSuccessTextInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldSuccessTextIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textFieldSuccessTextInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldSuccessTextIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textFieldSuccessTextInt', + value: value, + )); + }); + } + + QueryBuilder + textFieldSuccessTextIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textFieldSuccessTextInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textRestoreIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textRestoreInt', + value: value, + )); + }); + } + + QueryBuilder + textRestoreIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textRestoreInt', + value: value, + )); + }); + } + + QueryBuilder + textRestoreIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textRestoreInt', + value: value, + )); + }); + } + + QueryBuilder + textRestoreIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textRestoreInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textSelectedWordTableItemIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textSelectedWordTableItemInt', + value: value, + )); + }); + } + + QueryBuilder + textSelectedWordTableItemIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textSelectedWordTableItemInt', + value: value, + )); + }); + } + + QueryBuilder + textSelectedWordTableItemIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textSelectedWordTableItemInt', + value: value, + )); + }); + } + + QueryBuilder + textSelectedWordTableItemIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textSelectedWordTableItemInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textSubtitle1IntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textSubtitle1Int', + value: value, + )); + }); + } + + QueryBuilder + textSubtitle1IntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textSubtitle1Int', + value: value, + )); + }); + } + + QueryBuilder + textSubtitle1IntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textSubtitle1Int', + value: value, + )); + }); + } + + QueryBuilder + textSubtitle1IntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textSubtitle1Int', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textSubtitle2IntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textSubtitle2Int', + value: value, + )); + }); + } + + QueryBuilder + textSubtitle2IntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textSubtitle2Int', + value: value, + )); + }); + } + + QueryBuilder + textSubtitle2IntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textSubtitle2Int', + value: value, + )); + }); + } + + QueryBuilder + textSubtitle2IntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textSubtitle2Int', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textSubtitle3IntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textSubtitle3Int', + value: value, + )); + }); + } + + QueryBuilder + textSubtitle3IntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textSubtitle3Int', + value: value, + )); + }); + } + + QueryBuilder + textSubtitle3IntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textSubtitle3Int', + value: value, + )); + }); + } + + QueryBuilder + textSubtitle3IntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textSubtitle3Int', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textSubtitle4IntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textSubtitle4Int', + value: value, + )); + }); + } + + QueryBuilder + textSubtitle4IntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textSubtitle4Int', + value: value, + )); + }); + } + + QueryBuilder + textSubtitle4IntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textSubtitle4Int', + value: value, + )); + }); + } + + QueryBuilder + textSubtitle4IntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textSubtitle4Int', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textSubtitle5IntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textSubtitle5Int', + value: value, + )); + }); + } + + QueryBuilder + textSubtitle5IntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textSubtitle5Int', + value: value, + )); + }); + } + + QueryBuilder + textSubtitle5IntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textSubtitle5Int', + value: value, + )); + }); + } + + QueryBuilder + textSubtitle5IntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textSubtitle5Int', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textSubtitle6IntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textSubtitle6Int', + value: value, + )); + }); + } + + QueryBuilder + textSubtitle6IntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textSubtitle6Int', + value: value, + )); + }); + } + + QueryBuilder + textSubtitle6IntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textSubtitle6Int', + value: value, + )); + }); + } + + QueryBuilder + textSubtitle6IntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textSubtitle6Int', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + textWhiteIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'textWhiteInt', + value: value, + )); + }); + } + + QueryBuilder + textWhiteIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'textWhiteInt', + value: value, + )); + }); + } + + QueryBuilder + textWhiteIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'textWhiteInt', + value: value, + )); + }); + } + + QueryBuilder + textWhiteIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'textWhiteInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder themeIdEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'themeId', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + themeIdGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'themeId', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder themeIdLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'themeId', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder themeIdBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'themeId', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder themeIdStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'themeId', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder themeIdEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'themeId', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder themeIdContains( + String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'themeId', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder themeIdMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'themeId', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder themeIdIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'themeId', + value: '', + )); + }); + } + + QueryBuilder + themeIdIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'themeId', + value: '', + )); + }); + } + + QueryBuilder + tokenSummaryBGIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'tokenSummaryBGInt', + value: value, + )); + }); + } + + QueryBuilder + tokenSummaryBGIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'tokenSummaryBGInt', + value: value, + )); + }); + } + + QueryBuilder + tokenSummaryBGIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'tokenSummaryBGInt', + value: value, + )); + }); + } + + QueryBuilder + tokenSummaryBGIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'tokenSummaryBGInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + tokenSummaryButtonBGIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'tokenSummaryButtonBGInt', + value: value, + )); + }); + } + + QueryBuilder + tokenSummaryButtonBGIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'tokenSummaryButtonBGInt', + value: value, + )); + }); + } + + QueryBuilder + tokenSummaryButtonBGIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'tokenSummaryButtonBGInt', + value: value, + )); + }); + } + + QueryBuilder + tokenSummaryButtonBGIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'tokenSummaryButtonBGInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + tokenSummaryIconIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'tokenSummaryIconInt', + value: value, + )); + }); + } + + QueryBuilder + tokenSummaryIconIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'tokenSummaryIconInt', + value: value, + )); + }); + } + + QueryBuilder + tokenSummaryIconIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'tokenSummaryIconInt', + value: value, + )); + }); + } + + QueryBuilder + tokenSummaryIconIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'tokenSummaryIconInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + tokenSummaryTextPrimaryIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'tokenSummaryTextPrimaryInt', + value: value, + )); + }); + } + + QueryBuilder + tokenSummaryTextPrimaryIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'tokenSummaryTextPrimaryInt', + value: value, + )); + }); + } + + QueryBuilder + tokenSummaryTextPrimaryIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'tokenSummaryTextPrimaryInt', + value: value, + )); + }); + } + + QueryBuilder + tokenSummaryTextPrimaryIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'tokenSummaryTextPrimaryInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + tokenSummaryTextSecondaryIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'tokenSummaryTextSecondaryInt', + value: value, + )); + }); + } + + QueryBuilder + tokenSummaryTextSecondaryIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'tokenSummaryTextSecondaryInt', + value: value, + )); + }); + } + + QueryBuilder + tokenSummaryTextSecondaryIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'tokenSummaryTextSecondaryInt', + value: value, + )); + }); + } + + QueryBuilder + tokenSummaryTextSecondaryIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'tokenSummaryTextSecondaryInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + topNavIconGreenIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'topNavIconGreenInt', + value: value, + )); + }); + } + + QueryBuilder + topNavIconGreenIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'topNavIconGreenInt', + value: value, + )); + }); + } + + QueryBuilder + topNavIconGreenIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'topNavIconGreenInt', + value: value, + )); + }); + } + + QueryBuilder + topNavIconGreenIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'topNavIconGreenInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + topNavIconPrimaryIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'topNavIconPrimaryInt', + value: value, + )); + }); + } + + QueryBuilder + topNavIconPrimaryIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'topNavIconPrimaryInt', + value: value, + )); + }); + } + + QueryBuilder + topNavIconPrimaryIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'topNavIconPrimaryInt', + value: value, + )); + }); + } + + QueryBuilder + topNavIconPrimaryIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'topNavIconPrimaryInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + topNavIconRedIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'topNavIconRedInt', + value: value, + )); + }); + } + + QueryBuilder + topNavIconRedIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'topNavIconRedInt', + value: value, + )); + }); + } + + QueryBuilder + topNavIconRedIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'topNavIconRedInt', + value: value, + )); + }); + } + + QueryBuilder + topNavIconRedIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'topNavIconRedInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + topNavIconYellowIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'topNavIconYellowInt', + value: value, + )); + }); + } + + QueryBuilder + topNavIconYellowIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'topNavIconYellowInt', + value: value, + )); + }); + } + + QueryBuilder + topNavIconYellowIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'topNavIconYellowInt', + value: value, + )); + }); + } + + QueryBuilder + topNavIconYellowIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'topNavIconYellowInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + warningBackgroundIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'warningBackgroundInt', + value: value, + )); + }); + } + + QueryBuilder + warningBackgroundIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'warningBackgroundInt', + value: value, + )); + }); + } + + QueryBuilder + warningBackgroundIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'warningBackgroundInt', + value: value, + )); + }); + } + + QueryBuilder + warningBackgroundIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'warningBackgroundInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } + + QueryBuilder + warningForegroundIntEqualTo(int value) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'warningForegroundInt', + value: value, + )); + }); + } + + QueryBuilder + warningForegroundIntGreaterThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'warningForegroundInt', + value: value, + )); + }); + } + + QueryBuilder + warningForegroundIntLessThan( + int value, { + bool include = false, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'warningForegroundInt', + value: value, + )); + }); + } + + QueryBuilder + warningForegroundIntBetween( + int lower, + int upper, { + bool includeLower = true, + bool includeUpper = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'warningForegroundInt', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + )); + }); + } +} + +extension StackThemeQueryObject + on QueryBuilder { + QueryBuilder assets( + FilterQuery q) { + return QueryBuilder.apply(this, (query) { + return query.object(q, r'assets'); + }); + } +} + +extension StackThemeQueryLinks + on QueryBuilder {} + +extension StackThemeQuerySortBy + on QueryBuilder { + QueryBuilder + sortByAccentColorBlueInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'accentColorBlueInt', Sort.asc); + }); + } + + QueryBuilder + sortByAccentColorBlueIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'accentColorBlueInt', Sort.desc); + }); + } + + QueryBuilder + sortByAccentColorDarkInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'accentColorDarkInt', Sort.asc); + }); + } + + QueryBuilder + sortByAccentColorDarkIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'accentColorDarkInt', Sort.desc); + }); + } + + QueryBuilder + sortByAccentColorGreenInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'accentColorGreenInt', Sort.asc); + }); + } + + QueryBuilder + sortByAccentColorGreenIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'accentColorGreenInt', Sort.desc); + }); + } + + QueryBuilder + sortByAccentColorOrangeInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'accentColorOrangeInt', Sort.asc); + }); + } + + QueryBuilder + sortByAccentColorOrangeIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'accentColorOrangeInt', Sort.desc); + }); + } + + QueryBuilder sortByAccentColorRedInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'accentColorRedInt', Sort.asc); + }); + } + + QueryBuilder + sortByAccentColorRedIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'accentColorRedInt', Sort.desc); + }); + } + + QueryBuilder + sortByAccentColorYellowInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'accentColorYellowInt', Sort.asc); + }); + } + + QueryBuilder + sortByAccentColorYellowIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'accentColorYellowInt', Sort.desc); + }); + } + + QueryBuilder + sortByBackgroundAppBarInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'backgroundAppBarInt', Sort.asc); + }); + } + + QueryBuilder + sortByBackgroundAppBarIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'backgroundAppBarInt', Sort.desc); + }); + } + + QueryBuilder sortByBackgroundInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'backgroundInt', Sort.asc); + }); + } + + QueryBuilder sortByBackgroundIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'backgroundInt', Sort.desc); + }); + } + + QueryBuilder sortByBottomNavBackInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'bottomNavBackInt', Sort.asc); + }); + } + + QueryBuilder + sortByBottomNavBackIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'bottomNavBackInt', Sort.desc); + }); + } + + QueryBuilder + sortByBottomNavIconBackInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'bottomNavIconBackInt', Sort.asc); + }); + } + + QueryBuilder + sortByBottomNavIconBackIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'bottomNavIconBackInt', Sort.desc); + }); + } + + QueryBuilder + sortByBottomNavIconIconInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'bottomNavIconIconInt', Sort.asc); + }); + } + + QueryBuilder + sortByBottomNavIconIconIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'bottomNavIconIconInt', Sort.desc); + }); + } + + QueryBuilder + sortByBottomNavShadowInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'bottomNavShadowInt', Sort.asc); + }); + } + + QueryBuilder + sortByBottomNavShadowIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'bottomNavShadowInt', Sort.desc); + }); + } + + QueryBuilder sortByBottomNavTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'bottomNavTextInt', Sort.asc); + }); + } + + QueryBuilder + sortByBottomNavTextIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'bottomNavTextInt', Sort.desc); + }); + } + + QueryBuilder sortByBrightnessString() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'brightnessString', Sort.asc); + }); + } + + QueryBuilder + sortByBrightnessStringDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'brightnessString', Sort.desc); + }); + } + + QueryBuilder + sortByButtonBackBorderDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackBorderDisabledInt', Sort.asc); + }); + } + + QueryBuilder + sortByButtonBackBorderDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackBorderDisabledInt', Sort.desc); + }); + } + + QueryBuilder + sortByButtonBackBorderInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackBorderInt', Sort.asc); + }); + } + + QueryBuilder + sortByButtonBackBorderIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackBorderInt', Sort.desc); + }); + } + + QueryBuilder + sortByButtonBackBorderSecondaryDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackBorderSecondaryDisabledInt', Sort.asc); + }); + } + + QueryBuilder + sortByButtonBackBorderSecondaryDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy( + r'buttonBackBorderSecondaryDisabledInt', Sort.desc); + }); + } + + QueryBuilder + sortByButtonBackBorderSecondaryInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackBorderSecondaryInt', Sort.asc); + }); + } + + QueryBuilder + sortByButtonBackBorderSecondaryIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackBorderSecondaryInt', Sort.desc); + }); + } + + QueryBuilder + sortByButtonBackPrimaryDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackPrimaryDisabledInt', Sort.asc); + }); + } + + QueryBuilder + sortByButtonBackPrimaryDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackPrimaryDisabledInt', Sort.desc); + }); + } + + QueryBuilder + sortByButtonBackPrimaryInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackPrimaryInt', Sort.asc); + }); + } + + QueryBuilder + sortByButtonBackPrimaryIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackPrimaryInt', Sort.desc); + }); + } + + QueryBuilder + sortByButtonBackSecondaryDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackSecondaryDisabledInt', Sort.asc); + }); + } + + QueryBuilder + sortByButtonBackSecondaryDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackSecondaryDisabledInt', Sort.desc); + }); + } + + QueryBuilder + sortByButtonBackSecondaryInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackSecondaryInt', Sort.asc); + }); + } + + QueryBuilder + sortByButtonBackSecondaryIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackSecondaryInt', Sort.desc); + }); + } + + QueryBuilder + sortByButtonTextBorderInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextBorderInt', Sort.asc); + }); + } + + QueryBuilder + sortByButtonTextBorderIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextBorderInt', Sort.desc); + }); + } + + QueryBuilder + sortByButtonTextBorderlessDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextBorderlessDisabledInt', Sort.asc); + }); + } + + QueryBuilder + sortByButtonTextBorderlessDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextBorderlessDisabledInt', Sort.desc); + }); + } + + QueryBuilder + sortByButtonTextBorderlessInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextBorderlessInt', Sort.asc); + }); + } + + QueryBuilder + sortByButtonTextBorderlessIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextBorderlessInt', Sort.desc); + }); + } + + QueryBuilder + sortByButtonTextDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextDisabledInt', Sort.asc); + }); + } + + QueryBuilder + sortByButtonTextDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextDisabledInt', Sort.desc); + }); + } + + QueryBuilder + sortByButtonTextPrimaryDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextPrimaryDisabledInt', Sort.asc); + }); + } + + QueryBuilder + sortByButtonTextPrimaryDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextPrimaryDisabledInt', Sort.desc); + }); + } + + QueryBuilder + sortByButtonTextPrimaryInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextPrimaryInt', Sort.asc); + }); + } + + QueryBuilder + sortByButtonTextPrimaryIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextPrimaryInt', Sort.desc); + }); + } + + QueryBuilder + sortByButtonTextSecondaryDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextSecondaryDisabledInt', Sort.asc); + }); + } + + QueryBuilder + sortByButtonTextSecondaryDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextSecondaryDisabledInt', Sort.desc); + }); + } + + QueryBuilder + sortByButtonTextSecondaryInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextSecondaryInt', Sort.asc); + }); + } + + QueryBuilder + sortByButtonTextSecondaryIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextSecondaryInt', Sort.desc); + }); + } + + QueryBuilder + sortByCheckboxBGCheckedInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'checkboxBGCheckedInt', Sort.asc); + }); + } + + QueryBuilder + sortByCheckboxBGCheckedIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'checkboxBGCheckedInt', Sort.desc); + }); + } + + QueryBuilder + sortByCheckboxBGDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'checkboxBGDisabledInt', Sort.asc); + }); + } + + QueryBuilder + sortByCheckboxBGDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'checkboxBGDisabledInt', Sort.desc); + }); + } + + QueryBuilder + sortByCheckboxBorderEmptyInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'checkboxBorderEmptyInt', Sort.asc); + }); + } + + QueryBuilder + sortByCheckboxBorderEmptyIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'checkboxBorderEmptyInt', Sort.desc); + }); + } + + QueryBuilder + sortByCheckboxIconCheckedInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'checkboxIconCheckedInt', Sort.asc); + }); + } + + QueryBuilder + sortByCheckboxIconCheckedIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'checkboxIconCheckedInt', Sort.desc); + }); + } + + QueryBuilder + sortByCheckboxIconDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'checkboxIconDisabledInt', Sort.asc); + }); + } + + QueryBuilder + sortByCheckboxIconDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'checkboxIconDisabledInt', Sort.desc); + }); + } + + QueryBuilder + sortByCheckboxTextLabelInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'checkboxTextLabelInt', Sort.asc); + }); + } + + QueryBuilder + sortByCheckboxTextLabelIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'checkboxTextLabelInt', Sort.desc); + }); + } + + QueryBuilder + sortByCoinColorsJsonString() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'coinColorsJsonString', Sort.asc); + }); + } + + QueryBuilder + sortByCoinColorsJsonStringDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'coinColorsJsonString', Sort.desc); + }); + } + + QueryBuilder + sortByCurrencyListItemBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'currencyListItemBGInt', Sort.asc); + }); + } + + QueryBuilder + sortByCurrencyListItemBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'currencyListItemBGInt', Sort.desc); + }); + } + + QueryBuilder + sortByCustomTextButtonDisabledTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'customTextButtonDisabledTextInt', Sort.asc); + }); + } + + QueryBuilder + sortByCustomTextButtonDisabledTextIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'customTextButtonDisabledTextInt', Sort.desc); + }); + } + + QueryBuilder + sortByCustomTextButtonEnabledTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'customTextButtonEnabledTextInt', Sort.asc); + }); + } + + QueryBuilder + sortByCustomTextButtonEnabledTextIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'customTextButtonEnabledTextInt', Sort.desc); + }); + } + + QueryBuilder sortByEthTagBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'ethTagBGInt', Sort.asc); + }); + } + + QueryBuilder sortByEthTagBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'ethTagBGInt', Sort.desc); + }); + } + + QueryBuilder sortByEthTagTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'ethTagTextInt', Sort.asc); + }); + } + + QueryBuilder sortByEthTagTextIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'ethTagTextInt', Sort.desc); + }); + } + + QueryBuilder sortByEthWalletTagBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'ethWalletTagBGInt', Sort.asc); + }); + } + + QueryBuilder + sortByEthWalletTagBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'ethWalletTagBGInt', Sort.desc); + }); + } + + QueryBuilder + sortByEthWalletTagTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'ethWalletTagTextInt', Sort.asc); + }); + } + + QueryBuilder + sortByEthWalletTagTextIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'ethWalletTagTextInt', Sort.desc); + }); + } + + QueryBuilder + sortByFavoriteStarActiveInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'favoriteStarActiveInt', Sort.asc); + }); + } + + QueryBuilder + sortByFavoriteStarActiveIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'favoriteStarActiveInt', Sort.desc); + }); + } + + QueryBuilder + sortByFavoriteStarInactiveInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'favoriteStarInactiveInt', Sort.asc); + }); + } + + QueryBuilder + sortByFavoriteStarInactiveIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'favoriteStarInactiveInt', Sort.desc); + }); + } + + QueryBuilder + sortByGradientBackgroundString() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'gradientBackgroundString', Sort.asc); + }); + } + + QueryBuilder + sortByGradientBackgroundStringDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'gradientBackgroundString', Sort.desc); + }); + } + + QueryBuilder sortByHighlightInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'highlightInt', Sort.asc); + }); + } + + QueryBuilder sortByHighlightIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'highlightInt', Sort.desc); + }); + } + + QueryBuilder + sortByHomeViewButtonBarBoxShadowString() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'homeViewButtonBarBoxShadowString', Sort.asc); + }); + } + + QueryBuilder + sortByHomeViewButtonBarBoxShadowStringDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'homeViewButtonBarBoxShadowString', Sort.desc); + }); + } + + QueryBuilder sortByInfoItemBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'infoItemBGInt', Sort.asc); + }); + } + + QueryBuilder sortByInfoItemBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'infoItemBGInt', Sort.desc); + }); + } + + QueryBuilder sortByInfoItemIconsInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'infoItemIconsInt', Sort.asc); + }); + } + + QueryBuilder + sortByInfoItemIconsIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'infoItemIconsInt', Sort.desc); + }); + } + + QueryBuilder sortByInfoItemLabelInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'infoItemLabelInt', Sort.asc); + }); + } + + QueryBuilder + sortByInfoItemLabelIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'infoItemLabelInt', Sort.desc); + }); + } + + QueryBuilder sortByInfoItemTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'infoItemTextInt', Sort.asc); + }); + } + + QueryBuilder + sortByInfoItemTextIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'infoItemTextInt', Sort.desc); + }); + } + + QueryBuilder + sortByLoadingOverlayTextColorInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'loadingOverlayTextColorInt', Sort.asc); + }); + } + + QueryBuilder + sortByLoadingOverlayTextColorIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'loadingOverlayTextColorInt', Sort.desc); + }); + } + + QueryBuilder + sortByMyStackContactIconBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'myStackContactIconBGInt', Sort.asc); + }); + } + + QueryBuilder + sortByMyStackContactIconBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'myStackContactIconBGInt', Sort.desc); + }); + } + + QueryBuilder sortByName() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'name', Sort.asc); + }); + } + + QueryBuilder sortByNameDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'name', Sort.desc); + }); + } + + QueryBuilder + sortByNumberBackDefaultInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'numberBackDefaultInt', Sort.asc); + }); + } + + QueryBuilder + sortByNumberBackDefaultIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'numberBackDefaultInt', Sort.desc); + }); + } + + QueryBuilder + sortByNumberTextDefaultInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'numberTextDefaultInt', Sort.asc); + }); + } + + QueryBuilder + sortByNumberTextDefaultIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'numberTextDefaultInt', Sort.desc); + }); + } + + QueryBuilder + sortByNumpadBackDefaultInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'numpadBackDefaultInt', Sort.asc); + }); + } + + QueryBuilder + sortByNumpadBackDefaultIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'numpadBackDefaultInt', Sort.desc); + }); + } + + QueryBuilder + sortByNumpadTextDefaultInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'numpadTextDefaultInt', Sort.asc); + }); + } + + QueryBuilder + sortByNumpadTextDefaultIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'numpadTextDefaultInt', Sort.desc); + }); + } + + QueryBuilder sortByOverlayInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'overlayInt', Sort.asc); + }); + } + + QueryBuilder sortByOverlayIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'overlayInt', Sort.desc); + }); + } + + QueryBuilder sortByPopupBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'popupBGInt', Sort.asc); + }); + } + + QueryBuilder sortByPopupBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'popupBGInt', Sort.desc); + }); + } + + QueryBuilder + sortByRadioButtonBorderDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonBorderDisabledInt', Sort.asc); + }); + } + + QueryBuilder + sortByRadioButtonBorderDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonBorderDisabledInt', Sort.desc); + }); + } + + QueryBuilder + sortByRadioButtonBorderEnabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonBorderEnabledInt', Sort.asc); + }); + } + + QueryBuilder + sortByRadioButtonBorderEnabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonBorderEnabledInt', Sort.desc); + }); + } + + QueryBuilder + sortByRadioButtonIconBorderDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonIconBorderDisabledInt', Sort.asc); + }); + } + + QueryBuilder + sortByRadioButtonIconBorderDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonIconBorderDisabledInt', Sort.desc); + }); + } + + QueryBuilder + sortByRadioButtonIconBorderInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonIconBorderInt', Sort.asc); + }); + } + + QueryBuilder + sortByRadioButtonIconBorderIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonIconBorderInt', Sort.desc); + }); + } + + QueryBuilder + sortByRadioButtonIconCircleInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonIconCircleInt', Sort.asc); + }); + } + + QueryBuilder + sortByRadioButtonIconCircleIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonIconCircleInt', Sort.desc); + }); + } + + QueryBuilder + sortByRadioButtonIconEnabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonIconEnabledInt', Sort.asc); + }); + } + + QueryBuilder + sortByRadioButtonIconEnabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonIconEnabledInt', Sort.desc); + }); + } + + QueryBuilder + sortByRadioButtonLabelDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonLabelDisabledInt', Sort.asc); + }); + } + + QueryBuilder + sortByRadioButtonLabelDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonLabelDisabledInt', Sort.desc); + }); + } + + QueryBuilder + sortByRadioButtonLabelEnabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonLabelEnabledInt', Sort.asc); + }); + } + + QueryBuilder + sortByRadioButtonLabelEnabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonLabelEnabledInt', Sort.desc); + }); + } + + QueryBuilder + sortByRadioButtonTextDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonTextDisabledInt', Sort.asc); + }); + } + + QueryBuilder + sortByRadioButtonTextDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonTextDisabledInt', Sort.desc); + }); + } + + QueryBuilder + sortByRadioButtonTextEnabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonTextEnabledInt', Sort.asc); + }); + } + + QueryBuilder + sortByRadioButtonTextEnabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonTextEnabledInt', Sort.desc); + }); + } + + QueryBuilder + sortByRateTypeToggleColorOffInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'rateTypeToggleColorOffInt', Sort.asc); + }); + } + + QueryBuilder + sortByRateTypeToggleColorOffIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'rateTypeToggleColorOffInt', Sort.desc); + }); + } + + QueryBuilder + sortByRateTypeToggleColorOnInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'rateTypeToggleColorOnInt', Sort.asc); + }); + } + + QueryBuilder + sortByRateTypeToggleColorOnIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'rateTypeToggleColorOnInt', Sort.desc); + }); + } + + QueryBuilder + sortByRateTypeToggleDesktopColorOffInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'rateTypeToggleDesktopColorOffInt', Sort.asc); + }); + } + + QueryBuilder + sortByRateTypeToggleDesktopColorOffIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'rateTypeToggleDesktopColorOffInt', Sort.desc); + }); + } + + QueryBuilder + sortByRateTypeToggleDesktopColorOnInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'rateTypeToggleDesktopColorOnInt', Sort.asc); + }); + } + + QueryBuilder + sortByRateTypeToggleDesktopColorOnIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'rateTypeToggleDesktopColorOnInt', Sort.desc); + }); + } + + QueryBuilder + sortBySettingsIconBack2Int() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsIconBack2Int', Sort.asc); + }); + } + + QueryBuilder + sortBySettingsIconBack2IntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsIconBack2Int', Sort.desc); + }); + } + + QueryBuilder + sortBySettingsIconBackInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsIconBackInt', Sort.asc); + }); + } + + QueryBuilder + sortBySettingsIconBackIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsIconBackInt', Sort.desc); + }); + } + + QueryBuilder + sortBySettingsIconElementInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsIconElementInt', Sort.asc); + }); + } + + QueryBuilder + sortBySettingsIconElementIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsIconElementInt', Sort.desc); + }); + } + + QueryBuilder + sortBySettingsIconIconInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsIconIconInt', Sort.asc); + }); + } + + QueryBuilder + sortBySettingsIconIconIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsIconIconInt', Sort.desc); + }); + } + + QueryBuilder + sortBySettingsItem2ActiveBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsItem2ActiveBGInt', Sort.asc); + }); + } + + QueryBuilder + sortBySettingsItem2ActiveBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsItem2ActiveBGInt', Sort.desc); + }); + } + + QueryBuilder + sortBySettingsItem2ActiveSubInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsItem2ActiveSubInt', Sort.asc); + }); + } + + QueryBuilder + sortBySettingsItem2ActiveSubIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsItem2ActiveSubInt', Sort.desc); + }); + } + + QueryBuilder + sortBySettingsItem2ActiveTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsItem2ActiveTextInt', Sort.asc); + }); + } + + QueryBuilder + sortBySettingsItem2ActiveTextIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsItem2ActiveTextInt', Sort.desc); + }); + } + + QueryBuilder sortByShadowInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'shadowInt', Sort.asc); + }); + } + + QueryBuilder sortByShadowIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'shadowInt', Sort.desc); + }); + } + + QueryBuilder + sortBySnackBarBackErrorInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'snackBarBackErrorInt', Sort.asc); + }); + } + + QueryBuilder + sortBySnackBarBackErrorIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'snackBarBackErrorInt', Sort.desc); + }); + } + + QueryBuilder + sortBySnackBarBackInfoInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'snackBarBackInfoInt', Sort.asc); + }); + } + + QueryBuilder + sortBySnackBarBackInfoIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'snackBarBackInfoInt', Sort.desc); + }); + } + + QueryBuilder + sortBySnackBarBackSuccessInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'snackBarBackSuccessInt', Sort.asc); + }); + } + + QueryBuilder + sortBySnackBarBackSuccessIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'snackBarBackSuccessInt', Sort.desc); + }); + } + + QueryBuilder + sortBySnackBarTextErrorInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'snackBarTextErrorInt', Sort.asc); + }); + } + + QueryBuilder + sortBySnackBarTextErrorIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'snackBarTextErrorInt', Sort.desc); + }); + } + + QueryBuilder + sortBySnackBarTextInfoInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'snackBarTextInfoInt', Sort.asc); + }); + } + + QueryBuilder + sortBySnackBarTextInfoIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'snackBarTextInfoInt', Sort.desc); + }); + } + + QueryBuilder + sortBySnackBarTextSuccessInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'snackBarTextSuccessInt', Sort.asc); + }); + } + + QueryBuilder + sortBySnackBarTextSuccessIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'snackBarTextSuccessInt', Sort.desc); + }); + } + + QueryBuilder sortBySplashInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'splashInt', Sort.asc); + }); + } + + QueryBuilder sortBySplashIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'splashInt', Sort.desc); + }); + } + + QueryBuilder sortByStackWalletBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stackWalletBGInt', Sort.asc); + }); + } + + QueryBuilder + sortByStackWalletBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stackWalletBGInt', Sort.desc); + }); + } + + QueryBuilder + sortByStackWalletBottomInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stackWalletBottomInt', Sort.asc); + }); + } + + QueryBuilder + sortByStackWalletBottomIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stackWalletBottomInt', Sort.desc); + }); + } + + QueryBuilder sortByStackWalletMidInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stackWalletMidInt', Sort.asc); + }); + } + + QueryBuilder + sortByStackWalletMidIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stackWalletMidInt', Sort.desc); + }); + } + + QueryBuilder + sortByStandardBoxShadowString() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'standardBoxShadowString', Sort.asc); + }); + } + + QueryBuilder + sortByStandardBoxShadowStringDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'standardBoxShadowString', Sort.desc); + }); + } + + QueryBuilder + sortByStepIndicatorBGCheckInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorBGCheckInt', Sort.asc); + }); + } + + QueryBuilder + sortByStepIndicatorBGCheckIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorBGCheckInt', Sort.desc); + }); + } + + QueryBuilder + sortByStepIndicatorBGInactiveInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorBGInactiveInt', Sort.asc); + }); + } + + QueryBuilder + sortByStepIndicatorBGInactiveIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorBGInactiveInt', Sort.desc); + }); + } + + QueryBuilder + sortByStepIndicatorBGLinesInactiveInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorBGLinesInactiveInt', Sort.asc); + }); + } + + QueryBuilder + sortByStepIndicatorBGLinesInactiveIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorBGLinesInactiveInt', Sort.desc); + }); + } + + QueryBuilder + sortByStepIndicatorBGLinesInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorBGLinesInt', Sort.asc); + }); + } + + QueryBuilder + sortByStepIndicatorBGLinesIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorBGLinesInt', Sort.desc); + }); + } + + QueryBuilder + sortByStepIndicatorBGNumberInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorBGNumberInt', Sort.asc); + }); + } + + QueryBuilder + sortByStepIndicatorBGNumberIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorBGNumberInt', Sort.desc); + }); + } + + QueryBuilder + sortByStepIndicatorIconInactiveInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorIconInactiveInt', Sort.asc); + }); + } + + QueryBuilder + sortByStepIndicatorIconInactiveIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorIconInactiveInt', Sort.desc); + }); + } + + QueryBuilder + sortByStepIndicatorIconNumberInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorIconNumberInt', Sort.asc); + }); + } + + QueryBuilder + sortByStepIndicatorIconNumberIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorIconNumberInt', Sort.desc); + }); + } + + QueryBuilder + sortByStepIndicatorIconTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorIconTextInt', Sort.asc); + }); + } + + QueryBuilder + sortByStepIndicatorIconTextIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorIconTextInt', Sort.desc); + }); + } + + QueryBuilder + sortBySwitchBGDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'switchBGDisabledInt', Sort.asc); + }); + } + + QueryBuilder + sortBySwitchBGDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'switchBGDisabledInt', Sort.desc); + }); + } + + QueryBuilder sortBySwitchBGOffInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'switchBGOffInt', Sort.asc); + }); + } + + QueryBuilder + sortBySwitchBGOffIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'switchBGOffInt', Sort.desc); + }); + } + + QueryBuilder sortBySwitchBGOnInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'switchBGOnInt', Sort.asc); + }); + } + + QueryBuilder sortBySwitchBGOnIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'switchBGOnInt', Sort.desc); + }); + } + + QueryBuilder + sortBySwitchCircleDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'switchCircleDisabledInt', Sort.asc); + }); + } + + QueryBuilder + sortBySwitchCircleDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'switchCircleDisabledInt', Sort.desc); + }); + } + + QueryBuilder + sortBySwitchCircleOffInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'switchCircleOffInt', Sort.asc); + }); + } + + QueryBuilder + sortBySwitchCircleOffIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'switchCircleOffInt', Sort.desc); + }); + } + + QueryBuilder sortBySwitchCircleOnInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'switchCircleOnInt', Sort.asc); + }); + } + + QueryBuilder + sortBySwitchCircleOnIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'switchCircleOnInt', Sort.desc); + }); + } + + QueryBuilder + sortByTextConfirmTotalAmountInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textConfirmTotalAmountInt', Sort.asc); + }); + } + + QueryBuilder + sortByTextConfirmTotalAmountIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textConfirmTotalAmountInt', Sort.desc); + }); + } + + QueryBuilder sortByTextDark2Int() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textDark2Int', Sort.asc); + }); + } + + QueryBuilder sortByTextDark2IntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textDark2Int', Sort.desc); + }); + } + + QueryBuilder sortByTextDark3Int() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textDark3Int', Sort.asc); + }); + } + + QueryBuilder sortByTextDark3IntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textDark3Int', Sort.desc); + }); + } + + QueryBuilder sortByTextDarkInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textDarkInt', Sort.asc); + }); + } + + QueryBuilder sortByTextDarkIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textDarkInt', Sort.desc); + }); + } + + QueryBuilder sortByTextErrorInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textErrorInt', Sort.asc); + }); + } + + QueryBuilder sortByTextErrorIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textErrorInt', Sort.desc); + }); + } + + QueryBuilder + sortByTextFavoriteCardInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFavoriteCardInt', Sort.asc); + }); + } + + QueryBuilder + sortByTextFavoriteCardIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFavoriteCardInt', Sort.desc); + }); + } + + QueryBuilder + sortByTextFieldActiveBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldActiveBGInt', Sort.asc); + }); + } + + QueryBuilder + sortByTextFieldActiveBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldActiveBGInt', Sort.desc); + }); + } + + QueryBuilder + sortByTextFieldActiveLabelInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldActiveLabelInt', Sort.asc); + }); + } + + QueryBuilder + sortByTextFieldActiveLabelIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldActiveLabelInt', Sort.desc); + }); + } + + QueryBuilder + sortByTextFieldActiveSearchIconLeftInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldActiveSearchIconLeftInt', Sort.asc); + }); + } + + QueryBuilder + sortByTextFieldActiveSearchIconLeftIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldActiveSearchIconLeftInt', Sort.desc); + }); + } + + QueryBuilder + sortByTextFieldActiveSearchIconRightInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldActiveSearchIconRightInt', Sort.asc); + }); + } + + QueryBuilder + sortByTextFieldActiveSearchIconRightIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldActiveSearchIconRightInt', Sort.desc); + }); + } + + QueryBuilder + sortByTextFieldActiveTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldActiveTextInt', Sort.asc); + }); + } + + QueryBuilder + sortByTextFieldActiveTextIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldActiveTextInt', Sort.desc); + }); + } + + QueryBuilder + sortByTextFieldDefaultBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldDefaultBGInt', Sort.asc); + }); + } + + QueryBuilder + sortByTextFieldDefaultBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldDefaultBGInt', Sort.desc); + }); + } + + QueryBuilder + sortByTextFieldDefaultSearchIconLeftInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldDefaultSearchIconLeftInt', Sort.asc); + }); + } + + QueryBuilder + sortByTextFieldDefaultSearchIconLeftIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldDefaultSearchIconLeftInt', Sort.desc); + }); + } + + QueryBuilder + sortByTextFieldDefaultSearchIconRightInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldDefaultSearchIconRightInt', Sort.asc); + }); + } + + QueryBuilder + sortByTextFieldDefaultSearchIconRightIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldDefaultSearchIconRightInt', Sort.desc); + }); + } + + QueryBuilder + sortByTextFieldDefaultTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldDefaultTextInt', Sort.asc); + }); + } + + QueryBuilder + sortByTextFieldDefaultTextIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldDefaultTextInt', Sort.desc); + }); + } + + QueryBuilder + sortByTextFieldErrorBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldErrorBGInt', Sort.asc); + }); + } + + QueryBuilder + sortByTextFieldErrorBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldErrorBGInt', Sort.desc); + }); + } + + QueryBuilder + sortByTextFieldErrorBorderInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldErrorBorderInt', Sort.asc); + }); + } + + QueryBuilder + sortByTextFieldErrorBorderIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldErrorBorderInt', Sort.desc); + }); + } + + QueryBuilder + sortByTextFieldErrorLabelInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldErrorLabelInt', Sort.asc); + }); + } + + QueryBuilder + sortByTextFieldErrorLabelIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldErrorLabelInt', Sort.desc); + }); + } + + QueryBuilder + sortByTextFieldErrorSearchIconLeftInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldErrorSearchIconLeftInt', Sort.asc); + }); + } + + QueryBuilder + sortByTextFieldErrorSearchIconLeftIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldErrorSearchIconLeftInt', Sort.desc); + }); + } + + QueryBuilder + sortByTextFieldErrorSearchIconRightInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldErrorSearchIconRightInt', Sort.asc); + }); + } + + QueryBuilder + sortByTextFieldErrorSearchIconRightIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldErrorSearchIconRightInt', Sort.desc); + }); + } + + QueryBuilder + sortByTextFieldErrorTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldErrorTextInt', Sort.asc); + }); + } + + QueryBuilder + sortByTextFieldErrorTextIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldErrorTextInt', Sort.desc); + }); + } + + QueryBuilder + sortByTextFieldSuccessBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldSuccessBGInt', Sort.asc); + }); + } + + QueryBuilder + sortByTextFieldSuccessBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldSuccessBGInt', Sort.desc); + }); + } + + QueryBuilder + sortByTextFieldSuccessBorderInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldSuccessBorderInt', Sort.asc); + }); + } + + QueryBuilder + sortByTextFieldSuccessBorderIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldSuccessBorderInt', Sort.desc); + }); + } + + QueryBuilder + sortByTextFieldSuccessLabelInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldSuccessLabelInt', Sort.asc); + }); + } + + QueryBuilder + sortByTextFieldSuccessLabelIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldSuccessLabelInt', Sort.desc); + }); + } + + QueryBuilder + sortByTextFieldSuccessSearchIconLeftInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldSuccessSearchIconLeftInt', Sort.asc); + }); + } + + QueryBuilder + sortByTextFieldSuccessSearchIconLeftIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldSuccessSearchIconLeftInt', Sort.desc); + }); + } + + QueryBuilder + sortByTextFieldSuccessSearchIconRightInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldSuccessSearchIconRightInt', Sort.asc); + }); + } + + QueryBuilder + sortByTextFieldSuccessSearchIconRightIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldSuccessSearchIconRightInt', Sort.desc); + }); + } + + QueryBuilder + sortByTextFieldSuccessTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldSuccessTextInt', Sort.asc); + }); + } + + QueryBuilder + sortByTextFieldSuccessTextIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldSuccessTextInt', Sort.desc); + }); + } + + QueryBuilder sortByTextRestoreInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textRestoreInt', Sort.asc); + }); + } + + QueryBuilder + sortByTextRestoreIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textRestoreInt', Sort.desc); + }); + } + + QueryBuilder + sortByTextSelectedWordTableItemInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSelectedWordTableItemInt', Sort.asc); + }); + } + + QueryBuilder + sortByTextSelectedWordTableItemIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSelectedWordTableItemInt', Sort.desc); + }); + } + + QueryBuilder sortByTextSubtitle1Int() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSubtitle1Int', Sort.asc); + }); + } + + QueryBuilder + sortByTextSubtitle1IntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSubtitle1Int', Sort.desc); + }); + } + + QueryBuilder sortByTextSubtitle2Int() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSubtitle2Int', Sort.asc); + }); + } + + QueryBuilder + sortByTextSubtitle2IntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSubtitle2Int', Sort.desc); + }); + } + + QueryBuilder sortByTextSubtitle3Int() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSubtitle3Int', Sort.asc); + }); + } + + QueryBuilder + sortByTextSubtitle3IntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSubtitle3Int', Sort.desc); + }); + } + + QueryBuilder sortByTextSubtitle4Int() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSubtitle4Int', Sort.asc); + }); + } + + QueryBuilder + sortByTextSubtitle4IntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSubtitle4Int', Sort.desc); + }); + } + + QueryBuilder sortByTextSubtitle5Int() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSubtitle5Int', Sort.asc); + }); + } + + QueryBuilder + sortByTextSubtitle5IntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSubtitle5Int', Sort.desc); + }); + } + + QueryBuilder sortByTextSubtitle6Int() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSubtitle6Int', Sort.asc); + }); + } + + QueryBuilder + sortByTextSubtitle6IntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSubtitle6Int', Sort.desc); + }); + } + + QueryBuilder sortByTextWhiteInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textWhiteInt', Sort.asc); + }); + } + + QueryBuilder sortByTextWhiteIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textWhiteInt', Sort.desc); + }); + } + + QueryBuilder sortByThemeId() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'themeId', Sort.asc); + }); + } + + QueryBuilder sortByThemeIdDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'themeId', Sort.desc); + }); + } + + QueryBuilder sortByTokenSummaryBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'tokenSummaryBGInt', Sort.asc); + }); + } + + QueryBuilder + sortByTokenSummaryBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'tokenSummaryBGInt', Sort.desc); + }); + } + + QueryBuilder + sortByTokenSummaryButtonBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'tokenSummaryButtonBGInt', Sort.asc); + }); + } + + QueryBuilder + sortByTokenSummaryButtonBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'tokenSummaryButtonBGInt', Sort.desc); + }); + } + + QueryBuilder + sortByTokenSummaryIconInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'tokenSummaryIconInt', Sort.asc); + }); + } + + QueryBuilder + sortByTokenSummaryIconIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'tokenSummaryIconInt', Sort.desc); + }); + } + + QueryBuilder + sortByTokenSummaryTextPrimaryInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'tokenSummaryTextPrimaryInt', Sort.asc); + }); + } + + QueryBuilder + sortByTokenSummaryTextPrimaryIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'tokenSummaryTextPrimaryInt', Sort.desc); + }); + } + + QueryBuilder + sortByTokenSummaryTextSecondaryInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'tokenSummaryTextSecondaryInt', Sort.asc); + }); + } + + QueryBuilder + sortByTokenSummaryTextSecondaryIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'tokenSummaryTextSecondaryInt', Sort.desc); + }); + } + + QueryBuilder + sortByTopNavIconGreenInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'topNavIconGreenInt', Sort.asc); + }); + } + + QueryBuilder + sortByTopNavIconGreenIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'topNavIconGreenInt', Sort.desc); + }); + } + + QueryBuilder + sortByTopNavIconPrimaryInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'topNavIconPrimaryInt', Sort.asc); + }); + } + + QueryBuilder + sortByTopNavIconPrimaryIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'topNavIconPrimaryInt', Sort.desc); + }); + } + + QueryBuilder sortByTopNavIconRedInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'topNavIconRedInt', Sort.asc); + }); + } + + QueryBuilder + sortByTopNavIconRedIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'topNavIconRedInt', Sort.desc); + }); + } + + QueryBuilder + sortByTopNavIconYellowInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'topNavIconYellowInt', Sort.asc); + }); + } + + QueryBuilder + sortByTopNavIconYellowIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'topNavIconYellowInt', Sort.desc); + }); + } + + QueryBuilder + sortByWarningBackgroundInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'warningBackgroundInt', Sort.asc); + }); + } + + QueryBuilder + sortByWarningBackgroundIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'warningBackgroundInt', Sort.desc); + }); + } + + QueryBuilder + sortByWarningForegroundInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'warningForegroundInt', Sort.asc); + }); + } + + QueryBuilder + sortByWarningForegroundIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'warningForegroundInt', Sort.desc); + }); + } +} + +extension StackThemeQuerySortThenBy + on QueryBuilder { + QueryBuilder + thenByAccentColorBlueInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'accentColorBlueInt', Sort.asc); + }); + } + + QueryBuilder + thenByAccentColorBlueIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'accentColorBlueInt', Sort.desc); + }); + } + + QueryBuilder + thenByAccentColorDarkInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'accentColorDarkInt', Sort.asc); + }); + } + + QueryBuilder + thenByAccentColorDarkIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'accentColorDarkInt', Sort.desc); + }); + } + + QueryBuilder + thenByAccentColorGreenInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'accentColorGreenInt', Sort.asc); + }); + } + + QueryBuilder + thenByAccentColorGreenIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'accentColorGreenInt', Sort.desc); + }); + } + + QueryBuilder + thenByAccentColorOrangeInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'accentColorOrangeInt', Sort.asc); + }); + } + + QueryBuilder + thenByAccentColorOrangeIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'accentColorOrangeInt', Sort.desc); + }); + } + + QueryBuilder thenByAccentColorRedInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'accentColorRedInt', Sort.asc); + }); + } + + QueryBuilder + thenByAccentColorRedIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'accentColorRedInt', Sort.desc); + }); + } + + QueryBuilder + thenByAccentColorYellowInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'accentColorYellowInt', Sort.asc); + }); + } + + QueryBuilder + thenByAccentColorYellowIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'accentColorYellowInt', Sort.desc); + }); + } + + QueryBuilder + thenByBackgroundAppBarInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'backgroundAppBarInt', Sort.asc); + }); + } + + QueryBuilder + thenByBackgroundAppBarIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'backgroundAppBarInt', Sort.desc); + }); + } + + QueryBuilder thenByBackgroundInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'backgroundInt', Sort.asc); + }); + } + + QueryBuilder thenByBackgroundIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'backgroundInt', Sort.desc); + }); + } + + QueryBuilder thenByBottomNavBackInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'bottomNavBackInt', Sort.asc); + }); + } + + QueryBuilder + thenByBottomNavBackIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'bottomNavBackInt', Sort.desc); + }); + } + + QueryBuilder + thenByBottomNavIconBackInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'bottomNavIconBackInt', Sort.asc); + }); + } + + QueryBuilder + thenByBottomNavIconBackIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'bottomNavIconBackInt', Sort.desc); + }); + } + + QueryBuilder + thenByBottomNavIconIconInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'bottomNavIconIconInt', Sort.asc); + }); + } + + QueryBuilder + thenByBottomNavIconIconIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'bottomNavIconIconInt', Sort.desc); + }); + } + + QueryBuilder + thenByBottomNavShadowInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'bottomNavShadowInt', Sort.asc); + }); + } + + QueryBuilder + thenByBottomNavShadowIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'bottomNavShadowInt', Sort.desc); + }); + } + + QueryBuilder thenByBottomNavTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'bottomNavTextInt', Sort.asc); + }); + } + + QueryBuilder + thenByBottomNavTextIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'bottomNavTextInt', Sort.desc); + }); + } + + QueryBuilder thenByBrightnessString() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'brightnessString', Sort.asc); + }); + } + + QueryBuilder + thenByBrightnessStringDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'brightnessString', Sort.desc); + }); + } + + QueryBuilder + thenByButtonBackBorderDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackBorderDisabledInt', Sort.asc); + }); + } + + QueryBuilder + thenByButtonBackBorderDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackBorderDisabledInt', Sort.desc); + }); + } + + QueryBuilder + thenByButtonBackBorderInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackBorderInt', Sort.asc); + }); + } + + QueryBuilder + thenByButtonBackBorderIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackBorderInt', Sort.desc); + }); + } + + QueryBuilder + thenByButtonBackBorderSecondaryDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackBorderSecondaryDisabledInt', Sort.asc); + }); + } + + QueryBuilder + thenByButtonBackBorderSecondaryDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy( + r'buttonBackBorderSecondaryDisabledInt', Sort.desc); + }); + } + + QueryBuilder + thenByButtonBackBorderSecondaryInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackBorderSecondaryInt', Sort.asc); + }); + } + + QueryBuilder + thenByButtonBackBorderSecondaryIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackBorderSecondaryInt', Sort.desc); + }); + } + + QueryBuilder + thenByButtonBackPrimaryDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackPrimaryDisabledInt', Sort.asc); + }); + } + + QueryBuilder + thenByButtonBackPrimaryDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackPrimaryDisabledInt', Sort.desc); + }); + } + + QueryBuilder + thenByButtonBackPrimaryInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackPrimaryInt', Sort.asc); + }); + } + + QueryBuilder + thenByButtonBackPrimaryIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackPrimaryInt', Sort.desc); + }); + } + + QueryBuilder + thenByButtonBackSecondaryDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackSecondaryDisabledInt', Sort.asc); + }); + } + + QueryBuilder + thenByButtonBackSecondaryDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackSecondaryDisabledInt', Sort.desc); + }); + } + + QueryBuilder + thenByButtonBackSecondaryInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackSecondaryInt', Sort.asc); + }); + } + + QueryBuilder + thenByButtonBackSecondaryIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonBackSecondaryInt', Sort.desc); + }); + } + + QueryBuilder + thenByButtonTextBorderInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextBorderInt', Sort.asc); + }); + } + + QueryBuilder + thenByButtonTextBorderIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextBorderInt', Sort.desc); + }); + } + + QueryBuilder + thenByButtonTextBorderlessDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextBorderlessDisabledInt', Sort.asc); + }); + } + + QueryBuilder + thenByButtonTextBorderlessDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextBorderlessDisabledInt', Sort.desc); + }); + } + + QueryBuilder + thenByButtonTextBorderlessInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextBorderlessInt', Sort.asc); + }); + } + + QueryBuilder + thenByButtonTextBorderlessIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextBorderlessInt', Sort.desc); + }); + } + + QueryBuilder + thenByButtonTextDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextDisabledInt', Sort.asc); + }); + } + + QueryBuilder + thenByButtonTextDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextDisabledInt', Sort.desc); + }); + } + + QueryBuilder + thenByButtonTextPrimaryDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextPrimaryDisabledInt', Sort.asc); + }); + } + + QueryBuilder + thenByButtonTextPrimaryDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextPrimaryDisabledInt', Sort.desc); + }); + } + + QueryBuilder + thenByButtonTextPrimaryInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextPrimaryInt', Sort.asc); + }); + } + + QueryBuilder + thenByButtonTextPrimaryIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextPrimaryInt', Sort.desc); + }); + } + + QueryBuilder + thenByButtonTextSecondaryDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextSecondaryDisabledInt', Sort.asc); + }); + } + + QueryBuilder + thenByButtonTextSecondaryDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextSecondaryDisabledInt', Sort.desc); + }); + } + + QueryBuilder + thenByButtonTextSecondaryInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextSecondaryInt', Sort.asc); + }); + } + + QueryBuilder + thenByButtonTextSecondaryIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'buttonTextSecondaryInt', Sort.desc); + }); + } + + QueryBuilder + thenByCheckboxBGCheckedInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'checkboxBGCheckedInt', Sort.asc); + }); + } + + QueryBuilder + thenByCheckboxBGCheckedIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'checkboxBGCheckedInt', Sort.desc); + }); + } + + QueryBuilder + thenByCheckboxBGDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'checkboxBGDisabledInt', Sort.asc); + }); + } + + QueryBuilder + thenByCheckboxBGDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'checkboxBGDisabledInt', Sort.desc); + }); + } + + QueryBuilder + thenByCheckboxBorderEmptyInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'checkboxBorderEmptyInt', Sort.asc); + }); + } + + QueryBuilder + thenByCheckboxBorderEmptyIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'checkboxBorderEmptyInt', Sort.desc); + }); + } + + QueryBuilder + thenByCheckboxIconCheckedInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'checkboxIconCheckedInt', Sort.asc); + }); + } + + QueryBuilder + thenByCheckboxIconCheckedIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'checkboxIconCheckedInt', Sort.desc); + }); + } + + QueryBuilder + thenByCheckboxIconDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'checkboxIconDisabledInt', Sort.asc); + }); + } + + QueryBuilder + thenByCheckboxIconDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'checkboxIconDisabledInt', Sort.desc); + }); + } + + QueryBuilder + thenByCheckboxTextLabelInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'checkboxTextLabelInt', Sort.asc); + }); + } + + QueryBuilder + thenByCheckboxTextLabelIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'checkboxTextLabelInt', Sort.desc); + }); + } + + QueryBuilder + thenByCoinColorsJsonString() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'coinColorsJsonString', Sort.asc); + }); + } + + QueryBuilder + thenByCoinColorsJsonStringDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'coinColorsJsonString', Sort.desc); + }); + } + + QueryBuilder + thenByCurrencyListItemBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'currencyListItemBGInt', Sort.asc); + }); + } + + QueryBuilder + thenByCurrencyListItemBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'currencyListItemBGInt', Sort.desc); + }); + } + + QueryBuilder + thenByCustomTextButtonDisabledTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'customTextButtonDisabledTextInt', Sort.asc); + }); + } + + QueryBuilder + thenByCustomTextButtonDisabledTextIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'customTextButtonDisabledTextInt', Sort.desc); + }); + } + + QueryBuilder + thenByCustomTextButtonEnabledTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'customTextButtonEnabledTextInt', Sort.asc); + }); + } + + QueryBuilder + thenByCustomTextButtonEnabledTextIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'customTextButtonEnabledTextInt', Sort.desc); + }); + } + + QueryBuilder thenByEthTagBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'ethTagBGInt', Sort.asc); + }); + } + + QueryBuilder thenByEthTagBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'ethTagBGInt', Sort.desc); + }); + } + + QueryBuilder thenByEthTagTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'ethTagTextInt', Sort.asc); + }); + } + + QueryBuilder thenByEthTagTextIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'ethTagTextInt', Sort.desc); + }); + } + + QueryBuilder thenByEthWalletTagBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'ethWalletTagBGInt', Sort.asc); + }); + } + + QueryBuilder + thenByEthWalletTagBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'ethWalletTagBGInt', Sort.desc); + }); + } + + QueryBuilder + thenByEthWalletTagTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'ethWalletTagTextInt', Sort.asc); + }); + } + + QueryBuilder + thenByEthWalletTagTextIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'ethWalletTagTextInt', Sort.desc); + }); + } + + QueryBuilder + thenByFavoriteStarActiveInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'favoriteStarActiveInt', Sort.asc); + }); + } + + QueryBuilder + thenByFavoriteStarActiveIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'favoriteStarActiveInt', Sort.desc); + }); + } + + QueryBuilder + thenByFavoriteStarInactiveInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'favoriteStarInactiveInt', Sort.asc); + }); + } + + QueryBuilder + thenByFavoriteStarInactiveIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'favoriteStarInactiveInt', Sort.desc); + }); + } + + QueryBuilder + thenByGradientBackgroundString() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'gradientBackgroundString', Sort.asc); + }); + } + + QueryBuilder + thenByGradientBackgroundStringDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'gradientBackgroundString', Sort.desc); + }); + } + + QueryBuilder thenByHighlightInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'highlightInt', Sort.asc); + }); + } + + QueryBuilder thenByHighlightIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'highlightInt', Sort.desc); + }); + } + + QueryBuilder + thenByHomeViewButtonBarBoxShadowString() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'homeViewButtonBarBoxShadowString', Sort.asc); + }); + } + + QueryBuilder + thenByHomeViewButtonBarBoxShadowStringDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'homeViewButtonBarBoxShadowString', Sort.desc); + }); + } + + QueryBuilder thenById() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'id', Sort.asc); + }); + } + + QueryBuilder thenByIdDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'id', Sort.desc); + }); + } + + QueryBuilder thenByInfoItemBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'infoItemBGInt', Sort.asc); + }); + } + + QueryBuilder thenByInfoItemBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'infoItemBGInt', Sort.desc); + }); + } + + QueryBuilder thenByInfoItemIconsInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'infoItemIconsInt', Sort.asc); + }); + } + + QueryBuilder + thenByInfoItemIconsIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'infoItemIconsInt', Sort.desc); + }); + } + + QueryBuilder thenByInfoItemLabelInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'infoItemLabelInt', Sort.asc); + }); + } + + QueryBuilder + thenByInfoItemLabelIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'infoItemLabelInt', Sort.desc); + }); + } + + QueryBuilder thenByInfoItemTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'infoItemTextInt', Sort.asc); + }); + } + + QueryBuilder + thenByInfoItemTextIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'infoItemTextInt', Sort.desc); + }); + } + + QueryBuilder + thenByLoadingOverlayTextColorInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'loadingOverlayTextColorInt', Sort.asc); + }); + } + + QueryBuilder + thenByLoadingOverlayTextColorIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'loadingOverlayTextColorInt', Sort.desc); + }); + } + + QueryBuilder + thenByMyStackContactIconBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'myStackContactIconBGInt', Sort.asc); + }); + } + + QueryBuilder + thenByMyStackContactIconBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'myStackContactIconBGInt', Sort.desc); + }); + } + + QueryBuilder thenByName() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'name', Sort.asc); + }); + } + + QueryBuilder thenByNameDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'name', Sort.desc); + }); + } + + QueryBuilder + thenByNumberBackDefaultInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'numberBackDefaultInt', Sort.asc); + }); + } + + QueryBuilder + thenByNumberBackDefaultIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'numberBackDefaultInt', Sort.desc); + }); + } + + QueryBuilder + thenByNumberTextDefaultInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'numberTextDefaultInt', Sort.asc); + }); + } + + QueryBuilder + thenByNumberTextDefaultIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'numberTextDefaultInt', Sort.desc); + }); + } + + QueryBuilder + thenByNumpadBackDefaultInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'numpadBackDefaultInt', Sort.asc); + }); + } + + QueryBuilder + thenByNumpadBackDefaultIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'numpadBackDefaultInt', Sort.desc); + }); + } + + QueryBuilder + thenByNumpadTextDefaultInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'numpadTextDefaultInt', Sort.asc); + }); + } + + QueryBuilder + thenByNumpadTextDefaultIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'numpadTextDefaultInt', Sort.desc); + }); + } + + QueryBuilder thenByOverlayInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'overlayInt', Sort.asc); + }); + } + + QueryBuilder thenByOverlayIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'overlayInt', Sort.desc); + }); + } + + QueryBuilder thenByPopupBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'popupBGInt', Sort.asc); + }); + } + + QueryBuilder thenByPopupBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'popupBGInt', Sort.desc); + }); + } + + QueryBuilder + thenByRadioButtonBorderDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonBorderDisabledInt', Sort.asc); + }); + } + + QueryBuilder + thenByRadioButtonBorderDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonBorderDisabledInt', Sort.desc); + }); + } + + QueryBuilder + thenByRadioButtonBorderEnabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonBorderEnabledInt', Sort.asc); + }); + } + + QueryBuilder + thenByRadioButtonBorderEnabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonBorderEnabledInt', Sort.desc); + }); + } + + QueryBuilder + thenByRadioButtonIconBorderDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonIconBorderDisabledInt', Sort.asc); + }); + } + + QueryBuilder + thenByRadioButtonIconBorderDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonIconBorderDisabledInt', Sort.desc); + }); + } + + QueryBuilder + thenByRadioButtonIconBorderInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonIconBorderInt', Sort.asc); + }); + } + + QueryBuilder + thenByRadioButtonIconBorderIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonIconBorderInt', Sort.desc); + }); + } + + QueryBuilder + thenByRadioButtonIconCircleInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonIconCircleInt', Sort.asc); + }); + } + + QueryBuilder + thenByRadioButtonIconCircleIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonIconCircleInt', Sort.desc); + }); + } + + QueryBuilder + thenByRadioButtonIconEnabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonIconEnabledInt', Sort.asc); + }); + } + + QueryBuilder + thenByRadioButtonIconEnabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonIconEnabledInt', Sort.desc); + }); + } + + QueryBuilder + thenByRadioButtonLabelDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonLabelDisabledInt', Sort.asc); + }); + } + + QueryBuilder + thenByRadioButtonLabelDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonLabelDisabledInt', Sort.desc); + }); + } + + QueryBuilder + thenByRadioButtonLabelEnabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonLabelEnabledInt', Sort.asc); + }); + } + + QueryBuilder + thenByRadioButtonLabelEnabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonLabelEnabledInt', Sort.desc); + }); + } + + QueryBuilder + thenByRadioButtonTextDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonTextDisabledInt', Sort.asc); + }); + } + + QueryBuilder + thenByRadioButtonTextDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonTextDisabledInt', Sort.desc); + }); + } + + QueryBuilder + thenByRadioButtonTextEnabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonTextEnabledInt', Sort.asc); + }); + } + + QueryBuilder + thenByRadioButtonTextEnabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'radioButtonTextEnabledInt', Sort.desc); + }); + } + + QueryBuilder + thenByRateTypeToggleColorOffInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'rateTypeToggleColorOffInt', Sort.asc); + }); + } + + QueryBuilder + thenByRateTypeToggleColorOffIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'rateTypeToggleColorOffInt', Sort.desc); + }); + } + + QueryBuilder + thenByRateTypeToggleColorOnInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'rateTypeToggleColorOnInt', Sort.asc); + }); + } + + QueryBuilder + thenByRateTypeToggleColorOnIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'rateTypeToggleColorOnInt', Sort.desc); + }); + } + + QueryBuilder + thenByRateTypeToggleDesktopColorOffInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'rateTypeToggleDesktopColorOffInt', Sort.asc); + }); + } + + QueryBuilder + thenByRateTypeToggleDesktopColorOffIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'rateTypeToggleDesktopColorOffInt', Sort.desc); + }); + } + + QueryBuilder + thenByRateTypeToggleDesktopColorOnInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'rateTypeToggleDesktopColorOnInt', Sort.asc); + }); + } + + QueryBuilder + thenByRateTypeToggleDesktopColorOnIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'rateTypeToggleDesktopColorOnInt', Sort.desc); + }); + } + + QueryBuilder + thenBySettingsIconBack2Int() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsIconBack2Int', Sort.asc); + }); + } + + QueryBuilder + thenBySettingsIconBack2IntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsIconBack2Int', Sort.desc); + }); + } + + QueryBuilder + thenBySettingsIconBackInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsIconBackInt', Sort.asc); + }); + } + + QueryBuilder + thenBySettingsIconBackIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsIconBackInt', Sort.desc); + }); + } + + QueryBuilder + thenBySettingsIconElementInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsIconElementInt', Sort.asc); + }); + } + + QueryBuilder + thenBySettingsIconElementIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsIconElementInt', Sort.desc); + }); + } + + QueryBuilder + thenBySettingsIconIconInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsIconIconInt', Sort.asc); + }); + } + + QueryBuilder + thenBySettingsIconIconIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsIconIconInt', Sort.desc); + }); + } + + QueryBuilder + thenBySettingsItem2ActiveBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsItem2ActiveBGInt', Sort.asc); + }); + } + + QueryBuilder + thenBySettingsItem2ActiveBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsItem2ActiveBGInt', Sort.desc); + }); + } + + QueryBuilder + thenBySettingsItem2ActiveSubInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsItem2ActiveSubInt', Sort.asc); + }); + } + + QueryBuilder + thenBySettingsItem2ActiveSubIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsItem2ActiveSubInt', Sort.desc); + }); + } + + QueryBuilder + thenBySettingsItem2ActiveTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsItem2ActiveTextInt', Sort.asc); + }); + } + + QueryBuilder + thenBySettingsItem2ActiveTextIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'settingsItem2ActiveTextInt', Sort.desc); + }); + } + + QueryBuilder thenByShadowInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'shadowInt', Sort.asc); + }); + } + + QueryBuilder thenByShadowIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'shadowInt', Sort.desc); + }); + } + + QueryBuilder + thenBySnackBarBackErrorInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'snackBarBackErrorInt', Sort.asc); + }); + } + + QueryBuilder + thenBySnackBarBackErrorIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'snackBarBackErrorInt', Sort.desc); + }); + } + + QueryBuilder + thenBySnackBarBackInfoInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'snackBarBackInfoInt', Sort.asc); + }); + } + + QueryBuilder + thenBySnackBarBackInfoIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'snackBarBackInfoInt', Sort.desc); + }); + } + + QueryBuilder + thenBySnackBarBackSuccessInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'snackBarBackSuccessInt', Sort.asc); + }); + } + + QueryBuilder + thenBySnackBarBackSuccessIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'snackBarBackSuccessInt', Sort.desc); + }); + } + + QueryBuilder + thenBySnackBarTextErrorInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'snackBarTextErrorInt', Sort.asc); + }); + } + + QueryBuilder + thenBySnackBarTextErrorIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'snackBarTextErrorInt', Sort.desc); + }); + } + + QueryBuilder + thenBySnackBarTextInfoInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'snackBarTextInfoInt', Sort.asc); + }); + } + + QueryBuilder + thenBySnackBarTextInfoIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'snackBarTextInfoInt', Sort.desc); + }); + } + + QueryBuilder + thenBySnackBarTextSuccessInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'snackBarTextSuccessInt', Sort.asc); + }); + } + + QueryBuilder + thenBySnackBarTextSuccessIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'snackBarTextSuccessInt', Sort.desc); + }); + } + + QueryBuilder thenBySplashInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'splashInt', Sort.asc); + }); + } + + QueryBuilder thenBySplashIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'splashInt', Sort.desc); + }); + } + + QueryBuilder thenByStackWalletBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stackWalletBGInt', Sort.asc); + }); + } + + QueryBuilder + thenByStackWalletBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stackWalletBGInt', Sort.desc); + }); + } + + QueryBuilder + thenByStackWalletBottomInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stackWalletBottomInt', Sort.asc); + }); + } + + QueryBuilder + thenByStackWalletBottomIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stackWalletBottomInt', Sort.desc); + }); + } + + QueryBuilder thenByStackWalletMidInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stackWalletMidInt', Sort.asc); + }); + } + + QueryBuilder + thenByStackWalletMidIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stackWalletMidInt', Sort.desc); + }); + } + + QueryBuilder + thenByStandardBoxShadowString() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'standardBoxShadowString', Sort.asc); + }); + } + + QueryBuilder + thenByStandardBoxShadowStringDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'standardBoxShadowString', Sort.desc); + }); + } + + QueryBuilder + thenByStepIndicatorBGCheckInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorBGCheckInt', Sort.asc); + }); + } + + QueryBuilder + thenByStepIndicatorBGCheckIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorBGCheckInt', Sort.desc); + }); + } + + QueryBuilder + thenByStepIndicatorBGInactiveInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorBGInactiveInt', Sort.asc); + }); + } + + QueryBuilder + thenByStepIndicatorBGInactiveIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorBGInactiveInt', Sort.desc); + }); + } + + QueryBuilder + thenByStepIndicatorBGLinesInactiveInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorBGLinesInactiveInt', Sort.asc); + }); + } + + QueryBuilder + thenByStepIndicatorBGLinesInactiveIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorBGLinesInactiveInt', Sort.desc); + }); + } + + QueryBuilder + thenByStepIndicatorBGLinesInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorBGLinesInt', Sort.asc); + }); + } + + QueryBuilder + thenByStepIndicatorBGLinesIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorBGLinesInt', Sort.desc); + }); + } + + QueryBuilder + thenByStepIndicatorBGNumberInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorBGNumberInt', Sort.asc); + }); + } + + QueryBuilder + thenByStepIndicatorBGNumberIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorBGNumberInt', Sort.desc); + }); + } + + QueryBuilder + thenByStepIndicatorIconInactiveInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorIconInactiveInt', Sort.asc); + }); + } + + QueryBuilder + thenByStepIndicatorIconInactiveIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorIconInactiveInt', Sort.desc); + }); + } + + QueryBuilder + thenByStepIndicatorIconNumberInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorIconNumberInt', Sort.asc); + }); + } + + QueryBuilder + thenByStepIndicatorIconNumberIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorIconNumberInt', Sort.desc); + }); + } + + QueryBuilder + thenByStepIndicatorIconTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorIconTextInt', Sort.asc); + }); + } + + QueryBuilder + thenByStepIndicatorIconTextIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'stepIndicatorIconTextInt', Sort.desc); + }); + } + + QueryBuilder + thenBySwitchBGDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'switchBGDisabledInt', Sort.asc); + }); + } + + QueryBuilder + thenBySwitchBGDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'switchBGDisabledInt', Sort.desc); + }); + } + + QueryBuilder thenBySwitchBGOffInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'switchBGOffInt', Sort.asc); + }); + } + + QueryBuilder + thenBySwitchBGOffIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'switchBGOffInt', Sort.desc); + }); + } + + QueryBuilder thenBySwitchBGOnInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'switchBGOnInt', Sort.asc); + }); + } + + QueryBuilder thenBySwitchBGOnIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'switchBGOnInt', Sort.desc); + }); + } + + QueryBuilder + thenBySwitchCircleDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'switchCircleDisabledInt', Sort.asc); + }); + } + + QueryBuilder + thenBySwitchCircleDisabledIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'switchCircleDisabledInt', Sort.desc); + }); + } + + QueryBuilder + thenBySwitchCircleOffInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'switchCircleOffInt', Sort.asc); + }); + } + + QueryBuilder + thenBySwitchCircleOffIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'switchCircleOffInt', Sort.desc); + }); + } + + QueryBuilder thenBySwitchCircleOnInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'switchCircleOnInt', Sort.asc); + }); + } + + QueryBuilder + thenBySwitchCircleOnIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'switchCircleOnInt', Sort.desc); + }); + } + + QueryBuilder + thenByTextConfirmTotalAmountInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textConfirmTotalAmountInt', Sort.asc); + }); + } + + QueryBuilder + thenByTextConfirmTotalAmountIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textConfirmTotalAmountInt', Sort.desc); + }); + } + + QueryBuilder thenByTextDark2Int() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textDark2Int', Sort.asc); + }); + } + + QueryBuilder thenByTextDark2IntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textDark2Int', Sort.desc); + }); + } + + QueryBuilder thenByTextDark3Int() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textDark3Int', Sort.asc); + }); + } + + QueryBuilder thenByTextDark3IntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textDark3Int', Sort.desc); + }); + } + + QueryBuilder thenByTextDarkInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textDarkInt', Sort.asc); + }); + } + + QueryBuilder thenByTextDarkIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textDarkInt', Sort.desc); + }); + } + + QueryBuilder thenByTextErrorInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textErrorInt', Sort.asc); + }); + } + + QueryBuilder thenByTextErrorIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textErrorInt', Sort.desc); + }); + } + + QueryBuilder + thenByTextFavoriteCardInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFavoriteCardInt', Sort.asc); + }); + } + + QueryBuilder + thenByTextFavoriteCardIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFavoriteCardInt', Sort.desc); + }); + } + + QueryBuilder + thenByTextFieldActiveBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldActiveBGInt', Sort.asc); + }); + } + + QueryBuilder + thenByTextFieldActiveBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldActiveBGInt', Sort.desc); + }); + } + + QueryBuilder + thenByTextFieldActiveLabelInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldActiveLabelInt', Sort.asc); + }); + } + + QueryBuilder + thenByTextFieldActiveLabelIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldActiveLabelInt', Sort.desc); + }); + } + + QueryBuilder + thenByTextFieldActiveSearchIconLeftInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldActiveSearchIconLeftInt', Sort.asc); + }); + } + + QueryBuilder + thenByTextFieldActiveSearchIconLeftIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldActiveSearchIconLeftInt', Sort.desc); + }); + } + + QueryBuilder + thenByTextFieldActiveSearchIconRightInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldActiveSearchIconRightInt', Sort.asc); + }); + } + + QueryBuilder + thenByTextFieldActiveSearchIconRightIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldActiveSearchIconRightInt', Sort.desc); + }); + } + + QueryBuilder + thenByTextFieldActiveTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldActiveTextInt', Sort.asc); + }); + } + + QueryBuilder + thenByTextFieldActiveTextIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldActiveTextInt', Sort.desc); + }); + } + + QueryBuilder + thenByTextFieldDefaultBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldDefaultBGInt', Sort.asc); + }); + } + + QueryBuilder + thenByTextFieldDefaultBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldDefaultBGInt', Sort.desc); + }); + } + + QueryBuilder + thenByTextFieldDefaultSearchIconLeftInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldDefaultSearchIconLeftInt', Sort.asc); + }); + } + + QueryBuilder + thenByTextFieldDefaultSearchIconLeftIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldDefaultSearchIconLeftInt', Sort.desc); + }); + } + + QueryBuilder + thenByTextFieldDefaultSearchIconRightInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldDefaultSearchIconRightInt', Sort.asc); + }); + } + + QueryBuilder + thenByTextFieldDefaultSearchIconRightIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldDefaultSearchIconRightInt', Sort.desc); + }); + } + + QueryBuilder + thenByTextFieldDefaultTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldDefaultTextInt', Sort.asc); + }); + } + + QueryBuilder + thenByTextFieldDefaultTextIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldDefaultTextInt', Sort.desc); + }); + } + + QueryBuilder + thenByTextFieldErrorBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldErrorBGInt', Sort.asc); + }); + } + + QueryBuilder + thenByTextFieldErrorBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldErrorBGInt', Sort.desc); + }); + } + + QueryBuilder + thenByTextFieldErrorBorderInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldErrorBorderInt', Sort.asc); + }); + } + + QueryBuilder + thenByTextFieldErrorBorderIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldErrorBorderInt', Sort.desc); + }); + } + + QueryBuilder + thenByTextFieldErrorLabelInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldErrorLabelInt', Sort.asc); + }); + } + + QueryBuilder + thenByTextFieldErrorLabelIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldErrorLabelInt', Sort.desc); + }); + } + + QueryBuilder + thenByTextFieldErrorSearchIconLeftInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldErrorSearchIconLeftInt', Sort.asc); + }); + } + + QueryBuilder + thenByTextFieldErrorSearchIconLeftIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldErrorSearchIconLeftInt', Sort.desc); + }); + } + + QueryBuilder + thenByTextFieldErrorSearchIconRightInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldErrorSearchIconRightInt', Sort.asc); + }); + } + + QueryBuilder + thenByTextFieldErrorSearchIconRightIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldErrorSearchIconRightInt', Sort.desc); + }); + } + + QueryBuilder + thenByTextFieldErrorTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldErrorTextInt', Sort.asc); + }); + } + + QueryBuilder + thenByTextFieldErrorTextIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldErrorTextInt', Sort.desc); + }); + } + + QueryBuilder + thenByTextFieldSuccessBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldSuccessBGInt', Sort.asc); + }); + } + + QueryBuilder + thenByTextFieldSuccessBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldSuccessBGInt', Sort.desc); + }); + } + + QueryBuilder + thenByTextFieldSuccessBorderInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldSuccessBorderInt', Sort.asc); + }); + } + + QueryBuilder + thenByTextFieldSuccessBorderIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldSuccessBorderInt', Sort.desc); + }); + } + + QueryBuilder + thenByTextFieldSuccessLabelInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldSuccessLabelInt', Sort.asc); + }); + } + + QueryBuilder + thenByTextFieldSuccessLabelIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldSuccessLabelInt', Sort.desc); + }); + } + + QueryBuilder + thenByTextFieldSuccessSearchIconLeftInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldSuccessSearchIconLeftInt', Sort.asc); + }); + } + + QueryBuilder + thenByTextFieldSuccessSearchIconLeftIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldSuccessSearchIconLeftInt', Sort.desc); + }); + } + + QueryBuilder + thenByTextFieldSuccessSearchIconRightInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldSuccessSearchIconRightInt', Sort.asc); + }); + } + + QueryBuilder + thenByTextFieldSuccessSearchIconRightIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldSuccessSearchIconRightInt', Sort.desc); + }); + } + + QueryBuilder + thenByTextFieldSuccessTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldSuccessTextInt', Sort.asc); + }); + } + + QueryBuilder + thenByTextFieldSuccessTextIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textFieldSuccessTextInt', Sort.desc); + }); + } + + QueryBuilder thenByTextRestoreInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textRestoreInt', Sort.asc); + }); + } + + QueryBuilder + thenByTextRestoreIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textRestoreInt', Sort.desc); + }); + } + + QueryBuilder + thenByTextSelectedWordTableItemInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSelectedWordTableItemInt', Sort.asc); + }); + } + + QueryBuilder + thenByTextSelectedWordTableItemIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSelectedWordTableItemInt', Sort.desc); + }); + } + + QueryBuilder thenByTextSubtitle1Int() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSubtitle1Int', Sort.asc); + }); + } + + QueryBuilder + thenByTextSubtitle1IntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSubtitle1Int', Sort.desc); + }); + } + + QueryBuilder thenByTextSubtitle2Int() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSubtitle2Int', Sort.asc); + }); + } + + QueryBuilder + thenByTextSubtitle2IntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSubtitle2Int', Sort.desc); + }); + } + + QueryBuilder thenByTextSubtitle3Int() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSubtitle3Int', Sort.asc); + }); + } + + QueryBuilder + thenByTextSubtitle3IntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSubtitle3Int', Sort.desc); + }); + } + + QueryBuilder thenByTextSubtitle4Int() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSubtitle4Int', Sort.asc); + }); + } + + QueryBuilder + thenByTextSubtitle4IntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSubtitle4Int', Sort.desc); + }); + } + + QueryBuilder thenByTextSubtitle5Int() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSubtitle5Int', Sort.asc); + }); + } + + QueryBuilder + thenByTextSubtitle5IntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSubtitle5Int', Sort.desc); + }); + } + + QueryBuilder thenByTextSubtitle6Int() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSubtitle6Int', Sort.asc); + }); + } + + QueryBuilder + thenByTextSubtitle6IntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textSubtitle6Int', Sort.desc); + }); + } + + QueryBuilder thenByTextWhiteInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textWhiteInt', Sort.asc); + }); + } + + QueryBuilder thenByTextWhiteIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'textWhiteInt', Sort.desc); + }); + } + + QueryBuilder thenByThemeId() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'themeId', Sort.asc); + }); + } + + QueryBuilder thenByThemeIdDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'themeId', Sort.desc); + }); + } + + QueryBuilder thenByTokenSummaryBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'tokenSummaryBGInt', Sort.asc); + }); + } + + QueryBuilder + thenByTokenSummaryBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'tokenSummaryBGInt', Sort.desc); + }); + } + + QueryBuilder + thenByTokenSummaryButtonBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'tokenSummaryButtonBGInt', Sort.asc); + }); + } + + QueryBuilder + thenByTokenSummaryButtonBGIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'tokenSummaryButtonBGInt', Sort.desc); + }); + } + + QueryBuilder + thenByTokenSummaryIconInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'tokenSummaryIconInt', Sort.asc); + }); + } + + QueryBuilder + thenByTokenSummaryIconIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'tokenSummaryIconInt', Sort.desc); + }); + } + + QueryBuilder + thenByTokenSummaryTextPrimaryInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'tokenSummaryTextPrimaryInt', Sort.asc); + }); + } + + QueryBuilder + thenByTokenSummaryTextPrimaryIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'tokenSummaryTextPrimaryInt', Sort.desc); + }); + } + + QueryBuilder + thenByTokenSummaryTextSecondaryInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'tokenSummaryTextSecondaryInt', Sort.asc); + }); + } + + QueryBuilder + thenByTokenSummaryTextSecondaryIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'tokenSummaryTextSecondaryInt', Sort.desc); + }); + } + + QueryBuilder + thenByTopNavIconGreenInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'topNavIconGreenInt', Sort.asc); + }); + } + + QueryBuilder + thenByTopNavIconGreenIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'topNavIconGreenInt', Sort.desc); + }); + } + + QueryBuilder + thenByTopNavIconPrimaryInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'topNavIconPrimaryInt', Sort.asc); + }); + } + + QueryBuilder + thenByTopNavIconPrimaryIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'topNavIconPrimaryInt', Sort.desc); + }); + } + + QueryBuilder thenByTopNavIconRedInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'topNavIconRedInt', Sort.asc); + }); + } + + QueryBuilder + thenByTopNavIconRedIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'topNavIconRedInt', Sort.desc); + }); + } + + QueryBuilder + thenByTopNavIconYellowInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'topNavIconYellowInt', Sort.asc); + }); + } + + QueryBuilder + thenByTopNavIconYellowIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'topNavIconYellowInt', Sort.desc); + }); + } + + QueryBuilder + thenByWarningBackgroundInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'warningBackgroundInt', Sort.asc); + }); + } + + QueryBuilder + thenByWarningBackgroundIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'warningBackgroundInt', Sort.desc); + }); + } + + QueryBuilder + thenByWarningForegroundInt() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'warningForegroundInt', Sort.asc); + }); + } + + QueryBuilder + thenByWarningForegroundIntDesc() { + return QueryBuilder.apply(this, (query) { + return query.addSortBy(r'warningForegroundInt', Sort.desc); + }); + } +} + +extension StackThemeQueryWhereDistinct + on QueryBuilder { + QueryBuilder + distinctByAccentColorBlueInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'accentColorBlueInt'); + }); + } + + QueryBuilder + distinctByAccentColorDarkInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'accentColorDarkInt'); + }); + } + + QueryBuilder + distinctByAccentColorGreenInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'accentColorGreenInt'); + }); + } + + QueryBuilder + distinctByAccentColorOrangeInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'accentColorOrangeInt'); + }); + } + + QueryBuilder + distinctByAccentColorRedInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'accentColorRedInt'); + }); + } + + QueryBuilder + distinctByAccentColorYellowInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'accentColorYellowInt'); + }); + } + + QueryBuilder + distinctByBackgroundAppBarInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'backgroundAppBarInt'); + }); + } + + QueryBuilder distinctByBackgroundInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'backgroundInt'); + }); + } + + QueryBuilder distinctByBottomNavBackInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'bottomNavBackInt'); + }); + } + + QueryBuilder + distinctByBottomNavIconBackInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'bottomNavIconBackInt'); + }); + } + + QueryBuilder + distinctByBottomNavIconIconInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'bottomNavIconIconInt'); + }); + } + + QueryBuilder + distinctByBottomNavShadowInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'bottomNavShadowInt'); + }); + } + + QueryBuilder distinctByBottomNavTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'bottomNavTextInt'); + }); + } + + QueryBuilder distinctByBrightnessString( + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'brightnessString', + caseSensitive: caseSensitive); + }); + } + + QueryBuilder + distinctByButtonBackBorderDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'buttonBackBorderDisabledInt'); + }); + } + + QueryBuilder + distinctByButtonBackBorderInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'buttonBackBorderInt'); + }); + } + + QueryBuilder + distinctByButtonBackBorderSecondaryDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'buttonBackBorderSecondaryDisabledInt'); + }); + } + + QueryBuilder + distinctByButtonBackBorderSecondaryInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'buttonBackBorderSecondaryInt'); + }); + } + + QueryBuilder + distinctByButtonBackPrimaryDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'buttonBackPrimaryDisabledInt'); + }); + } + + QueryBuilder + distinctByButtonBackPrimaryInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'buttonBackPrimaryInt'); + }); + } + + QueryBuilder + distinctByButtonBackSecondaryDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'buttonBackSecondaryDisabledInt'); + }); + } + + QueryBuilder + distinctByButtonBackSecondaryInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'buttonBackSecondaryInt'); + }); + } + + QueryBuilder + distinctByButtonTextBorderInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'buttonTextBorderInt'); + }); + } + + QueryBuilder + distinctByButtonTextBorderlessDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'buttonTextBorderlessDisabledInt'); + }); + } + + QueryBuilder + distinctByButtonTextBorderlessInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'buttonTextBorderlessInt'); + }); + } + + QueryBuilder + distinctByButtonTextDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'buttonTextDisabledInt'); + }); + } + + QueryBuilder + distinctByButtonTextPrimaryDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'buttonTextPrimaryDisabledInt'); + }); + } + + QueryBuilder + distinctByButtonTextPrimaryInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'buttonTextPrimaryInt'); + }); + } + + QueryBuilder + distinctByButtonTextSecondaryDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'buttonTextSecondaryDisabledInt'); + }); + } + + QueryBuilder + distinctByButtonTextSecondaryInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'buttonTextSecondaryInt'); + }); + } + + QueryBuilder + distinctByCheckboxBGCheckedInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'checkboxBGCheckedInt'); + }); + } + + QueryBuilder + distinctByCheckboxBGDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'checkboxBGDisabledInt'); + }); + } + + QueryBuilder + distinctByCheckboxBorderEmptyInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'checkboxBorderEmptyInt'); + }); + } + + QueryBuilder + distinctByCheckboxIconCheckedInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'checkboxIconCheckedInt'); + }); + } + + QueryBuilder + distinctByCheckboxIconDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'checkboxIconDisabledInt'); + }); + } + + QueryBuilder + distinctByCheckboxTextLabelInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'checkboxTextLabelInt'); + }); + } + + QueryBuilder + distinctByCoinColorsJsonString({bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'coinColorsJsonString', + caseSensitive: caseSensitive); + }); + } + + QueryBuilder + distinctByCurrencyListItemBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'currencyListItemBGInt'); + }); + } + + QueryBuilder + distinctByCustomTextButtonDisabledTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'customTextButtonDisabledTextInt'); + }); + } + + QueryBuilder + distinctByCustomTextButtonEnabledTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'customTextButtonEnabledTextInt'); + }); + } + + QueryBuilder distinctByEthTagBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'ethTagBGInt'); + }); + } + + QueryBuilder distinctByEthTagTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'ethTagTextInt'); + }); + } + + QueryBuilder + distinctByEthWalletTagBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'ethWalletTagBGInt'); + }); + } + + QueryBuilder + distinctByEthWalletTagTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'ethWalletTagTextInt'); + }); + } + + QueryBuilder + distinctByFavoriteStarActiveInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'favoriteStarActiveInt'); + }); + } + + QueryBuilder + distinctByFavoriteStarInactiveInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'favoriteStarInactiveInt'); + }); + } + + QueryBuilder + distinctByGradientBackgroundString({bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'gradientBackgroundString', + caseSensitive: caseSensitive); + }); + } + + QueryBuilder distinctByHighlightInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'highlightInt'); + }); + } + + QueryBuilder + distinctByHomeViewButtonBarBoxShadowString({bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'homeViewButtonBarBoxShadowString', + caseSensitive: caseSensitive); + }); + } + + QueryBuilder distinctByInfoItemBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'infoItemBGInt'); + }); + } + + QueryBuilder distinctByInfoItemIconsInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'infoItemIconsInt'); + }); + } + + QueryBuilder distinctByInfoItemLabelInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'infoItemLabelInt'); + }); + } + + QueryBuilder distinctByInfoItemTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'infoItemTextInt'); + }); + } + + QueryBuilder + distinctByLoadingOverlayTextColorInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'loadingOverlayTextColorInt'); + }); + } + + QueryBuilder + distinctByMyStackContactIconBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'myStackContactIconBGInt'); + }); + } + + QueryBuilder distinctByName( + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'name', caseSensitive: caseSensitive); + }); + } + + QueryBuilder + distinctByNumberBackDefaultInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'numberBackDefaultInt'); + }); + } + + QueryBuilder + distinctByNumberTextDefaultInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'numberTextDefaultInt'); + }); + } + + QueryBuilder + distinctByNumpadBackDefaultInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'numpadBackDefaultInt'); + }); + } + + QueryBuilder + distinctByNumpadTextDefaultInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'numpadTextDefaultInt'); + }); + } + + QueryBuilder distinctByOverlayInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'overlayInt'); + }); + } + + QueryBuilder distinctByPopupBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'popupBGInt'); + }); + } + + QueryBuilder + distinctByRadioButtonBorderDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'radioButtonBorderDisabledInt'); + }); + } + + QueryBuilder + distinctByRadioButtonBorderEnabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'radioButtonBorderEnabledInt'); + }); + } + + QueryBuilder + distinctByRadioButtonIconBorderDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'radioButtonIconBorderDisabledInt'); + }); + } + + QueryBuilder + distinctByRadioButtonIconBorderInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'radioButtonIconBorderInt'); + }); + } + + QueryBuilder + distinctByRadioButtonIconCircleInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'radioButtonIconCircleInt'); + }); + } + + QueryBuilder + distinctByRadioButtonIconEnabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'radioButtonIconEnabledInt'); + }); + } + + QueryBuilder + distinctByRadioButtonLabelDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'radioButtonLabelDisabledInt'); + }); + } + + QueryBuilder + distinctByRadioButtonLabelEnabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'radioButtonLabelEnabledInt'); + }); + } + + QueryBuilder + distinctByRadioButtonTextDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'radioButtonTextDisabledInt'); + }); + } + + QueryBuilder + distinctByRadioButtonTextEnabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'radioButtonTextEnabledInt'); + }); + } + + QueryBuilder + distinctByRateTypeToggleColorOffInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'rateTypeToggleColorOffInt'); + }); + } + + QueryBuilder + distinctByRateTypeToggleColorOnInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'rateTypeToggleColorOnInt'); + }); + } + + QueryBuilder + distinctByRateTypeToggleDesktopColorOffInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'rateTypeToggleDesktopColorOffInt'); + }); + } + + QueryBuilder + distinctByRateTypeToggleDesktopColorOnInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'rateTypeToggleDesktopColorOnInt'); + }); + } + + QueryBuilder + distinctBySettingsIconBack2Int() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'settingsIconBack2Int'); + }); + } + + QueryBuilder + distinctBySettingsIconBackInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'settingsIconBackInt'); + }); + } + + QueryBuilder + distinctBySettingsIconElementInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'settingsIconElementInt'); + }); + } + + QueryBuilder + distinctBySettingsIconIconInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'settingsIconIconInt'); + }); + } + + QueryBuilder + distinctBySettingsItem2ActiveBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'settingsItem2ActiveBGInt'); + }); + } + + QueryBuilder + distinctBySettingsItem2ActiveSubInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'settingsItem2ActiveSubInt'); + }); + } + + QueryBuilder + distinctBySettingsItem2ActiveTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'settingsItem2ActiveTextInt'); + }); + } + + QueryBuilder distinctByShadowInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'shadowInt'); + }); + } + + QueryBuilder + distinctBySnackBarBackErrorInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'snackBarBackErrorInt'); + }); + } + + QueryBuilder + distinctBySnackBarBackInfoInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'snackBarBackInfoInt'); + }); + } + + QueryBuilder + distinctBySnackBarBackSuccessInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'snackBarBackSuccessInt'); + }); + } + + QueryBuilder + distinctBySnackBarTextErrorInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'snackBarTextErrorInt'); + }); + } + + QueryBuilder + distinctBySnackBarTextInfoInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'snackBarTextInfoInt'); + }); + } + + QueryBuilder + distinctBySnackBarTextSuccessInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'snackBarTextSuccessInt'); + }); + } + + QueryBuilder distinctBySplashInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'splashInt'); + }); + } + + QueryBuilder distinctByStackWalletBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'stackWalletBGInt'); + }); + } + + QueryBuilder + distinctByStackWalletBottomInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'stackWalletBottomInt'); + }); + } + + QueryBuilder + distinctByStackWalletMidInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'stackWalletMidInt'); + }); + } + + QueryBuilder + distinctByStandardBoxShadowString({bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'standardBoxShadowString', + caseSensitive: caseSensitive); + }); + } + + QueryBuilder + distinctByStepIndicatorBGCheckInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'stepIndicatorBGCheckInt'); + }); + } + + QueryBuilder + distinctByStepIndicatorBGInactiveInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'stepIndicatorBGInactiveInt'); + }); + } + + QueryBuilder + distinctByStepIndicatorBGLinesInactiveInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'stepIndicatorBGLinesInactiveInt'); + }); + } + + QueryBuilder + distinctByStepIndicatorBGLinesInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'stepIndicatorBGLinesInt'); + }); + } + + QueryBuilder + distinctByStepIndicatorBGNumberInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'stepIndicatorBGNumberInt'); + }); + } + + QueryBuilder + distinctByStepIndicatorIconInactiveInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'stepIndicatorIconInactiveInt'); + }); + } + + QueryBuilder + distinctByStepIndicatorIconNumberInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'stepIndicatorIconNumberInt'); + }); + } + + QueryBuilder + distinctByStepIndicatorIconTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'stepIndicatorIconTextInt'); + }); + } + + QueryBuilder + distinctBySwitchBGDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'switchBGDisabledInt'); + }); + } + + QueryBuilder distinctBySwitchBGOffInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'switchBGOffInt'); + }); + } + + QueryBuilder distinctBySwitchBGOnInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'switchBGOnInt'); + }); + } + + QueryBuilder + distinctBySwitchCircleDisabledInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'switchCircleDisabledInt'); + }); + } + + QueryBuilder + distinctBySwitchCircleOffInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'switchCircleOffInt'); + }); + } + + QueryBuilder + distinctBySwitchCircleOnInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'switchCircleOnInt'); + }); + } + + QueryBuilder + distinctByTextConfirmTotalAmountInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textConfirmTotalAmountInt'); + }); + } + + QueryBuilder distinctByTextDark2Int() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textDark2Int'); + }); + } + + QueryBuilder distinctByTextDark3Int() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textDark3Int'); + }); + } + + QueryBuilder distinctByTextDarkInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textDarkInt'); + }); + } + + QueryBuilder distinctByTextErrorInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textErrorInt'); + }); + } + + QueryBuilder + distinctByTextFavoriteCardInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textFavoriteCardInt'); + }); + } + + QueryBuilder + distinctByTextFieldActiveBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textFieldActiveBGInt'); + }); + } + + QueryBuilder + distinctByTextFieldActiveLabelInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textFieldActiveLabelInt'); + }); + } + + QueryBuilder + distinctByTextFieldActiveSearchIconLeftInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textFieldActiveSearchIconLeftInt'); + }); + } + + QueryBuilder + distinctByTextFieldActiveSearchIconRightInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textFieldActiveSearchIconRightInt'); + }); + } + + QueryBuilder + distinctByTextFieldActiveTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textFieldActiveTextInt'); + }); + } + + QueryBuilder + distinctByTextFieldDefaultBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textFieldDefaultBGInt'); + }); + } + + QueryBuilder + distinctByTextFieldDefaultSearchIconLeftInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textFieldDefaultSearchIconLeftInt'); + }); + } + + QueryBuilder + distinctByTextFieldDefaultSearchIconRightInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textFieldDefaultSearchIconRightInt'); + }); + } + + QueryBuilder + distinctByTextFieldDefaultTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textFieldDefaultTextInt'); + }); + } + + QueryBuilder + distinctByTextFieldErrorBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textFieldErrorBGInt'); + }); + } + + QueryBuilder + distinctByTextFieldErrorBorderInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textFieldErrorBorderInt'); + }); + } + + QueryBuilder + distinctByTextFieldErrorLabelInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textFieldErrorLabelInt'); + }); + } + + QueryBuilder + distinctByTextFieldErrorSearchIconLeftInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textFieldErrorSearchIconLeftInt'); + }); + } + + QueryBuilder + distinctByTextFieldErrorSearchIconRightInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textFieldErrorSearchIconRightInt'); + }); + } + + QueryBuilder + distinctByTextFieldErrorTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textFieldErrorTextInt'); + }); + } + + QueryBuilder + distinctByTextFieldSuccessBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textFieldSuccessBGInt'); + }); + } + + QueryBuilder + distinctByTextFieldSuccessBorderInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textFieldSuccessBorderInt'); + }); + } + + QueryBuilder + distinctByTextFieldSuccessLabelInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textFieldSuccessLabelInt'); + }); + } + + QueryBuilder + distinctByTextFieldSuccessSearchIconLeftInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textFieldSuccessSearchIconLeftInt'); + }); + } + + QueryBuilder + distinctByTextFieldSuccessSearchIconRightInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textFieldSuccessSearchIconRightInt'); + }); + } + + QueryBuilder + distinctByTextFieldSuccessTextInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textFieldSuccessTextInt'); + }); + } + + QueryBuilder distinctByTextRestoreInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textRestoreInt'); + }); + } + + QueryBuilder + distinctByTextSelectedWordTableItemInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textSelectedWordTableItemInt'); + }); + } + + QueryBuilder distinctByTextSubtitle1Int() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textSubtitle1Int'); + }); + } + + QueryBuilder distinctByTextSubtitle2Int() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textSubtitle2Int'); + }); + } + + QueryBuilder distinctByTextSubtitle3Int() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textSubtitle3Int'); + }); + } + + QueryBuilder distinctByTextSubtitle4Int() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textSubtitle4Int'); + }); + } + + QueryBuilder distinctByTextSubtitle5Int() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textSubtitle5Int'); + }); + } + + QueryBuilder distinctByTextSubtitle6Int() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textSubtitle6Int'); + }); + } + + QueryBuilder distinctByTextWhiteInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'textWhiteInt'); + }); + } + + QueryBuilder distinctByThemeId( + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'themeId', caseSensitive: caseSensitive); + }); + } + + QueryBuilder + distinctByTokenSummaryBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'tokenSummaryBGInt'); + }); + } + + QueryBuilder + distinctByTokenSummaryButtonBGInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'tokenSummaryButtonBGInt'); + }); + } + + QueryBuilder + distinctByTokenSummaryIconInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'tokenSummaryIconInt'); + }); + } + + QueryBuilder + distinctByTokenSummaryTextPrimaryInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'tokenSummaryTextPrimaryInt'); + }); + } + + QueryBuilder + distinctByTokenSummaryTextSecondaryInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'tokenSummaryTextSecondaryInt'); + }); + } + + QueryBuilder + distinctByTopNavIconGreenInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'topNavIconGreenInt'); + }); + } + + QueryBuilder + distinctByTopNavIconPrimaryInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'topNavIconPrimaryInt'); + }); + } + + QueryBuilder distinctByTopNavIconRedInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'topNavIconRedInt'); + }); + } + + QueryBuilder + distinctByTopNavIconYellowInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'topNavIconYellowInt'); + }); + } + + QueryBuilder + distinctByWarningBackgroundInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'warningBackgroundInt'); + }); + } + + QueryBuilder + distinctByWarningForegroundInt() { + return QueryBuilder.apply(this, (query) { + return query.addDistinctBy(r'warningForegroundInt'); + }); + } +} + +extension StackThemeQueryProperty + on QueryBuilder { + QueryBuilder idProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'id'); + }); + } + + QueryBuilder accentColorBlueIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'accentColorBlueInt'); + }); + } + + QueryBuilder accentColorDarkIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'accentColorDarkInt'); + }); + } + + QueryBuilder + accentColorGreenIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'accentColorGreenInt'); + }); + } + + QueryBuilder + accentColorOrangeIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'accentColorOrangeInt'); + }); + } + + QueryBuilder accentColorRedIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'accentColorRedInt'); + }); + } + + QueryBuilder + accentColorYellowIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'accentColorYellowInt'); + }); + } + + QueryBuilder assetsProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'assets'); + }); + } + + QueryBuilder + backgroundAppBarIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'backgroundAppBarInt'); + }); + } + + QueryBuilder backgroundIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'backgroundInt'); + }); + } + + QueryBuilder bottomNavBackIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'bottomNavBackInt'); + }); + } + + QueryBuilder + bottomNavIconBackIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'bottomNavIconBackInt'); + }); + } + + QueryBuilder + bottomNavIconIconIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'bottomNavIconIconInt'); + }); + } + + QueryBuilder bottomNavShadowIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'bottomNavShadowInt'); + }); + } + + QueryBuilder bottomNavTextIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'bottomNavTextInt'); + }); + } + + QueryBuilder + brightnessStringProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'brightnessString'); + }); + } + + QueryBuilder + buttonBackBorderDisabledIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'buttonBackBorderDisabledInt'); + }); + } + + QueryBuilder + buttonBackBorderIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'buttonBackBorderInt'); + }); + } + + QueryBuilder + buttonBackBorderSecondaryDisabledIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'buttonBackBorderSecondaryDisabledInt'); + }); + } + + QueryBuilder + buttonBackBorderSecondaryIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'buttonBackBorderSecondaryInt'); + }); + } + + QueryBuilder + buttonBackPrimaryDisabledIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'buttonBackPrimaryDisabledInt'); + }); + } + + QueryBuilder + buttonBackPrimaryIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'buttonBackPrimaryInt'); + }); + } + + QueryBuilder + buttonBackSecondaryDisabledIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'buttonBackSecondaryDisabledInt'); + }); + } + + QueryBuilder + buttonBackSecondaryIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'buttonBackSecondaryInt'); + }); + } + + QueryBuilder + buttonTextBorderIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'buttonTextBorderInt'); + }); + } + + QueryBuilder + buttonTextBorderlessDisabledIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'buttonTextBorderlessDisabledInt'); + }); + } + + QueryBuilder + buttonTextBorderlessIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'buttonTextBorderlessInt'); + }); + } + + QueryBuilder + buttonTextDisabledIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'buttonTextDisabledInt'); + }); + } + + QueryBuilder + buttonTextPrimaryDisabledIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'buttonTextPrimaryDisabledInt'); + }); + } + + QueryBuilder + buttonTextPrimaryIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'buttonTextPrimaryInt'); + }); + } + + QueryBuilder + buttonTextSecondaryDisabledIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'buttonTextSecondaryDisabledInt'); + }); + } + + QueryBuilder + buttonTextSecondaryIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'buttonTextSecondaryInt'); + }); + } + + QueryBuilder + checkboxBGCheckedIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'checkboxBGCheckedInt'); + }); + } + + QueryBuilder + checkboxBGDisabledIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'checkboxBGDisabledInt'); + }); + } + + QueryBuilder + checkboxBorderEmptyIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'checkboxBorderEmptyInt'); + }); + } + + QueryBuilder + checkboxIconCheckedIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'checkboxIconCheckedInt'); + }); + } + + QueryBuilder + checkboxIconDisabledIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'checkboxIconDisabledInt'); + }); + } + + QueryBuilder + checkboxTextLabelIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'checkboxTextLabelInt'); + }); + } + + QueryBuilder + coinColorsJsonStringProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'coinColorsJsonString'); + }); + } + + QueryBuilder + currencyListItemBGIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'currencyListItemBGInt'); + }); + } + + QueryBuilder + customTextButtonDisabledTextIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'customTextButtonDisabledTextInt'); + }); + } + + QueryBuilder + customTextButtonEnabledTextIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'customTextButtonEnabledTextInt'); + }); + } + + QueryBuilder ethTagBGIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'ethTagBGInt'); + }); + } + + QueryBuilder ethTagTextIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'ethTagTextInt'); + }); + } + + QueryBuilder ethWalletTagBGIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'ethWalletTagBGInt'); + }); + } + + QueryBuilder + ethWalletTagTextIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'ethWalletTagTextInt'); + }); + } + + QueryBuilder + favoriteStarActiveIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'favoriteStarActiveInt'); + }); + } + + QueryBuilder + favoriteStarInactiveIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'favoriteStarInactiveInt'); + }); + } + + QueryBuilder + gradientBackgroundStringProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'gradientBackgroundString'); + }); + } + + QueryBuilder highlightIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'highlightInt'); + }); + } + + QueryBuilder + homeViewButtonBarBoxShadowStringProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'homeViewButtonBarBoxShadowString'); + }); + } + + QueryBuilder infoItemBGIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'infoItemBGInt'); + }); + } + + QueryBuilder infoItemIconsIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'infoItemIconsInt'); + }); + } + + QueryBuilder infoItemLabelIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'infoItemLabelInt'); + }); + } + + QueryBuilder infoItemTextIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'infoItemTextInt'); + }); + } + + QueryBuilder + loadingOverlayTextColorIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'loadingOverlayTextColorInt'); + }); + } + + QueryBuilder + myStackContactIconBGIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'myStackContactIconBGInt'); + }); + } + + QueryBuilder nameProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'name'); + }); + } + + QueryBuilder + numberBackDefaultIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'numberBackDefaultInt'); + }); + } + + QueryBuilder + numberTextDefaultIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'numberTextDefaultInt'); + }); + } + + QueryBuilder + numpadBackDefaultIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'numpadBackDefaultInt'); + }); + } + + QueryBuilder + numpadTextDefaultIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'numpadTextDefaultInt'); + }); + } + + QueryBuilder overlayIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'overlayInt'); + }); + } + + QueryBuilder popupBGIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'popupBGInt'); + }); + } + + QueryBuilder + radioButtonBorderDisabledIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'radioButtonBorderDisabledInt'); + }); + } + + QueryBuilder + radioButtonBorderEnabledIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'radioButtonBorderEnabledInt'); + }); + } + + QueryBuilder + radioButtonIconBorderDisabledIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'radioButtonIconBorderDisabledInt'); + }); + } + + QueryBuilder + radioButtonIconBorderIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'radioButtonIconBorderInt'); + }); + } + + QueryBuilder + radioButtonIconCircleIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'radioButtonIconCircleInt'); + }); + } + + QueryBuilder + radioButtonIconEnabledIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'radioButtonIconEnabledInt'); + }); + } + + QueryBuilder + radioButtonLabelDisabledIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'radioButtonLabelDisabledInt'); + }); + } + + QueryBuilder + radioButtonLabelEnabledIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'radioButtonLabelEnabledInt'); + }); + } + + QueryBuilder + radioButtonTextDisabledIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'radioButtonTextDisabledInt'); + }); + } + + QueryBuilder + radioButtonTextEnabledIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'radioButtonTextEnabledInt'); + }); + } + + QueryBuilder + rateTypeToggleColorOffIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'rateTypeToggleColorOffInt'); + }); + } + + QueryBuilder + rateTypeToggleColorOnIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'rateTypeToggleColorOnInt'); + }); + } + + QueryBuilder + rateTypeToggleDesktopColorOffIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'rateTypeToggleDesktopColorOffInt'); + }); + } + + QueryBuilder + rateTypeToggleDesktopColorOnIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'rateTypeToggleDesktopColorOnInt'); + }); + } + + QueryBuilder + settingsIconBack2IntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'settingsIconBack2Int'); + }); + } + + QueryBuilder + settingsIconBackIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'settingsIconBackInt'); + }); + } + + QueryBuilder + settingsIconElementIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'settingsIconElementInt'); + }); + } + + QueryBuilder + settingsIconIconIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'settingsIconIconInt'); + }); + } + + QueryBuilder + settingsItem2ActiveBGIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'settingsItem2ActiveBGInt'); + }); + } + + QueryBuilder + settingsItem2ActiveSubIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'settingsItem2ActiveSubInt'); + }); + } + + QueryBuilder + settingsItem2ActiveTextIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'settingsItem2ActiveTextInt'); + }); + } + + QueryBuilder shadowIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'shadowInt'); + }); + } + + QueryBuilder + snackBarBackErrorIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'snackBarBackErrorInt'); + }); + } + + QueryBuilder + snackBarBackInfoIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'snackBarBackInfoInt'); + }); + } + + QueryBuilder + snackBarBackSuccessIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'snackBarBackSuccessInt'); + }); + } + + QueryBuilder + snackBarTextErrorIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'snackBarTextErrorInt'); + }); + } + + QueryBuilder + snackBarTextInfoIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'snackBarTextInfoInt'); + }); + } + + QueryBuilder + snackBarTextSuccessIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'snackBarTextSuccessInt'); + }); + } + + QueryBuilder splashIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'splashInt'); + }); + } + + QueryBuilder stackWalletBGIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'stackWalletBGInt'); + }); + } + + QueryBuilder + stackWalletBottomIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'stackWalletBottomInt'); + }); + } + + QueryBuilder stackWalletMidIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'stackWalletMidInt'); + }); + } + + QueryBuilder + standardBoxShadowStringProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'standardBoxShadowString'); + }); + } + + QueryBuilder + stepIndicatorBGCheckIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'stepIndicatorBGCheckInt'); + }); + } + + QueryBuilder + stepIndicatorBGInactiveIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'stepIndicatorBGInactiveInt'); + }); + } + + QueryBuilder + stepIndicatorBGLinesInactiveIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'stepIndicatorBGLinesInactiveInt'); + }); + } + + QueryBuilder + stepIndicatorBGLinesIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'stepIndicatorBGLinesInt'); + }); + } + + QueryBuilder + stepIndicatorBGNumberIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'stepIndicatorBGNumberInt'); + }); + } + + QueryBuilder + stepIndicatorIconInactiveIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'stepIndicatorIconInactiveInt'); + }); + } + + QueryBuilder + stepIndicatorIconNumberIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'stepIndicatorIconNumberInt'); + }); + } + + QueryBuilder + stepIndicatorIconTextIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'stepIndicatorIconTextInt'); + }); + } + + QueryBuilder + switchBGDisabledIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'switchBGDisabledInt'); + }); + } + + QueryBuilder switchBGOffIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'switchBGOffInt'); + }); + } + + QueryBuilder switchBGOnIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'switchBGOnInt'); + }); + } + + QueryBuilder + switchCircleDisabledIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'switchCircleDisabledInt'); + }); + } + + QueryBuilder switchCircleOffIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'switchCircleOffInt'); + }); + } + + QueryBuilder switchCircleOnIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'switchCircleOnInt'); + }); + } + + QueryBuilder + textConfirmTotalAmountIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textConfirmTotalAmountInt'); + }); + } + + QueryBuilder textDark2IntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textDark2Int'); + }); + } + + QueryBuilder textDark3IntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textDark3Int'); + }); + } + + QueryBuilder textDarkIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textDarkInt'); + }); + } + + QueryBuilder textErrorIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textErrorInt'); + }); + } + + QueryBuilder + textFavoriteCardIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textFavoriteCardInt'); + }); + } + + QueryBuilder + textFieldActiveBGIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textFieldActiveBGInt'); + }); + } + + QueryBuilder + textFieldActiveLabelIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textFieldActiveLabelInt'); + }); + } + + QueryBuilder + textFieldActiveSearchIconLeftIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textFieldActiveSearchIconLeftInt'); + }); + } + + QueryBuilder + textFieldActiveSearchIconRightIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textFieldActiveSearchIconRightInt'); + }); + } + + QueryBuilder + textFieldActiveTextIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textFieldActiveTextInt'); + }); + } + + QueryBuilder + textFieldDefaultBGIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textFieldDefaultBGInt'); + }); + } + + QueryBuilder + textFieldDefaultSearchIconLeftIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textFieldDefaultSearchIconLeftInt'); + }); + } + + QueryBuilder + textFieldDefaultSearchIconRightIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textFieldDefaultSearchIconRightInt'); + }); + } + + QueryBuilder + textFieldDefaultTextIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textFieldDefaultTextInt'); + }); + } + + QueryBuilder + textFieldErrorBGIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textFieldErrorBGInt'); + }); + } + + QueryBuilder + textFieldErrorBorderIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textFieldErrorBorderInt'); + }); + } + + QueryBuilder + textFieldErrorLabelIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textFieldErrorLabelInt'); + }); + } + + QueryBuilder + textFieldErrorSearchIconLeftIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textFieldErrorSearchIconLeftInt'); + }); + } + + QueryBuilder + textFieldErrorSearchIconRightIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textFieldErrorSearchIconRightInt'); + }); + } + + QueryBuilder + textFieldErrorTextIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textFieldErrorTextInt'); + }); + } + + QueryBuilder + textFieldSuccessBGIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textFieldSuccessBGInt'); + }); + } + + QueryBuilder + textFieldSuccessBorderIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textFieldSuccessBorderInt'); + }); + } + + QueryBuilder + textFieldSuccessLabelIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textFieldSuccessLabelInt'); + }); + } + + QueryBuilder + textFieldSuccessSearchIconLeftIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textFieldSuccessSearchIconLeftInt'); + }); + } + + QueryBuilder + textFieldSuccessSearchIconRightIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textFieldSuccessSearchIconRightInt'); + }); + } + + QueryBuilder + textFieldSuccessTextIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textFieldSuccessTextInt'); + }); + } + + QueryBuilder textRestoreIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textRestoreInt'); + }); + } + + QueryBuilder + textSelectedWordTableItemIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textSelectedWordTableItemInt'); + }); + } + + QueryBuilder textSubtitle1IntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textSubtitle1Int'); + }); + } + + QueryBuilder textSubtitle2IntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textSubtitle2Int'); + }); + } + + QueryBuilder textSubtitle3IntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textSubtitle3Int'); + }); + } + + QueryBuilder textSubtitle4IntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textSubtitle4Int'); + }); + } + + QueryBuilder textSubtitle5IntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textSubtitle5Int'); + }); + } + + QueryBuilder textSubtitle6IntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textSubtitle6Int'); + }); + } + + QueryBuilder textWhiteIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'textWhiteInt'); + }); + } + + QueryBuilder themeIdProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'themeId'); + }); + } + + QueryBuilder tokenSummaryBGIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'tokenSummaryBGInt'); + }); + } + + QueryBuilder + tokenSummaryButtonBGIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'tokenSummaryButtonBGInt'); + }); + } + + QueryBuilder + tokenSummaryIconIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'tokenSummaryIconInt'); + }); + } + + QueryBuilder + tokenSummaryTextPrimaryIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'tokenSummaryTextPrimaryInt'); + }); + } + + QueryBuilder + tokenSummaryTextSecondaryIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'tokenSummaryTextSecondaryInt'); + }); + } + + QueryBuilder topNavIconGreenIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'topNavIconGreenInt'); + }); + } + + QueryBuilder + topNavIconPrimaryIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'topNavIconPrimaryInt'); + }); + } + + QueryBuilder topNavIconRedIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'topNavIconRedInt'); + }); + } + + QueryBuilder + topNavIconYellowIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'topNavIconYellowInt'); + }); + } + + QueryBuilder + warningBackgroundIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'warningBackgroundInt'); + }); + } + + QueryBuilder + warningForegroundIntProperty() { + return QueryBuilder.apply(this, (query) { + return query.addPropertyName(r'warningForegroundInt'); + }); + } +} + +// ************************************************************************** +// IsarEmbeddedGenerator +// ************************************************************************** + +// coverage:ignore-file +// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters + +const ThemeAssetsSchema = Schema( + name: r'ThemeAssets', + id: -4567972595101029828, + properties: { + r'background': PropertySchema( + id: 0, + name: r'background', + type: IsarType.string, + ), + r'bellNew': PropertySchema( + id: 1, + name: r'bellNew', + type: IsarType.string, + ), + r'bitcoin': PropertySchema( + id: 2, + name: r'bitcoin', + type: IsarType.string, + ), + r'bitcoinImage': PropertySchema( + id: 3, + name: r'bitcoinImage', + type: IsarType.string, + ), + r'bitcoinImageSecondary': PropertySchema( + id: 4, + name: r'bitcoinImageSecondary', + type: IsarType.string, + ), + r'bitcoincash': PropertySchema( + id: 5, + name: r'bitcoincash', + type: IsarType.string, + ), + r'bitcoincashImage': PropertySchema( + id: 6, + name: r'bitcoincashImage', + type: IsarType.string, + ), + r'bitcoincashImageSecondary': PropertySchema( + id: 7, + name: r'bitcoincashImageSecondary', + type: IsarType.string, + ), + r'buy': PropertySchema( + id: 8, + name: r'buy', + type: IsarType.string, + ), + r'dogecoin': PropertySchema( + id: 9, + name: r'dogecoin', + type: IsarType.string, + ), + r'dogecoinImage': PropertySchema( + id: 10, + name: r'dogecoinImage', + type: IsarType.string, + ), + r'dogecoinImageSecondary': PropertySchema( + id: 11, + name: r'dogecoinImageSecondary', + type: IsarType.string, + ), + r'epicCash': PropertySchema( + id: 12, + name: r'epicCash', + type: IsarType.string, + ), + r'epicCashImage': PropertySchema( + id: 13, + name: r'epicCashImage', + type: IsarType.string, + ), + r'epicCashImageSecondary': PropertySchema( + id: 14, + name: r'epicCashImageSecondary', + type: IsarType.string, + ), + r'ethereum': PropertySchema( + id: 15, + name: r'ethereum', + type: IsarType.string, + ), + r'ethereumImage': PropertySchema( + id: 16, + name: r'ethereumImage', + type: IsarType.string, + ), + r'ethereumImageSecondary': PropertySchema( + id: 17, + name: r'ethereumImageSecondary', + type: IsarType.string, + ), + r'exchange': PropertySchema( + id: 18, + name: r'exchange', + type: IsarType.string, + ), + r'firo': PropertySchema( + id: 19, + name: r'firo', + type: IsarType.string, + ), + r'firoImage': PropertySchema( + id: 20, + name: r'firoImage', + type: IsarType.string, + ), + r'firoImageSecondary': PropertySchema( + id: 21, + name: r'firoImageSecondary', + type: IsarType.string, + ), + r'litecoin': PropertySchema( + id: 22, + name: r'litecoin', + type: IsarType.string, + ), + r'litecoinImage': PropertySchema( + id: 23, + name: r'litecoinImage', + type: IsarType.string, + ), + r'litecoinImageSecondary': PropertySchema( + id: 24, + name: r'litecoinImageSecondary', + type: IsarType.string, + ), + r'loadingGif': PropertySchema( + id: 25, + name: r'loadingGif', + type: IsarType.string, + ), + r'monero': PropertySchema( + id: 26, + name: r'monero', + type: IsarType.string, + ), + r'moneroImage': PropertySchema( + id: 27, + name: r'moneroImage', + type: IsarType.string, + ), + r'moneroImageSecondary': PropertySchema( + id: 28, + name: r'moneroImageSecondary', + type: IsarType.string, + ), + r'namecoin': PropertySchema( + id: 29, + name: r'namecoin', + type: IsarType.string, + ), + r'namecoinImage': PropertySchema( + id: 30, + name: r'namecoinImage', + type: IsarType.string, + ), + r'namecoinImageSecondary': PropertySchema( + id: 31, + name: r'namecoinImageSecondary', + type: IsarType.string, + ), + r'particl': PropertySchema( + id: 32, + name: r'particl', + type: IsarType.string, + ), + r'particlImage': PropertySchema( + id: 33, + name: r'particlImage', + type: IsarType.string, + ), + r'particlImageSecondary': PropertySchema( + id: 34, + name: r'particlImageSecondary', + type: IsarType.string, + ), + r'personaEasy': PropertySchema( + id: 35, + name: r'personaEasy', + type: IsarType.string, + ), + r'personaIncognito': PropertySchema( + id: 36, + name: r'personaIncognito', + type: IsarType.string, + ), + r'receive': PropertySchema( + id: 37, + name: r'receive', + type: IsarType.string, + ), + r'receiveCancelled': PropertySchema( + id: 38, + name: r'receiveCancelled', + type: IsarType.string, + ), + r'receivePending': PropertySchema( + id: 39, + name: r'receivePending', + type: IsarType.string, + ), + r'send': PropertySchema( + id: 40, + name: r'send', + type: IsarType.string, + ), + r'sendCancelled': PropertySchema( + id: 41, + name: r'sendCancelled', + type: IsarType.string, + ), + r'sendPending': PropertySchema( + id: 42, + name: r'sendPending', + type: IsarType.string, + ), + r'stack': PropertySchema( + id: 43, + name: r'stack', + type: IsarType.string, + ), + r'stackIcon': PropertySchema( + id: 44, + name: r'stackIcon', + type: IsarType.string, + ), + r'themePreview': PropertySchema( + id: 45, + name: r'themePreview', + type: IsarType.string, + ), + r'themeSelector': PropertySchema( + id: 46, + name: r'themeSelector', + type: IsarType.string, + ), + r'txExchange': PropertySchema( + id: 47, + name: r'txExchange', + type: IsarType.string, + ), + r'txExchangeFailed': PropertySchema( + id: 48, + name: r'txExchangeFailed', + type: IsarType.string, + ), + r'txExchangePending': PropertySchema( + id: 49, + name: r'txExchangePending', + type: IsarType.string, + ), + r'wownero': PropertySchema( + id: 50, + name: r'wownero', + type: IsarType.string, + ), + r'wowneroImage': PropertySchema( + id: 51, + name: r'wowneroImage', + type: IsarType.string, + ), + r'wowneroImageSecondary': PropertySchema( + id: 52, + name: r'wowneroImageSecondary', + type: IsarType.string, + ) + }, + estimateSize: _themeAssetsEstimateSize, + serialize: _themeAssetsSerialize, + deserialize: _themeAssetsDeserialize, + deserializeProp: _themeAssetsDeserializeProp, +); + +int _themeAssetsEstimateSize( + ThemeAssets object, + List offsets, + Map> allOffsets, +) { + var bytesCount = offsets.last; + { + final value = object.background; + if (value != null) { + bytesCount += 3 + value.length * 3; + } + } + bytesCount += 3 + object.bellNew.length * 3; + bytesCount += 3 + object.bitcoin.length * 3; + bytesCount += 3 + object.bitcoinImage.length * 3; + bytesCount += 3 + object.bitcoinImageSecondary.length * 3; + bytesCount += 3 + object.bitcoincash.length * 3; + bytesCount += 3 + object.bitcoincashImage.length * 3; + bytesCount += 3 + object.bitcoincashImageSecondary.length * 3; + bytesCount += 3 + object.buy.length * 3; + bytesCount += 3 + object.dogecoin.length * 3; + bytesCount += 3 + object.dogecoinImage.length * 3; + bytesCount += 3 + object.dogecoinImageSecondary.length * 3; + bytesCount += 3 + object.epicCash.length * 3; + bytesCount += 3 + object.epicCashImage.length * 3; + bytesCount += 3 + object.epicCashImageSecondary.length * 3; + bytesCount += 3 + object.ethereum.length * 3; + bytesCount += 3 + object.ethereumImage.length * 3; + bytesCount += 3 + object.ethereumImageSecondary.length * 3; + bytesCount += 3 + object.exchange.length * 3; + bytesCount += 3 + object.firo.length * 3; + bytesCount += 3 + object.firoImage.length * 3; + bytesCount += 3 + object.firoImageSecondary.length * 3; + bytesCount += 3 + object.litecoin.length * 3; + bytesCount += 3 + object.litecoinImage.length * 3; + bytesCount += 3 + object.litecoinImageSecondary.length * 3; + { + final value = object.loadingGif; + if (value != null) { + bytesCount += 3 + value.length * 3; + } + } + bytesCount += 3 + object.monero.length * 3; + bytesCount += 3 + object.moneroImage.length * 3; + bytesCount += 3 + object.moneroImageSecondary.length * 3; + bytesCount += 3 + object.namecoin.length * 3; + bytesCount += 3 + object.namecoinImage.length * 3; + bytesCount += 3 + object.namecoinImageSecondary.length * 3; + bytesCount += 3 + object.particl.length * 3; + bytesCount += 3 + object.particlImage.length * 3; + bytesCount += 3 + object.particlImageSecondary.length * 3; + bytesCount += 3 + object.personaEasy.length * 3; + bytesCount += 3 + object.personaIncognito.length * 3; + bytesCount += 3 + object.receive.length * 3; + bytesCount += 3 + object.receiveCancelled.length * 3; + bytesCount += 3 + object.receivePending.length * 3; + bytesCount += 3 + object.send.length * 3; + bytesCount += 3 + object.sendCancelled.length * 3; + bytesCount += 3 + object.sendPending.length * 3; + bytesCount += 3 + object.stack.length * 3; + bytesCount += 3 + object.stackIcon.length * 3; + bytesCount += 3 + object.themePreview.length * 3; + bytesCount += 3 + object.themeSelector.length * 3; + bytesCount += 3 + object.txExchange.length * 3; + bytesCount += 3 + object.txExchangeFailed.length * 3; + bytesCount += 3 + object.txExchangePending.length * 3; + bytesCount += 3 + object.wownero.length * 3; + bytesCount += 3 + object.wowneroImage.length * 3; + bytesCount += 3 + object.wowneroImageSecondary.length * 3; + return bytesCount; +} + +void _themeAssetsSerialize( + ThemeAssets object, + IsarWriter writer, + List offsets, + Map> allOffsets, +) { + writer.writeString(offsets[0], object.background); + writer.writeString(offsets[1], object.bellNew); + writer.writeString(offsets[2], object.bitcoin); + writer.writeString(offsets[3], object.bitcoinImage); + writer.writeString(offsets[4], object.bitcoinImageSecondary); + writer.writeString(offsets[5], object.bitcoincash); + writer.writeString(offsets[6], object.bitcoincashImage); + writer.writeString(offsets[7], object.bitcoincashImageSecondary); + writer.writeString(offsets[8], object.buy); + writer.writeString(offsets[9], object.dogecoin); + writer.writeString(offsets[10], object.dogecoinImage); + writer.writeString(offsets[11], object.dogecoinImageSecondary); + writer.writeString(offsets[12], object.epicCash); + writer.writeString(offsets[13], object.epicCashImage); + writer.writeString(offsets[14], object.epicCashImageSecondary); + writer.writeString(offsets[15], object.ethereum); + writer.writeString(offsets[16], object.ethereumImage); + writer.writeString(offsets[17], object.ethereumImageSecondary); + writer.writeString(offsets[18], object.exchange); + writer.writeString(offsets[19], object.firo); + writer.writeString(offsets[20], object.firoImage); + writer.writeString(offsets[21], object.firoImageSecondary); + writer.writeString(offsets[22], object.litecoin); + writer.writeString(offsets[23], object.litecoinImage); + writer.writeString(offsets[24], object.litecoinImageSecondary); + writer.writeString(offsets[25], object.loadingGif); + writer.writeString(offsets[26], object.monero); + writer.writeString(offsets[27], object.moneroImage); + writer.writeString(offsets[28], object.moneroImageSecondary); + writer.writeString(offsets[29], object.namecoin); + writer.writeString(offsets[30], object.namecoinImage); + writer.writeString(offsets[31], object.namecoinImageSecondary); + writer.writeString(offsets[32], object.particl); + writer.writeString(offsets[33], object.particlImage); + writer.writeString(offsets[34], object.particlImageSecondary); + writer.writeString(offsets[35], object.personaEasy); + writer.writeString(offsets[36], object.personaIncognito); + writer.writeString(offsets[37], object.receive); + writer.writeString(offsets[38], object.receiveCancelled); + writer.writeString(offsets[39], object.receivePending); + writer.writeString(offsets[40], object.send); + writer.writeString(offsets[41], object.sendCancelled); + writer.writeString(offsets[42], object.sendPending); + writer.writeString(offsets[43], object.stack); + writer.writeString(offsets[44], object.stackIcon); + writer.writeString(offsets[45], object.themePreview); + writer.writeString(offsets[46], object.themeSelector); + writer.writeString(offsets[47], object.txExchange); + writer.writeString(offsets[48], object.txExchangeFailed); + writer.writeString(offsets[49], object.txExchangePending); + writer.writeString(offsets[50], object.wownero); + writer.writeString(offsets[51], object.wowneroImage); + writer.writeString(offsets[52], object.wowneroImageSecondary); +} + +ThemeAssets _themeAssetsDeserialize( + Id id, + IsarReader reader, + List offsets, + Map> allOffsets, +) { + final object = ThemeAssets(); + object.background = reader.readStringOrNull(offsets[0]); + object.bellNew = reader.readString(offsets[1]); + object.bitcoin = reader.readString(offsets[2]); + object.bitcoinImage = reader.readString(offsets[3]); + object.bitcoinImageSecondary = reader.readString(offsets[4]); + object.bitcoincash = reader.readString(offsets[5]); + object.bitcoincashImage = reader.readString(offsets[6]); + object.bitcoincashImageSecondary = reader.readString(offsets[7]); + object.buy = reader.readString(offsets[8]); + object.dogecoin = reader.readString(offsets[9]); + object.dogecoinImage = reader.readString(offsets[10]); + object.dogecoinImageSecondary = reader.readString(offsets[11]); + object.epicCash = reader.readString(offsets[12]); + object.epicCashImage = reader.readString(offsets[13]); + object.epicCashImageSecondary = reader.readString(offsets[14]); + object.ethereum = reader.readString(offsets[15]); + object.ethereumImage = reader.readString(offsets[16]); + object.ethereumImageSecondary = reader.readString(offsets[17]); + object.exchange = reader.readString(offsets[18]); + object.firo = reader.readString(offsets[19]); + object.firoImage = reader.readString(offsets[20]); + object.firoImageSecondary = reader.readString(offsets[21]); + object.litecoin = reader.readString(offsets[22]); + object.litecoinImage = reader.readString(offsets[23]); + object.litecoinImageSecondary = reader.readString(offsets[24]); + object.loadingGif = reader.readStringOrNull(offsets[25]); + object.monero = reader.readString(offsets[26]); + object.moneroImage = reader.readString(offsets[27]); + object.moneroImageSecondary = reader.readString(offsets[28]); + object.namecoin = reader.readString(offsets[29]); + object.namecoinImage = reader.readString(offsets[30]); + object.namecoinImageSecondary = reader.readString(offsets[31]); + object.particl = reader.readString(offsets[32]); + object.particlImage = reader.readString(offsets[33]); + object.particlImageSecondary = reader.readString(offsets[34]); + object.personaEasy = reader.readString(offsets[35]); + object.personaIncognito = reader.readString(offsets[36]); + object.receive = reader.readString(offsets[37]); + object.receiveCancelled = reader.readString(offsets[38]); + object.receivePending = reader.readString(offsets[39]); + object.send = reader.readString(offsets[40]); + object.sendCancelled = reader.readString(offsets[41]); + object.sendPending = reader.readString(offsets[42]); + object.stack = reader.readString(offsets[43]); + object.stackIcon = reader.readString(offsets[44]); + object.themePreview = reader.readString(offsets[45]); + object.themeSelector = reader.readString(offsets[46]); + object.txExchange = reader.readString(offsets[47]); + object.txExchangeFailed = reader.readString(offsets[48]); + object.txExchangePending = reader.readString(offsets[49]); + object.wownero = reader.readString(offsets[50]); + object.wowneroImage = reader.readString(offsets[51]); + object.wowneroImageSecondary = reader.readString(offsets[52]); + return object; +} + +P _themeAssetsDeserializeProp

( + IsarReader reader, + int propertyId, + int offset, + Map> allOffsets, +) { + switch (propertyId) { + case 0: + return (reader.readStringOrNull(offset)) as P; + case 1: + return (reader.readString(offset)) as P; + case 2: + return (reader.readString(offset)) as P; + case 3: + return (reader.readString(offset)) as P; + case 4: + return (reader.readString(offset)) as P; + case 5: + return (reader.readString(offset)) as P; + case 6: + return (reader.readString(offset)) as P; + case 7: + return (reader.readString(offset)) as P; + case 8: + return (reader.readString(offset)) as P; + case 9: + return (reader.readString(offset)) as P; + case 10: + return (reader.readString(offset)) as P; + case 11: + return (reader.readString(offset)) as P; + case 12: + return (reader.readString(offset)) as P; + case 13: + return (reader.readString(offset)) as P; + case 14: + return (reader.readString(offset)) as P; + case 15: + return (reader.readString(offset)) as P; + case 16: + return (reader.readString(offset)) as P; + case 17: + return (reader.readString(offset)) as P; + case 18: + return (reader.readString(offset)) as P; + case 19: + return (reader.readString(offset)) as P; + case 20: + return (reader.readString(offset)) as P; + case 21: + return (reader.readString(offset)) as P; + case 22: + return (reader.readString(offset)) as P; + case 23: + return (reader.readString(offset)) as P; + case 24: + return (reader.readString(offset)) as P; + case 25: + return (reader.readStringOrNull(offset)) as P; + case 26: + return (reader.readString(offset)) as P; + case 27: + return (reader.readString(offset)) as P; + case 28: + return (reader.readString(offset)) as P; + case 29: + return (reader.readString(offset)) as P; + case 30: + return (reader.readString(offset)) as P; + case 31: + return (reader.readString(offset)) as P; + case 32: + return (reader.readString(offset)) as P; + case 33: + return (reader.readString(offset)) as P; + case 34: + return (reader.readString(offset)) as P; + case 35: + return (reader.readString(offset)) as P; + case 36: + return (reader.readString(offset)) as P; + case 37: + return (reader.readString(offset)) as P; + case 38: + return (reader.readString(offset)) as P; + case 39: + return (reader.readString(offset)) as P; + case 40: + return (reader.readString(offset)) as P; + case 41: + return (reader.readString(offset)) as P; + case 42: + return (reader.readString(offset)) as P; + case 43: + return (reader.readString(offset)) as P; + case 44: + return (reader.readString(offset)) as P; + case 45: + return (reader.readString(offset)) as P; + case 46: + return (reader.readString(offset)) as P; + case 47: + return (reader.readString(offset)) as P; + case 48: + return (reader.readString(offset)) as P; + case 49: + return (reader.readString(offset)) as P; + case 50: + return (reader.readString(offset)) as P; + case 51: + return (reader.readString(offset)) as P; + case 52: + return (reader.readString(offset)) as P; + default: + throw IsarError('Unknown property with id $propertyId'); + } +} + +extension ThemeAssetsQueryFilter + on QueryBuilder { + QueryBuilder + backgroundIsNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNull( + property: r'background', + )); + }); + } + + QueryBuilder + backgroundIsNotNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNotNull( + property: r'background', + )); + }); + } + + QueryBuilder + backgroundEqualTo( + String? value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'background', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + backgroundGreaterThan( + String? value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'background', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + backgroundLessThan( + String? value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'background', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + backgroundBetween( + String? lower, + String? upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'background', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + backgroundStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'background', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + backgroundEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'background', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + backgroundContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'background', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + backgroundMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'background', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + backgroundIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'background', + value: '', + )); + }); + } + + QueryBuilder + backgroundIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'background', + value: '', + )); + }); + } + + QueryBuilder bellNewEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'bellNew', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bellNewGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'bellNew', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder bellNewLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'bellNew', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder bellNewBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'bellNew', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bellNewStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'bellNew', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder bellNewEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'bellNew', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder bellNewContains( + String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'bellNew', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder bellNewMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'bellNew', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bellNewIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'bellNew', + value: '', + )); + }); + } + + QueryBuilder + bellNewIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'bellNew', + value: '', + )); + }); + } + + QueryBuilder bitcoinEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'bitcoin', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoinGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'bitcoin', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder bitcoinLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'bitcoin', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder bitcoinBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'bitcoin', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoinStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'bitcoin', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder bitcoinEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'bitcoin', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder bitcoinContains( + String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'bitcoin', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder bitcoinMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'bitcoin', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoinIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'bitcoin', + value: '', + )); + }); + } + + QueryBuilder + bitcoinIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'bitcoin', + value: '', + )); + }); + } + + QueryBuilder + bitcoinImageEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'bitcoinImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoinImageGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'bitcoinImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoinImageLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'bitcoinImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoinImageBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'bitcoinImage', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoinImageStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'bitcoinImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoinImageEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'bitcoinImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoinImageContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'bitcoinImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoinImageMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'bitcoinImage', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoinImageIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'bitcoinImage', + value: '', + )); + }); + } + + QueryBuilder + bitcoinImageIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'bitcoinImage', + value: '', + )); + }); + } + + QueryBuilder + bitcoinImageSecondaryEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'bitcoinImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoinImageSecondaryGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'bitcoinImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoinImageSecondaryLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'bitcoinImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoinImageSecondaryBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'bitcoinImageSecondary', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoinImageSecondaryStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'bitcoinImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoinImageSecondaryEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'bitcoinImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoinImageSecondaryContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'bitcoinImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoinImageSecondaryMatches(String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'bitcoinImageSecondary', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoinImageSecondaryIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'bitcoinImageSecondary', + value: '', + )); + }); + } + + QueryBuilder + bitcoinImageSecondaryIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'bitcoinImageSecondary', + value: '', + )); + }); + } + + QueryBuilder + bitcoincashEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'bitcoincash', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoincashGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'bitcoincash', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoincashLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'bitcoincash', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoincashBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'bitcoincash', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoincashStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'bitcoincash', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoincashEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'bitcoincash', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoincashContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'bitcoincash', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoincashMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'bitcoincash', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoincashIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'bitcoincash', + value: '', + )); + }); + } + + QueryBuilder + bitcoincashIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'bitcoincash', + value: '', + )); + }); + } + + QueryBuilder + bitcoincashImageEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'bitcoincashImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoincashImageGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'bitcoincashImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoincashImageLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'bitcoincashImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoincashImageBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'bitcoincashImage', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoincashImageStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'bitcoincashImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoincashImageEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'bitcoincashImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoincashImageContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'bitcoincashImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoincashImageMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'bitcoincashImage', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoincashImageIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'bitcoincashImage', + value: '', + )); + }); + } + + QueryBuilder + bitcoincashImageIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'bitcoincashImage', + value: '', + )); + }); + } + + QueryBuilder + bitcoincashImageSecondaryEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'bitcoincashImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoincashImageSecondaryGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'bitcoincashImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoincashImageSecondaryLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'bitcoincashImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoincashImageSecondaryBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'bitcoincashImageSecondary', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoincashImageSecondaryStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'bitcoincashImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoincashImageSecondaryEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'bitcoincashImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoincashImageSecondaryContains(String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'bitcoincashImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoincashImageSecondaryMatches(String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'bitcoincashImageSecondary', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + bitcoincashImageSecondaryIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'bitcoincashImageSecondary', + value: '', + )); + }); + } + + QueryBuilder + bitcoincashImageSecondaryIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'bitcoincashImageSecondary', + value: '', + )); + }); + } + + QueryBuilder buyEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'buy', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder buyGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'buy', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder buyLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'buy', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder buyBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'buy', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder buyStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'buy', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder buyEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'buy', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder buyContains( + String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'buy', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder buyMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'buy', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder buyIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'buy', + value: '', + )); + }); + } + + QueryBuilder + buyIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'buy', + value: '', + )); + }); + } + + QueryBuilder dogecoinEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'dogecoin', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + dogecoinGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'dogecoin', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + dogecoinLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'dogecoin', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder dogecoinBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'dogecoin', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + dogecoinStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'dogecoin', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + dogecoinEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'dogecoin', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + dogecoinContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'dogecoin', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder dogecoinMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'dogecoin', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + dogecoinIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'dogecoin', + value: '', + )); + }); + } + + QueryBuilder + dogecoinIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'dogecoin', + value: '', + )); + }); + } + + QueryBuilder + dogecoinImageEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'dogecoinImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + dogecoinImageGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'dogecoinImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + dogecoinImageLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'dogecoinImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + dogecoinImageBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'dogecoinImage', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + dogecoinImageStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'dogecoinImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + dogecoinImageEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'dogecoinImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + dogecoinImageContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'dogecoinImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + dogecoinImageMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'dogecoinImage', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + dogecoinImageIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'dogecoinImage', + value: '', + )); + }); + } + + QueryBuilder + dogecoinImageIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'dogecoinImage', + value: '', + )); + }); + } + + QueryBuilder + dogecoinImageSecondaryEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'dogecoinImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + dogecoinImageSecondaryGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'dogecoinImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + dogecoinImageSecondaryLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'dogecoinImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + dogecoinImageSecondaryBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'dogecoinImageSecondary', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + dogecoinImageSecondaryStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'dogecoinImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + dogecoinImageSecondaryEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'dogecoinImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + dogecoinImageSecondaryContains(String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'dogecoinImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + dogecoinImageSecondaryMatches(String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'dogecoinImageSecondary', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + dogecoinImageSecondaryIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'dogecoinImageSecondary', + value: '', + )); + }); + } + + QueryBuilder + dogecoinImageSecondaryIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'dogecoinImageSecondary', + value: '', + )); + }); + } + + QueryBuilder epicCashEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'epicCash', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + epicCashGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'epicCash', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + epicCashLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'epicCash', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder epicCashBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'epicCash', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + epicCashStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'epicCash', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + epicCashEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'epicCash', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + epicCashContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'epicCash', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder epicCashMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'epicCash', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + epicCashIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'epicCash', + value: '', + )); + }); + } + + QueryBuilder + epicCashIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'epicCash', + value: '', + )); + }); + } + + QueryBuilder + epicCashImageEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'epicCashImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + epicCashImageGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'epicCashImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + epicCashImageLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'epicCashImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + epicCashImageBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'epicCashImage', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + epicCashImageStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'epicCashImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + epicCashImageEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'epicCashImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + epicCashImageContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'epicCashImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + epicCashImageMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'epicCashImage', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + epicCashImageIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'epicCashImage', + value: '', + )); + }); + } + + QueryBuilder + epicCashImageIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'epicCashImage', + value: '', + )); + }); + } + + QueryBuilder + epicCashImageSecondaryEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'epicCashImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + epicCashImageSecondaryGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'epicCashImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + epicCashImageSecondaryLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'epicCashImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + epicCashImageSecondaryBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'epicCashImageSecondary', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + epicCashImageSecondaryStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'epicCashImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + epicCashImageSecondaryEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'epicCashImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + epicCashImageSecondaryContains(String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'epicCashImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + epicCashImageSecondaryMatches(String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'epicCashImageSecondary', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + epicCashImageSecondaryIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'epicCashImageSecondary', + value: '', + )); + }); + } + + QueryBuilder + epicCashImageSecondaryIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'epicCashImageSecondary', + value: '', + )); + }); + } + + QueryBuilder ethereumEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'ethereum', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + ethereumGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'ethereum', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + ethereumLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'ethereum', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder ethereumBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'ethereum', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + ethereumStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'ethereum', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + ethereumEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'ethereum', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + ethereumContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'ethereum', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder ethereumMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'ethereum', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + ethereumIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'ethereum', + value: '', + )); + }); + } + + QueryBuilder + ethereumIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'ethereum', + value: '', + )); + }); + } + + QueryBuilder + ethereumImageEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'ethereumImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + ethereumImageGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'ethereumImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + ethereumImageLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'ethereumImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + ethereumImageBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'ethereumImage', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + ethereumImageStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'ethereumImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + ethereumImageEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'ethereumImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + ethereumImageContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'ethereumImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + ethereumImageMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'ethereumImage', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + ethereumImageIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'ethereumImage', + value: '', + )); + }); + } + + QueryBuilder + ethereumImageIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'ethereumImage', + value: '', + )); + }); + } + + QueryBuilder + ethereumImageSecondaryEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'ethereumImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + ethereumImageSecondaryGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'ethereumImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + ethereumImageSecondaryLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'ethereumImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + ethereumImageSecondaryBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'ethereumImageSecondary', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + ethereumImageSecondaryStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'ethereumImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + ethereumImageSecondaryEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'ethereumImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + ethereumImageSecondaryContains(String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'ethereumImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + ethereumImageSecondaryMatches(String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'ethereumImageSecondary', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + ethereumImageSecondaryIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'ethereumImageSecondary', + value: '', + )); + }); + } + + QueryBuilder + ethereumImageSecondaryIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'ethereumImageSecondary', + value: '', + )); + }); + } + + QueryBuilder exchangeEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'exchange', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + exchangeGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'exchange', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + exchangeLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'exchange', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder exchangeBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'exchange', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + exchangeStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'exchange', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + exchangeEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'exchange', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + exchangeContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'exchange', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder exchangeMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'exchange', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + exchangeIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'exchange', + value: '', + )); + }); + } + + QueryBuilder + exchangeIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'exchange', + value: '', + )); + }); + } + + QueryBuilder firoEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'firo', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder firoGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'firo', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder firoLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'firo', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder firoBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'firo', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder firoStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'firo', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder firoEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'firo', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder firoContains( + String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'firo', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder firoMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'firo', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder firoIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'firo', + value: '', + )); + }); + } + + QueryBuilder + firoIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'firo', + value: '', + )); + }); + } + + QueryBuilder + firoImageEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'firoImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + firoImageGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'firoImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + firoImageLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'firoImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + firoImageBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'firoImage', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + firoImageStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'firoImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + firoImageEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'firoImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + firoImageContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'firoImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + firoImageMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'firoImage', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + firoImageIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'firoImage', + value: '', + )); + }); + } + + QueryBuilder + firoImageIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'firoImage', + value: '', + )); + }); + } + + QueryBuilder + firoImageSecondaryEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'firoImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + firoImageSecondaryGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'firoImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + firoImageSecondaryLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'firoImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + firoImageSecondaryBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'firoImageSecondary', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + firoImageSecondaryStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'firoImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + firoImageSecondaryEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'firoImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + firoImageSecondaryContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'firoImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + firoImageSecondaryMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'firoImageSecondary', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + firoImageSecondaryIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'firoImageSecondary', + value: '', + )); + }); + } + + QueryBuilder + firoImageSecondaryIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'firoImageSecondary', + value: '', + )); + }); + } + + QueryBuilder litecoinEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'litecoin', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + litecoinGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'litecoin', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + litecoinLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'litecoin', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder litecoinBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'litecoin', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + litecoinStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'litecoin', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + litecoinEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'litecoin', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + litecoinContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'litecoin', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder litecoinMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'litecoin', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + litecoinIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'litecoin', + value: '', + )); + }); + } + + QueryBuilder + litecoinIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'litecoin', + value: '', + )); + }); + } + + QueryBuilder + litecoinImageEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'litecoinImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + litecoinImageGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'litecoinImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + litecoinImageLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'litecoinImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + litecoinImageBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'litecoinImage', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + litecoinImageStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'litecoinImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + litecoinImageEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'litecoinImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + litecoinImageContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'litecoinImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + litecoinImageMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'litecoinImage', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + litecoinImageIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'litecoinImage', + value: '', + )); + }); + } + + QueryBuilder + litecoinImageIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'litecoinImage', + value: '', + )); + }); + } + + QueryBuilder + litecoinImageSecondaryEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'litecoinImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + litecoinImageSecondaryGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'litecoinImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + litecoinImageSecondaryLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'litecoinImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + litecoinImageSecondaryBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'litecoinImageSecondary', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + litecoinImageSecondaryStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'litecoinImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + litecoinImageSecondaryEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'litecoinImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + litecoinImageSecondaryContains(String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'litecoinImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + litecoinImageSecondaryMatches(String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'litecoinImageSecondary', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + litecoinImageSecondaryIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'litecoinImageSecondary', + value: '', + )); + }); + } + + QueryBuilder + litecoinImageSecondaryIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'litecoinImageSecondary', + value: '', + )); + }); + } + + QueryBuilder + loadingGifIsNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNull( + property: r'loadingGif', + )); + }); + } + + QueryBuilder + loadingGifIsNotNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNotNull( + property: r'loadingGif', + )); + }); + } + + QueryBuilder + loadingGifEqualTo( + String? value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'loadingGif', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + loadingGifGreaterThan( + String? value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'loadingGif', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + loadingGifLessThan( + String? value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'loadingGif', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + loadingGifBetween( + String? lower, + String? upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'loadingGif', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + loadingGifStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'loadingGif', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + loadingGifEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'loadingGif', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + loadingGifContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'loadingGif', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + loadingGifMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'loadingGif', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + loadingGifIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'loadingGif', + value: '', + )); + }); + } + + QueryBuilder + loadingGifIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'loadingGif', + value: '', + )); + }); + } + + QueryBuilder moneroEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'monero', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + moneroGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'monero', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder moneroLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'monero', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder moneroBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'monero', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + moneroStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'monero', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder moneroEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'monero', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder moneroContains( + String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'monero', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder moneroMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'monero', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + moneroIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'monero', + value: '', + )); + }); + } + + QueryBuilder + moneroIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'monero', + value: '', + )); + }); + } + + QueryBuilder + moneroImageEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'moneroImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + moneroImageGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'moneroImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + moneroImageLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'moneroImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + moneroImageBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'moneroImage', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + moneroImageStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'moneroImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + moneroImageEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'moneroImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + moneroImageContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'moneroImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + moneroImageMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'moneroImage', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + moneroImageIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'moneroImage', + value: '', + )); + }); + } + + QueryBuilder + moneroImageIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'moneroImage', + value: '', + )); + }); + } + + QueryBuilder + moneroImageSecondaryEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'moneroImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + moneroImageSecondaryGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'moneroImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + moneroImageSecondaryLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'moneroImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + moneroImageSecondaryBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'moneroImageSecondary', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + moneroImageSecondaryStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'moneroImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + moneroImageSecondaryEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'moneroImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + moneroImageSecondaryContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'moneroImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + moneroImageSecondaryMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'moneroImageSecondary', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + moneroImageSecondaryIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'moneroImageSecondary', + value: '', + )); + }); + } + + QueryBuilder + moneroImageSecondaryIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'moneroImageSecondary', + value: '', + )); + }); + } + + QueryBuilder namecoinEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'namecoin', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + namecoinGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'namecoin', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + namecoinLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'namecoin', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder namecoinBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'namecoin', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + namecoinStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'namecoin', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + namecoinEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'namecoin', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + namecoinContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'namecoin', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder namecoinMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'namecoin', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + namecoinIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'namecoin', + value: '', + )); + }); + } + + QueryBuilder + namecoinIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'namecoin', + value: '', + )); + }); + } + + QueryBuilder + namecoinImageEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'namecoinImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + namecoinImageGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'namecoinImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + namecoinImageLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'namecoinImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + namecoinImageBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'namecoinImage', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + namecoinImageStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'namecoinImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + namecoinImageEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'namecoinImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + namecoinImageContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'namecoinImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + namecoinImageMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'namecoinImage', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + namecoinImageIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'namecoinImage', + value: '', + )); + }); + } + + QueryBuilder + namecoinImageIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'namecoinImage', + value: '', + )); + }); + } + + QueryBuilder + namecoinImageSecondaryEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'namecoinImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + namecoinImageSecondaryGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'namecoinImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + namecoinImageSecondaryLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'namecoinImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + namecoinImageSecondaryBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'namecoinImageSecondary', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + namecoinImageSecondaryStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'namecoinImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + namecoinImageSecondaryEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'namecoinImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + namecoinImageSecondaryContains(String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'namecoinImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + namecoinImageSecondaryMatches(String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'namecoinImageSecondary', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + namecoinImageSecondaryIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'namecoinImageSecondary', + value: '', + )); + }); + } + + QueryBuilder + namecoinImageSecondaryIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'namecoinImageSecondary', + value: '', + )); + }); + } + + QueryBuilder particlEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'particl', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + particlGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'particl', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder particlLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'particl', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder particlBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'particl', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + particlStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'particl', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder particlEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'particl', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder particlContains( + String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'particl', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder particlMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'particl', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + particlIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'particl', + value: '', + )); + }); + } + + QueryBuilder + particlIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'particl', + value: '', + )); + }); + } + + QueryBuilder + particlImageEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'particlImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + particlImageGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'particlImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + particlImageLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'particlImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + particlImageBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'particlImage', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + particlImageStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'particlImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + particlImageEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'particlImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + particlImageContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'particlImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + particlImageMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'particlImage', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + particlImageIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'particlImage', + value: '', + )); + }); + } + + QueryBuilder + particlImageIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'particlImage', + value: '', + )); + }); + } + + QueryBuilder + particlImageSecondaryEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'particlImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + particlImageSecondaryGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'particlImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + particlImageSecondaryLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'particlImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + particlImageSecondaryBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'particlImageSecondary', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + particlImageSecondaryStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'particlImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + particlImageSecondaryEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'particlImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + particlImageSecondaryContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'particlImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + particlImageSecondaryMatches(String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'particlImageSecondary', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + particlImageSecondaryIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'particlImageSecondary', + value: '', + )); + }); + } + + QueryBuilder + particlImageSecondaryIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'particlImageSecondary', + value: '', + )); + }); + } + + QueryBuilder + personaEasyEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'personaEasy', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + personaEasyGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'personaEasy', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + personaEasyLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'personaEasy', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + personaEasyBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'personaEasy', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + personaEasyStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'personaEasy', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + personaEasyEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'personaEasy', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + personaEasyContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'personaEasy', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + personaEasyMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'personaEasy', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + personaEasyIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'personaEasy', + value: '', + )); + }); + } + + QueryBuilder + personaEasyIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'personaEasy', + value: '', + )); + }); + } + + QueryBuilder + personaIncognitoEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'personaIncognito', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + personaIncognitoGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'personaIncognito', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + personaIncognitoLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'personaIncognito', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + personaIncognitoBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'personaIncognito', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + personaIncognitoStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'personaIncognito', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + personaIncognitoEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'personaIncognito', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + personaIncognitoContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'personaIncognito', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + personaIncognitoMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'personaIncognito', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + personaIncognitoIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'personaIncognito', + value: '', + )); + }); + } + + QueryBuilder + personaIncognitoIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'personaIncognito', + value: '', + )); + }); + } + + QueryBuilder receiveEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'receive', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + receiveGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'receive', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder receiveLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'receive', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder receiveBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'receive', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + receiveStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'receive', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder receiveEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'receive', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder receiveContains( + String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'receive', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder receiveMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'receive', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + receiveIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'receive', + value: '', + )); + }); + } + + QueryBuilder + receiveIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'receive', + value: '', + )); + }); + } + + QueryBuilder + receiveCancelledEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'receiveCancelled', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + receiveCancelledGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'receiveCancelled', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + receiveCancelledLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'receiveCancelled', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + receiveCancelledBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'receiveCancelled', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + receiveCancelledStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'receiveCancelled', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + receiveCancelledEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'receiveCancelled', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + receiveCancelledContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'receiveCancelled', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + receiveCancelledMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'receiveCancelled', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + receiveCancelledIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'receiveCancelled', + value: '', + )); + }); + } + + QueryBuilder + receiveCancelledIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'receiveCancelled', + value: '', + )); + }); + } + + QueryBuilder + receivePendingEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'receivePending', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + receivePendingGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'receivePending', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + receivePendingLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'receivePending', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + receivePendingBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'receivePending', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + receivePendingStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'receivePending', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + receivePendingEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'receivePending', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + receivePendingContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'receivePending', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + receivePendingMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'receivePending', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + receivePendingIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'receivePending', + value: '', + )); + }); + } + + QueryBuilder + receivePendingIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'receivePending', + value: '', + )); + }); + } + + QueryBuilder sendEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'send', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder sendGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'send', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder sendLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'send', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder sendBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'send', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder sendStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'send', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder sendEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'send', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder sendContains( + String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'send', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder sendMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'send', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder sendIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'send', + value: '', + )); + }); + } + + QueryBuilder + sendIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'send', + value: '', + )); + }); + } + + QueryBuilder + sendCancelledEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'sendCancelled', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + sendCancelledGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'sendCancelled', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + sendCancelledLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'sendCancelled', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + sendCancelledBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'sendCancelled', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + sendCancelledStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'sendCancelled', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + sendCancelledEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'sendCancelled', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + sendCancelledContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'sendCancelled', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + sendCancelledMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'sendCancelled', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + sendCancelledIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'sendCancelled', + value: '', + )); + }); + } + + QueryBuilder + sendCancelledIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'sendCancelled', + value: '', + )); + }); + } + + QueryBuilder + sendPendingEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'sendPending', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + sendPendingGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'sendPending', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + sendPendingLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'sendPending', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + sendPendingBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'sendPending', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + sendPendingStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'sendPending', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + sendPendingEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'sendPending', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + sendPendingContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'sendPending', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + sendPendingMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'sendPending', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + sendPendingIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'sendPending', + value: '', + )); + }); + } + + QueryBuilder + sendPendingIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'sendPending', + value: '', + )); + }); + } + + QueryBuilder stackEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'stack', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + stackGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'stack', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder stackLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'stack', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder stackBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'stack', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder stackStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'stack', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder stackEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'stack', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder stackContains( + String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'stack', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder stackMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'stack', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder stackIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'stack', + value: '', + )); + }); + } + + QueryBuilder + stackIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'stack', + value: '', + )); + }); + } + + QueryBuilder + stackIconEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'stackIcon', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + stackIconGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'stackIcon', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + stackIconLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'stackIcon', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + stackIconBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'stackIcon', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + stackIconStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'stackIcon', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + stackIconEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'stackIcon', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + stackIconContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'stackIcon', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + stackIconMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'stackIcon', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + stackIconIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'stackIcon', + value: '', + )); + }); + } + + QueryBuilder + stackIconIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'stackIcon', + value: '', + )); + }); + } + + QueryBuilder + themePreviewEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'themePreview', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + themePreviewGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'themePreview', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + themePreviewLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'themePreview', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + themePreviewBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'themePreview', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + themePreviewStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'themePreview', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + themePreviewEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'themePreview', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + themePreviewContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'themePreview', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + themePreviewMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'themePreview', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + themePreviewIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'themePreview', + value: '', + )); + }); + } + + QueryBuilder + themePreviewIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'themePreview', + value: '', + )); + }); + } + + QueryBuilder + themeSelectorEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'themeSelector', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + themeSelectorGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'themeSelector', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + themeSelectorLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'themeSelector', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + themeSelectorBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'themeSelector', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + themeSelectorStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'themeSelector', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + themeSelectorEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'themeSelector', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + themeSelectorContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'themeSelector', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + themeSelectorMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'themeSelector', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + themeSelectorIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'themeSelector', + value: '', + )); + }); + } + + QueryBuilder + themeSelectorIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'themeSelector', + value: '', + )); + }); + } + + QueryBuilder + txExchangeEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'txExchange', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + txExchangeGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'txExchange', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + txExchangeLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'txExchange', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + txExchangeBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'txExchange', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + txExchangeStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'txExchange', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + txExchangeEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'txExchange', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + txExchangeContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'txExchange', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + txExchangeMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'txExchange', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + txExchangeIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'txExchange', + value: '', + )); + }); + } + + QueryBuilder + txExchangeIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'txExchange', + value: '', + )); + }); + } + + QueryBuilder + txExchangeFailedEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'txExchangeFailed', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + txExchangeFailedGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'txExchangeFailed', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + txExchangeFailedLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'txExchangeFailed', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + txExchangeFailedBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'txExchangeFailed', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + txExchangeFailedStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'txExchangeFailed', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + txExchangeFailedEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'txExchangeFailed', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + txExchangeFailedContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'txExchangeFailed', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + txExchangeFailedMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'txExchangeFailed', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + txExchangeFailedIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'txExchangeFailed', + value: '', + )); + }); + } + + QueryBuilder + txExchangeFailedIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'txExchangeFailed', + value: '', + )); + }); + } + + QueryBuilder + txExchangePendingEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'txExchangePending', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + txExchangePendingGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'txExchangePending', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + txExchangePendingLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'txExchangePending', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + txExchangePendingBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'txExchangePending', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + txExchangePendingStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'txExchangePending', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + txExchangePendingEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'txExchangePending', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + txExchangePendingContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'txExchangePending', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + txExchangePendingMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'txExchangePending', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + txExchangePendingIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'txExchangePending', + value: '', + )); + }); + } + + QueryBuilder + txExchangePendingIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'txExchangePending', + value: '', + )); + }); + } + + QueryBuilder wowneroEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'wownero', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + wowneroGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'wownero', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder wowneroLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'wownero', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder wowneroBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'wownero', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + wowneroStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'wownero', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder wowneroEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'wownero', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder wowneroContains( + String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'wownero', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder wowneroMatches( + String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'wownero', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + wowneroIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'wownero', + value: '', + )); + }); + } + + QueryBuilder + wowneroIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'wownero', + value: '', + )); + }); + } + + QueryBuilder + wowneroImageEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'wowneroImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + wowneroImageGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'wowneroImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + wowneroImageLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'wowneroImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + wowneroImageBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'wowneroImage', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + wowneroImageStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'wowneroImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + wowneroImageEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'wowneroImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + wowneroImageContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'wowneroImage', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + wowneroImageMatches(String pattern, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'wowneroImage', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + wowneroImageIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'wowneroImage', + value: '', + )); + }); + } + + QueryBuilder + wowneroImageIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'wowneroImage', + value: '', + )); + }); + } + + QueryBuilder + wowneroImageSecondaryEqualTo( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'wowneroImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + wowneroImageSecondaryGreaterThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + include: include, + property: r'wowneroImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + wowneroImageSecondaryLessThan( + String value, { + bool include = false, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.lessThan( + include: include, + property: r'wowneroImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + wowneroImageSecondaryBetween( + String lower, + String upper, { + bool includeLower = true, + bool includeUpper = true, + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.between( + property: r'wowneroImageSecondary', + lower: lower, + includeLower: includeLower, + upper: upper, + includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + wowneroImageSecondaryStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'wowneroImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + wowneroImageSecondaryEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'wowneroImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + wowneroImageSecondaryContains(String value, {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'wowneroImageSecondary', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + wowneroImageSecondaryMatches(String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'wowneroImageSecondary', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder + wowneroImageSecondaryIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'wowneroImageSecondary', + value: '', + )); + }); + } + + QueryBuilder + wowneroImageSecondaryIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'wowneroImageSecondary', + value: '', + )); + }); + } +} + +extension ThemeAssetsQueryObject + on QueryBuilder {} diff --git a/lib/notifications/notification_card.dart b/lib/notifications/notification_card.dart index 2a181499c..4470fd63b 100644 --- a/lib/notifications/notification_card.dart +++ b/lib/notifications/notification_card.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/models/notification_model.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/rounded_container.dart'; diff --git a/lib/notifications/show_flush_bar.dart b/lib/notifications/show_flush_bar.dart index 47cea682a..8d97f8bfb 100644 --- a/lib/notifications/show_flush_bar.dart +++ b/lib/notifications/show_flush_bar.dart @@ -2,9 +2,9 @@ import 'package:another_flushbar/flushbar.dart'; import 'package:another_flushbar/flushbar_route.dart' as flushRoute; import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/flush_bar_type.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; export 'package:stackwallet/utilities/enums/flush_bar_type.dart'; diff --git a/lib/pages/add_wallet_views/add_token_view/add_custom_token_view.dart b/lib/pages/add_wallet_views/add_token_view/add_custom_token_view.dart index 76dfceb45..f28b1870e 100644 --- a/lib/pages/add_wallet_views/add_token_view/add_custom_token_view.dart +++ b/lib/pages/add_wallet_views/add_token_view/add_custom_token_view.dart @@ -5,9 +5,9 @@ import 'package:flutter/services.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/models/isar/models/ethereum/eth_contract.dart'; import 'package:stackwallet/services/ethereum/ethereum_api.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/show_loading.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/add_wallet_views/add_token_view/edit_wallet_tokens_view.dart b/lib/pages/add_wallet_views/add_token_view/edit_wallet_tokens_view.dart index 924202a52..a2cf7e881 100644 --- a/lib/pages/add_wallet_views/add_token_view/edit_wallet_tokens_view.dart +++ b/lib/pages/add_wallet_views/add_token_view/edit_wallet_tokens_view.dart @@ -15,11 +15,11 @@ import 'package:stackwallet/pages/home_view/home_view.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_home_view.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/services/coins/ethereum/ethereum_wallet.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/default_eth_tokens.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/add_wallet_views/add_token_view/sub_widgets/add_custom_token_selector.dart b/lib/pages/add_wallet_views/add_token_view/sub_widgets/add_custom_token_selector.dart index d84db9b6c..715636e8f 100644 --- a/lib/pages/add_wallet_views/add_token_view/sub_widgets/add_custom_token_selector.dart +++ b/lib/pages/add_wallet_views/add_token_view/sub_widgets/add_custom_token_selector.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; class AddCustomTokenSelector extends StatelessWidget { diff --git a/lib/pages/add_wallet_views/add_token_view/sub_widgets/add_token_list_element.dart b/lib/pages/add_wallet_views/add_token_view/sub_widgets/add_token_list_element.dart index 359ad4900..5a10c0178 100644 --- a/lib/pages/add_wallet_views/add_token_view/sub_widgets/add_token_list_element.dart +++ b/lib/pages/add_wallet_views/add_token_view/sub_widgets/add_token_list_element.dart @@ -5,9 +5,9 @@ import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; import 'package:stackwallet/models/isar/models/ethereum/eth_contract.dart'; import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_buttons/draggable_switch_button.dart'; diff --git a/lib/pages/add_wallet_views/add_wallet_view/add_wallet_view.dart b/lib/pages/add_wallet_views/add_wallet_view/add_wallet_view.dart index 5c8c800be..c8cd467e8 100644 --- a/lib/pages/add_wallet_views/add_wallet_view/add_wallet_view.dart +++ b/lib/pages/add_wallet_views/add_wallet_view/add_wallet_view.dart @@ -16,12 +16,12 @@ import 'package:stackwallet/pages/add_wallet_views/add_wallet_view/sub_widgets/e import 'package:stackwallet/pages/add_wallet_views/add_wallet_view/sub_widgets/next_button.dart'; import 'package:stackwallet/pages_desktop_specific/my_stack_view/exit_to_my_stack_button.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/default_eth_tokens.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; @@ -330,61 +330,63 @@ class _AddWalletViewState extends ConsumerState { height: 16, ), ClipRRect( - borderRadius: BorderRadius.circular( - Constants.size.circularBorderRadius, - ), - child: Semantics( - label: "Search Text Field. Inputs Text To Search In Wallets.", - excludeSemantics: true, - child: TextField( - autofocus: isDesktop, - autocorrect: !isDesktop, - enableSuggestions: !isDesktop, - controller: _searchFieldController, - focusNode: _searchFocusNode, - onChanged: (value) => setState(() => _searchTerm = value), - style: STextStyles.field(context), - decoration: standardInputDecoration( - "Search", - _searchFocusNode, - context, - desktopMed: isDesktop, - ).copyWith( - prefixIcon: Padding( - padding: const EdgeInsets.symmetric( - horizontal: 10, - vertical: 16, - ), - child: SvgPicture.asset( - Assets.svg.search, - width: 16, - height: 16, - ), - ), - suffixIcon: _searchFieldController.text.isNotEmpty - ? Padding( - padding: const EdgeInsets.only(right: 0), - child: UnconstrainedBox( - child: Row( - children: [ - TextFieldIconButton( - child: const XIcon(), - onTap: () async { - setState(() { - _searchFieldController.text = ""; - _searchTerm = ""; - }); - }, - ), - ], + borderRadius: BorderRadius.circular( + Constants.size.circularBorderRadius, + ), + child: Semantics( + label: + "Search Text Field. Inputs Text To Search In Wallets.", + excludeSemantics: true, + child: TextField( + autofocus: isDesktop, + autocorrect: !isDesktop, + enableSuggestions: !isDesktop, + controller: _searchFieldController, + focusNode: _searchFocusNode, + onChanged: (value) => + setState(() => _searchTerm = value), + style: STextStyles.field(context), + decoration: standardInputDecoration( + "Search", + _searchFocusNode, + context, + desktopMed: isDesktop, + ).copyWith( + prefixIcon: Padding( + padding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 16, + ), + child: SvgPicture.asset( + Assets.svg.search, + width: 16, + height: 16, ), ), - ) - : null, + suffixIcon: _searchFieldController.text.isNotEmpty + ? Padding( + padding: const EdgeInsets.only(right: 0), + child: UnconstrainedBox( + child: Row( + children: [ + TextFieldIconButton( + child: const XIcon(), + onTap: () async { + setState(() { + _searchFieldController.text = + ""; + _searchTerm = ""; + }); + }, + ), + ], + ), + ), + ) + : null, + ), ), - ), - ) - ), + )), const SizedBox( height: 10, ), diff --git a/lib/pages/add_wallet_views/add_wallet_view/sub_widgets/coin_select_item.dart b/lib/pages/add_wallet_views/add_wallet_view/sub_widgets/coin_select_item.dart index 4f2a84a9a..7e85337c4 100644 --- a/lib/pages/add_wallet_views/add_wallet_view/sub_widgets/coin_select_item.dart +++ b/lib/pages/add_wallet_views/add_wallet_view/sub_widgets/coin_select_item.dart @@ -1,3 +1,5 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; @@ -8,10 +10,11 @@ import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; class CoinSelectItem extends ConsumerWidget { @@ -75,8 +78,10 @@ class CoinSelectItem extends ConsumerWidget { width: 26, height: 26, ) - : SvgPicture.asset( - Assets.svg.iconFor(coin: entity.coin), + : SvgPicture.file( + File( + ref.watch(coinIconProvider(entity.coin)), + ), width: 26, height: 26, ), diff --git a/lib/pages/add_wallet_views/add_wallet_view/sub_widgets/expanding_sub_list_item.dart b/lib/pages/add_wallet_views/add_wallet_view/sub_widgets/expanding_sub_list_item.dart index 67c748b99..db6a6ae31 100644 --- a/lib/pages/add_wallet_views/add_wallet_view/sub_widgets/expanding_sub_list_item.dart +++ b/lib/pages/add_wallet_views/add_wallet_view/sub_widgets/expanding_sub_list_item.dart @@ -2,9 +2,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/models/add_wallet_list_entity/add_wallet_list_entity.dart'; import 'package:stackwallet/pages/add_wallet_views/add_wallet_view/sub_widgets/add_wallet_entity_list.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/animated_widgets/rotate_icon.dart'; import 'package:stackwallet/widgets/expandable.dart'; diff --git a/lib/pages/add_wallet_views/add_wallet_view/sub_widgets/next_button.dart b/lib/pages/add_wallet_views/add_wallet_view/sub_widgets/next_button.dart index edb325fd9..5a45ea39a 100644 --- a/lib/pages/add_wallet_views/add_wallet_view/sub_widgets/next_button.dart +++ b/lib/pages/add_wallet_views/add_wallet_view/sub_widgets/next_button.dart @@ -4,8 +4,8 @@ import 'package:stackwallet/models/add_wallet_list_entity/sub_classes/eth_token_ import 'package:stackwallet/pages/add_wallet_views/create_or_restore_wallet_view/create_or_restore_wallet_view.dart'; import 'package:stackwallet/pages/add_wallet_views/select_wallet_for_token_view.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class AddWalletNextButton extends ConsumerWidget { const AddWalletNextButton({ diff --git a/lib/pages/add_wallet_views/create_or_restore_wallet_view/create_or_restore_wallet_view.dart b/lib/pages/add_wallet_views/create_or_restore_wallet_view/create_or_restore_wallet_view.dart index 802910275..e19cdb1cb 100644 --- a/lib/pages/add_wallet_views/create_or_restore_wallet_view/create_or_restore_wallet_view.dart +++ b/lib/pages/add_wallet_views/create_or_restore_wallet_view/create_or_restore_wallet_view.dart @@ -5,8 +5,7 @@ import 'package:stackwallet/pages/add_wallet_views/create_or_restore_wallet_view import 'package:stackwallet/pages/add_wallet_views/create_or_restore_wallet_view/sub_widgets/create_or_restore_wallet_title.dart'; import 'package:stackwallet/pages/add_wallet_views/create_or_restore_wallet_view/sub_widgets/create_wallet_button_group.dart'; import 'package:stackwallet/pages_desktop_specific/my_stack_view/exit_to_my_stack_button.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; @@ -82,11 +81,6 @@ class CreateOrRestoreWalletView extends StatelessWidget { ), ); } else { - final isChans = Theme.of(context).extension()!.themeType == - ThemeType.chan || - Theme.of(context).extension()!.themeType == - ThemeType.darkChans; - return Background( child: Scaffold( backgroundColor: @@ -114,10 +108,9 @@ class CreateOrRestoreWalletView extends StatelessWidget { child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ - if (!isChans) - const Spacer( - flex: 2, - ), + const Spacer( + flex: 2, + ), CoinImage( coin: entity.coin, width: isDesktop diff --git a/lib/pages/add_wallet_views/create_or_restore_wallet_view/sub_widgets/coin_image.dart b/lib/pages/add_wallet_views/create_or_restore_wallet_view/sub_widgets/coin_image.dart index 4b8a18005..0cf8cadb1 100644 --- a/lib/pages/add_wallet_views/create_or_restore_wallet_view/sub_widgets/coin_image.dart +++ b/lib/pages/add_wallet_views/create_or_restore_wallet_view/sub_widgets/coin_image.dart @@ -1,12 +1,11 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; -import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/themes/coin_image_provider.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; - -import '../../../../utilities/util.dart'; +import 'package:stackwallet/utilities/util.dart'; class CoinImage extends ConsumerWidget { const CoinImage({ @@ -22,26 +21,21 @@ class CoinImage extends ConsumerWidget { @override Widget build(BuildContext context, WidgetRef ref) { - final isChans = Theme.of(context).extension()!.themeType == - ThemeType.chan || - Theme.of(context).extension()!.themeType == - ThemeType.darkChans; + final assetPath = ref.watch(coinImageProvider(coin)); final isDesktop = Util.isDesktop; - if (isChans) { + if (!assetPath.endsWith(".svg")) { return SizedBox( width: isDesktop ? width : MediaQuery.of(context).size.width, height: isDesktop ? height : MediaQuery.of(context).size.width, - child: Image( - image: AssetImage( - Assets.gif.plain(coin), - ), + child: Image.file( + File(assetPath), ), ); } else { - return SvgPicture.asset( - Assets.svg.imageFor(coin: coin, context: context), + return SvgPicture.file( + File(assetPath), width: width, height: height, ); diff --git a/lib/pages/add_wallet_views/create_or_restore_wallet_view/sub_widgets/create_wallet_button_group.dart b/lib/pages/add_wallet_views/create_or_restore_wallet_view/sub_widgets/create_wallet_button_group.dart index fff984b59..da355962e 100644 --- a/lib/pages/add_wallet_views/create_or_restore_wallet_view/sub_widgets/create_wallet_button_group.dart +++ b/lib/pages/add_wallet_views/create_or_restore_wallet_view/sub_widgets/create_wallet_button_group.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:stackwallet/pages/add_wallet_views/name_your_wallet_view/name_your_wallet_view.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/enums/add_wallet_type_enum.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:tuple/tuple.dart'; class CreateWalletButtonGroup extends StatelessWidget { diff --git a/lib/pages/add_wallet_views/name_your_wallet_view/name_your_wallet_view.dart b/lib/pages/add_wallet_views/name_your_wallet_view/name_your_wallet_view.dart index 805355071..0948189d8 100644 --- a/lib/pages/add_wallet_views/name_your_wallet_view/name_your_wallet_view.dart +++ b/lib/pages/add_wallet_views/name_your_wallet_view/name_your_wallet_view.dart @@ -9,13 +9,13 @@ import 'package:stackwallet/pages/add_wallet_views/restore_wallet_view/restore_o import 'package:stackwallet/pages_desktop_specific/my_stack_view/exit_to_my_stack_button.dart'; import 'package:stackwallet/providers/global/wallets_service_provider.dart'; import 'package:stackwallet/providers/ui/verify_recovery_phrase/mnemonic_word_count_state_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/add_wallet_type_enum.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/name_generator.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; @@ -239,21 +239,23 @@ class _NameYourWalletViewState extends ConsumerState { key: const Key("genRandomWalletNameButtonKey"), child: _showDiceIcon ? Semantics( - label: "Generate Random Wallet Name Button. Generates A Random Name For Wallet.", - excludeSemantics: true, - child: DiceIcon( - width: isDesktop ? 20 : 17, - height: isDesktop ? 20 : 17, - ), - ) + label: + "Generate Random Wallet Name Button. Generates A Random Name For Wallet.", + excludeSemantics: true, + child: DiceIcon( + width: isDesktop ? 20 : 17, + height: isDesktop ? 20 : 17, + ), + ) : Semantics( - label: "Generate Random Wallet Name Button. Generates A Random Name For Wallet.", - excludeSemantics: true, - child: XIcon( - width: isDesktop ? 21 : 18, - height: isDesktop ? 21 : 18, + label: + "Generate Random Wallet Name Button. Generates A Random Name For Wallet.", + excludeSemantics: true, + child: XIcon( + width: isDesktop ? 21 : 18, + height: isDesktop ? 21 : 18, + ), ), - ), onTap: () async { if (_showDiceIcon) { textEditingController.text = diff --git a/lib/pages/add_wallet_views/new_wallet_recovery_phrase_view/new_wallet_recovery_phrase_view.dart b/lib/pages/add_wallet_views/new_wallet_recovery_phrase_view/new_wallet_recovery_phrase_view.dart index 5050324ba..f56b1d52c 100644 --- a/lib/pages/add_wallet_views/new_wallet_recovery_phrase_view/new_wallet_recovery_phrase_view.dart +++ b/lib/pages/add_wallet_views/new_wallet_recovery_phrase_view/new_wallet_recovery_phrase_view.dart @@ -13,11 +13,11 @@ import 'package:stackwallet/pages_desktop_specific/desktop_home_view.dart'; import 'package:stackwallet/pages_desktop_specific/my_stack_view/exit_to_my_stack_button.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/coins/manager.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart'; @@ -140,7 +140,8 @@ class _NewWalletRecoveryPhraseViewState child: AspectRatio( aspectRatio: 1, child: AppBarIconButton( - semanticsLabel: "Copy Button. Copies The Recovery Phrase To Clipboard.", + semanticsLabel: + "Copy Button. Copies The Recovery Phrase To Clipboard.", color: Theme.of(context) .extension()! .background, diff --git a/lib/pages/add_wallet_views/new_wallet_recovery_phrase_view/sub_widgets/mnemonic_table_item.dart b/lib/pages/add_wallet_views/new_wallet_recovery_phrase_view/sub_widgets/mnemonic_table_item.dart index ec103dfc6..a8b1b5a21 100644 --- a/lib/pages/add_wallet_views/new_wallet_recovery_phrase_view/sub_widgets/mnemonic_table_item.dart +++ b/lib/pages/add_wallet_views/new_wallet_recovery_phrase_view/sub_widgets/mnemonic_table_item.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; class MnemonicTableItem extends StatelessWidget { diff --git a/lib/pages/add_wallet_views/new_wallet_recovery_phrase_warning_view/new_wallet_recovery_phrase_warning_view.dart b/lib/pages/add_wallet_views/new_wallet_recovery_phrase_warning_view/new_wallet_recovery_phrase_warning_view.dart index 50c8bc1eb..77b796abd 100644 --- a/lib/pages/add_wallet_views/new_wallet_recovery_phrase_warning_view/new_wallet_recovery_phrase_warning_view.dart +++ b/lib/pages/add_wallet_views/new_wallet_recovery_phrase_warning_view/new_wallet_recovery_phrase_warning_view.dart @@ -11,13 +11,13 @@ import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/coins/coin_service.dart'; import 'package:stackwallet/services/coins/manager.dart'; import 'package:stackwallet/services/transaction_notification_tracker.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/default_nodes.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; @@ -87,7 +87,8 @@ class _NewWalletRecoveryPhraseWarningViewState right: 10, ), child: AppBarIconButton( - semanticsLabel: "Question Button. Opens A Dialog For Recovery Phrase Explanation.", + semanticsLabel: + "Question Button. Opens A Dialog For Recovery Phrase Explanation.", icon: SvgPicture.asset( Assets.svg.circleQuestion, width: 20, diff --git a/lib/pages/add_wallet_views/restore_wallet_view/confirm_recovery_dialog.dart b/lib/pages/add_wallet_views/restore_wallet_view/confirm_recovery_dialog.dart index 8c50b75b4..f09e95683 100644 --- a/lib/pages/add_wallet_views/restore_wallet_view/confirm_recovery_dialog.dart +++ b/lib/pages/add_wallet_views/restore_wallet_view/confirm_recovery_dialog.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; diff --git a/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/restore_options_view.dart b/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/restore_options_view.dart index a83fa5bd2..05aaeffa4 100644 --- a/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/restore_options_view.dart +++ b/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/restore_options_view.dart @@ -12,14 +12,14 @@ import 'package:stackwallet/pages/add_wallet_views/restore_wallet_view/restore_o import 'package:stackwallet/pages/add_wallet_views/restore_wallet_view/restore_wallet_view.dart'; import 'package:stackwallet/pages/add_wallet_views/restore_wallet_view/sub_widgets/mnemonic_word_count_select_sheet.dart'; import 'package:stackwallet/pages_desktop_specific/my_stack_view/exit_to_my_stack_button.dart'; -import 'package:stackwallet/providers/ui/color_theme_provider.dart'; import 'package:stackwallet/providers/ui/verify_recovery_phrase/mnemonic_word_count_state_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; @@ -67,7 +67,7 @@ class _RestoreOptionsViewState extends ConsumerState { @override void initState() { - baseColor = ref.read(colorThemeProvider.state).state.textSubtitle2; + baseColor = ref.read(themeProvider.state).state.textSubtitle2; walletName = widget.walletName; coin = widget.coin; isDesktop = Util.isDesktop; diff --git a/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/sub_widgets/mobile_mnemonic_length_selector.dart b/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/sub_widgets/mobile_mnemonic_length_selector.dart index 4f5b76fab..d0a0baa57 100644 --- a/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/sub_widgets/mobile_mnemonic_length_selector.dart +++ b/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/sub_widgets/mobile_mnemonic_length_selector.dart @@ -2,11 +2,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/providers/ui/verify_recovery_phrase/mnemonic_word_count_state_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; - import 'package:stackwallet/utilities/util.dart'; class MobileMnemonicLengthSelector extends ConsumerWidget { diff --git a/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/sub_widgets/restore_from_date_picker.dart b/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/sub_widgets/restore_from_date_picker.dart index 803e9b03b..2e36d25f3 100644 --- a/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/sub_widgets/restore_from_date_picker.dart +++ b/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/sub_widgets/restore_from_date_picker.dart @@ -1,9 +1,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; - import 'package:stackwallet/utilities/util.dart'; class RestoreFromDatePicker extends StatefulWidget { diff --git a/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/sub_widgets/restore_options_next_button.dart b/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/sub_widgets/restore_options_next_button.dart index 4fe96a7e2..9a09fef50 100644 --- a/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/sub_widgets/restore_options_next_button.dart +++ b/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/sub_widgets/restore_options_next_button.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class RestoreOptionsNextButton extends StatelessWidget { const RestoreOptionsNextButton({ diff --git a/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/sub_widgets/restore_options_platform_layout.dart b/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/sub_widgets/restore_options_platform_layout.dart index 12121cd7d..b83b2eb8e 100644 --- a/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/sub_widgets/restore_options_platform_layout.dart +++ b/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/sub_widgets/restore_options_platform_layout.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; class RestoreOptionsPlatformLayout extends StatelessWidget { const RestoreOptionsPlatformLayout({ diff --git a/lib/pages/add_wallet_views/restore_wallet_view/restore_wallet_view.dart b/lib/pages/add_wallet_views/restore_wallet_view/restore_wallet_view.dart index 7c7ae4523..7df799a24 100644 --- a/lib/pages/add_wallet_views/restore_wallet_view/restore_wallet_view.dart +++ b/lib/pages/add_wallet_views/restore_wallet_view/restore_wallet_view.dart @@ -27,6 +27,7 @@ import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/coins/coin_service.dart'; import 'package:stackwallet/services/coins/manager.dart'; import 'package:stackwallet/services/transaction_notification_tracker.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/address_utils.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/barcode_scanner_interface.dart'; @@ -38,7 +39,6 @@ import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/enums/form_input_status_enum.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart'; @@ -636,7 +636,8 @@ class _RestoreWalletViewState extends ConsumerState { child: AspectRatio( aspectRatio: 1, child: AppBarIconButton( - semanticsLabel: "View QR Code Button. Opens Camera To Scan QR Code For Restoring Wallet.", + semanticsLabel: + "View QR Code Button. Opens Camera To Scan QR Code For Restoring Wallet.", key: const Key("restoreWalletViewQrCodeButton"), size: 36, shadows: const [], @@ -663,7 +664,8 @@ class _RestoreWalletViewState extends ConsumerState { child: AspectRatio( aspectRatio: 1, child: AppBarIconButton( - semanticsLabel: "Paste Button. Pastes From Clipboard For Restoring Wallet.", + semanticsLabel: + "Paste Button. Pastes From Clipboard For Restoring Wallet.", key: const Key("restoreWalletPasteButton"), size: 36, shadows: const [], diff --git a/lib/pages/add_wallet_views/restore_wallet_view/sub_widgets/mnemonic_word_count_select_sheet.dart b/lib/pages/add_wallet_views/restore_wallet_view/sub_widgets/mnemonic_word_count_select_sheet.dart index 44bdf5f99..d0f4667d8 100644 --- a/lib/pages/add_wallet_views/restore_wallet_view/sub_widgets/mnemonic_word_count_select_sheet.dart +++ b/lib/pages/add_wallet_views/restore_wallet_view/sub_widgets/mnemonic_word_count_select_sheet.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/providers/ui/verify_recovery_phrase/mnemonic_word_count_state_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class MnemonicWordCountSelectSheet extends ConsumerWidget { const MnemonicWordCountSelectSheet({ diff --git a/lib/pages/add_wallet_views/restore_wallet_view/sub_widgets/restore_failed_dialog.dart b/lib/pages/add_wallet_views/restore_wallet_view/sub_widgets/restore_failed_dialog.dart index b3cb957c3..1f2435158 100644 --- a/lib/pages/add_wallet_views/restore_wallet_view/sub_widgets/restore_failed_dialog.dart +++ b/lib/pages/add_wallet_views/restore_wallet_view/sub_widgets/restore_failed_dialog.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/stack_dialog.dart'; class RestoreFailedDialog extends ConsumerStatefulWidget { diff --git a/lib/pages/add_wallet_views/restore_wallet_view/sub_widgets/restore_succeeded_dialog.dart b/lib/pages/add_wallet_views/restore_wallet_view/sub_widgets/restore_succeeded_dialog.dart index a763b3501..5a4fb8282 100644 --- a/lib/pages/add_wallet_views/restore_wallet_view/sub_widgets/restore_succeeded_dialog.dart +++ b/lib/pages/add_wallet_views/restore_wallet_view/sub_widgets/restore_succeeded_dialog.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; diff --git a/lib/pages/add_wallet_views/restore_wallet_view/sub_widgets/restoring_dialog.dart b/lib/pages/add_wallet_views/restore_wallet_view/sub_widgets/restoring_dialog.dart index 79cdcd34f..108f64c24 100644 --- a/lib/pages/add_wallet_views/restore_wallet_view/sub_widgets/restoring_dialog.dart +++ b/lib/pages/add_wallet_views/restore_wallet_view/sub_widgets/restoring_dialog.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/animated_widgets/rotating_arrows.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; diff --git a/lib/pages/add_wallet_views/select_wallet_for_token_view.dart b/lib/pages/add_wallet_views/select_wallet_for_token_view.dart index fbb23c2ef..3a22dcbfa 100644 --- a/lib/pages/add_wallet_views/select_wallet_for_token_view.dart +++ b/lib/pages/add_wallet_views/select_wallet_for_token_view.dart @@ -8,8 +8,8 @@ import 'package:stackwallet/pages/add_wallet_views/create_or_restore_wallet_view import 'package:stackwallet/pages/add_wallet_views/verify_recovery_phrase_view/verify_recovery_phrase_view.dart'; import 'package:stackwallet/providers/global/wallets_service_provider.dart'; import 'package:stackwallet/services/wallets_service.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/add_wallet_views/verify_recovery_phrase_view/sub_widgets/word_table_item.dart b/lib/pages/add_wallet_views/verify_recovery_phrase_view/sub_widgets/word_table_item.dart index 9f8f43b59..81d4bb850 100644 --- a/lib/pages/add_wallet_views/verify_recovery_phrase_view/sub_widgets/word_table_item.dart +++ b/lib/pages/add_wallet_views/verify_recovery_phrase_view/sub_widgets/word_table_item.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class WordTableItem extends ConsumerWidget { const WordTableItem({ diff --git a/lib/pages/add_wallet_views/verify_recovery_phrase_view/verify_recovery_phrase_view.dart b/lib/pages/add_wallet_views/verify_recovery_phrase_view/verify_recovery_phrase_view.dart index 33d3628d6..79de8f879 100644 --- a/lib/pages/add_wallet_views/verify_recovery_phrase_view/verify_recovery_phrase_view.dart +++ b/lib/pages/add_wallet_views/verify_recovery_phrase_view/verify_recovery_phrase_view.dart @@ -14,11 +14,11 @@ import 'package:stackwallet/pages_desktop_specific/desktop_home_view.dart'; import 'package:stackwallet/pages_desktop_specific/my_stack_view/exit_to_my_stack_button.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/coins/manager.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart'; diff --git a/lib/pages/address_book_views/address_book_view.dart b/lib/pages/address_book_views/address_book_view.dart index 0fbf334a7..8e3ef0629 100644 --- a/lib/pages/address_book_views/address_book_view.dart +++ b/lib/pages/address_book_views/address_book_view.dart @@ -8,11 +8,11 @@ import 'package:stackwallet/pages/address_book_views/subviews/address_book_filte import 'package:stackwallet/providers/global/address_book_service_provider.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/providers/ui/address_book_providers/address_book_filter_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/address_book_card.dart'; import 'package:stackwallet/widgets/background.dart'; diff --git a/lib/pages/address_book_views/subviews/add_address_book_entry_view.dart b/lib/pages/address_book_views/subviews/add_address_book_entry_view.dart index caffb65c7..76234a539 100644 --- a/lib/pages/address_book_views/subviews/add_address_book_entry_view.dart +++ b/lib/pages/address_book_views/subviews/add_address_book_entry_view.dart @@ -9,12 +9,12 @@ import 'package:stackwallet/providers/global/address_book_service_provider.dart' import 'package:stackwallet/providers/ui/address_book_providers/address_entry_data_provider.dart'; import 'package:stackwallet/providers/ui/address_book_providers/contact_name_is_not_empty_state_provider.dart'; import 'package:stackwallet/providers/ui/address_book_providers/valid_contact_state_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/barcode_scanner_interface.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/address_book_views/subviews/add_new_contact_address_view.dart b/lib/pages/address_book_views/subviews/add_new_contact_address_view.dart index de2dfe90c..fc41d75cb 100644 --- a/lib/pages/address_book_views/subviews/add_new_contact_address_view.dart +++ b/lib/pages/address_book_views/subviews/add_new_contact_address_view.dart @@ -7,11 +7,11 @@ import 'package:stackwallet/pages/address_book_views/subviews/new_contact_addres import 'package:stackwallet/providers/global/address_book_service_provider.dart'; import 'package:stackwallet/providers/ui/address_book_providers/address_entry_data_provider.dart'; import 'package:stackwallet/providers/ui/address_book_providers/valid_contact_state_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/barcode_scanner_interface.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/address_book_views/subviews/address_book_filter_view.dart b/lib/pages/address_book_views/subviews/address_book_filter_view.dart index 9f410aae7..b98dc5fc3 100644 --- a/lib/pages/address_book_views/subviews/address_book_filter_view.dart +++ b/lib/pages/address_book_views/subviews/address_book_filter_view.dart @@ -2,9 +2,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/providers/global/prefs_provider.dart'; import 'package:stackwallet/providers/ui/address_book_providers/address_book_filter_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/address_book_views/subviews/coin_select_sheet.dart b/lib/pages/address_book_views/subviews/coin_select_sheet.dart index 7be2f8739..a6bf470f8 100644 --- a/lib/pages/address_book_views/subviews/coin_select_sheet.dart +++ b/lib/pages/address_book_views/subviews/coin_select_sheet.dart @@ -2,11 +2,11 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/providers/global/prefs_provider.dart'; -import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/coin_image_provider.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class CoinSelectSheet extends StatelessWidget { const CoinSelectSheet({Key? key}) : super(key: key); @@ -88,7 +88,7 @@ class CoinSelectSheet extends StatelessWidget { child: Row( children: [ SvgPicture.asset( - Assets.svg.iconFor(coin: coin), + ref.watch(coinImageProvider(coin)), height: 20, width: 20, ), diff --git a/lib/pages/address_book_views/subviews/contact_details_view.dart b/lib/pages/address_book_views/subviews/contact_details_view.dart index b1ed4f2da..bd5efd1c5 100644 --- a/lib/pages/address_book_views/subviews/contact_details_view.dart +++ b/lib/pages/address_book_views/subviews/contact_details_view.dart @@ -3,6 +3,7 @@ import 'package:flutter/services.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:isar/isar.dart'; +import 'package:stackwallet/db/isar/main_db.dart'; import 'package:stackwallet/models/isar/models/isar_models.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages/address_book_views/subviews/add_new_contact_address_view.dart'; @@ -12,11 +13,12 @@ import 'package:stackwallet/providers/global/address_book_service_provider.dart' import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/providers/ui/address_book_providers/address_entry_data_provider.dart'; import 'package:stackwallet/services/coins/manager.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; @@ -27,8 +29,6 @@ import 'package:stackwallet/widgets/stack_dialog.dart'; import 'package:stackwallet/widgets/transaction_card.dart'; import 'package:tuple/tuple.dart'; -import '../../../db/isar/main_db.dart'; - class ContactDetailsView extends ConsumerStatefulWidget { const ContactDetailsView({ Key? key, @@ -335,7 +335,7 @@ class _ContactDetailsViewState extends ConsumerState { child: Row( children: [ SvgPicture.asset( - Assets.svg.iconFor(coin: e.coin), + ref.watch(coinIconProvider(e.coin)), height: 24, ), const SizedBox( diff --git a/lib/pages/address_book_views/subviews/contact_popup.dart b/lib/pages/address_book_views/subviews/contact_popup.dart index e9dca9385..b09aba6ef 100644 --- a/lib/pages/address_book_views/subviews/contact_popup.dart +++ b/lib/pages/address_book_views/subviews/contact_popup.dart @@ -7,15 +7,15 @@ import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages/address_book_views/subviews/contact_details_view.dart'; import 'package:stackwallet/pages/exchange_view/exchange_step_views/step_2_view.dart'; import 'package:stackwallet/pages/send_view/send_view.dart'; -import 'package:stackwallet/providers/exchange/exchange_flow_is_active_state_provider.dart'; import 'package:stackwallet/providers/global/address_book_service_provider.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; -import 'package:stackwallet/utilities/enums/flush_bar_type.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/rounded_container.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; import 'package:tuple/tuple.dart'; @@ -111,7 +111,12 @@ class ContactPopUp extends ConsumerWidget { child: contact.id == "default" ? Center( child: SvgPicture.asset( - Assets.svg.stackIcon(context), + ref.watch( + themeProvider.select( + (value) => + value.assets.stackIcon, + ), + ), width: 20, ), ) @@ -207,7 +212,9 @@ class ContactPopUp extends ConsumerWidget { height: 2, ), SvgPicture.asset( - Assets.svg.iconFor(coin: e.coin), + ref.watch( + coinIconProvider(e.coin), + ), height: 24, ), ], diff --git a/lib/pages/address_book_views/subviews/edit_contact_address_view.dart b/lib/pages/address_book_views/subviews/edit_contact_address_view.dart index 0454903c3..87f9fec80 100644 --- a/lib/pages/address_book_views/subviews/edit_contact_address_view.dart +++ b/lib/pages/address_book_views/subviews/edit_contact_address_view.dart @@ -7,11 +7,11 @@ import 'package:stackwallet/pages/address_book_views/subviews/new_contact_addres import 'package:stackwallet/providers/global/address_book_service_provider.dart'; import 'package:stackwallet/providers/ui/address_book_providers/address_entry_data_provider.dart'; import 'package:stackwallet/providers/ui/address_book_providers/valid_contact_state_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/barcode_scanner_interface.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/address_book_views/subviews/edit_contact_name_emoji_view.dart b/lib/pages/address_book_views/subviews/edit_contact_name_emoji_view.dart index 99638ad2c..12b4043f2 100644 --- a/lib/pages/address_book_views/subviews/edit_contact_name_emoji_view.dart +++ b/lib/pages/address_book_views/subviews/edit_contact_name_emoji_view.dart @@ -5,10 +5,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/providers/global/address_book_service_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/address_book_views/subviews/new_contact_address_entry_form.dart b/lib/pages/address_book_views/subviews/new_contact_address_entry_form.dart index 25cff073b..c23a362df 100644 --- a/lib/pages/address_book_views/subviews/new_contact_address_entry_form.dart +++ b/lib/pages/address_book_views/subviews/new_contact_address_entry_form.dart @@ -7,6 +7,8 @@ import 'package:stackwallet/pages/address_book_views/subviews/coin_select_sheet. import 'package:stackwallet/providers/providers.dart'; // import 'package:stackwallet/providers/global/should_show_lockscreen_on_resume_state_provider.dart'; import 'package:stackwallet/providers/ui/address_book_providers/address_entry_data_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; import 'package:stackwallet/utilities/address_utils.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/barcode_scanner_interface.dart'; @@ -15,7 +17,6 @@ import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/icon_widgets/clipboard_icon.dart'; import 'package:stackwallet/widgets/icon_widgets/qrcode_icon.dart'; @@ -141,7 +142,7 @@ class _NewContactAddressEntryFormState child: Row( children: [ SvgPicture.asset( - Assets.svg.iconFor(coin: coin), + ref.watch(coinIconProvider(coin)), height: 24, width: 24, ), @@ -211,11 +212,16 @@ class _NewContactAddressEntryFormState : Row( children: [ SvgPicture.asset( - Assets.svg.iconFor( - coin: ref.watch( - addressEntryDataProvider(widget.id) - .select( - (value) => value.coin))!), + ref.watch( + coinIconProvider( + ref.watch( + addressEntryDataProvider(widget.id) + .select( + (value) => value.coin, + ), + )!, + ), + ), height: 20, width: 20, ), diff --git a/lib/pages/buy_view/buy_form.dart b/lib/pages/buy_view/buy_form.dart index bd77af223..1a31077e2 100644 --- a/lib/pages/buy_view/buy_form.dart +++ b/lib/pages/buy_view/buy_form.dart @@ -20,6 +20,7 @@ import 'package:stackwallet/pages_desktop_specific/my_stack_view/wallet_view/sub import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/buy/buy_response.dart'; import 'package:stackwallet/services/buy/simplex/simplex_api.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/address_utils.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/barcode_scanner_interface.dart'; @@ -28,7 +29,6 @@ import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; @@ -407,18 +407,6 @@ class _BuyFormState extends ConsumerState { } } - Widget? getIconForTicker(String ticker) { - String iconAsset = /*isStackCoin(ticker) - ?*/ - Assets.svg.iconFor(coin: coinFromTickerCaseInsensitive(ticker)); - // : Assets.svg.buyIconFor(ticker); - // return (iconAsset != null) - // ? SvgPicture.asset(iconAsset, height: 20, width: 20) - // : null; - - return SvgPicture.asset(iconAsset, height: 20, width: 20); - } - Future previewQuote(SimplexQuote quote) async { bool shouldPop = false; unawaited( @@ -833,8 +821,10 @@ class _BuyFormState extends ConsumerState { padding: const EdgeInsets.all(12), child: Row( children: [ - getIconForTicker(selectedCrypto?.ticker ?? "BTC") - as Widget, + CoinIconForTicker( + ticker: selectedCrypto?.ticker ?? "BTC", + size: 20, + ), const SizedBox( width: 10, ), @@ -1049,8 +1039,10 @@ class _BuyFormState extends ConsumerState { .accentColorDark), ), ) - : getIconForTicker(selectedCrypto?.ticker ?? "BTC") - as Widget, + : CoinIconForTicker( + ticker: selectedCrypto?.ticker ?? "BTC", + size: 20, + ), SizedBox( width: buyWithFiat ? 8 diff --git a/lib/pages/buy_view/buy_in_wallet_view.dart b/lib/pages/buy_view/buy_in_wallet_view.dart index e46446a7e..8e74aee7d 100644 --- a/lib/pages/buy_view/buy_in_wallet_view.dart +++ b/lib/pages/buy_view/buy_in_wallet_view.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:stackwallet/models/isar/models/ethereum/eth_contract.dart'; import 'package:stackwallet/pages/buy_view/buy_view.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; diff --git a/lib/pages/buy_view/buy_order_details.dart b/lib/pages/buy_view/buy_order_details.dart index 2b584578e..b21167201 100644 --- a/lib/pages/buy_view/buy_order_details.dart +++ b/lib/pages/buy_view/buy_order_details.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/models/buy/response_objects/order.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/buy_view/buy_quote_preview.dart b/lib/pages/buy_view/buy_quote_preview.dart index 3526fed8e..a3f872407 100644 --- a/lib/pages/buy_view/buy_quote_preview.dart +++ b/lib/pages/buy_view/buy_quote_preview.dart @@ -5,9 +5,9 @@ import 'package:flutter_svg/svg.dart'; import 'package:intl/intl.dart'; import 'package:stackwallet/models/buy/response_objects/quote.dart'; import 'package:stackwallet/pages/buy_view/sub_widgets/buy_warning_popup.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/buy_view/sub_widgets/buy_warning_popup.dart b/lib/pages/buy_view/sub_widgets/buy_warning_popup.dart index dc9935a03..aec4ce45c 100644 --- a/lib/pages/buy_view/sub_widgets/buy_warning_popup.dart +++ b/lib/pages/buy_view/sub_widgets/buy_warning_popup.dart @@ -7,9 +7,9 @@ import 'package:stackwallet/models/buy/response_objects/quote.dart'; import 'package:stackwallet/pages/buy_view/buy_order_details.dart'; import 'package:stackwallet/services/buy/buy_response.dart'; import 'package:stackwallet/services/buy/simplex/simplex_api.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; diff --git a/lib/pages/buy_view/sub_widgets/crypto_selection_view.dart b/lib/pages/buy_view/sub_widgets/crypto_selection_view.dart index f9d58a06b..7ee9b296b 100644 --- a/lib/pages/buy_view/sub_widgets/crypto_selection_view.dart +++ b/lib/pages/buy_view/sub_widgets/crypto_selection_view.dart @@ -1,11 +1,16 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/models/buy/response_objects/crypto.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; +import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; @@ -15,7 +20,7 @@ import 'package:stackwallet/widgets/rounded_white_container.dart'; import 'package:stackwallet/widgets/stack_text_field.dart'; import 'package:stackwallet/widgets/textfield_icon_button.dart'; -class CryptoSelectionView extends StatefulWidget { +class CryptoSelectionView extends ConsumerStatefulWidget { const CryptoSelectionView({ Key? key, required this.coins, @@ -24,10 +29,11 @@ class CryptoSelectionView extends StatefulWidget { final List coins; @override - State createState() => _CryptoSelectionViewState(); + ConsumerState createState() => + _CryptoSelectionViewState(); } -class _CryptoSelectionViewState extends State { +class _CryptoSelectionViewState extends ConsumerState { late TextEditingController _searchController; final _searchFocusNode = FocusNode(); @@ -197,9 +203,13 @@ class _CryptoSelectionViewState extends State { child: Row( children: [ SizedBox( - width: 24, - height: 24, - child: getIconForTicker(_coins[index].ticker)), + width: 24, + height: 24, + child: CoinIconForTicker( + size: 20, + ticker: _coins[index].ticker, + ), + ), const SizedBox( width: 10, ), @@ -252,15 +262,58 @@ bool isStackCoin(String? ticker) { } } -Widget? getIconForTicker( - String ticker, { - double size = 20, -}) { - String? iconAsset = /*isStackCoin(ticker) - ?*/ - Assets.svg.iconFor(coin: coinFromTickerCaseInsensitive(ticker)); - // : Assets.svg.buyIconFor(ticker); - return (iconAsset != null) - ? SvgPicture.asset(iconAsset, height: size, width: size) - : null; +// make a stateless widget that takes in string and double (won't ever be null) +// class getIconForTicker extends ConsumerWidget{ +// const getIconForTicker({ +// Key? key, +// this.ticker, +// +// }) : super(key: key); +// @override +// Widget build(BuildContext context, WidgetRef ref) { +// // TODO: implement build +// throw UnimplementedError(); +// } +// +// } +/// caller must ensure [Coin] for ticker exists +class CoinIconForTicker extends ConsumerWidget { + const CoinIconForTicker({ + Key? key, + required this.ticker, + required this.size, + }) : super(key: key); + + final String ticker; + final double size; + + @override + Widget build(BuildContext context, WidgetRef ref) { + try { + final coin = coinFromTickerCaseInsensitive(ticker); + return SvgPicture.file( + File( + ref.watch(coinIconProvider(coin)), + ), + width: size, + height: size, + ); + } catch (e, s) { + Logging.instance.log("$e\n$s", level: LogLevel.Fatal); + rethrow; + } + } } + +// Widget? getIconForTicker( +// String ticker, { +// double size = 20, +// }) { +// String? iconAsset = /*isStackCoin(ticker) +// ?*/ +// Assets.svg.iconFor(coin: coinFromTickerCaseInsensitive(ticker)); +// // : Assets.svg.buyIconFor(ticker); +// return (iconAsset != null) +// ? SvgPicture.asset(iconAsset, height: size, width: size) +// : null; +// } diff --git a/lib/pages/buy_view/sub_widgets/fiat_selection_view.dart b/lib/pages/buy_view/sub_widgets/fiat_selection_view.dart index 09ee82a79..07bd504d5 100644 --- a/lib/pages/buy_view/sub_widgets/fiat_selection_view.dart +++ b/lib/pages/buy_view/sub_widgets/fiat_selection_view.dart @@ -2,11 +2,11 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:intl/intl.dart'; import 'package:stackwallet/models/buy/response_objects/fiat.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/fiat_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/coin_control/coin_control_view.dart b/lib/pages/coin_control/coin_control_view.dart index c322696db..5892aa2c9 100644 --- a/lib/pages/coin_control/coin_control_view.dart +++ b/lib/pages/coin_control/coin_control_view.dart @@ -11,12 +11,12 @@ import 'package:stackwallet/pages/coin_control/utxo_details_view.dart'; import 'package:stackwallet/providers/global/locale_provider.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/services/mixins/coin_control_interface.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/animated_widgets/rotate_icon.dart'; import 'package:stackwallet/widgets/app_bar_field.dart'; import 'package:stackwallet/widgets/background.dart'; diff --git a/lib/pages/coin_control/utxo_card.dart b/lib/pages/coin_control/utxo_card.dart index 309936ee6..265a6de79 100644 --- a/lib/pages/coin_control/utxo_card.dart +++ b/lib/pages/coin_control/utxo_card.dart @@ -4,11 +4,11 @@ import 'package:stackwallet/db/isar/main_db.dart'; import 'package:stackwallet/models/isar/models/isar_models.dart'; import 'package:stackwallet/providers/global/locale_provider.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/icon_widgets/utxo_status_icon.dart'; import 'package:stackwallet/widgets/rounded_container.dart'; diff --git a/lib/pages/coin_control/utxo_details_view.dart b/lib/pages/coin_control/utxo_details_view.dart index f74a2c4b1..53ba74b38 100644 --- a/lib/pages/coin_control/utxo_details_view.dart +++ b/lib/pages/coin_control/utxo_details_view.dart @@ -8,10 +8,10 @@ import 'package:stackwallet/models/isar/models/isar_models.dart'; import 'package:stackwallet/pages/wallet_view/transaction_views/transaction_details_view.dart'; import 'package:stackwallet/providers/global/locale_provider.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/exchange_view/choose_from_stack_view.dart b/lib/pages/exchange_view/choose_from_stack_view.dart index bbfe91880..5e32a8c27 100644 --- a/lib/pages/exchange_view/choose_from_stack_view.dart +++ b/lib/pages/exchange_view/choose_from_stack_view.dart @@ -1,10 +1,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; diff --git a/lib/pages/exchange_view/confirm_change_now_send.dart b/lib/pages/exchange_view/confirm_change_now_send.dart index fff02cb7d..ce24fd0da 100644 --- a/lib/pages/exchange_view/confirm_change_now_send.dart +++ b/lib/pages/exchange_view/confirm_change_now_send.dart @@ -11,11 +11,11 @@ import 'package:stackwallet/pages_desktop_specific/my_stack_view/wallet_view/sub import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/route_generator.dart'; import 'package:stackwallet/services/coins/firo/firo_wallet.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/exchange_view/edit_trade_note_view.dart b/lib/pages/exchange_view/edit_trade_note_view.dart index 85e6fad2b..1878e1385 100644 --- a/lib/pages/exchange_view/edit_trade_note_view.dart +++ b/lib/pages/exchange_view/edit_trade_note_view.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/providers/exchange/trade_note_service_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; diff --git a/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart b/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart index ffe7d0492..964ed6068 100644 --- a/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart +++ b/lib/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart @@ -10,11 +10,11 @@ import 'package:stackwallet/pages/buy_view/sub_widgets/crypto_selection_view.dar import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; @@ -373,10 +373,12 @@ class _ExchangeCurrencySelectionViewState width: 24, height: 24, child: isStackCoin(items[index].ticker) - ? getIconForTicker( - items[index].ticker, - size: 24, - ) + ? CoinIconForTicker( + ticker: items[index].ticker, size: 24) + // ? getIconForTicker( + // items[index].ticker, + // size: 24, + // ) : hasImageUrl ? SvgPicture.network( items[index].image, diff --git a/lib/pages/exchange_view/exchange_form.dart b/lib/pages/exchange_view/exchange_form.dart index b9cd4023f..2604d89af 100644 --- a/lib/pages/exchange_view/exchange_form.dart +++ b/lib/pages/exchange_view/exchange_form.dart @@ -24,12 +24,12 @@ import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dar import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; import 'package:stackwallet/services/exchange/trocador/trocador_exchange.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/enums/exchange_rate_type_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_loading_overlay.dart'; @@ -843,7 +843,7 @@ class _ExchangeFormState extends ConsumerState { ), ExchangeTextField( key: Key("exchangeTextFieldKeyFor_" - "${Theme.of(context).extension()!.themeType.name}" + "${Theme.of(context).extension()!.themeId}" "${ref.watch(efCurrencyPairProvider.select((value) => value.send?.ticker))}"), controller: _sendController, focusNode: _sendFocusNode, @@ -925,7 +925,7 @@ class _ExchangeFormState extends ConsumerState { ), ExchangeTextField( key: Key( - "exchangeTextFieldKeyFor1_${Theme.of(context).extension()!.themeType.name}"), + "exchangeTextFieldKeyFor1_${Theme.of(context).extension()!.themeId}"), focusNode: _receiveFocusNode, controller: _receiveController, textStyle: STextStyles.smallMed14(context).copyWith( diff --git a/lib/pages/exchange_view/exchange_loading_overlay.dart b/lib/pages/exchange_view/exchange_loading_overlay.dart index 383d5391c..673aae5a4 100644 --- a/lib/pages/exchange_view/exchange_loading_overlay.dart +++ b/lib/pages/exchange_view/exchange_loading_overlay.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/providers/exchange/changenow_initial_load_status.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/custom_loading_overlay.dart'; import 'package:stackwallet/widgets/stack_dialog.dart'; diff --git a/lib/pages/exchange_view/exchange_step_views/step_1_view.dart b/lib/pages/exchange_view/exchange_step_views/step_1_view.dart index b866de448..22e39b244 100644 --- a/lib/pages/exchange_view/exchange_step_views/step_1_view.dart +++ b/lib/pages/exchange_view/exchange_step_views/step_1_view.dart @@ -2,10 +2,10 @@ import 'package:flutter/material.dart'; import 'package:stackwallet/models/exchange/incomplete_exchange.dart'; import 'package:stackwallet/pages/exchange_view/exchange_step_views/step_2_view.dart'; import 'package:stackwallet/pages/exchange_view/sub_widgets/step_row.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; import 'package:stackwallet/utilities/enums/exchange_rate_type_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; diff --git a/lib/pages/exchange_view/exchange_step_views/step_2_view.dart b/lib/pages/exchange_view/exchange_step_views/step_2_view.dart index 315228e13..1177d09ef 100644 --- a/lib/pages/exchange_view/exchange_step_views/step_2_view.dart +++ b/lib/pages/exchange_view/exchange_step_views/step_2_view.dart @@ -9,6 +9,7 @@ import 'package:stackwallet/pages/exchange_view/exchange_step_views/step_3_view. import 'package:stackwallet/pages/exchange_view/sub_widgets/step_row.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/address_utils.dart'; import 'package:stackwallet/utilities/barcode_scanner_interface.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; @@ -16,7 +17,6 @@ import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; diff --git a/lib/pages/exchange_view/exchange_step_views/step_3_view.dart b/lib/pages/exchange_view/exchange_step_views/step_3_view.dart index 1079621e6..43ba2fdf6 100644 --- a/lib/pages/exchange_view/exchange_step_views/step_3_view.dart +++ b/lib/pages/exchange_view/exchange_step_views/step_3_view.dart @@ -11,11 +11,11 @@ import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/exchange/exchange_response.dart'; import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; import 'package:stackwallet/services/notifications_api.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; import 'package:stackwallet/utilities/enums/exchange_rate_type_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/custom_loading_overlay.dart'; diff --git a/lib/pages/exchange_view/exchange_step_views/step_4_view.dart b/lib/pages/exchange_view/exchange_step_views/step_4_view.dart index 094e343d8..853fed1cc 100644 --- a/lib/pages/exchange_view/exchange_step_views/step_4_view.dart +++ b/lib/pages/exchange_view/exchange_step_views/step_4_view.dart @@ -16,6 +16,7 @@ import 'package:stackwallet/pages/wallet_view/wallet_view.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/route_generator.dart'; import 'package:stackwallet/services/coins/firo/firo_wallet.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; @@ -23,7 +24,6 @@ import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/enums/fee_rate_type_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/desktop/secondary_button.dart'; diff --git a/lib/pages/exchange_view/exchange_view.dart b/lib/pages/exchange_view/exchange_view.dart index a17764b91..b8b7e48ca 100644 --- a/lib/pages/exchange_view/exchange_view.dart +++ b/lib/pages/exchange_view/exchange_view.dart @@ -10,9 +10,9 @@ import 'package:stackwallet/pages/exchange_view/trade_details_view.dart'; import 'package:stackwallet/providers/global/trades_service_provider.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_loading_overlay.dart'; import 'package:stackwallet/widgets/trade_card.dart'; diff --git a/lib/pages/exchange_view/send_from_view.dart b/lib/pages/exchange_view/send_from_view.dart index 36055d508..28164e850 100644 --- a/lib/pages/exchange_view/send_from_view.dart +++ b/lib/pages/exchange_view/send_from_view.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; @@ -12,13 +13,14 @@ import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/route_generator.dart'; import 'package:stackwallet/services/coins/firo/firo_wallet.dart'; import 'package:stackwallet/services/coins/manager.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/enums/fee_rate_type_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; @@ -574,8 +576,12 @@ class _SendFromCardState extends ConsumerState { ), child: Padding( padding: const EdgeInsets.all(6), - child: SvgPicture.asset( - Assets.svg.iconFor(coin: coin), + child: SvgPicture.file( + File( + ref.watch( + coinIconProvider(coin), + ), + ), width: 24, height: 24, ), diff --git a/lib/pages/exchange_view/sub_widgets/exchange_provider_option.dart b/lib/pages/exchange_view/sub_widgets/exchange_provider_option.dart index 1212caf49..6f13d00a2 100644 --- a/lib/pages/exchange_view/sub_widgets/exchange_provider_option.dart +++ b/lib/pages/exchange_view/sub_widgets/exchange_provider_option.dart @@ -6,13 +6,13 @@ import 'package:stackwallet/models/exchange/response_objects/estimate.dart'; import 'package:stackwallet/providers/exchange/exchange_form_state_provider.dart'; import 'package:stackwallet/providers/global/locale_provider.dart'; import 'package:stackwallet/services/exchange/exchange.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/enums/exchange_rate_type_enum.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/animated_text.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart b/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart index a145d36a4..c8566fff9 100644 --- a/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart +++ b/lib/pages/exchange_view/sub_widgets/exchange_provider_options.dart @@ -6,7 +6,7 @@ import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; import 'package:stackwallet/services/exchange/trocador/trocador_exchange.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; diff --git a/lib/pages/exchange_view/sub_widgets/rate_type_toggle.dart b/lib/pages/exchange_view/sub_widgets/rate_type_toggle.dart index b83883509..98e09211c 100644 --- a/lib/pages/exchange_view/sub_widgets/rate_type_toggle.dart +++ b/lib/pages/exchange_view/sub_widgets/rate_type_toggle.dart @@ -1,10 +1,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/exchange_rate_type_enum.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/toggle.dart'; diff --git a/lib/pages/exchange_view/sub_widgets/step_indicator.dart b/lib/pages/exchange_view/sub_widgets/step_indicator.dart index 96e1d4a4c..8eff8c52c 100644 --- a/lib/pages/exchange_view/sub_widgets/step_indicator.dart +++ b/lib/pages/exchange_view/sub_widgets/step_indicator.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; enum StepIndicatorStatus { current, completed, incomplete } diff --git a/lib/pages/exchange_view/sub_widgets/step_row.dart b/lib/pages/exchange_view/sub_widgets/step_row.dart index 398ac1c16..9c2ee29c9 100644 --- a/lib/pages/exchange_view/sub_widgets/step_row.dart +++ b/lib/pages/exchange_view/sub_widgets/step_row.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:stackwallet/pages/exchange_view/sub_widgets/step_indicator.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; class StepRow extends StatelessWidget { const StepRow({ diff --git a/lib/pages/exchange_view/trade_details_view.dart b/lib/pages/exchange_view/trade_details_view.dart index 5f8e9d471..3618a14a5 100644 --- a/lib/pages/exchange_view/trade_details_view.dart +++ b/lib/pages/exchange_view/trade_details_view.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:io'; import 'package:decimal/decimal.dart'; import 'package:flutter/material.dart'; @@ -8,6 +9,7 @@ import 'package:flutter_svg/svg.dart'; import 'package:qr_flutter/qr_flutter.dart'; import 'package:stackwallet/models/exchange/change_now/exchange_transaction_status.dart'; import 'package:stackwallet/models/isar/models/blockchain_data/transaction.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages/exchange_view/edit_trade_note_view.dart'; import 'package:stackwallet/pages/exchange_view/send_from_view.dart'; @@ -21,6 +23,8 @@ import 'package:stackwallet/services/exchange/exchange.dart'; import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; import 'package:stackwallet/services/exchange/simpleswap/simpleswap_exchange.dart'; import 'package:stackwallet/services/exchange/trocador/trocador_exchange.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; @@ -28,7 +32,6 @@ import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; @@ -110,7 +113,7 @@ class _TradeDetailsViewState extends ConsumerState { super.initState(); } - String _fetchIconAssetForStatus(String statusString) { + String _fetchIconAssetForStatus(String statusString, ThemeAssets assets) { ChangeNowTransactionStatus? status; try { if (statusString.toLowerCase().startsWith("waiting")) { @@ -121,10 +124,10 @@ class _TradeDetailsViewState extends ConsumerState { switch (statusString.toLowerCase()) { case "funds confirming": case "processing payment": - return Assets.svg.txExchangePending(context); + return assets.txExchangePending; case "completed": - return Assets.svg.txExchange(context); + return assets.txExchange; default: status = ChangeNowTransactionStatus.Failed; @@ -139,11 +142,11 @@ class _TradeDetailsViewState extends ConsumerState { case ChangeNowTransactionStatus.Sending: case ChangeNowTransactionStatus.Refunded: case ChangeNowTransactionStatus.Verifying: - return Assets.svg.txExchangePending(context); + return assets.txExchangePending; case ChangeNowTransactionStatus.Finished: - return Assets.svg.txExchange(context); + return assets.txExchange; case ChangeNowTransactionStatus.Failed: - return Assets.svg.txExchangeFailed(context); + return assets.txExchangeFailed; } } @@ -315,8 +318,17 @@ class _TradeDetailsViewState extends ConsumerState { if (isDesktop) Row( children: [ - SvgPicture.asset( - _fetchIconAssetForStatus(trade.status), + SvgPicture.file( + File( + _fetchIconAssetForStatus( + trade.status, + ref.watch( + themeProvider.select( + (value) => value.assets, + ), + ), + ), + ), width: 32, height: 32, ), @@ -377,8 +389,17 @@ class _TradeDetailsViewState extends ConsumerState { borderRadius: BorderRadius.circular(32), ), child: Center( - child: SvgPicture.asset( - _fetchIconAssetForStatus(trade.status), + child: SvgPicture.file( + File( + _fetchIconAssetForStatus( + trade.status, + ref.watch( + themeProvider.select( + (value) => value.assets, + ), + ), + ), + ), width: 32, height: 32, ), diff --git a/lib/pages/exchange_view/wallet_initiated_exchange_view.dart b/lib/pages/exchange_view/wallet_initiated_exchange_view.dart index 7085bd8aa..f52cb0699 100644 --- a/lib/pages/exchange_view/wallet_initiated_exchange_view.dart +++ b/lib/pages/exchange_view/wallet_initiated_exchange_view.dart @@ -8,9 +8,9 @@ import 'package:stackwallet/pages/exchange_view/sub_widgets/step_row.dart'; import 'package:stackwallet/providers/exchange/exchange_form_state_provider.dart'; import 'package:stackwallet/providers/global/prefs_provider.dart'; import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; diff --git a/lib/pages/generic/single_field_edit_view.dart b/lib/pages/generic/single_field_edit_view.dart index 42a67fadf..17687a271 100644 --- a/lib/pages/generic/single_field_edit_view.dart +++ b/lib/pages/generic/single_field_edit_view.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_native_splash/cli_commands.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/home_view/home_view.dart b/lib/pages/home_view/home_view.dart index 9e8f7fde1..c9cf5f478 100644 --- a/lib/pages/home_view/home_view.dart +++ b/lib/pages/home_view/home_view.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; @@ -13,10 +14,11 @@ import 'package:stackwallet/pages/wallets_view/wallets_view.dart'; import 'package:stackwallet/providers/global/notifications_provider.dart'; import 'package:stackwallet/providers/ui/home_view_index_provider.dart'; import 'package:stackwallet/providers/ui/unread_notifications_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/animated_widgets/rotate_icon.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; @@ -162,8 +164,14 @@ class _HomeViewState extends ConsumerState { GestureDetector( onTap: _hiddenOptions, child: RotateIcon( - icon: SvgPicture.asset( - Assets.svg.stackIcon(context), + icon: SvgPicture.file( + File( + ref.watch( + themeProvider.select( + (value) => value.assets.stackIcon, + ), + ), + ), width: 24, height: 24, ), @@ -191,27 +199,44 @@ class _HomeViewState extends ConsumerState { child: AspectRatio( aspectRatio: 1, child: AppBarIconButton( - semanticsLabel: "Notifications Button. Takes To Notifications Page.", + semanticsLabel: + "Notifications Button. Takes To Notifications Page.", key: const Key("walletsViewAlertsButton"), size: 36, shadows: const [], color: Theme.of(context) .extension()! .backgroundAppBar, - icon: SvgPicture.asset( - ref.watch(notificationsProvider - .select((value) => value.hasUnreadNotifications)) - ? Assets.svg.bellNew(context) - : Assets.svg.bell, - width: 20, - height: 20, - color: ref.watch(notificationsProvider - .select((value) => value.hasUnreadNotifications)) - ? null - : Theme.of(context) - .extension()! - .topNavIconPrimary, - ), + icon: ref.watch(notificationsProvider + .select((value) => value.hasUnreadNotifications)) + ? SvgPicture.file( + File( + ref.watch( + themeProvider.select( + (value) => value.assets.bellNew, + ), + ), + ), + width: 20, + height: 20, + color: ref.watch(notificationsProvider.select( + (value) => value.hasUnreadNotifications)) + ? null + : Theme.of(context) + .extension()! + .topNavIconPrimary, + ) + : SvgPicture.asset( + Assets.svg.bell, + width: 20, + height: 20, + color: ref.watch(notificationsProvider.select( + (value) => value.hasUnreadNotifications)) + ? null + : Theme.of(context) + .extension()! + .topNavIconPrimary, + ), onPressed: () { // reset unread state ref.refresh(unreadNotificationsStateProvider); diff --git a/lib/pages/home_view/sub_widgets/home_view_button_bar.dart b/lib/pages/home_view/sub_widgets/home_view_button_bar.dart index f532cf3a2..58fda72a9 100644 --- a/lib/pages/home_view/sub_widgets/home_view_button_bar.dart +++ b/lib/pages/home_view/sub_widgets/home_view_button_bar.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class HomeViewButtonBar extends ConsumerStatefulWidget { const HomeViewButtonBar({Key? key}) : super(key: key); diff --git a/lib/pages/intro_view.dart b/lib/pages/intro_view.dart index 0883a5405..5771f4bca 100644 --- a/lib/pages/intro_view.dart +++ b/lib/pages/intro_view.dart @@ -1,27 +1,30 @@ +import 'dart:io'; + import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/pages/stack_privacy_calls.dart'; import 'package:stackwallet/pages_desktop_specific/password/create_password_view.dart'; -import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; import 'package:stackwallet/utilities/prefs.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/desktop/secondary_button.dart'; import 'package:url_launcher/url_launcher.dart'; -class IntroView extends StatefulWidget { +class IntroView extends ConsumerStatefulWidget { const IntroView({Key? key}) : super(key: key); static const String routeName = "/introView"; @override - State createState() => _IntroViewState(); + ConsumerState createState() => _IntroViewState(); } -class _IntroViewState extends State { +class _IntroViewState extends ConsumerState { late final bool isDesktop; @override @@ -52,8 +55,14 @@ class _IntroViewState extends State { constraints: const BoxConstraints( maxWidth: 300, ), - child: SvgPicture.asset( - Assets.svg.stack(context), + child: SvgPicture.file( + File( + ref.watch( + themeProvider.select( + (value) => value.assets.stack, + ), + ), + ), width: isDesktop ? 324 : 266, height: isDesktop ? 324 : 266, ), @@ -115,8 +124,14 @@ class _IntroViewState extends State { SizedBox( width: 130, height: 130, - child: SvgPicture.asset( - Assets.svg.stackIcon(context), + child: SvgPicture.file( + File( + ref.watch( + themeProvider.select( + (value) => value.assets.stackIcon, + ), + ), + ), ), ), const Spacer( diff --git a/lib/pages/loading_view.dart b/lib/pages/loading_view.dart index 2da507847..7d05f8c82 100644 --- a/lib/pages/loading_view.dart +++ b/lib/pages/loading_view.dart @@ -1,26 +1,27 @@ +import 'dart:io'; import 'dart:math'; import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:lottie/lottie.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/rounded_container.dart'; -class LoadingView extends StatelessWidget { +class LoadingView extends ConsumerWidget { const LoadingView({Key? key}) : super(key: key); @override - Widget build(BuildContext context) { + Widget build(BuildContext context, WidgetRef ref) { final size = MediaQuery.of(context).size; final width = min(size.width, size.height) * 0.5; - final isChan = Theme.of(context).extension()!.themeType == - ThemeType.chan || - Theme.of(context).extension()!.themeType == - ThemeType.darkChans; + final assetPath = ref.watch( + themeProvider.select((value) => value.assets.loadingGif), + ); return Background( child: Scaffold( @@ -29,9 +30,8 @@ class LoadingView extends StatelessWidget { color: Theme.of(context).extension()!.background, child: Center( child: ConditionalParent( - condition: - Theme.of(context).extension()!.themeType == - ThemeType.oledBlack, + condition: Theme.of(context).extension()!.themeId == + "oled_black", builder: (child) => RoundedContainer( color: const Color(0xFFDEDEDE), radiusMultiplier: 100, @@ -41,10 +41,10 @@ class LoadingView extends StatelessWidget { ), child: SizedBox( width: width, - child: isChan - ? Image( - image: AssetImage( - Assets.gif.stacyPlain, + child: assetPath != null + ? Image.file( + File( + assetPath, ), ) : Lottie.asset( diff --git a/lib/pages/manage_favorites_view/manage_favorites_view.dart b/lib/pages/manage_favorites_view/manage_favorites_view.dart index 7d15974a8..148c8a67b 100644 --- a/lib/pages/manage_favorites_view/manage_favorites_view.dart +++ b/lib/pages/manage_favorites_view/manage_favorites_view.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart'; diff --git a/lib/pages/notification_views/notifications_view.dart b/lib/pages/notification_views/notifications_view.dart index a574e083d..fda479fb7 100644 --- a/lib/pages/notification_views/notifications_view.dart +++ b/lib/pages/notification_views/notifications_view.dart @@ -3,8 +3,8 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/notifications/notification_card.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/providers/ui/unread_notifications_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; diff --git a/lib/pages/paynym/add_new_paynym_follow_view.dart b/lib/pages/paynym/add_new_paynym_follow_view.dart index d89c3db92..e27b218f9 100644 --- a/lib/pages/paynym/add_new_paynym_follow_view.dart +++ b/lib/pages/paynym/add_new_paynym_follow_view.dart @@ -7,10 +7,10 @@ import 'package:stackwallet/models/paynym/paynym_account.dart'; import 'package:stackwallet/pages/paynym/subwidgets/featured_paynyms_widget.dart'; import 'package:stackwallet/pages/paynym/subwidgets/paynym_card.dart'; import 'package:stackwallet/providers/global/paynym_api_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/barcode_scanner_interface.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; diff --git a/lib/pages/paynym/dialogs/claiming_paynym_dialog.dart b/lib/pages/paynym/dialogs/claiming_paynym_dialog.dart index 7d42a35d4..339d5a838 100644 --- a/lib/pages/paynym/dialogs/claiming_paynym_dialog.dart +++ b/lib/pages/paynym/dialogs/claiming_paynym_dialog.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/animated_widgets/rotating_arrows.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; diff --git a/lib/pages/paynym/dialogs/confirm_paynym_connect_dialog.dart b/lib/pages/paynym/dialogs/confirm_paynym_connect_dialog.dart index 94603cf62..f2f886241 100644 --- a/lib/pages/paynym/dialogs/confirm_paynym_connect_dialog.dart +++ b/lib/pages/paynym/dialogs/confirm_paynym_connect_dialog.dart @@ -1,10 +1,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; diff --git a/lib/pages/paynym/dialogs/paynym_details_popup.dart b/lib/pages/paynym/dialogs/paynym_details_popup.dart index 6c4a8b691..653ef415b 100644 --- a/lib/pages/paynym/dialogs/paynym_details_popup.dart +++ b/lib/pages/paynym/dialogs/paynym_details_popup.dart @@ -17,11 +17,11 @@ import 'package:stackwallet/providers/global/locale_provider.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/route_generator.dart'; import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/paynym_follow_toggle_button.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/primary_button.dart'; diff --git a/lib/pages/paynym/dialogs/paynym_qr_popup.dart b/lib/pages/paynym/dialogs/paynym_qr_popup.dart index 0f36436fa..7b6326d23 100644 --- a/lib/pages/paynym/dialogs/paynym_qr_popup.dart +++ b/lib/pages/paynym/dialogs/paynym_qr_popup.dart @@ -6,9 +6,9 @@ import 'package:qr_flutter/qr_flutter.dart'; import 'package:stackwallet/models/paynym/paynym_account.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages/paynym/subwidgets/paynym_bot.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; diff --git a/lib/pages/paynym/paynym_claim_view.dart b/lib/pages/paynym/paynym_claim_view.dart index 7944688da..c703c581d 100644 --- a/lib/pages/paynym/paynym_claim_view.dart +++ b/lib/pages/paynym/paynym_claim_view.dart @@ -11,9 +11,9 @@ import 'package:stackwallet/providers/global/paynym_api_provider.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/providers/wallet/my_paynym_account_state_provider.dart'; import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; diff --git a/lib/pages/paynym/paynym_home_view.dart b/lib/pages/paynym/paynym_home_view.dart index f0cb108cb..2a4ae4aaa 100644 --- a/lib/pages/paynym/paynym_home_view.dart +++ b/lib/pages/paynym/paynym_home_view.dart @@ -14,11 +14,11 @@ import 'package:stackwallet/pages/paynym/subwidgets/paynym_followers_list.dart'; import 'package:stackwallet/pages/paynym/subwidgets/paynym_following_list.dart'; import 'package:stackwallet/providers/ui/selected_paynym_details_item_Provider.dart'; import 'package:stackwallet/providers/wallet/my_paynym_account_state_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; diff --git a/lib/pages/paynym/subwidgets/desktop_paynym_details.dart b/lib/pages/paynym/subwidgets/desktop_paynym_details.dart index a6929d0b0..ee70223f9 100644 --- a/lib/pages/paynym/subwidgets/desktop_paynym_details.dart +++ b/lib/pages/paynym/subwidgets/desktop_paynym_details.dart @@ -15,11 +15,11 @@ import 'package:stackwallet/pages_desktop_specific/my_stack_view/paynym/desktop_ import 'package:stackwallet/providers/global/locale_provider.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; import 'package:stackwallet/widgets/custom_buttons/paynym_follow_toggle_button.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; diff --git a/lib/pages/paynym/subwidgets/featured_paynyms_widget.dart b/lib/pages/paynym/subwidgets/featured_paynyms_widget.dart index fcb9d1637..f88e25c7f 100644 --- a/lib/pages/paynym/subwidgets/featured_paynyms_widget.dart +++ b/lib/pages/paynym/subwidgets/featured_paynyms_widget.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:stackwallet/pages/paynym/subwidgets/paynym_card.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/featured_paynyms.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; diff --git a/lib/pages/paynym/subwidgets/paynym_card.dart b/lib/pages/paynym/subwidgets/paynym_card.dart index 644e9e9bf..7738424bc 100644 --- a/lib/pages/paynym/subwidgets/paynym_card.dart +++ b/lib/pages/paynym/subwidgets/paynym_card.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; import 'package:stackwallet/pages/paynym/subwidgets/paynym_bot.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/custom_buttons/paynym_follow_toggle_button.dart'; diff --git a/lib/pages/paynym/subwidgets/paynym_card_button.dart b/lib/pages/paynym/subwidgets/paynym_card_button.dart index 6e51c85f8..2697b78ee 100644 --- a/lib/pages/paynym/subwidgets/paynym_card_button.dart +++ b/lib/pages/paynym/subwidgets/paynym_card_button.dart @@ -4,10 +4,10 @@ import 'package:stackwallet/models/paynym/paynym_account_lite.dart'; import 'package:stackwallet/pages/paynym/dialogs/paynym_details_popup.dart'; import 'package:stackwallet/pages/paynym/subwidgets/paynym_bot.dart'; import 'package:stackwallet/providers/ui/selected_paynym_details_item_Provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/rounded_container.dart'; diff --git a/lib/pages/paynym/subwidgets/paynym_followers_list.dart b/lib/pages/paynym/subwidgets/paynym_followers_list.dart index 1237b2c4a..fa581d700 100644 --- a/lib/pages/paynym/subwidgets/paynym_followers_list.dart +++ b/lib/pages/paynym/subwidgets/paynym_followers_list.dart @@ -7,10 +7,10 @@ import 'package:stackwallet/providers/global/paynym_api_provider.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/providers/wallet/my_paynym_account_state_provider.dart'; import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; diff --git a/lib/pages/paynym/subwidgets/paynym_following_list.dart b/lib/pages/paynym/subwidgets/paynym_following_list.dart index f12d30cdf..c1d2157d2 100644 --- a/lib/pages/paynym/subwidgets/paynym_following_list.dart +++ b/lib/pages/paynym/subwidgets/paynym_following_list.dart @@ -7,10 +7,10 @@ import 'package:stackwallet/providers/global/paynym_api_provider.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/providers/wallet/my_paynym_account_state_provider.dart'; import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; diff --git a/lib/pages/pinpad_views/create_pin_view.dart b/lib/pages/pinpad_views/create_pin_view.dart index d2b5a5ce1..7ad3344ec 100644 --- a/lib/pages/pinpad_views/create_pin_view.dart +++ b/lib/pages/pinpad_views/create_pin_view.dart @@ -6,12 +6,12 @@ import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages/home_view/home_view.dart'; import 'package:stackwallet/providers/global/prefs_provider.dart'; import 'package:stackwallet/providers/global/secure_store_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/biometrics.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/custom_pin_put/custom_pin_put.dart'; diff --git a/lib/pages/pinpad_views/lock_screen_view.dart b/lib/pages/pinpad_views/lock_screen_view.dart index 380717f72..802488fca 100644 --- a/lib/pages/pinpad_views/lock_screen_view.dart +++ b/lib/pages/pinpad_views/lock_screen_view.dart @@ -9,6 +9,7 @@ import 'package:stackwallet/pages/wallet_view/wallet_view.dart'; import 'package:stackwallet/providers/global/prefs_provider.dart'; import 'package:stackwallet/providers/global/secure_store_provider.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; // import 'package:stackwallet/providers/global/should_show_lockscreen_on_resume_state_provider.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/biometrics.dart'; @@ -17,7 +18,6 @@ import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'; import 'package:stackwallet/utilities/show_loading.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; @@ -163,7 +163,7 @@ class _LockscreenViewState extends ConsumerState { @override void didChangeDependencies() { if (widget.isInitialAppLogin) { - unawaited(Assets.precache(context)); + // unawaited(Assets.precache(context)); } super.didChangeDependencies(); } diff --git a/lib/pages/receive_view/addresses/address_card.dart b/lib/pages/receive_view/addresses/address_card.dart index 7137b8872..6a8abd78d 100644 --- a/lib/pages/receive_view/addresses/address_card.dart +++ b/lib/pages/receive_view/addresses/address_card.dart @@ -1,12 +1,14 @@ import 'dart:async'; +import 'dart:io'; import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:isar/isar.dart'; import 'package:stackwallet/db/isar/main_db.dart'; import 'package:stackwallet/models/isar/models/isar_models.dart'; import 'package:stackwallet/pages/receive_view/addresses/address_tag.dart'; -import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; @@ -14,7 +16,7 @@ import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; -class AddressCard extends StatefulWidget { +class AddressCard extends ConsumerStatefulWidget { const AddressCard({ Key? key, required this.addressId, @@ -31,10 +33,10 @@ class AddressCard extends StatefulWidget { final VoidCallback? onPressed; @override - State createState() => _AddressCardState(); + ConsumerState createState() => _AddressCardState(); } -class _AddressCardState extends State { +class _AddressCardState extends ConsumerState { final isDesktop = Util.isDesktop; late Stream stream; @@ -85,8 +87,12 @@ class _AddressCardState extends State { builder: (child) => Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ - SvgPicture.asset( - Assets.svg.iconFor(coin: widget.coin), + SvgPicture.file( + File( + ref.watch( + coinIconProvider(widget.coin), + ), + ), width: 32, height: 32, ), diff --git a/lib/pages/receive_view/addresses/address_details_view.dart b/lib/pages/receive_view/addresses/address_details_view.dart index ccb1e9fdb..1a98c989d 100644 --- a/lib/pages/receive_view/addresses/address_details_view.dart +++ b/lib/pages/receive_view/addresses/address_details_view.dart @@ -8,9 +8,9 @@ import 'package:stackwallet/pages/receive_view/addresses/address_tag.dart'; import 'package:stackwallet/pages/wallet_view/sub_widgets/no_transactions_found.dart'; import 'package:stackwallet/pages/wallet_view/transaction_views/transaction_details_view.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/address_utils.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/receive_view/addresses/address_qr_popup.dart b/lib/pages/receive_view/addresses/address_qr_popup.dart index cd41a1e99..65f0e7977 100644 --- a/lib/pages/receive_view/addresses/address_qr_popup.dart +++ b/lib/pages/receive_view/addresses/address_qr_popup.dart @@ -11,12 +11,12 @@ import 'package:path_provider/path_provider.dart'; import 'package:qr_flutter/qr_flutter.dart'; import 'package:share_plus/share_plus.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/address_utils.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/desktop/primary_button.dart'; import 'package:stackwallet/widgets/desktop/secondary_button.dart'; diff --git a/lib/pages/receive_view/addresses/address_tag.dart b/lib/pages/receive_view/addresses/address_tag.dart index 56d591301..0c78a2f2e 100644 --- a/lib/pages/receive_view/addresses/address_tag.dart +++ b/lib/pages/receive_view/addresses/address_tag.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_native_splash/cli_commands.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/rounded_container.dart'; class AddressTag extends StatelessWidget { diff --git a/lib/pages/receive_view/addresses/edit_address_label_view.dart b/lib/pages/receive_view/addresses/edit_address_label_view.dart index 7d9aa6635..53ddada96 100644 --- a/lib/pages/receive_view/addresses/edit_address_label_view.dart +++ b/lib/pages/receive_view/addresses/edit_address_label_view.dart @@ -3,9 +3,9 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:isar/isar.dart'; import 'package:stackwallet/db/isar/main_db.dart'; import 'package:stackwallet/models/isar/models/address_label.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/receive_view/addresses/wallet_addresses_view.dart b/lib/pages/receive_view/addresses/wallet_addresses_view.dart index be1ded23a..f90221bcf 100644 --- a/lib/pages/receive_view/addresses/wallet_addresses_view.dart +++ b/lib/pages/receive_view/addresses/wallet_addresses_view.dart @@ -7,9 +7,9 @@ import 'package:stackwallet/models/isar/models/isar_models.dart'; import 'package:stackwallet/pages/receive_view/addresses/address_card.dart'; import 'package:stackwallet/pages/receive_view/addresses/address_details_view.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/receive_view/generate_receiving_uri_qr_code_view.dart b/lib/pages/receive_view/generate_receiving_uri_qr_code_view.dart index c0865d5a6..bc1281156 100644 --- a/lib/pages/receive_view/generate_receiving_uri_qr_code_view.dart +++ b/lib/pages/receive_view/generate_receiving_uri_qr_code_view.dart @@ -13,15 +13,14 @@ import 'package:path_provider/path_provider.dart'; import 'package:qr_flutter/qr_flutter.dart'; import 'package:share_plus/share_plus.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/address_utils.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; -import 'package:stackwallet/utilities/enums/flush_bar_type.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/receive_view/receive_view.dart b/lib/pages/receive_view/receive_view.dart index 9800c9c38..154acead7 100644 --- a/lib/pages/receive_view/receive_view.dart +++ b/lib/pages/receive_view/receive_view.dart @@ -11,12 +11,12 @@ import 'package:stackwallet/pages/receive_view/addresses/wallet_addresses_view.d import 'package:stackwallet/pages/receive_view/generate_receiving_uri_qr_code_view.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/route_generator.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; @@ -143,7 +143,8 @@ class _ReceiveViewState extends ConsumerState { child: AspectRatio( aspectRatio: 1, child: AppBarIconButton( - semanticsLabel: "Address List Pop-up Button. Opens A Pop-up For Adress List Button.", + semanticsLabel: + "Address List Pop-up Button. Opens A Pop-up For Adress List Button.", key: const Key("walletNetworkSettingsAddNewNodeViewButton"), size: 36, shadows: const [], diff --git a/lib/pages/send_view/confirm_transaction_view.dart b/lib/pages/send_view/confirm_transaction_view.dart index a6dd1bcc0..e07064d39 100644 --- a/lib/pages/send_view/confirm_transaction_view.dart +++ b/lib/pages/send_view/confirm_transaction_view.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:io'; import 'package:decimal/decimal.dart'; import 'package:flutter/material.dart'; @@ -18,12 +19,12 @@ import 'package:stackwallet/route_generator.dart'; import 'package:stackwallet/services/coins/epiccash/epiccash_wallet.dart'; import 'package:stackwallet/services/coins/firo/firo_wallet.dart'; import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; -import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; @@ -514,8 +515,14 @@ class _ConfirmTransactionViewState ), child: Row( children: [ - SvgPicture.asset( - Assets.svg.send(context), + SvgPicture.file( + File( + ref.watch( + themeProvider.select( + (value) => value.assets.send, + ), + ), + ), width: 32, height: 32, ), diff --git a/lib/pages/send_view/send_view.dart b/lib/pages/send_view/send_view.dart index 6f09a647f..3d98309be 100644 --- a/lib/pages/send_view/send_view.dart +++ b/lib/pages/send_view/send_view.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:io'; import 'package:bip47/bip47.dart'; import 'package:cw_core/monero_transaction_priority.dart'; @@ -24,6 +25,8 @@ import 'package:stackwallet/route_generator.dart'; import 'package:stackwallet/services/coins/firo/firo_wallet.dart'; import 'package:stackwallet/services/coins/manager.dart'; import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/address_utils.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/assets.dart'; @@ -35,7 +38,6 @@ import 'package:stackwallet/utilities/enums/fee_rate_type_enum.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/prefs.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/animated_text.dart'; import 'package:stackwallet/widgets/background.dart'; @@ -757,8 +759,12 @@ class _SendViewState extends ConsumerState { padding: const EdgeInsets.all(12.0), child: Row( children: [ - SvgPicture.asset( - Assets.svg.iconFor(coin: coin), + SvgPicture.file( + File( + ref.watch( + coinIconProvider(coin), + ), + ), width: 22, height: 22, ), @@ -981,7 +987,8 @@ class _SendViewState extends ConsumerState { children: [ _addressToggleFlag ? TextFieldIconButton( - semanticsLabel: "Clear Button. Clears The Address Field Input.", + semanticsLabel: + "Clear Button. Clears The Address Field Input.", key: const Key( "sendViewClearAddressFieldButtonKey"), onTap: () { @@ -998,7 +1005,8 @@ class _SendViewState extends ConsumerState { child: const XIcon(), ) : TextFieldIconButton( - semanticsLabel: "Paste Button. Pastes From Clipboard To Address Field Input.", + semanticsLabel: + "Paste Button. Pastes From Clipboard To Address Field Input.", key: const Key( "sendViewPasteAddressFieldButtonKey"), onTap: () async { @@ -1048,7 +1056,8 @@ class _SendViewState extends ConsumerState { ), if (sendToController.text.isEmpty) TextFieldIconButton( - semanticsLabel: "Address Book Button. Opens Address Book For Address Field.", + semanticsLabel: + "Address Book Button. Opens Address Book For Address Field.", key: const Key( "sendViewAddressBookButtonKey"), onTap: () { @@ -1061,7 +1070,8 @@ class _SendViewState extends ConsumerState { ), if (sendToController.text.isEmpty) TextFieldIconButton( - semanticsLabel: "Scan QR Button. Opens Camera For Scanning QR Code.", + semanticsLabel: + "Scan QR Button. Opens Camera For Scanning QR Code.", key: const Key( "sendViewScanQrButtonKey"), onTap: () async { diff --git a/lib/pages/send_view/sub_widgets/building_transaction_dialog.dart b/lib/pages/send_view/sub_widgets/building_transaction_dialog.dart index f95fe7bed..d930cd3ae 100644 --- a/lib/pages/send_view/sub_widgets/building_transaction_dialog.dart +++ b/lib/pages/send_view/sub_widgets/building_transaction_dialog.dart @@ -1,15 +1,17 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; -import 'package:stackwallet/utilities/assets.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/coin_image_provider.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/animated_widgets/rotating_arrows.dart'; import 'package:stackwallet/widgets/desktop/secondary_button.dart'; import 'package:stackwallet/widgets/stack_dialog.dart'; -class BuildingTransactionDialog extends StatefulWidget { +class BuildingTransactionDialog extends ConsumerStatefulWidget { const BuildingTransactionDialog({ Key? key, required this.onCancel, @@ -20,10 +22,11 @@ class BuildingTransactionDialog extends StatefulWidget { final Coin coin; @override - State createState() => _RestoringDialogState(); + ConsumerState createState() => + _RestoringDialogState(); } -class _RestoringDialogState extends State { +class _RestoringDialogState extends ConsumerState { late final VoidCallback onCancel; @override @@ -35,10 +38,11 @@ class _RestoringDialogState extends State { @override Widget build(BuildContext context) { - final isChans = Theme.of(context).extension()!.themeType == - ThemeType.chan || - Theme.of(context).extension()!.themeType == - ThemeType.darkChans; + final assetPath = ref.watch( + coinImageSecondaryProvider( + widget.coin, + ), + ); if (Util.isDesktop) { return Column( @@ -51,17 +55,14 @@ class _RestoringDialogState extends State { const SizedBox( height: 40, ), - if (isChans) - Image( - image: AssetImage( - Assets.gif.kiss(widget.coin), - ), - ), - if (!isChans) - const RotatingArrows( - width: 40, - height: 40, - ), + assetPath.endsWith(".gif") + ? Image.file(File( + assetPath, + )) + : const RotatingArrows( + width: 40, + height: 40, + ), const SizedBox( height: 40, ), @@ -79,17 +80,15 @@ class _RestoringDialogState extends State { onWillPop: () async { return false; }, - child: isChans + child: assetPath.endsWith(".gif") ? StackDialogBase( child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, mainAxisSize: MainAxisSize.min, children: [ - Image( - image: AssetImage( - Assets.gif.kiss(widget.coin), - ), - ), + Image.file(File( + assetPath, + )), Text( "Generating transaction", textAlign: TextAlign.center, diff --git a/lib/pages/send_view/sub_widgets/firo_balance_selection_sheet.dart b/lib/pages/send_view/sub_widgets/firo_balance_selection_sheet.dart index f776a13e0..175e1442a 100644 --- a/lib/pages/send_view/sub_widgets/firo_balance_selection_sheet.dart +++ b/lib/pages/send_view/sub_widgets/firo_balance_selection_sheet.dart @@ -3,10 +3,10 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/providers/wallet/public_private_balance_state_provider.dart'; import 'package:stackwallet/services/coins/firo/firo_wallet.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class FiroBalanceSelectionSheet extends ConsumerStatefulWidget { const FiroBalanceSelectionSheet({ diff --git a/lib/pages/send_view/sub_widgets/sending_transaction_dialog.dart b/lib/pages/send_view/sub_widgets/sending_transaction_dialog.dart index 85dc6fc6f..2442a7324 100644 --- a/lib/pages/send_view/sub_widgets/sending_transaction_dialog.dart +++ b/lib/pages/send_view/sub_widgets/sending_transaction_dialog.dart @@ -1,15 +1,18 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:lottie/lottie.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/coin_image_provider.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/stack_dialog.dart'; -class SendingTransactionDialog extends StatefulWidget { +class SendingTransactionDialog extends ConsumerStatefulWidget { const SendingTransactionDialog({ Key? key, required this.coin, @@ -20,10 +23,11 @@ class SendingTransactionDialog extends StatefulWidget { final ProgressAndSuccessController controller; @override - State createState() => _RestoringDialogState(); + ConsumerState createState() => + _RestoringDialogState(); } -class _RestoringDialogState extends State { +class _RestoringDialogState extends ConsumerState { late ProgressAndSuccessController? _progressAndSuccessController; @override @@ -42,10 +46,11 @@ class _RestoringDialogState extends State { @override Widget build(BuildContext context) { - final isChans = Theme.of(context).extension()!.themeType == - ThemeType.chan || - Theme.of(context).extension()!.themeType == - ThemeType.darkChans; + final assetPath = ref.watch( + coinImageSecondaryProvider( + widget.coin, + ), + ); if (Util.isDesktop) { return DesktopDialog( @@ -61,11 +66,9 @@ class _RestoringDialogState extends State { const SizedBox( height: 40, ), - isChans - ? Image( - image: AssetImage( - Assets.gif.kiss(widget.coin), - ), + assetPath.endsWith(".gif") + ? Image.file( + File(assetPath), ) : ProgressAndSuccess( controller: _progressAndSuccessController!, @@ -79,16 +82,14 @@ class _RestoringDialogState extends State { onWillPop: () async { return false; }, - child: isChans + child: assetPath.endsWith(".gif") ? StackDialogBase( child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, mainAxisSize: MainAxisSize.min, children: [ - Image( - image: AssetImage( - Assets.gif.kiss(widget.coin), - ), + Image.file( + File(assetPath), ), Text( "Sending transaction", diff --git a/lib/pages/send_view/sub_widgets/transaction_fee_selection_sheet.dart b/lib/pages/send_view/sub_widgets/transaction_fee_selection_sheet.dart index 7b6b1d5e2..f2458349e 100644 --- a/lib/pages/send_view/sub_widgets/transaction_fee_selection_sheet.dart +++ b/lib/pages/send_view/sub_widgets/transaction_fee_selection_sheet.dart @@ -8,13 +8,13 @@ import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/providers/ui/fee_rate_type_state_provider.dart'; import 'package:stackwallet/providers/wallet/public_private_balance_state_provider.dart'; import 'package:stackwallet/services/coins/firo/firo_wallet.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/enums/fee_rate_type_enum.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/animated_text.dart'; final feeSheetSessionCacheProvider = diff --git a/lib/pages/send_view/token_send_view.dart b/lib/pages/send_view/token_send_view.dart index e79842256..d0eb505a2 100644 --- a/lib/pages/send_view/token_send_view.dart +++ b/lib/pages/send_view/token_send_view.dart @@ -17,6 +17,7 @@ import 'package:stackwallet/providers/ui/fee_rate_type_state_provider.dart'; import 'package:stackwallet/providers/ui/preview_tx_button_state_provider.dart'; import 'package:stackwallet/route_generator.dart'; import 'package:stackwallet/services/coins/manager.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/address_utils.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/assets.dart'; @@ -28,7 +29,6 @@ import 'package:stackwallet/utilities/enums/fee_rate_type_enum.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/prefs.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/animated_text.dart'; import 'package:stackwallet/widgets/background.dart'; diff --git a/lib/pages/settings_views/global_settings_view/about_view.dart b/lib/pages/settings_views/global_settings_view/about_view.dart index c3e955309..89e555418 100644 --- a/lib/pages/settings_views/global_settings_view/about_view.dart +++ b/lib/pages/settings_views/global_settings_view/about_view.dart @@ -8,9 +8,9 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:http/http.dart'; import 'package:lelantus/git_versions.dart' as FIRO_VERSIONS; import 'package:package_info_plus/package_info_plus.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; diff --git a/lib/pages/settings_views/global_settings_view/advanced_views/advanced_settings_view.dart b/lib/pages/settings_views/global_settings_view/advanced_views/advanced_settings_view.dart index 9285e2f08..3285d61cf 100644 --- a/lib/pages/settings_views/global_settings_view/advanced_views/advanced_settings_view.dart +++ b/lib/pages/settings_views/global_settings_view/advanced_views/advanced_settings_view.dart @@ -4,9 +4,9 @@ import 'package:stackwallet/pages/settings_views/global_settings_view/advanced_v import 'package:stackwallet/pages/settings_views/global_settings_view/advanced_views/manage_explorer_view.dart'; import 'package:stackwallet/pages/stack_privacy_calls.dart'; import 'package:stackwallet/providers/global/prefs_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/choose_coin_view.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; diff --git a/lib/pages/settings_views/global_settings_view/advanced_views/debug_view.dart b/lib/pages/settings_views/global_settings_view/advanced_views/debug_view.dart index 4642ff0d9..1b7ffa6f9 100644 --- a/lib/pages/settings_views/global_settings_view/advanced_views/debug_view.dart +++ b/lib/pages/settings_views/global_settings_view/advanced_views/debug_view.dart @@ -17,13 +17,13 @@ import 'package:stackwallet/models/isar/models/log.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/stack_backup_views/helpers/swb_file_system.dart'; import 'package:stackwallet/providers/global/debug_service_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/stack_file_system.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; diff --git a/lib/pages/settings_views/global_settings_view/advanced_views/manage_explorer_view.dart b/lib/pages/settings_views/global_settings_view/advanced_views/manage_explorer_view.dart index 6cf02b148..b32ee3595 100644 --- a/lib/pages/settings_views/global_settings_view/advanced_views/manage_explorer_view.dart +++ b/lib/pages/settings_views/global_settings_view/advanced_views/manage_explorer_view.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/block_explorers.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; diff --git a/lib/pages/settings_views/global_settings_view/appearance_settings/appearance_settings_view.dart b/lib/pages/settings_views/global_settings_view/appearance_settings/appearance_settings_view.dart index 62c93a7b2..314e0fff5 100644 --- a/lib/pages/settings_views/global_settings_view/appearance_settings/appearance_settings_view.dart +++ b/lib/pages/settings_views/global_settings_view/appearance_settings/appearance_settings_view.dart @@ -1,13 +1,15 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:stackwallet/pages/settings_views/global_settings_view/appearance_settings/manage_themes.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/appearance_settings/sub_widgets/theme_options_widget.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/custom_buttons/draggable_switch_button.dart'; +import 'package:stackwallet/widgets/desktop/secondary_button.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; class AppearanceSettingsView extends ConsumerWidget { @@ -99,21 +101,9 @@ class AppearanceSettingsView extends ConsumerWidget { height: 10, ), RoundedWhiteContainer( - padding: const EdgeInsets.all(0), - child: RawMaterialButton( - // splashColor: Theme.of(context).extension()!.highlight, - padding: const EdgeInsets.all(0), - materialTapTargetSize: - MaterialTapTargetSize.shrinkWrap, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular( - Constants.size.circularBorderRadius, - ), - ), - onPressed: null, - child: Padding( - padding: const EdgeInsets.all(12), - child: Row( + child: Column( + children: [ + Row( children: [ Column( crossAxisAlignment: @@ -124,15 +114,29 @@ class AppearanceSettingsView extends ConsumerWidget { style: STextStyles.titleBold12(context), textAlign: TextAlign.left, ), + const SizedBox( + height: 12, + ), const Padding( - padding: EdgeInsets.all(10), + padding: EdgeInsets.all(4), child: ThemeOptionsWidget(), ), ], ), ], ), - ), + const SizedBox( + height: 12, + ), + SecondaryButton( + label: "Add more themes", + onPressed: () { + Navigator.of(context).pushNamed( + ManageThemesView.routeName, + ); + }, + ) + ], ), ), ], diff --git a/lib/pages/settings_views/global_settings_view/appearance_settings/manage_themes.dart b/lib/pages/settings_views/global_settings_view/appearance_settings/manage_themes.dart new file mode 100644 index 000000000..1b7fc0415 --- /dev/null +++ b/lib/pages/settings_views/global_settings_view/appearance_settings/manage_themes.dart @@ -0,0 +1,287 @@ +import 'dart:async'; + +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/pages/settings_views/global_settings_view/appearance_settings/sub_widgets/install_theme_from_file_dialog.dart'; +import 'package:stackwallet/pages/settings_views/global_settings_view/appearance_settings/sub_widgets/stack_theme_card.dart'; +import 'package:stackwallet/providers/db/main_db_provider.dart'; +import 'package:stackwallet/providers/global/prefs_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_service.dart'; +import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/utilities/text_styles.dart'; +import 'package:stackwallet/utilities/util.dart'; +import 'package:stackwallet/widgets/background.dart'; +import 'package:stackwallet/widgets/conditional_parent.dart'; +import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; +import 'package:stackwallet/widgets/desktop/primary_button.dart'; +import 'package:stackwallet/widgets/desktop/secondary_button.dart'; +import 'package:stackwallet/widgets/loading_indicator.dart'; +import 'package:stackwallet/widgets/rounded_white_container.dart'; +import 'package:tuple/tuple.dart'; + +class ManageThemesView extends ConsumerStatefulWidget { + const ManageThemesView({Key? key}) : super(key: key); + + static const String routeName = "/manageThemes"; + + @override + ConsumerState createState() => _ManageThemesViewState(); +} + +class _ManageThemesViewState extends ConsumerState { + late bool _showThemes; + + Future> Function() future = () async => []; + + void _onInstallPressed() { + showDialog( + context: context, + builder: (context) => const InstallThemeFromFileDialog(), + ); + } + + @override + void initState() { + _showThemes = ref.read(prefsChangeNotifierProvider).externalCalls; + if (_showThemes) { + future = ref.read(pThemeService).fetchThemes; + } + super.initState(); + } + + @override + Widget build(BuildContext context) { + return ConditionalParent( + condition: !Util.isDesktop, + builder: (child) => Background( + child: Scaffold( + backgroundColor: + Theme.of(context).extension()!.background, + appBar: AppBar( + leading: AppBarBackButton( + onPressed: () { + Navigator.of(context).pop(); + }, + ), + title: Text( + "Add more themes", + style: STextStyles.navBarTitle(context), + ), + actions: [ + Padding( + padding: const EdgeInsets.only(right: 2), + child: AspectRatio( + aspectRatio: 1, + child: AppBarIconButton( + icon: SvgPicture.asset( + Assets.svg.circlePlusFilled, + color: Theme.of(context) + .extension()! + .topNavIconPrimary, + height: 20, + width: 20, + ), + onPressed: _onInstallPressed, + ), + ), + ), + ], + ), + body: _showThemes + ? Column( + children: [ + Expanded( + child: SingleChildScrollView( + child: Padding( + padding: const EdgeInsets.symmetric( + horizontal: 16, + ), + child: IntrinsicHeight( + child: child, + ), + ), + ), + ), + Padding( + padding: const EdgeInsets.all(16), + child: SecondaryButton( + label: "Install theme file", + onPressed: _onInstallPressed, + ), + ), + ], + ) + : SingleChildScrollView( + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: IntrinsicHeight( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + RoundedWhiteContainer( + child: Text( + "You are using Incognito Mode. Please press the" + " button below to load available themes from our server" + " or install a theme file manually from your device.", + style: STextStyles.smallMed12(context), + ), + ), + const SizedBox( + height: 12, + ), + PrimaryButton( + label: "Load themes", + onPressed: () { + setState(() { + _showThemes = true; + future = ref.watch(pThemeService).fetchThemes; + }); + }, + ), + const SizedBox( + height: 12, + ), + SecondaryButton( + label: "Install theme file", + onPressed: _onInstallPressed, + ), + const SizedBox( + height: 16, + ), + Expanded( + child: IncognitoInstalledThemes( + cardWidth: + (MediaQuery.of(context).size.width - 48) / 2, + ), + ), + const SizedBox( + height: 16, + ), + ], + ), + ), + ), + ), + ), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + FutureBuilder( + future: future(), + builder: ( + context, + AsyncSnapshot> snapshot, + ) { + if (snapshot.connectionState == ConnectionState.done && + snapshot.hasData) { + return Wrap( + spacing: 16, + runSpacing: 16, + children: snapshot.data! + .map( + (e) => SizedBox( + key: Key("ManageThemesView_card_${e.id}_key"), + width: (MediaQuery.of(context).size.width - 48) / 2, + child: StackThemeCard( + data: e, + ), + ), + ) + .toList(), + ); + } else { + return Center( + child: LoadingIndicator( + width: (MediaQuery.of(context).size.width - 48) / 2, + ), + ); + } + }, + ), + ], + ), + ); + } +} + +class IncognitoInstalledThemes extends ConsumerStatefulWidget { + const IncognitoInstalledThemes({ + Key? key, + required this.cardWidth, + }) : super(key: key); + + final double cardWidth; + + @override + ConsumerState createState() => + _IncognitoInstalledThemesState(); +} + +class _IncognitoInstalledThemesState + extends ConsumerState { + late final StreamSubscription _subscription; + + List> installedThemeIdNames = []; + + void _updateInstalledList() { + installedThemeIdNames = ref + .read(pThemeService) + .installedThemes + .where((e) => e.themeId != "light" && e.themeId != "dark") + .map((e) => Tuple2(e.themeId, e.name)) + .toList(); + } + + @override + void initState() { + _updateInstalledList(); + + _subscription = + ref.read(mainDBProvider).isar.stackThemes.watchLazy().listen((_) { + if (mounted) { + WidgetsBinding.instance.addPostFrameCallback((_) { + setState(() { + _updateInstalledList(); + }); + }); + } + }); + + super.initState(); + } + + @override + void dispose() { + _subscription.cancel(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return Wrap( + spacing: 16, + runSpacing: 16, + children: installedThemeIdNames + .map( + (e) => SizedBox( + key: Key("IncognitoInstalledThemes_card_${e.item1}_key"), + width: widget.cardWidth, + child: StackThemeCard( + data: StackThemeMetaData( + name: e.item2, + id: e.item1, + sha256: "", + size: "", + previewImageUrl: "", + ), + ), + ), + ) + .toList(), + ); + } +} diff --git a/lib/pages/settings_views/global_settings_view/appearance_settings/sub_widgets/install_theme_from_file_dialog.dart b/lib/pages/settings_views/global_settings_view/appearance_settings/sub_widgets/install_theme_from_file_dialog.dart new file mode 100644 index 000000000..c12d634a1 --- /dev/null +++ b/lib/pages/settings_views/global_settings_view/appearance_settings/sub_widgets/install_theme_from_file_dialog.dart @@ -0,0 +1,187 @@ +import 'dart:async'; +import 'dart:io'; + +import 'package:file_picker/file_picker.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_service.dart'; +import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/utilities/logger.dart'; +import 'package:stackwallet/utilities/show_loading.dart'; +import 'package:stackwallet/utilities/text_styles.dart'; +import 'package:stackwallet/utilities/util.dart'; +import 'package:stackwallet/widgets/desktop/primary_button.dart'; +import 'package:stackwallet/widgets/desktop/secondary_button.dart'; +import 'package:stackwallet/widgets/stack_dialog.dart'; + +class InstallThemeFromFileDialog extends ConsumerStatefulWidget { + const InstallThemeFromFileDialog({Key? key}) : super(key: key); + + @override + ConsumerState createState() => + _InstallThemeFromFileDialogState(); +} + +class _InstallThemeFromFileDialogState + extends ConsumerState { + late final TextEditingController controller; + + Future _install() async { + try { + final timedFuture = Future.delayed(const Duration(seconds: 2)); + final installFuture = File(controller.text).readAsBytes().then( + (fileBytes) => ref.read(pThemeService).install( + themeArchiveData: fileBytes, + ), + ); + + // wait for at least 2 seconds to prevent annoying screen flashing + await Future.wait([ + installFuture, + timedFuture, + ]); + return true; + } catch (e, s) { + Logging.instance.log( + "Failed to install theme: $e\n$s", + level: LogLevel.Warning, + ); + return false; + } + } + + Future _pickFile() async { + try { + final result = await FilePicker.platform.pickFiles( + dialogTitle: "Choose theme file", + type: FileType.custom, + allowedExtensions: ["zip"], + lockParentWindow: true, // windows only + ); + + if (result != null && mounted) { + setState(() { + controller.text = result.paths.first ?? ""; + }); + } + } catch (e, s) { + Logging.instance.log("$e\n$s", level: LogLevel.Error); + } + } + + @override + void initState() { + controller = TextEditingController(); + super.initState(); + } + + @override + void dispose() { + controller.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return StackDialogBase( + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + "Install theme file", + style: STextStyles.pageTitleH2(context), + ), + const SizedBox( + height: 12, + ), + TextField( + autocorrect: Util.isDesktop ? false : true, + enableSuggestions: Util.isDesktop ? false : true, + onTap: _pickFile, + controller: controller, + style: STextStyles.field(context), + decoration: InputDecoration( + hintText: "Choose file...", + hintStyle: STextStyles.fieldLabel(context), + suffixIcon: UnconstrainedBox( + child: Row( + children: [ + const SizedBox( + width: 16, + ), + SvgPicture.asset( + Assets.svg.folder, + color: + Theme.of(context).extension()!.textDark3, + width: 16, + height: 16, + ), + const SizedBox( + width: 12, + ), + ], + ), + ), + ), + readOnly: true, + ), + const SizedBox( + height: 20, + ), + Row( + children: [ + Expanded( + child: SecondaryButton( + label: "Cancel", + onPressed: Navigator.of(context).pop, + ), + ), + const SizedBox( + width: 16, + ), + Expanded( + child: PrimaryButton( + label: "Install", + enabled: controller.text.isNotEmpty, + onPressed: () async { + final result = await showLoading( + whileFuture: _install(), + context: context, + message: "Installing ${controller.text}...", + ); + if (mounted) { + Navigator.of(context).pop(); + if (!result) { + unawaited( + showDialog( + context: context, + builder: (_) => StackOkDialog( + title: "Failed to install theme:", + message: controller.text, + ), + ), + ); + } else { + unawaited( + showDialog( + context: context, + builder: (_) => const StackOkDialog( + title: "Theme install succeeded!", + ), + ), + ); + } + } + }, + ), + ), + ], + ) + ], + ), + ); + } +} diff --git a/lib/pages/settings_views/global_settings_view/appearance_settings/sub_widgets/stack_theme_card.dart b/lib/pages/settings_views/global_settings_view/appearance_settings/sub_widgets/stack_theme_card.dart new file mode 100644 index 000000000..7b36c873a --- /dev/null +++ b/lib/pages/settings_views/global_settings_view/appearance_settings/sub_widgets/stack_theme_card.dart @@ -0,0 +1,299 @@ +import 'dart:async'; +import 'dart:io'; + +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:isar/isar.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/notifications/show_flush_bar.dart'; +import 'package:stackwallet/providers/db/main_db_provider.dart'; +import 'package:stackwallet/providers/global/prefs_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_service.dart'; +import 'package:stackwallet/utilities/logger.dart'; +import 'package:stackwallet/utilities/show_loading.dart'; +import 'package:stackwallet/utilities/stack_file_system.dart'; +import 'package:stackwallet/utilities/text_styles.dart'; +import 'package:stackwallet/utilities/util.dart'; +import 'package:stackwallet/widgets/animated_text.dart'; +import 'package:stackwallet/widgets/desktop/primary_button.dart'; +import 'package:stackwallet/widgets/desktop/secondary_button.dart'; +import 'package:stackwallet/widgets/rounded_white_container.dart'; +import 'package:stackwallet/widgets/stack_dialog.dart'; + +class StackThemeCard extends ConsumerStatefulWidget { + const StackThemeCard({ + Key? key, + required this.data, + }) : super(key: key); + + final StackThemeMetaData data; + + @override + ConsumerState createState() => _StackThemeCardState(); +} + +class _StackThemeCardState extends ConsumerState { + final isDesktop = Util.isDesktop; + late final StreamSubscription _subscription; + + late bool _hasTheme; + String? _cachedSize; + + Future _downloadAndInstall() async { + final service = ref.read(pThemeService); + + try { + final data = await service.fetchTheme( + themeMetaData: widget.data, + ); + + await service.install(themeArchiveData: data); + return true; + } catch (e, s) { + Logging.instance.log( + "Failed _downloadAndInstall of ${widget.data.id}: $e\n$s", + level: LogLevel.Warning, + ); + return false; + } + } + + Future _downloadPressed() async { + final result = await showLoading( + whileFuture: _downloadAndInstall(), + context: context, + message: "Downloading and installing theme...", + ); + + if (mounted) { + final message = result + ? "${widget.data.name} theme installed!" + : "Failed to install ${widget.data.name} theme"; + if (isDesktop) { + await showFloatingFlushBar( + type: result ? FlushBarType.success : FlushBarType.warning, + message: message, + context: context, + ); + } else { + await showDialog( + context: context, + builder: (_) => StackOkDialog( + title: message, + onOkPressed: (_) { + setState(() { + _hasTheme = result; + }); + }, + ), + ); + } + } + } + + Future _uninstallThemePressed() async { + await ref.read(pThemeService).remove(themeId: widget.data.id); + if (mounted) { + await showFloatingFlushBar( + type: FlushBarType.success, + message: "${widget.data.name} uninstalled", + context: context, + ); + } + } + + bool get themeIsInUse { + final prefs = ref.read(prefsChangeNotifierProvider); + final themeId = widget.data.id; + + return prefs.themeId == themeId || + prefs.systemBrightnessDarkThemeId == themeId || + prefs.systemBrightnessLightThemeId == themeId; + } + + Future getThemeDirectorySize() async { + final themesDir = await StackFileSystem.applicationThemesDirectory(); + final themeDir = Directory("${themesDir.path}/${widget.data.id}"); + int bytes = 0; + if (await themeDir.exists()) { + await for (FileSystemEntity entity in themeDir.list(recursive: true)) { + if (entity is File) { + bytes += await entity.length(); + } + } + } else if (widget.data.size.isNotEmpty) { + return widget.data.size; + } + + if (bytes < 1024) { + return '$bytes B'; + } else if (bytes < 1048576) { + double kbSize = bytes / 1024; + return '${kbSize.toStringAsFixed(2)} KB'; + } else if (bytes < 1073741824) { + double mbSize = bytes / 1048576; + return '${mbSize.toStringAsFixed(2)} MB'; + } else { + double gbSize = bytes / 1073741824; + return '${gbSize.toStringAsFixed(2)} GB'; + } + } + + @override + void initState() { + _hasTheme = ref + .read(mainDBProvider) + .isar + .stackThemes + .where() + .themeIdEqualTo(widget.data.id) + .countSync() > + 0; + + _subscription = ref + .read(mainDBProvider) + .isar + .stackThemes + .watchLazy() + .listen((event) async { + final hasTheme = (await ref + .read(mainDBProvider) + .isar + .stackThemes + .where() + .themeIdEqualTo(widget.data.id) + .count()) > + 0; + if (_hasTheme != hasTheme && mounted) { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + setState(() { + _hasTheme = hasTheme; + }); + }); + } + }); + + _subscription.resume(); + super.initState(); + } + + @override + void dispose() { + _subscription.cancel(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return RoundedWhiteContainer( + radiusMultiplier: isDesktop ? 2.5 : 1, + borderColor: isDesktop + ? Theme.of(context).extension()!.textSubtitle6 + : null, + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Padding( + padding: const EdgeInsets.symmetric( + horizontal: 18, + ), + child: widget.data.previewImageUrl.isNotEmpty + ? AspectRatio( + aspectRatio: 1, + child: ClipRRect( + borderRadius: BorderRadius.circular(100), + child: Image.network( + widget.data.previewImageUrl, + ), + ), + ) + : Builder( + builder: (context) { + final themePreview = ref + .watch(pThemeService) + .getTheme(themeId: widget.data.id) + ?.assets + .themePreview ?? + ""; + + return (themePreview.endsWith(".png")) + ? Image.file( + File( + themePreview, + ), + height: 100, + ) + : SvgPicture.file( + File( + themePreview, + ), + height: 100, + ); + }, + ), + ), + const SizedBox( + height: 12, + ), + Text( + widget.data.name, + style: STextStyles.itemSubtitle12(context), + ), + const SizedBox( + height: 6, + ), + FutureBuilder( + future: getThemeDirectorySize(), + builder: ( + context, + AsyncSnapshot snapshot, + ) { + if (snapshot.connectionState == ConnectionState.done && + snapshot.hasData) { + _cachedSize = snapshot.data; + } + if (_cachedSize == null) { + return AnimatedText( + stringsToLoopThrough: const [ + "Calculating size ", + "Calculating size. ", + "Calculating size.. ", + "Calculating size...", + ], + style: STextStyles.label(context), + ); + } else { + return Text( + _cachedSize!, + style: STextStyles.label(context), + ); + } + }, + ), + const SizedBox( + height: 12, + ), + AnimatedCrossFade( + duration: const Duration(milliseconds: 300), + crossFadeState: _hasTheme + ? CrossFadeState.showSecond + : CrossFadeState.showFirst, + firstChild: PrimaryButton( + label: "Download", + buttonHeight: isDesktop ? ButtonHeight.s : ButtonHeight.l, + onPressed: _downloadPressed, + ), + secondChild: SecondaryButton( + label: themeIsInUse ? "Theme is active" : "Remove", + enabled: !themeIsInUse, + buttonHeight: isDesktop ? ButtonHeight.s : ButtonHeight.l, + onPressed: _uninstallThemePressed, + ), + ), + ], + ), + ); + } +} diff --git a/lib/pages/settings_views/global_settings_view/appearance_settings/sub_widgets/theme_option.dart b/lib/pages/settings_views/global_settings_view/appearance_settings/sub_widgets/theme_option.dart index ec89b012c..1b78a231f 100644 --- a/lib/pages/settings_views/global_settings_view/appearance_settings/sub_widgets/theme_option.dart +++ b/lib/pages/settings_views/global_settings_view/appearance_settings/sub_widgets/theme_option.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class ThemeOption extends StatelessWidget { const ThemeOption({ diff --git a/lib/pages/settings_views/global_settings_view/appearance_settings/sub_widgets/theme_options_widget.dart b/lib/pages/settings_views/global_settings_view/appearance_settings/sub_widgets/theme_options_widget.dart index 8c9334ef3..de5c91ee0 100644 --- a/lib/pages/settings_views/global_settings_view/appearance_settings/sub_widgets/theme_options_widget.dart +++ b/lib/pages/settings_views/global_settings_view/appearance_settings/sub_widgets/theme_options_widget.dart @@ -1,16 +1,20 @@ +import 'dart:async'; + import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/appearance_settings/sub_widgets/theme_option.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/appearance_settings/system_brightness_theme_selection_view.dart'; -import 'package:stackwallet/providers/providers.dart'; -import 'package:stackwallet/providers/ui/color_theme_provider.dart'; -import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/providers/db/main_db_provider.dart'; +import 'package:stackwallet/providers/global/prefs_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; +import 'package:stackwallet/themes/theme_service.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; +import 'package:tuple/tuple.dart'; class ThemeOptionsWidget extends ConsumerStatefulWidget { const ThemeOptionsWidget({Key? key}) : super(key: key); @@ -20,9 +24,13 @@ class ThemeOptionsWidget extends ConsumerStatefulWidget { } class _ThemeOptionsWidgetState extends ConsumerState { - final systemDefault = ThemeType.values.length; + late final StreamSubscription _subscription; late int _current; + List> installedThemeIdNames = []; + + int get systemDefault => installedThemeIdNames.length; + void setTheme(int index) { if (index == _current) { return; @@ -36,27 +44,25 @@ class _ThemeOptionsWidgetState extends ConsumerState { ref.read(prefsChangeNotifierProvider).enableSystemBrightness = true; // get theme - final ThemeType theme; + final String themeId; switch (MediaQuery.of(context).platformBrightness) { case Brightness.dark: - theme = ref + themeId = ref .read(prefsChangeNotifierProvider.notifier) - .systemBrightnessDarkTheme; + .systemBrightnessDarkThemeId; break; case Brightness.light: - theme = ref + themeId = ref .read(prefsChangeNotifierProvider.notifier) - .systemBrightnessLightTheme; + .systemBrightnessLightThemeId; break; } // apply theme - ref.read(colorThemeProvider.notifier).state = - StackColors.fromStackColorTheme( - theme.colorTheme, - ); + ref.read(themeProvider.notifier).state = + ref.read(pThemeService).getTheme(themeId: themeId)!; - Assets.precache(context); + // Assets.precache(context); } else { if (_current == systemDefault) { // disable system brightness setting @@ -67,33 +73,64 @@ class _ThemeOptionsWidgetState extends ConsumerState { _current = index; // get theme - final theme = ThemeType.values[index]; + final themeId = installedThemeIdNames[index].item1; // save theme setting - ref.read(prefsChangeNotifierProvider.notifier).theme = theme; + ref.read(prefsChangeNotifierProvider.notifier).themeId = themeId; // apply theme - ref.read(colorThemeProvider.notifier).state = - StackColors.fromStackColorTheme( - theme.colorTheme, - ); + ref.read(themeProvider.notifier).state = + ref.read(pThemeService).getTheme(themeId: themeId)!; - Assets.precache(context); + // Assets.precache(context); + } + } + + void _updateInstalledList() { + installedThemeIdNames = ref + .read(pThemeService) + .installedThemes + .map((e) => Tuple2(e.themeId, e.name)) + .toList(); + + if (ref.read(prefsChangeNotifierProvider).enableSystemBrightness) { + _current = installedThemeIdNames.length; + } else { + final themeId = ref.read(prefsChangeNotifierProvider).themeId; + + for (int i = 0; i < installedThemeIdNames.length; i++) { + if (installedThemeIdNames[i].item1 == themeId) { + _current = i; + break; + } + } } } @override void initState() { - if (ref.read(prefsChangeNotifierProvider).enableSystemBrightness) { - _current = ThemeType.values.length; - } else { - _current = - ThemeType.values.indexOf(ref.read(prefsChangeNotifierProvider).theme); - } + _updateInstalledList(); + + _subscription = + ref.read(mainDBProvider).isar.stackThemes.watchLazy().listen((_) { + if (mounted) { + WidgetsBinding.instance.addPostFrameCallback((_) { + setState(() { + _updateInstalledList(); + }); + }); + } + }); super.initState(); } + @override + void dispose() { + _subscription.cancel(); + super.dispose(); + } + @override Widget build(BuildContext context) { return Column( @@ -109,7 +146,7 @@ class _ThemeOptionsWidgetState extends ConsumerState { ), ), onPressed: () { - setTheme(systemDefault); + // setTheme(systemDefault); }, child: SizedBox( width: 200, @@ -127,7 +164,7 @@ class _ThemeOptionsWidgetState extends ConsumerState { activeColor: Theme.of(context) .extension()! .radioButtonIconEnabled, - value: ThemeType.values.length, + value: installedThemeIdNames.length, groupValue: _current, onChanged: (newValue) { if (newValue is int) { @@ -173,15 +210,16 @@ class _ThemeOptionsWidgetState extends ConsumerState { const SizedBox( height: 10, ), - for (int i = 0; i < ThemeType.values.length; i++) + for (int i = 0; i < installedThemeIdNames.length; i++) ConditionalParent( + key: Key("installedTheme_${installedThemeIdNames[i].item1}"), condition: i > 0, builder: (child) => Padding( padding: const EdgeInsets.only(top: 10), child: child, ), child: ThemeOption( - label: ThemeType.values[i].prettyName, + label: installedThemeIdNames[i].item2, onPressed: () { setTheme(i); }, diff --git a/lib/pages/settings_views/global_settings_view/appearance_settings/system_brightness_theme_selection_view.dart b/lib/pages/settings_views/global_settings_view/appearance_settings/system_brightness_theme_selection_view.dart index 40d939863..734d7194b 100644 --- a/lib/pages/settings_views/global_settings_view/appearance_settings/system_brightness_theme_selection_view.dart +++ b/lib/pages/settings_views/global_settings_view/appearance_settings/system_brightness_theme_selection_view.dart @@ -2,49 +2,68 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/appearance_settings/sub_widgets/theme_option.dart'; import 'package:stackwallet/providers/global/prefs_provider.dart'; -import 'package:stackwallet/providers/ui/color_theme_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; +import 'package:stackwallet/themes/theme_service.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; +import 'package:tuple/tuple.dart'; -class SystemBrightnessThemeSelectionView extends ConsumerWidget { - const SystemBrightnessThemeSelectionView({ - Key? key, - }) : super(key: key); +class SystemBrightnessThemeSelectionView extends ConsumerStatefulWidget { + const SystemBrightnessThemeSelectionView({Key? key}) : super(key: key); static const String routeName = "/chooseSystemTheme"; + @override + ConsumerState createState() => + _SystemBrightnessThemeSelectionViewState(); +} + +class _SystemBrightnessThemeSelectionViewState + extends ConsumerState { + List> installedThemeIdNames = []; + void _setTheme({ required BuildContext context, required bool isDark, - required ThemeType type, + required String themeId, required WidgetRef ref, }) { final brightness = MediaQuery.of(context).platformBrightness; if (isDark) { - ref.read(prefsChangeNotifierProvider).systemBrightnessDarkTheme = type; + ref.read(prefsChangeNotifierProvider).systemBrightnessDarkThemeId = + themeId; if (brightness == Brightness.dark) { - ref.read(colorThemeProvider.notifier).state = - StackColors.fromStackColorTheme( - type.colorTheme, - ); + // apply theme + ref.read(themeProvider.notifier).state = + ref.read(pThemeService).getTheme(themeId: themeId)!; } } else { - ref.read(prefsChangeNotifierProvider).systemBrightnessLightTheme = type; + ref.read(prefsChangeNotifierProvider).systemBrightnessLightThemeId = + themeId; if (brightness == Brightness.light) { - ref.read(colorThemeProvider.notifier).state = - StackColors.fromStackColorTheme( - type.colorTheme, - ); + // apply theme + ref.read(themeProvider.notifier).state = + ref.read(pThemeService).getTheme(themeId: themeId)!; } } } @override - Widget build(BuildContext context, WidgetRef ref) { + void initState() { + installedThemeIdNames = ref + .read(pThemeService) + .installedThemes + .map((e) => Tuple2(e.themeId, e.name)) + .toList(); + + super.initState(); + } + + @override + Widget build(BuildContext context) { return Background( child: Scaffold( backgroundColor: Theme.of(context).extension()!.background, @@ -98,7 +117,7 @@ class SystemBrightnessThemeSelectionView extends ConsumerWidget { height: 18, ), for (int i = 0; - i < (2 * ThemeType.values.length) - 1; + i < (2 * installedThemeIdNames.length) - 1; i++) (i % 2 == 1) ? const SizedBox( @@ -106,37 +125,41 @@ class SystemBrightnessThemeSelectionView extends ConsumerWidget { ) : ThemeOption( label: - ThemeType.values[i ~/ 2].prettyName, + installedThemeIdNames[i ~/ 2].item2, onPressed: () { _setTheme( context: context, isDark: false, - type: ThemeType.values[i ~/ 2], + themeId: + installedThemeIdNames[i ~/ 2] + .item1, ref: ref, ); }, onChanged: (newValue) { final value = - ThemeType.values[i ~/ 2]; + installedThemeIdNames[i ~/ 2] + .item1; if (newValue == value && ref .read( prefsChangeNotifierProvider) - .systemBrightnessLightTheme != + .systemBrightnessLightThemeId != value) { _setTheme( context: context, isDark: false, - type: value, + themeId: value, ref: ref, ); } }, - value: ThemeType.values[i ~/ 2], + value: + installedThemeIdNames[i ~/ 2].item1, groupValue: ref.watch( prefsChangeNotifierProvider.select( (value) => value - .systemBrightnessLightTheme)), + .systemBrightnessLightThemeId)), ), ], ), @@ -156,7 +179,7 @@ class SystemBrightnessThemeSelectionView extends ConsumerWidget { height: 18, ), for (int i = 0; - i < (2 * ThemeType.values.length) - 1; + i < (2 * installedThemeIdNames.length) - 1; i++) (i % 2 == 1) ? const SizedBox( @@ -164,37 +187,41 @@ class SystemBrightnessThemeSelectionView extends ConsumerWidget { ) : ThemeOption( label: - ThemeType.values[i ~/ 2].prettyName, + installedThemeIdNames[i ~/ 2].item2, onPressed: () { _setTheme( context: context, isDark: true, - type: ThemeType.values[i ~/ 2], + themeId: + installedThemeIdNames[i ~/ 2] + .item1, ref: ref, ); }, onChanged: (newValue) { final value = - ThemeType.values[i ~/ 2]; + installedThemeIdNames[i ~/ 2] + .item1; if (newValue == value && ref .read( prefsChangeNotifierProvider) - .systemBrightnessDarkTheme != + .systemBrightnessDarkThemeId != value) { _setTheme( context: context, isDark: true, - type: value, + themeId: value, ref: ref, ); } }, - value: ThemeType.values[i ~/ 2], + value: + installedThemeIdNames[i ~/ 2].item1, groupValue: ref.watch( prefsChangeNotifierProvider.select( (value) => value - .systemBrightnessDarkTheme)), + .systemBrightnessDarkThemeId)), ), ], ), diff --git a/lib/pages/settings_views/global_settings_view/currency_view.dart b/lib/pages/settings_views/global_settings_view/currency_view.dart index 5bcf7fb7f..346c625d2 100644 --- a/lib/pages/settings_views/global_settings_view/currency_view.dart +++ b/lib/pages/settings_views/global_settings_view/currency_view.dart @@ -3,10 +3,10 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/providers/global/base_currencies_provider.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/settings_views/global_settings_view/delete_account_view.dart b/lib/pages/settings_views/global_settings_view/delete_account_view.dart index d69a0feac..3dc08c1d2 100644 --- a/lib/pages/settings_views/global_settings_view/delete_account_view.dart +++ b/lib/pages/settings_views/global_settings_view/delete_account_view.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; import 'package:stackwallet/pages/intro_view.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/delete_everything.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart'; diff --git a/lib/pages/settings_views/global_settings_view/global_settings_view.dart b/lib/pages/settings_views/global_settings_view/global_settings_view.dart index ded2dd325..28e410c99 100644 --- a/lib/pages/settings_views/global_settings_view/global_settings_view.dart +++ b/lib/pages/settings_views/global_settings_view/global_settings_view.dart @@ -17,9 +17,9 @@ import 'package:stackwallet/pages/settings_views/global_settings_view/support_vi import 'package:stackwallet/pages/settings_views/global_settings_view/syncing_preferences_views/syncing_preferences_view.dart'; import 'package:stackwallet/pages/settings_views/sub_widgets/settings_list_button.dart'; import 'package:stackwallet/route_generator.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; diff --git a/lib/pages/settings_views/global_settings_view/hidden_settings.dart b/lib/pages/settings_views/global_settings_view/hidden_settings.dart index d0f63db3f..b4b849990 100644 --- a/lib/pages/settings_views/global_settings_view/hidden_settings.dart +++ b/lib/pages/settings_views/global_settings_view/hidden_settings.dart @@ -5,9 +5,9 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/providers/global/debug_service_provider.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; diff --git a/lib/pages/settings_views/global_settings_view/language_view.dart b/lib/pages/settings_views/global_settings_view/language_view.dart index 9ba2d6dd2..0d7b34216 100644 --- a/lib/pages/settings_views/global_settings_view/language_view.dart +++ b/lib/pages/settings_views/global_settings_view/language_view.dart @@ -2,11 +2,11 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/languages_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; diff --git a/lib/pages/settings_views/global_settings_view/manage_nodes_views/add_edit_node_view.dart b/lib/pages/settings_views/global_settings_view/manage_nodes_views/add_edit_node_view.dart index 6afe7ff7f..690b54be6 100644 --- a/lib/pages/settings_views/global_settings_view/manage_nodes_views/add_edit_node_view.dart +++ b/lib/pages/settings_views/global_settings_view/manage_nodes_views/add_edit_node_view.dart @@ -9,6 +9,7 @@ import 'package:stackwallet/models/node_model.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/providers/global/secure_store_provider.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; @@ -17,7 +18,6 @@ import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/test_epic_box_connection.dart'; import 'package:stackwallet/utilities/test_monero_node_connection.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/settings_views/global_settings_view/manage_nodes_views/coin_nodes_view.dart b/lib/pages/settings_views/global_settings_view/manage_nodes_views/coin_nodes_view.dart index 85d28eb66..03fc37f4f 100644 --- a/lib/pages/settings_views/global_settings_view/manage_nodes_views/coin_nodes_view.dart +++ b/lib/pages/settings_views/global_settings_view/manage_nodes_views/coin_nodes_view.dart @@ -1,12 +1,15 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/manage_nodes_views/add_edit_node_view.dart'; import 'package:stackwallet/pages/settings_views/sub_widgets/nodes_list.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; @@ -53,8 +56,12 @@ class _CoinNodesViewState extends ConsumerState { const SizedBox( width: 32, ), - SvgPicture.asset( - Assets.svg.iconFor(coin: widget.coin), + SvgPicture.file( + File( + ref.watch( + coinIconProvider(widget.coin), + ), + ), width: 24, height: 24, ), diff --git a/lib/pages/settings_views/global_settings_view/manage_nodes_views/manage_nodes_view.dart b/lib/pages/settings_views/global_settings_view/manage_nodes_views/manage_nodes_view.dart index 743fc6957..7caf4647f 100644 --- a/lib/pages/settings_views/global_settings_view/manage_nodes_views/manage_nodes_view.dart +++ b/lib/pages/settings_views/global_settings_view/manage_nodes_views/manage_nodes_view.dart @@ -1,13 +1,15 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/manage_nodes_views/coin_nodes_view.dart'; import 'package:stackwallet/providers/providers.dart'; -import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; @@ -102,8 +104,12 @@ class _ManageNodesViewState extends ConsumerState { padding: const EdgeInsets.all(12), child: Row( children: [ - SvgPicture.asset( - Assets.svg.iconFor(coin: coin), + SvgPicture.file( + File( + ref.watch( + coinIconProvider(coin), + ), + ), width: 24, height: 24, ), diff --git a/lib/pages/settings_views/global_settings_view/manage_nodes_views/node_details_view.dart b/lib/pages/settings_views/global_settings_view/manage_nodes_views/node_details_view.dart index 70824986d..4905393ac 100644 --- a/lib/pages/settings_views/global_settings_view/manage_nodes_views/node_details_view.dart +++ b/lib/pages/settings_views/global_settings_view/manage_nodes_views/node_details_view.dart @@ -8,6 +8,7 @@ import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/manage_nodes_views/add_edit_node_view.dart'; import 'package:stackwallet/providers/global/secure_store_provider.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'; @@ -15,7 +16,6 @@ import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/test_epic_box_connection.dart'; import 'package:stackwallet/utilities/test_monero_node_connection.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/settings_views/global_settings_view/security_views/change_pin_view/change_pin_view.dart b/lib/pages/settings_views/global_settings_view/security_views/change_pin_view/change_pin_view.dart index cf848739f..0e848ec12 100644 --- a/lib/pages/settings_views/global_settings_view/security_views/change_pin_view/change_pin_view.dart +++ b/lib/pages/settings_views/global_settings_view/security_views/change_pin_view/change_pin_view.dart @@ -4,11 +4,11 @@ import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/security_views/security_view.dart'; import 'package:stackwallet/providers/global/prefs_provider.dart'; import 'package:stackwallet/providers/global/secure_store_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/custom_pin_put/custom_pin_put.dart'; diff --git a/lib/pages/settings_views/global_settings_view/security_views/security_view.dart b/lib/pages/settings_views/global_settings_view/security_views/security_view.dart index 74121b39c..38be88839 100644 --- a/lib/pages/settings_views/global_settings_view/security_views/security_view.dart +++ b/lib/pages/settings_views/global_settings_view/security_views/security_view.dart @@ -4,9 +4,9 @@ import 'package:stackwallet/pages/pinpad_views/lock_screen_view.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/security_views/change_pin_view/change_pin_view.dart'; import 'package:stackwallet/providers/global/prefs_provider.dart'; import 'package:stackwallet/route_generator.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/custom_buttons/draggable_switch_button.dart'; diff --git a/lib/pages/settings_views/global_settings_view/stack_backup_views/auto_backup_view.dart b/lib/pages/settings_views/global_settings_view/stack_backup_views/auto_backup_view.dart index 6a43d963e..cad08892c 100644 --- a/lib/pages/settings_views/global_settings_view/stack_backup_views/auto_backup_view.dart +++ b/lib/pages/settings_views/global_settings_view/stack_backup_views/auto_backup_view.dart @@ -6,11 +6,11 @@ import 'package:stackwallet/pages/settings_views/global_settings_view/stack_back import 'package:stackwallet/pages/settings_views/global_settings_view/stack_backup_views/edit_auto_backup_view.dart'; import 'package:stackwallet/providers/global/auto_swb_service_provider.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/backup_frequency_type.dart'; import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; diff --git a/lib/pages/settings_views/global_settings_view/stack_backup_views/create_auto_backup_view.dart b/lib/pages/settings_views/global_settings_view/stack_backup_views/create_auto_backup_view.dart index a6103710f..71b01f698 100644 --- a/lib/pages/settings_views/global_settings_view/stack_backup_views/create_auto_backup_view.dart +++ b/lib/pages/settings_views/global_settings_view/stack_backup_views/create_auto_backup_view.dart @@ -13,14 +13,13 @@ import 'package:stackwallet/pages/settings_views/global_settings_view/stack_back import 'package:stackwallet/pages/settings_views/global_settings_view/stack_backup_views/sub_views/backup_frequency_type_select_sheet.dart'; import 'package:stackwallet/providers/global/prefs_provider.dart'; import 'package:stackwallet/providers/global/secure_store_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; -import 'package:stackwallet/utilities/enums/flush_bar_type.dart'; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'; import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; diff --git a/lib/pages/settings_views/global_settings_view/stack_backup_views/create_backup_information_view.dart b/lib/pages/settings_views/global_settings_view/stack_backup_views/create_backup_information_view.dart index 1b740c32b..a1fe7aaf6 100644 --- a/lib/pages/settings_views/global_settings_view/stack_backup_views/create_backup_information_view.dart +++ b/lib/pages/settings_views/global_settings_view/stack_backup_views/create_backup_information_view.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/stack_backup_views/create_backup_view.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; diff --git a/lib/pages/settings_views/global_settings_view/stack_backup_views/create_backup_view.dart b/lib/pages/settings_views/global_settings_view/stack_backup_views/create_backup_view.dart index b7cbf20a5..4ecf1470c 100644 --- a/lib/pages/settings_views/global_settings_view/stack_backup_views/create_backup_view.dart +++ b/lib/pages/settings_views/global_settings_view/stack_backup_views/create_backup_view.dart @@ -9,12 +9,11 @@ import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/stack_backup_views/helpers/restore_create_backup.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/stack_backup_views/helpers/swb_file_system.dart'; import 'package:stackwallet/providers/global/secure_store_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; -import 'package:stackwallet/utilities/enums/flush_bar_type.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/settings_views/global_settings_view/stack_backup_views/dialogs/cancel_stack_restore_dialog.dart b/lib/pages/settings_views/global_settings_view/stack_backup_views/dialogs/cancel_stack_restore_dialog.dart index 62e15a82b..49b5728d6 100644 --- a/lib/pages/settings_views/global_settings_view/stack_backup_views/dialogs/cancel_stack_restore_dialog.dart +++ b/lib/pages/settings_views/global_settings_view/stack_backup_views/dialogs/cancel_stack_restore_dialog.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/primary_button.dart'; diff --git a/lib/pages/settings_views/global_settings_view/stack_backup_views/edit_auto_backup_view.dart b/lib/pages/settings_views/global_settings_view/stack_backup_views/edit_auto_backup_view.dart index 7a156e6ba..04e96667c 100644 --- a/lib/pages/settings_views/global_settings_view/stack_backup_views/edit_auto_backup_view.dart +++ b/lib/pages/settings_views/global_settings_view/stack_backup_views/edit_auto_backup_view.dart @@ -15,6 +15,7 @@ import 'package:stackwallet/pages/settings_views/global_settings_view/stack_back import 'package:stackwallet/pages/settings_views/global_settings_view/stack_backup_views/sub_views/backup_frequency_type_select_sheet.dart'; import 'package:stackwallet/providers/global/prefs_provider.dart'; import 'package:stackwallet/providers/global/secure_store_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/backup_frequency_type.dart'; @@ -22,7 +23,6 @@ import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'; import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/settings_views/global_settings_view/stack_backup_views/restore_from_encrypted_string_view.dart b/lib/pages/settings_views/global_settings_view/stack_backup_views/restore_from_encrypted_string_view.dart index f5a94ef19..a81561471 100644 --- a/lib/pages/settings_views/global_settings_view/stack_backup_views/restore_from_encrypted_string_view.dart +++ b/lib/pages/settings_views/global_settings_view/stack_backup_views/restore_from_encrypted_string_view.dart @@ -7,10 +7,10 @@ import 'package:stackwallet/pages/home_view/home_view.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/stack_backup_views/helpers/restore_create_backup.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/stack_backup_views/sub_views/stack_restore_progress_view.dart'; import 'package:stackwallet/route_generator.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/loading_indicator.dart'; diff --git a/lib/pages/settings_views/global_settings_view/stack_backup_views/restore_from_file_view.dart b/lib/pages/settings_views/global_settings_view/stack_backup_views/restore_from_file_view.dart index 230904fd0..a63b23e98 100644 --- a/lib/pages/settings_views/global_settings_view/stack_backup_views/restore_from_file_view.dart +++ b/lib/pages/settings_views/global_settings_view/stack_backup_views/restore_from_file_view.dart @@ -10,11 +10,11 @@ import 'package:stackwallet/pages/settings_views/global_settings_view/stack_back import 'package:stackwallet/pages/settings_views/global_settings_view/stack_backup_views/helpers/swb_file_system.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/stack_backup_views/sub_views/stack_restore_progress_view.dart'; import 'package:stackwallet/route_generator.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/settings_views/global_settings_view/stack_backup_views/stack_backup_view.dart b/lib/pages/settings_views/global_settings_view/stack_backup_views/stack_backup_view.dart index fe163cb66..3a0e61aa9 100644 --- a/lib/pages/settings_views/global_settings_view/stack_backup_views/stack_backup_view.dart +++ b/lib/pages/settings_views/global_settings_view/stack_backup_views/stack_backup_view.dart @@ -3,10 +3,10 @@ import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/stack_backup_views/auto_backup_view.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/stack_backup_views/create_backup_view.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/stack_backup_views/restore_from_file_view.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; diff --git a/lib/pages/settings_views/global_settings_view/stack_backup_views/sub_views/backup_frequency_type_select_sheet.dart b/lib/pages/settings_views/global_settings_view/stack_backup_views/sub_views/backup_frequency_type_select_sheet.dart index b64defcf7..476e1e5df 100644 --- a/lib/pages/settings_views/global_settings_view/stack_backup_views/sub_views/backup_frequency_type_select_sheet.dart +++ b/lib/pages/settings_views/global_settings_view/stack_backup_views/sub_views/backup_frequency_type_select_sheet.dart @@ -1,10 +1,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/providers/global/prefs_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/backup_frequency_type.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class BackupFrequencyTypeSelectSheet extends ConsumerWidget { const BackupFrequencyTypeSelectSheet({ diff --git a/lib/pages/settings_views/global_settings_view/stack_backup_views/sub_views/recovery_phrase_view.dart b/lib/pages/settings_views/global_settings_view/stack_backup_views/sub_views/recovery_phrase_view.dart index 7b30a21b0..a4f160800 100644 --- a/lib/pages/settings_views/global_settings_view/stack_backup_views/sub_views/recovery_phrase_view.dart +++ b/lib/pages/settings_views/global_settings_view/stack_backup_views/sub_views/recovery_phrase_view.dart @@ -3,11 +3,10 @@ import 'package:flutter/services.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages/add_wallet_views/new_wallet_recovery_phrase_view/sub_widgets/mnemonic_table.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; -import 'package:stackwallet/utilities/enums/flush_bar_type.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; class RecoverPhraseView extends StatelessWidget { diff --git a/lib/pages/settings_views/global_settings_view/stack_backup_views/sub_views/stack_restore_progress_view.dart b/lib/pages/settings_views/global_settings_view/stack_backup_views/sub_views/stack_restore_progress_view.dart index 3a286d6d2..79b52aab0 100644 --- a/lib/pages/settings_views/global_settings_view/stack_backup_views/sub_views/stack_restore_progress_view.dart +++ b/lib/pages/settings_views/global_settings_view/stack_backup_views/sub_views/stack_restore_progress_view.dart @@ -15,11 +15,11 @@ import 'package:stackwallet/providers/desktop/current_desktop_menu_item.dart'; import 'package:stackwallet/providers/global/secure_store_provider.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/providers/stack_restore/stack_restoring_ui_state_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/enums/stack_restoring_status.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; diff --git a/lib/pages/settings_views/global_settings_view/stack_backup_views/sub_widgets/restoring_wallet_card.dart b/lib/pages/settings_views/global_settings_view/stack_backup_views/sub_widgets/restoring_wallet_card.dart index fc1b92d6c..fbd0e82a6 100644 --- a/lib/pages/settings_views/global_settings_view/stack_backup_views/sub_widgets/restoring_wallet_card.dart +++ b/lib/pages/settings_views/global_settings_view/stack_backup_views/sub_widgets/restoring_wallet_card.dart @@ -6,11 +6,12 @@ import 'package:stackwallet/pages/settings_views/global_settings_view/stack_back import 'package:stackwallet/pages/settings_views/global_settings_view/stack_backup_views/sub_widgets/restoring_item_card.dart'; import 'package:stackwallet/providers/stack_restore/stack_restoring_ui_state_provider.dart'; import 'package:stackwallet/route_generator.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/enums/stack_restoring_status.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/loading_indicator.dart'; import 'package:stackwallet/widgets/rounded_container.dart'; @@ -81,9 +82,7 @@ class _RestoringWalletCardState extends ConsumerState { .colorForCoin(coin), child: Center( child: SvgPicture.asset( - Assets.svg.iconFor( - coin: coin, - ), + ref.watch(coinIconProvider(coin)), height: 20, width: 20, ), @@ -224,8 +223,8 @@ class _RestoringWalletCardState extends ConsumerState { .colorForCoin(coin), child: Center( child: SvgPicture.asset( - Assets.svg.iconFor( - coin: coin, + ref.watch( + coinIconProvider(coin), ), height: 20, width: 20, diff --git a/lib/pages/settings_views/global_settings_view/startup_preferences/startup_preferences_view.dart b/lib/pages/settings_views/global_settings_view/startup_preferences/startup_preferences_view.dart index c6e26c4b8..f61fd7420 100644 --- a/lib/pages/settings_views/global_settings_view/startup_preferences/startup_preferences_view.dart +++ b/lib/pages/settings_views/global_settings_view/startup_preferences/startup_preferences_view.dart @@ -3,10 +3,10 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/startup_preferences/startup_wallet_selection_view.dart'; import 'package:stackwallet/providers/providers.dart'; -import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; @@ -237,22 +237,22 @@ class _StartupPreferencesViewState child: Row( children: [ SvgPicture.asset( - Assets.svg - .iconFor( - coin: ref - .watch( - walletsChangeNotifierProvider - .select( - (value) => - value.getManager( - ref.watch( - prefsChangeNotifierProvider.select((value) => - value.startupWalletId!), + ref.watch( + coinIconProvider( + ref + .watch( + walletsChangeNotifierProvider + .select( + (value) => + value.getManager( + ref.watch( + prefsChangeNotifierProvider.select((value) => value.startupWalletId!), + ), ), ), - ), - ) - .coin, + ) + .coin, + ), ), ), const SizedBox( diff --git a/lib/pages/settings_views/global_settings_view/startup_preferences/startup_wallet_selection_view.dart b/lib/pages/settings_views/global_settings_view/startup_preferences/startup_wallet_selection_view.dart index 975e8394d..047627c38 100644 --- a/lib/pages/settings_views/global_settings_view/startup_preferences/startup_wallet_selection_view.dart +++ b/lib/pages/settings_views/global_settings_view/startup_preferences/startup_wallet_selection_view.dart @@ -2,10 +2,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/providers/providers.dart'; -import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/custom_buttons/draggable_switch_button.dart'; @@ -103,8 +103,9 @@ class _StartupWalletSelectionViewState child: Padding( padding: const EdgeInsets.all(4), child: SvgPicture.asset( - Assets.svg - .iconFor(coin: manager.coin), + ref.watch( + coinIconProvider(manager.coin), + ), width: 20, height: 20, ), diff --git a/lib/pages/settings_views/global_settings_view/support_view.dart b/lib/pages/settings_views/global_settings_view/support_view.dart index 1cc3d35a1..19dae67ec 100644 --- a/lib/pages/settings_views/global_settings_view/support_view.dart +++ b/lib/pages/settings_views/global_settings_view/support_view.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/settings_views/global_settings_view/syncing_preferences_views/syncing_options_view.dart b/lib/pages/settings_views/global_settings_view/syncing_preferences_views/syncing_options_view.dart index 10a93d7e8..eac006e35 100644 --- a/lib/pages/settings_views/global_settings_view/syncing_preferences_views/syncing_options_view.dart +++ b/lib/pages/settings_views/global_settings_view/syncing_preferences_views/syncing_options_view.dart @@ -2,10 +2,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/syncing_preferences_views/wallet_syncing_options_view.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/sync_type_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/settings_views/global_settings_view/syncing_preferences_views/syncing_preferences_view.dart b/lib/pages/settings_views/global_settings_view/syncing_preferences_views/syncing_preferences_view.dart index 6ce84627e..628d344e2 100644 --- a/lib/pages/settings_views/global_settings_view/syncing_preferences_views/syncing_preferences_view.dart +++ b/lib/pages/settings_views/global_settings_view/syncing_preferences_views/syncing_preferences_view.dart @@ -2,10 +2,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/syncing_preferences_views/syncing_options_view.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/sync_type_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/custom_buttons/draggable_switch_button.dart'; diff --git a/lib/pages/settings_views/global_settings_view/syncing_preferences_views/wallet_syncing_options_view.dart b/lib/pages/settings_views/global_settings_view/syncing_preferences_views/wallet_syncing_options_view.dart index edbc9a448..ffa386877 100644 --- a/lib/pages/settings_views/global_settings_view/syncing_preferences_views/wallet_syncing_options_view.dart +++ b/lib/pages/settings_views/global_settings_view/syncing_preferences_views/wallet_syncing_options_view.dart @@ -2,12 +2,12 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/providers/providers.dart'; -import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/enums/sync_type_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; @@ -117,8 +117,9 @@ class WalletSyncingOptionsView extends ConsumerWidget { child: Padding( padding: const EdgeInsets.all(4), child: SvgPicture.asset( - Assets.svg - .iconFor(coin: manager.coin), + ref.watch( + coinIconProvider(manager.coin), + ), width: 20, height: 20, ), diff --git a/lib/pages/settings_views/global_settings_view/xpub_view.dart b/lib/pages/settings_views/global_settings_view/xpub_view.dart index b8694ed51..bd26251d8 100644 --- a/lib/pages/settings_views/global_settings_view/xpub_view.dart +++ b/lib/pages/settings_views/global_settings_view/xpub_view.dart @@ -9,10 +9,10 @@ import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/services/coins/manager.dart'; import 'package:stackwallet/services/mixins/xpubable.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/settings_views/sub_widgets/settings_list_button.dart b/lib/pages/settings_views/sub_widgets/settings_list_button.dart index 2602ced25..7ea8e9946 100644 --- a/lib/pages/settings_views/sub_widgets/settings_list_button.dart +++ b/lib/pages/settings_views/sub_widgets/settings_list_button.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class SettingsListButton extends StatelessWidget { const SettingsListButton({ @@ -70,9 +70,7 @@ class SettingsListButton extends StatelessWidget { child: Text( title, style: STextStyles.smallMed14(context).copyWith( - color: Theme.of(context) - .extension()! - .textDark, + color: Theme.of(context).extension()!.textDark, ), ), ), diff --git a/lib/pages/settings_views/wallet_settings_view/wallet_backup_views/wallet_backup_view.dart b/lib/pages/settings_views/wallet_settings_view/wallet_backup_views/wallet_backup_view.dart index 33cf445b6..82c2e4807 100644 --- a/lib/pages/settings_views/wallet_settings_view/wallet_backup_views/wallet_backup_view.dart +++ b/lib/pages/settings_views/wallet_settings_view/wallet_backup_views/wallet_backup_view.dart @@ -8,13 +8,12 @@ import 'package:qr_flutter/qr_flutter.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages/add_wallet_views/new_wallet_recovery_phrase_view/sub_widgets/mnemonic_table.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/address_utils.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; import 'package:stackwallet/utilities/constants.dart'; -import 'package:stackwallet/utilities/enums/flush_bar_type.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/stack_dialog.dart'; diff --git a/lib/pages/settings_views/wallet_settings_view/wallet_network_settings_view/sub_widgets/confirm_full_rescan.dart b/lib/pages/settings_views/wallet_settings_view/wallet_network_settings_view/sub_widgets/confirm_full_rescan.dart index 009d1312b..25c93e43a 100644 --- a/lib/pages/settings_views/wallet_settings_view/wallet_network_settings_view/sub_widgets/confirm_full_rescan.dart +++ b/lib/pages/settings_views/wallet_settings_view/wallet_network_settings_view/sub_widgets/confirm_full_rescan.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; diff --git a/lib/pages/settings_views/wallet_settings_view/wallet_network_settings_view/wallet_network_settings_view.dart b/lib/pages/settings_views/wallet_settings_view/wallet_network_settings_view/wallet_network_settings_view.dart index 526ef0e79..d199ba7c1 100644 --- a/lib/pages/settings_views/wallet_settings_view/wallet_network_settings_view/wallet_network_settings_view.dart +++ b/lib/pages/settings_views/wallet_settings_view/wallet_network_settings_view/wallet_network_settings_view.dart @@ -19,11 +19,11 @@ import 'package:stackwallet/services/event_bus/events/global/node_connection_sta import 'package:stackwallet/services/event_bus/events/global/refresh_percent_changed_event.dart'; import 'package:stackwallet/services/event_bus/events/global/wallet_sync_status_changed_event.dart'; import 'package:stackwallet/services/event_bus/global_event_bus.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/animated_text.dart'; import 'package:stackwallet/widgets/background.dart'; diff --git a/lib/pages/settings_views/wallet_settings_view/wallet_settings_view.dart b/lib/pages/settings_views/wallet_settings_view/wallet_settings_view.dart index 9df35cb7c..8bef9d88b 100644 --- a/lib/pages/settings_views/wallet_settings_view/wallet_settings_view.dart +++ b/lib/pages/settings_views/wallet_settings_view/wallet_settings_view.dart @@ -22,10 +22,10 @@ import 'package:stackwallet/services/coins/epiccash/epiccash_wallet.dart'; import 'package:stackwallet/services/event_bus/events/global/node_connection_status_changed_event.dart'; import 'package:stackwallet/services/event_bus/events/global/wallet_sync_status_changed_event.dart'; import 'package:stackwallet/services/event_bus/global_event_bus.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; diff --git a/lib/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/delete_wallet_recovery_phrase_view.dart b/lib/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/delete_wallet_recovery_phrase_view.dart index 16602cc7e..731164082 100644 --- a/lib/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/delete_wallet_recovery_phrase_view.dart +++ b/lib/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/delete_wallet_recovery_phrase_view.dart @@ -7,12 +7,11 @@ import 'package:stackwallet/pages/add_wallet_views/new_wallet_recovery_phrase_vi import 'package:stackwallet/pages/home_view/home_view.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/coins/manager.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; import 'package:stackwallet/utilities/constants.dart'; -import 'package:stackwallet/utilities/enums/flush_bar_type.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/stack_dialog.dart'; diff --git a/lib/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/delete_wallet_warning_view.dart b/lib/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/delete_wallet_warning_view.dart index 7cf07b061..cf21908d6 100644 --- a/lib/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/delete_wallet_warning_view.dart +++ b/lib/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/delete_wallet_warning_view.dart @@ -2,8 +2,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/delete_wallet_recovery_phrase_view.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/rounded_container.dart'; diff --git a/lib/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/rename_wallet_view.dart b/lib/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/rename_wallet_view.dart index 3fb319211..ed1dd1219 100644 --- a/lib/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/rename_wallet_view.dart +++ b/lib/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/rename_wallet_view.dart @@ -2,10 +2,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; -import 'package:stackwallet/utilities/enums/flush_bar_type.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; diff --git a/lib/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/wallet_settings_wallet_settings_view.dart b/lib/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/wallet_settings_wallet_settings_view.dart index d26bc9508..7e89519e0 100644 --- a/lib/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/wallet_settings_wallet_settings_view.dart +++ b/lib/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/wallet_settings_wallet_settings_view.dart @@ -5,9 +5,9 @@ import 'package:stackwallet/pages/settings_views/wallet_settings_view/wallet_set import 'package:stackwallet/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/rename_wallet_view.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/route_generator.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; diff --git a/lib/pages/stack_privacy_calls.dart b/lib/pages/stack_privacy_calls.dart index 16b4db86a..22d48311e 100644 --- a/lib/pages/stack_privacy_calls.dart +++ b/lib/pages/stack_privacy_calls.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; @@ -8,13 +9,12 @@ import 'package:stackwallet/pages/pinpad_views/create_pin_view.dart'; import 'package:stackwallet/pages_desktop_specific/password/create_password_view.dart'; import 'package:stackwallet/providers/global/prefs_provider.dart'; import 'package:stackwallet/providers/global/price_provider.dart'; -import 'package:stackwallet/providers/ui/color_theme_provider.dart'; import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; @@ -307,10 +307,11 @@ class _PrivacyToggleState extends ConsumerState { @override Widget build(BuildContext context) { - final bool lightChan = - ref.read(colorThemeProvider.state).state.themeType == ThemeType.chan; - final bool darkChan = ref.read(colorThemeProvider.state).state.themeType == - ThemeType.darkChans; + final easyFile = + ref.watch(themeProvider.select((value) => value.assets.personaEasy)); + final incognitoFile = ref + .watch(themeProvider.select((value) => value.assets.personaIncognito)); + return Row( children: [ Expanded( @@ -347,12 +348,16 @@ class _PrivacyToggleState extends ConsumerState { Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ - (lightChan || darkChan) - ? Image( - image: AssetImage(Assets.png.chanEasy), + (easyFile.endsWith(".png")) + ? Image.file( + File( + easyFile, + ), ) - : SvgPicture.asset( - Assets.svg.personaEasy(context), + : SvgPicture.file( + File( + easyFile, + ), width: 140, height: 140, ), @@ -452,12 +457,16 @@ class _PrivacyToggleState extends ConsumerState { const SizedBox( height: 10, ), - (lightChan || darkChan) - ? Image( - image: AssetImage(Assets.png.chanIncognito), + (incognitoFile.endsWith(".png")) + ? Image.file( + File( + incognitoFile, + ), ) - : SvgPicture.asset( - Assets.svg.personaIncognito(context), + : SvgPicture.file( + File( + incognitoFile, + ), width: 140, height: 140, ), diff --git a/lib/pages/token_view/my_tokens_view.dart b/lib/pages/token_view/my_tokens_view.dart index b06f39741..f655bd27d 100644 --- a/lib/pages/token_view/my_tokens_view.dart +++ b/lib/pages/token_view/my_tokens_view.dart @@ -7,10 +7,10 @@ import 'package:stackwallet/pages/add_wallet_views/add_token_view/edit_wallet_to import 'package:stackwallet/pages/token_view/sub_widgets/my_tokens_list.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/services/coins/ethereum/ethereum_wallet.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/token_view/sub_widgets/my_token_select_item.dart b/lib/pages/token_view/sub_widgets/my_token_select_item.dart index 42931c354..1cd3272ac 100644 --- a/lib/pages/token_view/sub_widgets/my_token_select_item.dart +++ b/lib/pages/token_view/sub_widgets/my_token_select_item.dart @@ -9,10 +9,10 @@ import 'package:stackwallet/services/coins/ethereum/ethereum_wallet.dart'; import 'package:stackwallet/services/ethereum/cached_eth_token_balance.dart'; import 'package:stackwallet/services/ethereum/ethereum_token_service.dart'; import 'package:stackwallet/services/transaction_notification_tracker.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/show_loading.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/desktop/primary_button.dart'; import 'package:stackwallet/widgets/dialogs/basic_dialog.dart'; diff --git a/lib/pages/token_view/sub_widgets/token_summary.dart b/lib/pages/token_view/sub_widgets/token_summary.dart index 30b60a885..11156020c 100644 --- a/lib/pages/token_view/sub_widgets/token_summary.dart +++ b/lib/pages/token_view/sub_widgets/token_summary.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; @@ -15,12 +16,13 @@ import 'package:stackwallet/providers/global/prefs_provider.dart'; import 'package:stackwallet/providers/global/price_provider.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/services/event_bus/events/global/wallet_sync_status_changed_event.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/rounded_container.dart'; import 'package:tuple/tuple.dart'; @@ -163,7 +165,7 @@ class TokenSummary extends ConsumerWidget { } } -class TokenWalletOptions extends StatelessWidget { +class TokenWalletOptions extends ConsumerWidget { const TokenWalletOptions({ Key? key, required this.walletId, @@ -199,7 +201,7 @@ class TokenWalletOptions extends StatelessWidget { } @override - Widget build(BuildContext context) { + Widget build(BuildContext context, WidgetRef ref) { return Row( mainAxisAlignment: MainAxisAlignment.center, children: [ @@ -214,7 +216,7 @@ class TokenWalletOptions extends StatelessWidget { ); }, subLabel: "Receive", - iconAssetSVG: Assets.svg.arrowDownLeft, + iconAssetPathSVG: Assets.svg.arrowDownLeft, ), const SizedBox( width: 16, @@ -231,7 +233,7 @@ class TokenWalletOptions extends StatelessWidget { ); }, subLabel: "Send", - iconAssetSVG: Assets.svg.arrowUpRight, + iconAssetPathSVG: Assets.svg.arrowUpRight, ), const SizedBox( width: 16, @@ -239,7 +241,11 @@ class TokenWalletOptions extends StatelessWidget { TokenOptionsButton( onPressed: () => _onExchangePressed(context), subLabel: "Swap", - iconAssetSVG: Assets.svg.exchange(context), + iconAssetPathSVG: ref.watch( + themeProvider.select( + (value) => value.assets.exchange, + ), + ), ), const SizedBox( width: 16, @@ -247,7 +253,7 @@ class TokenWalletOptions extends StatelessWidget { TokenOptionsButton( onPressed: () => _onBuyPressed(context), subLabel: "Buy", - iconAssetSVG: Assets.svg.creditCard, + iconAssetPathSVG: Assets.svg.creditCard, ), ], ); @@ -259,12 +265,12 @@ class TokenOptionsButton extends StatelessWidget { Key? key, required this.onPressed, required this.subLabel, - required this.iconAssetSVG, + required this.iconAssetPathSVG, }) : super(key: key); final VoidCallback onPressed; final String subLabel; - final String iconAssetSVG; + final String iconAssetPathSVG; @override Widget build(BuildContext context) { @@ -302,8 +308,8 @@ class TokenOptionsButton extends StatelessWidget { child: child, ), ), - child: SvgPicture.asset( - iconAssetSVG, + child: SvgPicture.file( + File(iconAssetPathSVG), color: Theme.of(context) .extension()! .tokenSummaryIcon, diff --git a/lib/pages/token_view/sub_widgets/token_transaction_list_widget.dart b/lib/pages/token_view/sub_widgets/token_transaction_list_widget.dart index 1db04f592..03406338e 100644 --- a/lib/pages/token_view/sub_widgets/token_transaction_list_widget.dart +++ b/lib/pages/token_view/sub_widgets/token_transaction_list_widget.dart @@ -9,10 +9,10 @@ import 'package:stackwallet/pages/wallet_view/sub_widgets/no_transactions_found. import 'package:stackwallet/providers/global/trades_service_provider.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/route_generator.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; diff --git a/lib/pages/token_view/token_contract_details_view.dart b/lib/pages/token_view/token_contract_details_view.dart index c73ea6a75..663698197 100644 --- a/lib/pages/token_view/token_contract_details_view.dart +++ b/lib/pages/token_view/token_contract_details_view.dart @@ -3,8 +3,8 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:isar/isar.dart'; import 'package:stackwallet/db/isar/main_db.dart'; import 'package:stackwallet/models/isar/models/isar_models.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/token_view/token_view.dart b/lib/pages/token_view/token_view.dart index 0faae0bce..39bd5c2d6 100644 --- a/lib/pages/token_view/token_view.dart +++ b/lib/pages/token_view/token_view.dart @@ -8,10 +8,10 @@ import 'package:stackwallet/pages/token_view/token_contract_details_view.dart'; import 'package:stackwallet/pages/wallet_view/transaction_views/all_transactions_view.dart'; import 'package:stackwallet/services/ethereum/ethereum_token_service.dart'; import 'package:stackwallet/services/event_bus/events/global/wallet_sync_status_changed_event.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; diff --git a/lib/pages/wallet_view/sub_widgets/transactions_list.dart b/lib/pages/wallet_view/sub_widgets/transactions_list.dart index 45d446d2b..e68b443ed 100644 --- a/lib/pages/wallet_view/sub_widgets/transactions_list.dart +++ b/lib/pages/wallet_view/sub_widgets/transactions_list.dart @@ -10,10 +10,10 @@ import 'package:stackwallet/providers/global/trades_service_provider.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/route_generator.dart'; import 'package:stackwallet/services/coins/manager.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; diff --git a/lib/pages/wallet_view/sub_widgets/tx_icon.dart b/lib/pages/wallet_view/sub_widgets/tx_icon.dart index ee3b1b115..74c179b47 100644 --- a/lib/pages/wallet_view/sub_widgets/tx_icon.dart +++ b/lib/pages/wallet_view/sub_widgets/tx_icon.dart @@ -1,10 +1,15 @@ +import 'dart:io'; + import 'package:flutter/cupertino.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/models/isar/models/isar_models.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; -class TxIcon extends StatelessWidget { +class TxIcon extends ConsumerWidget { const TxIcon({ Key? key, required this.transaction, @@ -18,8 +23,21 @@ class TxIcon extends StatelessWidget { static const Size size = Size(32, 32); + // String _getBundleAssetName( + // bool isCancelled, bool isReceived, bool isPending, BuildContext context) { + // if (!isReceived && transaction.subType == TransactionSubType.mint) { + // if (isCancelled) { + // return Assets.svg.anonymizeFailed; + // } + // if (isPending) { + // return Assets.svg.anonymizePending; + // } + // return Assets.svg.anonymize; + // } + // } + String _getAssetName( - bool isCancelled, bool isReceived, bool isPending, BuildContext context) { + bool isCancelled, bool isReceived, bool isPending, ThemeAssets assets) { if (!isReceived && transaction.subType == TransactionSubType.mint) { if (isCancelled) { return Assets.svg.anonymizeFailed; @@ -32,45 +50,56 @@ class TxIcon extends StatelessWidget { if (isReceived) { if (isCancelled) { - return Assets.svg.receiveCancelled(context); + return assets.receive; } if (isPending) { - return Assets.svg.receivePending(context); + return assets.receivePending; } - return Assets.svg.receive(context); + return assets.receive; } else { if (isCancelled) { - return Assets.svg.sendCancelled(context); + return assets.sendCancelled; } if (isPending) { - return Assets.svg.sendPending(context); + return assets.sendPending; } - return Assets.svg.send(context); + return assets.send; } } @override - Widget build(BuildContext context) { + Widget build(BuildContext context, WidgetRef ref) { final txIsReceived = transaction.type == TransactionType.incoming; + final assetName = _getAssetName( + transaction.isCancelled, + txIsReceived, + !transaction.isConfirmed( + currentHeight, + coin.requiredConfirmations, + ), + ref.watch(themeProvider).assets, + ); + return SizedBox( width: size.width, height: size.height, child: Center( - child: SvgPicture.asset( - _getAssetName( - transaction.isCancelled, - txIsReceived, - !transaction.isConfirmed( - currentHeight, - coin.requiredConfirmations, - ), - context, - ), - width: size.width, - height: size.height, - ), - ), + // if it starts with "assets" we assume its local + // TODO: a more thorough check + child: assetName.startsWith("assets") + ? SvgPicture.asset( + assetName, + width: size.width, + height: size.height, + ) + : SvgPicture.file( + File( + assetName, + ), + width: size.width, + height: size.height, + )), ); } } diff --git a/lib/pages/wallet_view/sub_widgets/wallet_balance_toggle_sheet.dart b/lib/pages/wallet_view/sub_widgets/wallet_balance_toggle_sheet.dart index 7c6778878..f63351aac 100644 --- a/lib/pages/wallet_view/sub_widgets/wallet_balance_toggle_sheet.dart +++ b/lib/pages/wallet_view/sub_widgets/wallet_balance_toggle_sheet.dart @@ -5,12 +5,12 @@ import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/providers/wallet/public_private_balance_state_provider.dart'; import 'package:stackwallet/providers/wallet/wallet_balance_toggle_state_provider.dart'; import 'package:stackwallet/services/coins/firo/firo_wallet.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/enums/wallet_balance_toggle_state.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; enum _BalanceType { available, diff --git a/lib/pages/wallet_view/sub_widgets/wallet_refresh_button.dart b/lib/pages/wallet_view/sub_widgets/wallet_refresh_button.dart index 06985cd7c..b62323414 100644 --- a/lib/pages/wallet_view/sub_widgets/wallet_refresh_button.dart +++ b/lib/pages/wallet_view/sub_widgets/wallet_refresh_button.dart @@ -7,8 +7,8 @@ import 'package:stackwallet/pages/token_view/token_view.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/services/event_bus/events/global/wallet_sync_status_changed_event.dart'; import 'package:stackwallet/services/event_bus/global_event_bus.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/animated_widgets/rotating_arrows.dart'; @@ -97,62 +97,64 @@ class _RefreshButtonState extends ConsumerState { final isDesktop = Util.isDesktop; return SizedBox( - height: isDesktop ? 22 : 36, - width: isDesktop ? 22 : 36, - child: Semantics( - label: "Refresh Button. Refreshes The Values In Summary.", - excludeSemantics: true, - child: MaterialButton( - color: isDesktop - ? Theme.of(context).extension()!.buttonBackSecondary - : null, - splashColor: Theme.of(context).extension()!.highlight, - onPressed: () { - if (widget.tokenContractAddress == null) { - final managerProvider = ref - .read(walletsChangeNotifierProvider) - .getManagerProvider(widget.walletId); - final isRefreshing = ref.read(managerProvider).isRefreshing; - if (!isRefreshing) { - _spinController.repeat?.call(); - ref - .read(managerProvider) - .refresh() - .then((_) => _spinController.stop?.call()); + height: isDesktop ? 22 : 36, + width: isDesktop ? 22 : 36, + child: Semantics( + label: "Refresh Button. Refreshes The Values In Summary.", + excludeSemantics: true, + child: MaterialButton( + color: isDesktop + ? Theme.of(context) + .extension()! + .buttonBackSecondary + : null, + splashColor: Theme.of(context).extension()!.highlight, + onPressed: () { + if (widget.tokenContractAddress == null) { + final managerProvider = ref + .read(walletsChangeNotifierProvider) + .getManagerProvider(widget.walletId); + final isRefreshing = ref.read(managerProvider).isRefreshing; + if (!isRefreshing) { + _spinController.repeat?.call(); + ref + .read(managerProvider) + .refresh() + .then((_) => _spinController.stop?.call()); + } + } else { + if (!ref.read(tokenServiceProvider)!.isRefreshing) { + ref.read(tokenServiceProvider)!.refresh(); + } } - } else { - if (!ref.read(tokenServiceProvider)!.isRefreshing) { - ref.read(tokenServiceProvider)!.refresh(); - } - } - }, - elevation: 0, - highlightElevation: 0, - hoverElevation: 0, - padding: EdgeInsets.zero, - materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular( - Constants.size.circularBorderRadius, + }, + elevation: 0, + highlightElevation: 0, + hoverElevation: 0, + padding: EdgeInsets.zero, + materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular( + Constants.size.circularBorderRadius, + ), + ), + child: RotatingArrows( + spinByDefault: + widget.initialSyncStatus == WalletSyncStatus.syncing, + width: isDesktop ? 12 : 24, + height: isDesktop ? 12 : 24, + controller: _spinController, + color: widget.overrideIconColor != null + ? widget.overrideIconColor! + : isDesktop + ? Theme.of(context) + .extension()! + .textFieldDefaultSearchIconRight + : Theme.of(context) + .extension()! + .textFavoriteCard, ), ), - child: RotatingArrows( - spinByDefault: widget.initialSyncStatus == WalletSyncStatus.syncing, - width: isDesktop ? 12 : 24, - height: isDesktop ? 12 : 24, - controller: _spinController, - color: widget.overrideIconColor != null - ? widget.overrideIconColor! - : isDesktop - ? Theme.of(context) - .extension()! - .textFieldDefaultSearchIconRight - : Theme.of(context) - .extension()! - .textFavoriteCard, - ), - ), - ) - ); + )); } } diff --git a/lib/pages/wallet_view/sub_widgets/wallet_summary.dart b/lib/pages/wallet_view/sub_widgets/wallet_summary.dart index a8928b5d9..3b0817cd9 100644 --- a/lib/pages/wallet_view/sub_widgets/wallet_summary.dart +++ b/lib/pages/wallet_view/sub_widgets/wallet_summary.dart @@ -4,9 +4,9 @@ import 'package:flutter_svg/flutter_svg.dart'; import 'package:stackwallet/pages/wallet_view/sub_widgets/wallet_summary_info.dart'; import 'package:stackwallet/services/coins/manager.dart'; import 'package:stackwallet/services/event_bus/events/global/wallet_sync_status_changed_event.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class WalletSummary extends StatelessWidget { const WalletSummary({ diff --git a/lib/pages/wallet_view/sub_widgets/wallet_summary_info.dart b/lib/pages/wallet_view/sub_widgets/wallet_summary_info.dart index 947919b8d..32db97f81 100644 --- a/lib/pages/wallet_view/sub_widgets/wallet_summary_info.dart +++ b/lib/pages/wallet_view/sub_widgets/wallet_summary_info.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; @@ -12,12 +13,13 @@ import 'package:stackwallet/services/coins/firo/firo_wallet.dart'; import 'package:stackwallet/services/event_bus/events/global/balance_refreshed_event.dart'; import 'package:stackwallet/services/event_bus/events/global/wallet_sync_status_changed_event.dart'; import 'package:stackwallet/services/event_bus/global_event_bus.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/enums/wallet_balance_toggle_state.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class WalletSummaryInfo extends ConsumerStatefulWidget { const WalletSummaryInfo({ @@ -177,9 +179,9 @@ class _WalletSummaryInfoState extends ConsumerState { ), Column( children: [ - SvgPicture.asset( - Assets.svg.iconFor( - coin: coin, + SvgPicture.file( + File( + ref.watch(coinIconProvider(coin)), ), width: 24, height: 24, diff --git a/lib/pages/wallet_view/transaction_views/all_transactions_view.dart b/lib/pages/wallet_view/transaction_views/all_transactions_view.dart index 9bd55a41c..dd3521bce 100644 --- a/lib/pages/wallet_view/transaction_views/all_transactions_view.dart +++ b/lib/pages/wallet_view/transaction_views/all_transactions_view.dart @@ -13,13 +13,13 @@ import 'package:stackwallet/pages/wallet_view/transaction_views/transaction_sear import 'package:stackwallet/providers/global/address_book_service_provider.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/providers/ui/transaction_filter_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; diff --git a/lib/pages/wallet_view/transaction_views/edit_note_view.dart b/lib/pages/wallet_view/transaction_views/edit_note_view.dart index c7b717337..6e984ad66 100644 --- a/lib/pages/wallet_view/transaction_views/edit_note_view.dart +++ b/lib/pages/wallet_view/transaction_views/edit_note_view.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/wallet_view/transaction_views/transaction_details_view.dart b/lib/pages/wallet_view/transaction_views/transaction_details_view.dart index fbaba46ca..5b8e04e0e 100644 --- a/lib/pages/wallet_view/transaction_views/transaction_details_view.dart +++ b/lib/pages/wallet_view/transaction_views/transaction_details_view.dart @@ -15,6 +15,7 @@ import 'package:stackwallet/providers/global/address_book_service_provider.dart' import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/coins/epiccash/epiccash_wallet.dart'; import 'package:stackwallet/services/coins/manager.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/block_explorers.dart'; @@ -23,7 +24,6 @@ import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/wallet_view/transaction_views/transaction_search_filter_view.dart b/lib/pages/wallet_view/transaction_views/transaction_search_filter_view.dart index ac1295f55..6ca10deee 100644 --- a/lib/pages/wallet_view/transaction_views/transaction_search_filter_view.dart +++ b/lib/pages/wallet_view/transaction_views/transaction_search_filter_view.dart @@ -6,15 +6,15 @@ import 'package:flutter_rounded_date_picker/flutter_rounded_date_picker.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/models/transaction_filter.dart'; import 'package:stackwallet/providers/providers.dart'; -import 'package:stackwallet/providers/ui/color_theme_provider.dart'; import 'package:stackwallet/providers/ui/transaction_filter_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; @@ -61,7 +61,7 @@ class _TransactionSearchViewState @override initState() { - baseColor = ref.read(colorThemeProvider.state).state.textSubtitle2; + baseColor = ref.read(themeProvider.state).state.textSubtitle2; final filterState = ref.read(transactionFilterProvider.state).state; if (filterState != null) { _isActiveReceivedCheckbox = filterState.received; diff --git a/lib/pages/wallet_view/wallet_view.dart b/lib/pages/wallet_view/wallet_view.dart index b70240c3c..ea4804a8a 100644 --- a/lib/pages/wallet_view/wallet_view.dart +++ b/lib/pages/wallet_view/wallet_view.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:io'; import 'package:event_bus/event_bus.dart'; import 'package:flutter/material.dart'; @@ -37,6 +38,9 @@ import 'package:stackwallet/services/event_bus/events/global/wallet_sync_status_ import 'package:stackwallet/services/event_bus/global_event_bus.dart'; import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; @@ -47,7 +51,6 @@ import 'package:stackwallet/utilities/enums/wallet_balance_toggle_state.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/show_loading.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; @@ -104,13 +107,10 @@ class _WalletViewState extends ConsumerState { bool _rescanningOnOpen = false; - late ClipboardInterface _clipboardInterface; - @override void initState() { walletId = widget.walletId; managerProvider = widget.managerProvider; - _clipboardInterface = widget.clipboardInterface; ref.read(managerProvider).isActiveWallet = true; if (!ref.read(managerProvider).shouldAutoSync) { @@ -472,9 +472,10 @@ class _WalletViewState extends ConsumerState { titleSpacing: 0, title: Row( children: [ - SvgPicture.asset( - Assets.svg.iconFor(coin: coin), - // color: Theme.of(context).extension()!.accentColorDark + SvgPicture.file( + File( + ref.watch(coinIconProvider(coin)), + ), width: 24, height: 24, ), @@ -501,7 +502,8 @@ class _WalletViewState extends ConsumerState { child: AspectRatio( aspectRatio: 1, child: AppBarIconButton( - semanticsLabel: "Network Button. Takes To Network Status Page.", + semanticsLabel: + "Network Button. Takes To Network Status Page.", key: const Key("walletViewRadioButton"), size: 36, shadows: const [], @@ -531,28 +533,49 @@ class _WalletViewState extends ConsumerState { child: AspectRatio( aspectRatio: 1, child: AppBarIconButton( - semanticsLabel: "Notifications Button. Takes To Notifications Page.", + semanticsLabel: + "Notifications Button. Takes To Notifications Page.", key: const Key("walletViewAlertsButton"), size: 36, shadows: const [], color: Theme.of(context) .extension()! .background, - icon: SvgPicture.asset( - ref.watch(notificationsProvider.select((value) => - value.hasUnreadNotificationsFor(walletId))) - ? Assets.svg.bellNew(context) - : Assets.svg.bell, - width: 20, - height: 20, - color: ref.watch(notificationsProvider.select( - (value) => value - .hasUnreadNotificationsFor(walletId))) - ? null - : Theme.of(context) - .extension()! - .topNavIconPrimary, - ), + icon: ref.watch(notificationsProvider.select( + (value) => value + .hasUnreadNotificationsFor(walletId))) + ? SvgPicture.file( + File( + ref.watch( + themeProvider.select( + (value) => value.assets.bellNew, + ), + ), + ), + width: 20, + height: 20, + color: ref.watch(notificationsProvider.select( + (value) => + value.hasUnreadNotificationsFor( + walletId))) + ? null + : Theme.of(context) + .extension()! + .topNavIconPrimary, + ) + : SvgPicture.asset( + Assets.svg.bell, + width: 20, + height: 20, + color: ref.watch(notificationsProvider.select( + (value) => + value.hasUnreadNotificationsFor( + walletId))) + ? null + : Theme.of(context) + .extension()! + .topNavIconPrimary, + ), onPressed: () { // reset unread state ref.refresh(unreadNotificationsStateProvider); @@ -599,7 +622,8 @@ class _WalletViewState extends ConsumerState { child: AspectRatio( aspectRatio: 1, child: AppBarIconButton( - semanticsLabel: "Settings Button. Takes To Wallet Settings Page.", + semanticsLabel: + "Settings Button. Takes To Wallet Settings Page.", key: const Key("walletViewSettingsButton"), size: 36, shadows: const [], diff --git a/lib/pages/wallets_view/sub_widgets/all_wallets.dart b/lib/pages/wallets_view/sub_widgets/all_wallets.dart index a8c500501..3f91a739c 100644 --- a/lib/pages/wallets_view/sub_widgets/all_wallets.dart +++ b/lib/pages/wallets_view/sub_widgets/all_wallets.dart @@ -3,8 +3,8 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/pages/add_wallet_views/add_wallet_view/add_wallet_view.dart'; import 'package:stackwallet/pages/wallets_view/sub_widgets/wallet_list_item.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; class AllWallets extends StatelessWidget { diff --git a/lib/pages/wallets_view/sub_widgets/empty_wallets.dart b/lib/pages/wallets_view/sub_widgets/empty_wallets.dart index 4db5ce741..23d4686e7 100644 --- a/lib/pages/wallets_view/sub_widgets/empty_wallets.dart +++ b/lib/pages/wallets_view/sub_widgets/empty_wallets.dart @@ -1,12 +1,13 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/pages/add_wallet_views/add_wallet_view/add_wallet_view.dart'; -import 'package:stackwallet/providers/ui/color_theme_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; class EmptyWallets extends ConsumerWidget { @@ -17,12 +18,6 @@ class EmptyWallets extends ConsumerWidget { debugPrint("BUILD: $runtimeType"); final isDesktop = Util.isDesktop; - final bool isSorbet = ref.read(colorThemeProvider.state).state.themeType == - ThemeType.fruitSorbet; - final bool isForest = - ref.read(colorThemeProvider.state).state.themeType == ThemeType.forest; - final bool isOcean = ref.read(colorThemeProvider.state).state.themeType == - ThemeType.oceanBreeze; return SafeArea( child: Padding( @@ -38,8 +33,14 @@ class EmptyWallets extends ConsumerWidget { const Spacer( flex: 2, ), - SvgPicture.asset( - Assets.svg.stack(context), + SvgPicture.file( + File( + ref.watch( + themeProvider.select( + (value) => value.assets.stack, + ), + ), + ), width: isDesktop ? 324 : MediaQuery.of(context).size.width / 3, ), SizedBox( @@ -98,8 +99,8 @@ class AddWalletButton extends ConsumerWidget { @override Widget build(BuildContext context, WidgetRef ref) { - final bool isOLED = ref.read(colorThemeProvider.state).state.themeType == - ThemeType.oledBlack; + final bool isOLED = ref.watch(themeProvider).themeId == "oled_black"; + return TextButton( style: Theme.of(context) .extension()! diff --git a/lib/pages/wallets_view/sub_widgets/favorite_card.dart b/lib/pages/wallets_view/sub_widgets/favorite_card.dart index 72b2e3ffa..87ffbccd1 100644 --- a/lib/pages/wallets_view/sub_widgets/favorite_card.dart +++ b/lib/pages/wallets_view/sub_widgets/favorite_card.dart @@ -1,3 +1,5 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/flutter_svg.dart'; @@ -5,12 +7,13 @@ import 'package:stackwallet/pages/wallet_view/wallet_view.dart'; import 'package:stackwallet/pages_desktop_specific/my_stack_view/wallet_view/desktop_wallet_view.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/coins/manager.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:tuple/tuple.dart'; @@ -212,8 +215,10 @@ class _FavoriteCardState extends ConsumerState { overflow: TextOverflow.fade, ), ), - SvgPicture.asset( - Assets.svg.iconFor(coin: coin), + SvgPicture.file( + File( + ref.watch(coinIconProvider(coin)), + ), width: 24, height: 24, ), diff --git a/lib/pages/wallets_view/sub_widgets/favorite_wallets.dart b/lib/pages/wallets_view/sub_widgets/favorite_wallets.dart index 5f1098ce4..afbea4562 100644 --- a/lib/pages/wallets_view/sub_widgets/favorite_wallets.dart +++ b/lib/pages/wallets_view/sub_widgets/favorite_wallets.dart @@ -7,10 +7,10 @@ import 'package:stackwallet/pages/manage_favorites_view/manage_favorites_view.da import 'package:stackwallet/pages/wallets_view/sub_widgets/favorite_card.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/coins/manager.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/custom_page_view/custom_page_view.dart' as cpv; diff --git a/lib/pages/wallets_view/sub_widgets/wallet_list_item.dart b/lib/pages/wallets_view/sub_widgets/wallet_list_item.dart index 851d2445f..81194fdc3 100644 --- a/lib/pages/wallets_view/sub_widgets/wallet_list_item.dart +++ b/lib/pages/wallets_view/sub_widgets/wallet_list_item.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; @@ -6,12 +7,12 @@ import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/pages/wallet_view/wallet_view.dart'; import 'package:stackwallet/pages/wallets_view/wallets_overview.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; -import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; import 'package:tuple/tuple.dart'; @@ -79,8 +80,10 @@ class WalletListItem extends ConsumerWidget { }, child: Row( children: [ - SvgPicture.asset( - Assets.svg.iconFor(coin: coin), + SvgPicture.file( + File( + ref.watch(coinIconProvider(coin)), + ), width: 28, height: 28, ), diff --git a/lib/pages/wallets_view/wallets_overview.dart b/lib/pages/wallets_view/wallets_overview.dart index 7fe54d0c1..5cc032a9d 100644 --- a/lib/pages/wallets_view/wallets_overview.dart +++ b/lib/pages/wallets_view/wallets_overview.dart @@ -9,11 +9,11 @@ import 'package:stackwallet/providers/db/main_db_provider.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/coins/ethereum/ethereum_wallet.dart'; import 'package:stackwallet/services/coins/manager.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; diff --git a/lib/pages/wallets_view/wallets_view.dart b/lib/pages/wallets_view/wallets_view.dart index 1c7f99e4f..8df30771d 100644 --- a/lib/pages/wallets_view/wallets_view.dart +++ b/lib/pages/wallets_view/wallets_view.dart @@ -5,8 +5,7 @@ import 'package:stackwallet/pages/wallets_view/sub_widgets/all_wallets.dart'; import 'package:stackwallet/pages/wallets_view/sub_widgets/empty_wallets.dart'; import 'package:stackwallet/pages/wallets_view/sub_widgets/favorite_wallets.dart'; import 'package:stackwallet/providers/providers.dart'; -import 'package:stackwallet/providers/ui/color_theme_provider.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; class WalletsView extends ConsumerWidget { const WalletsView({Key? key}) : super(key: key); @@ -25,10 +24,8 @@ class WalletsView extends ConsumerWidget { child: hasWallets ? Padding( padding: EdgeInsets.only( - top: ref.watch(colorThemeProvider).themeType == - ThemeType.fruitSorbet - ? 6 - : 20, + top: + ref.watch(themeProvider).themeId == "fruit_sorbet" ? 6 : 20, ), child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, diff --git a/lib/pages_desktop_specific/address_book_view/desktop_address_book.dart b/lib/pages_desktop_specific/address_book_view/desktop_address_book.dart index 693cacc74..e45e894c2 100644 --- a/lib/pages_desktop_specific/address_book_view/desktop_address_book.dart +++ b/lib/pages_desktop_specific/address_book_view/desktop_address_book.dart @@ -10,11 +10,11 @@ import 'package:stackwallet/pages_desktop_specific/address_book_view/subwidgets/ import 'package:stackwallet/providers/global/address_book_service_provider.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/providers/ui/address_book_providers/address_book_filter_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/address_book_card.dart'; import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart'; diff --git a/lib/pages_desktop_specific/address_book_view/subwidgets/desktop_address_card.dart b/lib/pages_desktop_specific/address_book_view/subwidgets/desktop_address_card.dart index 518e593b0..214cc01e9 100644 --- a/lib/pages_desktop_specific/address_book_view/subwidgets/desktop_address_card.dart +++ b/lib/pages_desktop_specific/address_book_view/subwidgets/desktop_address_card.dart @@ -6,17 +6,17 @@ import 'package:stackwallet/models/contact_address_entry.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages/address_book_views/subviews/edit_contact_address_view.dart'; import 'package:stackwallet/providers/ui/address_book_providers/address_entry_data_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; -import 'package:stackwallet/utilities/enums/flush_bar_type.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; -class DesktopAddressCard extends StatelessWidget { +class DesktopAddressCard extends ConsumerWidget { const DesktopAddressCard({ Key? key, required this.entry, @@ -29,14 +29,12 @@ class DesktopAddressCard extends StatelessWidget { final ClipboardInterface clipboard; @override - Widget build(BuildContext context) { + Widget build(BuildContext context, WidgetRef ref) { return Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ SvgPicture.asset( - Assets.svg.iconFor( - coin: entry.coin, - ), + ref.watch(coinIconProvider(entry.coin)), height: 32, width: 32, ), diff --git a/lib/pages_desktop_specific/address_book_view/subwidgets/desktop_contact_details.dart b/lib/pages_desktop_specific/address_book_view/subwidgets/desktop_contact_details.dart index 6544e1acd..8b56a9cf5 100644 --- a/lib/pages_desktop_specific/address_book_view/subwidgets/desktop_contact_details.dart +++ b/lib/pages_desktop_specific/address_book_view/subwidgets/desktop_contact_details.dart @@ -3,7 +3,6 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:isar/isar.dart'; import 'package:stackwallet/models/contact.dart'; -import 'package:stackwallet/models/isar/models/blockchain_data/transaction.dart'; import 'package:stackwallet/models/isar/models/isar_models.dart'; import 'package:stackwallet/pages/address_book_views/subviews/add_new_contact_address_view.dart'; import 'package:stackwallet/pages_desktop_specific/address_book_view/subwidgets/desktop_address_card.dart'; @@ -12,9 +11,10 @@ import 'package:stackwallet/providers/global/address_book_service_provider.dart' import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/providers/ui/address_book_providers/address_entry_data_provider.dart'; import 'package:stackwallet/services/coins/manager.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; @@ -120,7 +120,11 @@ class _DesktopContactDetailsState extends ConsumerState { child: contact.id == "default" ? Center( child: SvgPicture.asset( - Assets.svg.stackIcon(context), + ref.watch( + themeProvider.select( + (value) => value.assets.stackIcon, + ), + ), width: 32, ), ) diff --git a/lib/pages_desktop_specific/address_book_view/subwidgets/desktop_contact_options_menu_popup.dart b/lib/pages_desktop_specific/address_book_view/subwidgets/desktop_contact_options_menu_popup.dart index 690d1be98..2c3574acf 100644 --- a/lib/pages_desktop_specific/address_book_view/subwidgets/desktop_contact_options_menu_popup.dart +++ b/lib/pages_desktop_specific/address_book_view/subwidgets/desktop_contact_options_menu_popup.dart @@ -4,9 +4,9 @@ import 'package:flutter_svg/flutter_svg.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages/address_book_views/subviews/edit_contact_name_emoji_view.dart'; import 'package:stackwallet/providers/global/address_book_service_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; import 'package:stackwallet/widgets/desktop/primary_button.dart'; diff --git a/lib/pages_desktop_specific/addresses/desktop_wallet_addresses_view.dart b/lib/pages_desktop_specific/addresses/desktop_wallet_addresses_view.dart index 3ba175b73..9128f9417 100644 --- a/lib/pages_desktop_specific/addresses/desktop_wallet_addresses_view.dart +++ b/lib/pages_desktop_specific/addresses/desktop_wallet_addresses_view.dart @@ -6,9 +6,9 @@ import 'package:stackwallet/models/isar/models/isar_models.dart'; import 'package:stackwallet/pages/receive_view/addresses/address_details_view.dart'; import 'package:stackwallet/pages_desktop_specific/addresses/sub_widgets/desktop_address_list.dart'; import 'package:stackwallet/providers/db/main_db_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart'; import 'package:stackwallet/widgets/desktop/desktop_scaffold.dart'; diff --git a/lib/pages_desktop_specific/addresses/sub_widgets/desktop_address_list.dart b/lib/pages_desktop_specific/addresses/sub_widgets/desktop_address_list.dart index 16004fc0f..ece508042 100644 --- a/lib/pages_desktop_specific/addresses/sub_widgets/desktop_address_list.dart +++ b/lib/pages_desktop_specific/addresses/sub_widgets/desktop_address_list.dart @@ -7,10 +7,10 @@ import 'package:stackwallet/pages/receive_view/addresses/address_card.dart'; import 'package:stackwallet/pages_desktop_specific/addresses/desktop_wallet_addresses_view.dart'; import 'package:stackwallet/providers/db/main_db_provider.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/icon_widgets/x_icon.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; diff --git a/lib/pages_desktop_specific/coin_control/desktop_coin_control_use_dialog.dart b/lib/pages_desktop_specific/coin_control/desktop_coin_control_use_dialog.dart index 71b3e9d97..7fce59bdb 100644 --- a/lib/pages_desktop_specific/coin_control/desktop_coin_control_use_dialog.dart +++ b/lib/pages_desktop_specific/coin_control/desktop_coin_control_use_dialog.dart @@ -6,12 +6,13 @@ import 'package:stackwallet/db/isar/main_db.dart'; import 'package:stackwallet/models/isar/models/blockchain_data/utxo.dart'; import 'package:stackwallet/pages_desktop_specific/coin_control/utxo_row.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/animated_widgets/rotate_icon.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; @@ -359,7 +360,7 @@ class _DesktopCoinControlUseDialogState child: Row( children: [ SvgPicture.asset( - Assets.svg.iconFor(coin: coin), + ref.watch(coinIconProvider(coin)), width: 24, height: 24, ), diff --git a/lib/pages_desktop_specific/coin_control/desktop_coin_control_view.dart b/lib/pages_desktop_specific/coin_control/desktop_coin_control_view.dart index 593666c3c..af41ad1a8 100644 --- a/lib/pages_desktop_specific/coin_control/desktop_coin_control_view.dart +++ b/lib/pages_desktop_specific/coin_control/desktop_coin_control_view.dart @@ -7,11 +7,12 @@ import 'package:stackwallet/models/isar/models/blockchain_data/utxo.dart'; import 'package:stackwallet/pages_desktop_specific/coin_control/freeze_button.dart'; import 'package:stackwallet/pages_desktop_specific/coin_control/utxo_row.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/animated_widgets/rotate_icon.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/custom_buttons/dropdown_button.dart'; @@ -343,7 +344,7 @@ class _DesktopCoinControlViewState child: Row( children: [ SvgPicture.asset( - Assets.svg.iconFor(coin: coin), + ref.watch(coinIconProvider(coin)), width: 24, height: 24, ), diff --git a/lib/pages_desktop_specific/coin_control/utxo_row.dart b/lib/pages_desktop_specific/coin_control/utxo_row.dart index 7521c8ec0..4d3796e06 100644 --- a/lib/pages_desktop_specific/coin_control/utxo_row.dart +++ b/lib/pages_desktop_specific/coin_control/utxo_row.dart @@ -6,10 +6,10 @@ import 'package:stackwallet/models/isar/models/isar_models.dart'; import 'package:stackwallet/pages/coin_control/utxo_details_view.dart'; import 'package:stackwallet/providers/global/locale_provider.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; import 'package:stackwallet/widgets/desktop/secondary_button.dart'; diff --git a/lib/pages_desktop_specific/desktop_exchange/desktop_all_trades_view.dart b/lib/pages_desktop_specific/desktop_exchange/desktop_all_trades_view.dart index 7d344f47d..209c3c28c 100644 --- a/lib/pages_desktop_specific/desktop_exchange/desktop_all_trades_view.dart +++ b/lib/pages_desktop_specific/desktop_exchange/desktop_all_trades_view.dart @@ -9,16 +9,18 @@ import 'package:stackwallet/db/isar/main_db.dart'; import 'package:stackwallet/models/exchange/change_now/exchange_transaction_status.dart'; import 'package:stackwallet/models/exchange/response_objects/trade.dart'; import 'package:stackwallet/models/isar/models/isar_models.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; import 'package:stackwallet/pages/exchange_view/trade_details_view.dart'; import 'package:stackwallet/providers/exchange/trade_sent_from_stack_lookup_provider.dart'; import 'package:stackwallet/providers/global/trades_service_provider.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/route_generator.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; @@ -285,7 +287,7 @@ class DesktopTradeRowCard extends ConsumerStatefulWidget { class _DesktopTradeRowCardState extends ConsumerState { late final String tradeId; - String _fetchIconAssetForStatus(String statusString, BuildContext context) { + String _fetchIconAssetForStatus(String statusString, ThemeAssets assets) { ChangeNowTransactionStatus? status; try { if (statusString.toLowerCase().startsWith("waiting")) { @@ -296,10 +298,10 @@ class _DesktopTradeRowCardState extends ConsumerState { switch (statusString.toLowerCase()) { case "funds confirming": case "processing payment": - return Assets.svg.txExchangePending(context); + return assets.txExchangePending; case "completed": - return Assets.svg.txExchange(context); + return assets.txExchange; default: status = ChangeNowTransactionStatus.Failed; @@ -314,11 +316,11 @@ class _DesktopTradeRowCardState extends ConsumerState { case ChangeNowTransactionStatus.Sending: case ChangeNowTransactionStatus.Refunded: case ChangeNowTransactionStatus.Verifying: - return Assets.svg.txExchangePending(context); + return assets.txExchangePending; case ChangeNowTransactionStatus.Finished: - return Assets.svg.txExchange(context); + return assets.txExchange; case ChangeNowTransactionStatus.Failed: - return Assets.svg.txExchangeFailed(context); + return assets.txExchangeFailed; } } @@ -523,7 +525,7 @@ class _DesktopTradeRowCardState extends ConsumerState { child: SvgPicture.asset( _fetchIconAssetForStatus( trade.status, - context, + ref.watch(themeProvider.select((value) => value.assets)), ), width: 32, height: 32, diff --git a/lib/pages_desktop_specific/desktop_exchange/desktop_exchange_view.dart b/lib/pages_desktop_specific/desktop_exchange/desktop_exchange_view.dart index ab8279866..f63165567 100644 --- a/lib/pages_desktop_specific/desktop_exchange/desktop_exchange_view.dart +++ b/lib/pages_desktop_specific/desktop_exchange/desktop_exchange_view.dart @@ -6,8 +6,8 @@ import 'package:stackwallet/pages_desktop_specific/desktop_exchange/subwidgets/d import 'package:stackwallet/providers/exchange/exchange_form_state_provider.dart'; import 'package:stackwallet/providers/global/prefs_provider.dart'; import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; import 'package:stackwallet/widgets/custom_loading_overlay.dart'; diff --git a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/step_scaffold.dart b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/step_scaffold.dart index e99c63821..0412541e9 100644 --- a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/step_scaffold.dart +++ b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/step_scaffold.dart @@ -17,12 +17,12 @@ import 'package:stackwallet/providers/global/trades_service_provider.dart'; import 'package:stackwallet/route_generator.dart'; import 'package:stackwallet/services/exchange/exchange_response.dart'; import 'package:stackwallet/services/notifications_api.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/enums/exchange_rate_type_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/custom_loading_overlay.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; diff --git a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_1.dart b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_1.dart index dffe71bb9..af5f93408 100644 --- a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_1.dart +++ b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_1.dart @@ -3,9 +3,9 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_exchange/exchange_steps/step_scaffold.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_item.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/enums/exchange_rate_type_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; class DesktopStep1 extends ConsumerWidget { diff --git a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_2.dart b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_2.dart index c4371d4e8..d8e131c77 100644 --- a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_2.dart +++ b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_2.dart @@ -7,12 +7,12 @@ import 'package:stackwallet/pages_desktop_specific/desktop_exchange/subwidgets/d import 'package:stackwallet/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/address_book_address_chooser/address_book_address_chooser.dart'; import 'package:stackwallet/providers/exchange/exchange_send_from_wallet_id_provider.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; diff --git a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_3.dart b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_3.dart index a5d3fba43..5641070b5 100644 --- a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_3.dart +++ b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_3.dart @@ -3,9 +3,9 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_exchange/exchange_steps/step_scaffold.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_item.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/enums/exchange_rate_type_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; class DesktopStep3 extends ConsumerStatefulWidget { diff --git a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_4.dart b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_4.dart index bbc3fd30c..c88db957e 100644 --- a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_4.dart +++ b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_4.dart @@ -5,9 +5,9 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_exchange/exchange_steps/step_scaffold.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_item.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/rounded_container.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; diff --git a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_item.dart b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_item.dart index 323517e13..b5eb35a49 100644 --- a/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_item.dart +++ b/lib/pages_desktop_specific/desktop_exchange/exchange_steps/subwidgets/desktop_step_item.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; class DesktopStepItem extends StatelessWidget { diff --git a/lib/pages_desktop_specific/desktop_exchange/subwidgets/desktop_choose_from_stack.dart b/lib/pages_desktop_specific/desktop_exchange/subwidgets/desktop_choose_from_stack.dart index 9a5b52223..9d6106129 100644 --- a/lib/pages_desktop_specific/desktop_exchange/subwidgets/desktop_choose_from_stack.dart +++ b/lib/pages_desktop_specific/desktop_exchange/subwidgets/desktop_choose_from_stack.dart @@ -3,12 +3,12 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/coins/firo/firo_wallet.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; import 'package:stackwallet/widgets/desktop/secondary_button.dart'; import 'package:stackwallet/widgets/icon_widgets/x_icon.dart'; diff --git a/lib/pages_desktop_specific/desktop_exchange/subwidgets/desktop_exchange_steps_indicator.dart b/lib/pages_desktop_specific/desktop_exchange/subwidgets/desktop_exchange_steps_indicator.dart index 926429ad7..880b0a5a0 100644 --- a/lib/pages_desktop_specific/desktop_exchange/subwidgets/desktop_exchange_steps_indicator.dart +++ b/lib/pages_desktop_specific/desktop_exchange/subwidgets/desktop_exchange_steps_indicator.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/rounded_container.dart'; class DesktopExchangeStepsIndicator extends StatelessWidget { diff --git a/lib/pages_desktop_specific/desktop_exchange/subwidgets/desktop_trade_history.dart b/lib/pages_desktop_specific/desktop_exchange/subwidgets/desktop_trade_history.dart index d369a61df..29919098e 100644 --- a/lib/pages_desktop_specific/desktop_exchange/subwidgets/desktop_trade_history.dart +++ b/lib/pages_desktop_specific/desktop_exchange/subwidgets/desktop_trade_history.dart @@ -9,9 +9,9 @@ import 'package:stackwallet/providers/exchange/trade_sent_from_stack_lookup_prov import 'package:stackwallet/providers/global/trades_service_provider.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/route_generator.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; diff --git a/lib/pages_desktop_specific/desktop_home_view.dart b/lib/pages_desktop_specific/desktop_home_view.dart index fa7076572..0b2f99c81 100644 --- a/lib/pages_desktop_specific/desktop_home_view.dart +++ b/lib/pages_desktop_specific/desktop_home_view.dart @@ -17,8 +17,8 @@ import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/providers/ui/transaction_filter_provider.dart'; import 'package:stackwallet/providers/ui/unread_notifications_provider.dart'; import 'package:stackwallet/route_generator.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/enums/backup_frequency_type.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; final currentWalletIdProvider = StateProvider((_) => null); diff --git a/lib/pages_desktop_specific/desktop_menu.dart b/lib/pages_desktop_specific/desktop_menu.dart index 53a4cff7c..bcdf7f031 100644 --- a/lib/pages_desktop_specific/desktop_menu.dart +++ b/lib/pages_desktop_specific/desktop_menu.dart @@ -6,9 +6,9 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_menu_item.dart'; import 'package:stackwallet/providers/desktop/current_desktop_menu_item.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/desktop/living_stack_icon.dart'; enum DesktopMenuItemId { diff --git a/lib/pages_desktop_specific/desktop_menu_item.dart b/lib/pages_desktop_specific/desktop_menu_item.dart index 5a00bbe95..4f27a1af0 100644 --- a/lib/pages_desktop_specific/desktop_menu_item.dart +++ b/lib/pages_desktop_specific/desktop_menu_item.dart @@ -4,9 +4,10 @@ import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_menu.dart'; import 'package:stackwallet/providers/desktop/current_desktop_menu_item.dart'; import 'package:stackwallet/providers/global/notifications_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class DMIController { VoidCallback? toggle; @@ -61,7 +62,7 @@ class DesktopBuyIcon extends ConsumerWidget { @override Widget build(BuildContext context, WidgetRef ref) { return SvgPicture.asset( - Assets.svg.buy(context), + ref.watch(themeProvider.select((value) => value.assets.buy)), width: 20, height: 20, color: DesktopMenuItemId.buy == @@ -83,7 +84,11 @@ class DesktopNotificationsIcon extends ConsumerWidget { return SvgPicture.asset( ref.watch(notificationsProvider .select((value) => value.hasUnreadNotifications)) - ? Assets.svg.bellNew(context) + ? ref.watch( + themeProvider.select( + (value) => value.assets.bellNew, + ), + ) : Assets.svg.bell, width: 20, height: 20, diff --git a/lib/pages_desktop_specific/my_stack_view/coin_wallets_table.dart b/lib/pages_desktop_specific/my_stack_view/coin_wallets_table.dart index c61708c70..16b43a5e3 100644 --- a/lib/pages_desktop_specific/my_stack_view/coin_wallets_table.dart +++ b/lib/pages_desktop_specific/my_stack_view/coin_wallets_table.dart @@ -3,9 +3,9 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_home_view.dart'; import 'package:stackwallet/pages_desktop_specific/my_stack_view/wallet_view/desktop_wallet_view.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/rounded_container.dart'; import 'package:stackwallet/widgets/wallet_info_row/wallet_info_row.dart'; diff --git a/lib/pages_desktop_specific/my_stack_view/desktop_favorite_wallets.dart b/lib/pages_desktop_specific/my_stack_view/desktop_favorite_wallets.dart index 97e901747..b9ce38eb4 100644 --- a/lib/pages_desktop_specific/my_stack_view/desktop_favorite_wallets.dart +++ b/lib/pages_desktop_specific/my_stack_view/desktop_favorite_wallets.dart @@ -4,10 +4,10 @@ import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/pages/manage_favorites_view/manage_favorites_view.dart'; import 'package:stackwallet/pages/wallets_view/sub_widgets/favorite_card.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; class DesktopFavoriteWallets extends ConsumerWidget { diff --git a/lib/pages_desktop_specific/my_stack_view/dialogs/desktop_expanding_wallet_card.dart b/lib/pages_desktop_specific/my_stack_view/dialogs/desktop_expanding_wallet_card.dart index 21493a31d..e6f64a25a 100644 --- a/lib/pages_desktop_specific/my_stack_view/dialogs/desktop_expanding_wallet_card.dart +++ b/lib/pages_desktop_specific/my_stack_view/dialogs/desktop_expanding_wallet_card.dart @@ -3,10 +3,10 @@ import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/models/isar/models/ethereum/eth_contract.dart'; import 'package:stackwallet/services/coins/manager.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/animated_widgets/rotate_icon.dart'; import 'package:stackwallet/widgets/expandable.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; diff --git a/lib/pages_desktop_specific/my_stack_view/exit_to_my_stack_button.dart b/lib/pages_desktop_specific/my_stack_view/exit_to_my_stack_button.dart index 250bd7299..e210f1653 100644 --- a/lib/pages_desktop_specific/my_stack_view/exit_to_my_stack_button.dart +++ b/lib/pages_desktop_specific/my_stack_view/exit_to_my_stack_button.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_home_view.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class ExitToMyStackButton extends StatelessWidget { const ExitToMyStackButton({ diff --git a/lib/pages_desktop_specific/my_stack_view/my_stack_view.dart b/lib/pages_desktop_specific/my_stack_view/my_stack_view.dart index 47ffdf4fe..1b327ccea 100644 --- a/lib/pages_desktop_specific/my_stack_view/my_stack_view.dart +++ b/lib/pages_desktop_specific/my_stack_view/my_stack_view.dart @@ -4,7 +4,7 @@ import 'package:flutter_svg/flutter_svg.dart'; import 'package:stackwallet/pages/wallets_view/sub_widgets/empty_wallets.dart'; import 'package:stackwallet/pages_desktop_specific/my_stack_view/my_wallets.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; -import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart'; @@ -40,11 +40,11 @@ class _MyStackViewState extends ConsumerState { } } -class DesktopMyStackTitle extends StatelessWidget { +class DesktopMyStackTitle extends ConsumerWidget { const DesktopMyStackTitle({Key? key}) : super(key: key); @override - Widget build(BuildContext context) { + Widget build(BuildContext context, WidgetRef ref) { return Row( children: [ const SizedBox( @@ -54,7 +54,11 @@ class DesktopMyStackTitle extends StatelessWidget { width: 32, height: 32, child: SvgPicture.asset( - Assets.svg.stackIcon(context), + ref.watch( + themeProvider.select( + (value) => value.assets.stackIcon, + ), + ), ), ), const SizedBox( diff --git a/lib/pages_desktop_specific/my_stack_view/my_wallets.dart b/lib/pages_desktop_specific/my_stack_view/my_wallets.dart index c2a08a35a..ecd21186d 100644 --- a/lib/pages_desktop_specific/my_stack_view/my_wallets.dart +++ b/lib/pages_desktop_specific/my_stack_view/my_wallets.dart @@ -4,8 +4,8 @@ import 'package:stackwallet/pages/add_wallet_views/add_wallet_view/add_wallet_vi import 'package:stackwallet/pages_desktop_specific/my_stack_view/desktop_favorite_wallets.dart'; import 'package:stackwallet/pages_desktop_specific/my_stack_view/wallet_summary_table.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; class MyWallets extends ConsumerStatefulWidget { diff --git a/lib/pages_desktop_specific/my_stack_view/paynym/desktop_paynym_send_dialog.dart b/lib/pages_desktop_specific/my_stack_view/paynym/desktop_paynym_send_dialog.dart index 77c78c369..8b8712740 100644 --- a/lib/pages_desktop_specific/my_stack_view/paynym/desktop_paynym_send_dialog.dart +++ b/lib/pages_desktop_specific/my_stack_view/paynym/desktop_paynym_send_dialog.dart @@ -10,13 +10,13 @@ import 'package:stackwallet/providers/global/price_provider.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/providers/wallet/public_private_balance_state_provider.dart'; import 'package:stackwallet/services/coins/firo/firo_wallet.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; -import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/barcode_scanner_interface.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; @@ -82,7 +82,7 @@ class _DesktopPaynymSendDialogState child: Row( children: [ SvgPicture.asset( - Assets.svg.iconFor(coin: coin), + ref.watch(coinIconProvider(coin)), width: 36, height: 36, ), diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_summary_table.dart b/lib/pages_desktop_specific/my_stack_view/wallet_summary_table.dart index 70189b383..b34709680 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_summary_table.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_summary_table.dart @@ -3,11 +3,11 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/pages/wallets_view/wallets_overview.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; -import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; @@ -58,7 +58,7 @@ class _WalletTableState extends ConsumerState { } } -class DesktopWalletSummaryRow extends StatefulWidget { +class DesktopWalletSummaryRow extends ConsumerStatefulWidget { const DesktopWalletSummaryRow({ Key? key, required this.coin, @@ -69,11 +69,12 @@ class DesktopWalletSummaryRow extends StatefulWidget { final int walletCount; @override - State createState() => + ConsumerState createState() => _DesktopWalletSummaryRowState(); } -class _DesktopWalletSummaryRowState extends State { +class _DesktopWalletSummaryRowState + extends ConsumerState { bool _hovering = false; void _onPressed() { @@ -141,7 +142,7 @@ class _DesktopWalletSummaryRowState extends State { child: Row( children: [ SvgPicture.asset( - Assets.svg.iconFor(coin: widget.coin), + ref.watch(coinIconProvider(widget.coin)), width: 28, height: 28, ), diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/desktop_token_view.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/desktop_token_view.dart index a37572573..153feb92c 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/desktop_token_view.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/desktop_token_view.dart @@ -12,9 +12,9 @@ import 'package:stackwallet/pages_desktop_specific/my_stack_view/wallet_view/sub import 'package:stackwallet/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/my_wallet.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/event_bus/events/global/wallet_sync_status_changed_event.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart'; import 'package:stackwallet/widgets/desktop/desktop_scaffold.dart'; diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/desktop_wallet_view.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/desktop_wallet_view.dart index 0d0c408c1..59fe4acf9 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/desktop_wallet_view.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/desktop_wallet_view.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:io'; import 'package:event_bus/event_bus.dart'; import 'package:flutter/material.dart'; @@ -19,12 +20,13 @@ import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/providers/ui/transaction_filter_provider.dart'; import 'package:stackwallet/services/event_bus/events/global/wallet_sync_status_changed_event.dart'; import 'package:stackwallet/services/event_bus/global_event_bus.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/backup_frequency_type.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; @@ -264,8 +266,10 @@ class _DesktopWalletViewState extends ConsumerState { const SizedBox( width: 15, ), - SvgPicture.asset( - Assets.svg.iconFor(coin: coin), + SvgPicture.file( + File( + ref.watch(coinIconProvider(coin)), + ), width: 32, height: 32, ), @@ -320,8 +324,10 @@ class _DesktopWalletViewState extends ConsumerState { padding: const EdgeInsets.all(20), child: Row( children: [ - SvgPicture.asset( - Assets.svg.iconFor(coin: coin), + SvgPicture.file( + File( + ref.watch(coinIconProvider(coin)), + ), width: 40, height: 40, ), diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/address_book_address_chooser/address_book_address_chooser.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/address_book_address_chooser/address_book_address_chooser.dart index 994624d94..647097bfe 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/address_book_address_chooser/address_book_address_chooser.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/address_book_address_chooser/address_book_address_chooser.dart @@ -4,11 +4,11 @@ import 'package:flutter_svg/flutter_svg.dart'; import 'package:stackwallet/models/contact.dart'; import 'package:stackwallet/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/address_book_address_chooser/sub_widgets/contact_list_item.dart'; import 'package:stackwallet/providers/global/address_book_service_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/icon_widgets/x_icon.dart'; import 'package:stackwallet/widgets/stack_text_field.dart'; diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/address_book_address_chooser/sub_widgets/contact_list_item.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/address_book_address_chooser/sub_widgets/contact_list_item.dart index 7ae3c51e4..e18070686 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/address_book_address_chooser/sub_widgets/contact_list_item.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/address_book_address_chooser/sub_widgets/contact_list_item.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/providers/global/address_book_service_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/address_book_card.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; import 'package:stackwallet/widgets/expandable.dart'; diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/delete_wallet_keys_popup.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/delete_wallet_keys_popup.dart index a2d58465b..006b5141c 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/delete_wallet_keys_popup.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/delete_wallet_keys_popup.dart @@ -8,10 +8,10 @@ import 'package:stackwallet/pages/add_wallet_views/new_wallet_recovery_phrase_vi import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/providers/global/wallets_service_provider.dart'; import 'package:stackwallet/route_generator.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; import 'package:stackwallet/widgets/desktop/primary_button.dart'; diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_attention_delete_wallet.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_attention_delete_wallet.dart index e30436dc0..06ddb59d5 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_attention_delete_wallet.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_attention_delete_wallet.dart @@ -2,8 +2,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/delete_wallet_keys_popup.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; import 'package:stackwallet/widgets/desktop/primary_button.dart'; diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_auth_send.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_auth_send.dart index 20bb3f95a..0ee5d9ff1 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_auth_send.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_auth_send.dart @@ -4,11 +4,11 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:stackwallet/providers/desktop/storage_crypto_handler_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/desktop/primary_button.dart'; import 'package:stackwallet/widgets/desktop/secondary_button.dart'; import 'package:stackwallet/widgets/loading_indicator.dart'; diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_balance_toggle_button.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_balance_toggle_button.dart index 474c1a077..aaaa306a7 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_balance_toggle_button.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_balance_toggle_button.dart @@ -1,11 +1,11 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/providers/wallet/wallet_balance_toggle_state_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/wallet_balance_toggle_state.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class DesktopBalanceToggleButton extends ConsumerWidget { const DesktopBalanceToggleButton({ diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_delete_wallet_dialog.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_delete_wallet_dialog.dart index 56d8a0889..bd9e1f03d 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_delete_wallet_dialog.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_delete_wallet_dialog.dart @@ -6,10 +6,10 @@ import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_attention_delete_wallet.dart'; import 'package:stackwallet/providers/desktop/storage_crypto_handler_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; import 'package:stackwallet/widgets/desktop/primary_button.dart'; diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_fee_dropdown.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_fee_dropdown.dart index 557d4549c..cabe94d81 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_fee_dropdown.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_fee_dropdown.dart @@ -10,13 +10,13 @@ import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/providers/ui/fee_rate_type_state_provider.dart'; import 'package:stackwallet/providers/wallet/public_private_balance_state_provider.dart'; import 'package:stackwallet/services/coins/firo/firo_wallet.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/enums/fee_rate_type_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/animated_text.dart'; final tokenFeeSessionCacheProvider = diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_receive.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_receive.dart index 5ac5bafce..11e74ce5a 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_receive.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_receive.dart @@ -10,12 +10,12 @@ import 'package:stackwallet/pages/receive_view/generate_receiving_uri_qr_code_vi import 'package:stackwallet/pages/token_view/token_view.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/route_generator.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/custom_loading_overlay.dart'; diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_send.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_send.dart index cf2ca1582..19854a017 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_send.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_send.dart @@ -24,6 +24,7 @@ import 'package:stackwallet/providers/wallet/public_private_balance_state_provid import 'package:stackwallet/services/coins/firo/firo_wallet.dart'; import 'package:stackwallet/services/coins/manager.dart'; import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/address_utils.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/assets.dart'; @@ -34,7 +35,6 @@ import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/prefs.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/animated_text.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_token_send.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_token_send.dart index 127798d4a..226de4300 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_token_send.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_token_send.dart @@ -17,6 +17,7 @@ import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/providers/ui/fee_rate_type_state_provider.dart'; import 'package:stackwallet/providers/ui/preview_tx_button_state_provider.dart'; import 'package:stackwallet/services/coins/manager.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/address_utils.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/barcode_scanner_interface.dart'; @@ -26,7 +27,6 @@ import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/prefs.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_wallet_features.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_wallet_features.dart index aef5b8f00..f118a88e2 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_wallet_features.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_wallet_features.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; @@ -17,13 +18,14 @@ import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/providers/wallet/my_paynym_account_state_provider.dart'; import 'package:stackwallet/services/coins/firo/firo_wallet.dart'; import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/custom_loading_overlay.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/primary_button.dart'; @@ -346,8 +348,10 @@ class _DesktopWalletFeaturesState extends ConsumerState { label: "Buy", width: buttonWidth, buttonHeight: ButtonHeight.l, - icon: SvgPicture.asset( - Assets.svg.buy(context), + icon: SvgPicture.file( + File( + ref.watch(themeProvider.select((value) => value.assets.buy)), + ), height: 20, width: 20, color: Theme.of(context) diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_wallet_summary.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_wallet_summary.dart index 921595f43..c0422a686 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_wallet_summary.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_wallet_summary.dart @@ -8,11 +8,11 @@ import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/providers/wallet/wallet_balance_toggle_state_provider.dart'; import 'package:stackwallet/services/coins/firo/firo_wallet.dart'; import 'package:stackwallet/services/event_bus/events/global/wallet_sync_status_changed_event.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/enums/wallet_balance_toggle_state.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class DesktopWalletSummary extends ConsumerStatefulWidget { const DesktopWalletSummary({ diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/more_features/more_features_dialog.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/more_features/more_features_dialog.dart index b94eccb54..e2dbfa015 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/more_features/more_features_dialog.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/more_features/more_features_dialog.dart @@ -3,10 +3,10 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:stackwallet/providers/global/prefs_provider.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; import 'package:stackwallet/widgets/rounded_container.dart'; diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/network_info_button.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/network_info_button.dart index 5195a4b9b..b44efa09b 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/network_info_button.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/network_info_button.dart @@ -10,9 +10,9 @@ import 'package:stackwallet/route_generator.dart'; import 'package:stackwallet/services/event_bus/events/global/node_connection_status_changed_event.dart'; import 'package:stackwallet/services/event_bus/events/global/wallet_sync_status_changed_event.dart'; import 'package:stackwallet/services/event_bus/global_event_bus.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/qr_code_desktop_popup_content.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/qr_code_desktop_popup_content.dart index 3a7a94885..3e5d23ab1 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/qr_code_desktop_popup_content.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/qr_code_desktop_popup_content.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:qr_flutter/qr_flutter.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/unlock_wallet_keys_desktop.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/unlock_wallet_keys_desktop.dart index f86268646..e6f01f8fb 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/unlock_wallet_keys_desktop.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/unlock_wallet_keys_desktop.dart @@ -7,10 +7,10 @@ import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/wallet_keys_desktop_popup.dart'; import 'package:stackwallet/providers/desktop/storage_crypto_handler_provider.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; import 'package:stackwallet/widgets/desktop/primary_button.dart'; diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/wallet_keys_button.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/wallet_keys_button.dart index 2ce006851..85cb2ef6c 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/wallet_keys_button.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/wallet_keys_button.dart @@ -2,9 +2,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/unlock_wallet_keys_desktop.dart'; import 'package:stackwallet/route_generator.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class WalletKeysButton extends StatelessWidget { const WalletKeysButton({ diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/wallet_keys_desktop_popup.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/wallet_keys_desktop_popup.dart index be3732a95..7ee97045b 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/wallet_keys_desktop_popup.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/wallet_keys_desktop_popup.dart @@ -5,11 +5,11 @@ import 'package:flutter/services.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages/add_wallet_views/new_wallet_recovery_phrase_view/sub_widgets/mnemonic_table.dart'; import 'package:stackwallet/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/qr_code_desktop_popup_content.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/address_utils.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/clipboard_interface.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; import 'package:stackwallet/widgets/desktop/primary_button.dart'; diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/wallet_options_button.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/wallet_options_button.dart index 095b9c7e3..9a91bb039 100644 --- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/wallet_options_button.dart +++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/wallet_options_button.dart @@ -8,10 +8,10 @@ import 'package:stackwallet/pages_desktop_specific/addresses/desktop_wallet_addr import 'package:stackwallet/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_delete_wallet_dialog.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/route_generator.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; enum _WalletOptions { addressList, diff --git a/lib/pages_desktop_specific/notifications/desktop_notifications_view.dart b/lib/pages_desktop_specific/notifications/desktop_notifications_view.dart index b9c03ff19..a73bd5238 100644 --- a/lib/pages_desktop_specific/notifications/desktop_notifications_view.dart +++ b/lib/pages_desktop_specific/notifications/desktop_notifications_view.dart @@ -3,8 +3,8 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/notifications/notification_card.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/providers/ui/unread_notifications_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart'; import 'package:stackwallet/widgets/desktop/desktop_scaffold.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; diff --git a/lib/pages_desktop_specific/password/create_password_view.dart b/lib/pages_desktop_specific/password/create_password_view.dart index ded1f1e30..0cf9c0710 100644 --- a/lib/pages_desktop_specific/password/create_password_view.dart +++ b/lib/pages_desktop_specific/password/create_password_view.dart @@ -9,11 +9,11 @@ import 'package:stackwallet/pages_desktop_specific/password/forgotten_passphrase import 'package:stackwallet/providers/desktop/storage_crypto_handler_provider.dart'; import 'package:stackwallet/providers/global/secure_store_provider.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart'; import 'package:stackwallet/widgets/desktop/desktop_scaffold.dart'; diff --git a/lib/pages_desktop_specific/password/delete_password_warning_view.dart b/lib/pages_desktop_specific/password/delete_password_warning_view.dart index 700754efd..3187eebc0 100644 --- a/lib/pages_desktop_specific/password/delete_password_warning_view.dart +++ b/lib/pages_desktop_specific/password/delete_password_warning_view.dart @@ -8,7 +8,7 @@ import 'package:hive/hive.dart'; import 'package:stackwallet/db/hive/db.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages/intro_view.dart'; -import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/stack_file_system.dart'; import 'package:stackwallet/utilities/text_styles.dart'; @@ -95,7 +95,11 @@ class _ForgotPasswordDesktopViewState mainAxisSize: MainAxisSize.min, children: [ SvgPicture.asset( - Assets.svg.stackIcon(context), + ref.watch( + themeProvider.select( + (value) => value.assets.stackIcon, + ), + ), width: 100, ), const SizedBox( diff --git a/lib/pages_desktop_specific/password/desktop_login_view.dart b/lib/pages_desktop_specific/password/desktop_login_view.dart index bb2390bfe..fbaec5f29 100644 --- a/lib/pages_desktop_specific/password/desktop_login_view.dart +++ b/lib/pages_desktop_specific/password/desktop_login_view.dart @@ -3,27 +3,28 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/db/hive/db.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_home_view.dart'; import 'package:stackwallet/pages_desktop_specific/password/forgot_password_desktop_view.dart'; import 'package:stackwallet/providers/desktop/storage_crypto_handler_provider.dart'; import 'package:stackwallet/providers/global/secure_store_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; +import 'package:stackwallet/utilities/db_version_migration.dart'; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'; +import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; import 'package:stackwallet/widgets/desktop/desktop_scaffold.dart'; import 'package:stackwallet/widgets/desktop/primary_button.dart'; import 'package:stackwallet/widgets/loading_indicator.dart'; +import 'package:stackwallet/widgets/rounded_container.dart'; import 'package:stackwallet/widgets/stack_text_field.dart'; -import '../../db/hive/db.dart'; -import '../../utilities/db_version_migration.dart'; -import '../../utilities/logger.dart'; - class DesktopLoginView extends ConsumerStatefulWidget { const DesktopLoginView({ Key? key, @@ -131,7 +132,8 @@ class _DesktopLoginViewState extends ConsumerState { @override void didChangeDependencies() { - unawaited(Assets.precache(context)); + // TODO: check if we still need to do this with new theming + // unawaited(Assets.precache(context)); super.didChangeDependencies(); } @@ -165,7 +167,11 @@ class _DesktopLoginViewState extends ConsumerState { mainAxisSize: MainAxisSize.min, children: [ SvgPicture.asset( - Assets.svg.stackIcon(context), + ref.watch( + themeProvider.select( + (value) => value.assets.stackIcon, + ), + ), width: 100, ), const SizedBox( @@ -189,74 +195,104 @@ class _DesktopLoginViewState extends ConsumerState { const SizedBox( height: 24, ), - ClipRRect( - borderRadius: BorderRadius.circular( - Constants.size.circularBorderRadius, - ), - child: TextField( - key: const Key("desktopLoginPasswordFieldKey"), - focusNode: passwordFocusNode, - controller: passwordController, - style: STextStyles.desktopTextMedium(context).copyWith( - height: 2, + RoundedContainer( + padding: EdgeInsets.zero, + height: 74, + color: Theme.of(context) + .extension()! + .textFieldDefaultBG, + child: ClipRRect( + borderRadius: BorderRadius.circular( + Constants.size.circularBorderRadius, ), - obscureText: hidePassword, - enableSuggestions: false, - autocorrect: false, - autofocus: true, - onSubmitted: (_) { - if (_continueEnabled) { - login(); - } - }, - decoration: standardInputDecoration( - "Enter password", - passwordFocusNode, - context, - ).copyWith( - suffixIcon: UnconstrainedBox( - child: SizedBox( - height: 70, - child: Row( - children: [ - const SizedBox( - width: 24, - ), - GestureDetector( - key: const Key( - "restoreFromFilePasswordFieldShowPasswordButtonKey"), - onTap: () async { - setState(() { - hidePassword = !hidePassword; - }); - }, - child: MouseRegion( - cursor: SystemMouseCursors.click, - child: SvgPicture.asset( - hidePassword - ? Assets.svg.eye - : Assets.svg.eyeSlash, - color: Theme.of(context) - .extension()! - .textDark3, - width: 24, - height: 24, + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 16), + child: TextField( + key: const Key("desktopLoginPasswordFieldKey"), + focusNode: passwordFocusNode, + controller: passwordController, + style: STextStyles.desktopTextMedium(context), + obscureText: hidePassword, + enableSuggestions: false, + textAlignVertical: TextAlignVertical.bottom, + autocorrect: false, + autofocus: true, + onSubmitted: (_) { + if (_continueEnabled) { + login(); + } + }, + decoration: standardInputDecoration( + "Enter password", + passwordFocusNode, + context, + ).copyWith( + isDense: true, + fillColor: Colors.transparent, + focusColor: Colors.transparent, + hoverColor: Colors.transparent, + enabledBorder: OutlineInputBorder( + borderSide: const BorderSide( + color: Colors.transparent, width: 1), + borderRadius: BorderRadius.circular(10), + ), + focusedBorder: OutlineInputBorder( + borderSide: const BorderSide( + color: Colors.transparent, width: 1), + borderRadius: BorderRadius.circular(10), + ), + contentPadding: const EdgeInsets.only( + top: 0, + left: 16, + right: 16, + bottom: 0, + ), + suffixIcon: UnconstrainedBox( + child: SizedBox( + height: 70, + child: Row( + children: [ + const SizedBox( + width: 20, ), - ), + GestureDetector( + key: const Key( + "restoreFromFilePasswordFieldShowPasswordButtonKey"), + onTap: () async { + setState(() { + hidePassword = !hidePassword; + }); + }, + child: MouseRegion( + cursor: SystemMouseCursors.click, + child: SvgPicture.asset( + hidePassword + ? Assets.svg.eye + : Assets.svg.eyeSlash, + color: Theme.of(context) + .extension()! + .textDark3, + width: 20, + height: 20, + ), + ), + ), + const SizedBox( + width: 12, + ), + ], ), - const SizedBox( - width: 12, - ), - ], + ), ), ), + onChanged: (newValue) { + setState(() { + _continueEnabled = + passwordController.text.isNotEmpty; + }); + }, ), ), - onChanged: (newValue) { - setState(() { - _continueEnabled = passwordController.text.isNotEmpty; - }); - }, ), ), const SizedBox( diff --git a/lib/pages_desktop_specific/password/forgot_password_desktop_view.dart b/lib/pages_desktop_specific/password/forgot_password_desktop_view.dart index db3e40a16..75b52d09b 100644 --- a/lib/pages_desktop_specific/password/forgot_password_desktop_view.dart +++ b/lib/pages_desktop_specific/password/forgot_password_desktop_view.dart @@ -1,16 +1,17 @@ import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/pages_desktop_specific/password/delete_password_warning_view.dart'; -import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart'; import 'package:stackwallet/widgets/desktop/desktop_scaffold.dart'; import 'package:stackwallet/widgets/desktop/primary_button.dart'; import 'package:stackwallet/widgets/desktop/secondary_button.dart'; -class ForgotPasswordDesktopView extends StatefulWidget { +class ForgotPasswordDesktopView extends ConsumerStatefulWidget { const ForgotPasswordDesktopView({ Key? key, }) : super(key: key); @@ -18,11 +19,12 @@ class ForgotPasswordDesktopView extends StatefulWidget { static const String routeName = "/forgotPasswordDesktop"; @override - State createState() => + ConsumerState createState() => _ForgotPasswordDesktopViewState(); } -class _ForgotPasswordDesktopViewState extends State { +class _ForgotPasswordDesktopViewState + extends ConsumerState { @override Widget build(BuildContext context) { return DesktopScaffold( @@ -46,7 +48,11 @@ class _ForgotPasswordDesktopViewState extends State { mainAxisSize: MainAxisSize.min, children: [ SvgPicture.asset( - Assets.svg.stackIcon(context), + ref.watch( + themeProvider.select( + (value) => value.assets.stackIcon, + ), + ), width: 100, ), const SizedBox( diff --git a/lib/pages_desktop_specific/password/forgotten_passphrase_restore_from_swb.dart b/lib/pages_desktop_specific/password/forgotten_passphrase_restore_from_swb.dart index 735253ada..475f82b6c 100644 --- a/lib/pages_desktop_specific/password/forgotten_passphrase_restore_from_swb.dart +++ b/lib/pages_desktop_specific/password/forgotten_passphrase_restore_from_swb.dart @@ -15,12 +15,12 @@ import 'package:stackwallet/pages_desktop_specific/password/create_password_view import 'package:stackwallet/providers/desktop/storage_crypto_handler_provider.dart'; import 'package:stackwallet/providers/global/secure_store_provider.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; diff --git a/lib/pages_desktop_specific/settings/desktop_settings_view.dart b/lib/pages_desktop_specific/settings/desktop_settings_view.dart index 0c5f1c4e3..b30018370 100644 --- a/lib/pages_desktop_specific/settings/desktop_settings_view.dart +++ b/lib/pages_desktop_specific/settings/desktop_settings_view.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/pages_desktop_specific/settings/settings_menu.dart'; import 'package:stackwallet/pages_desktop_specific/settings/settings_menu/advanced_settings/advanced_settings.dart'; -import 'package:stackwallet/pages_desktop_specific/settings/settings_menu/appearance_settings.dart'; +import 'package:stackwallet/pages_desktop_specific/settings/settings_menu/appearance_settings/appearance_settings.dart'; import 'package:stackwallet/pages_desktop_specific/settings/settings_menu/backup_and_restore/backup_and_restore_settings.dart'; import 'package:stackwallet/pages_desktop_specific/settings/settings_menu/currency_settings/currency_settings.dart'; import 'package:stackwallet/pages_desktop_specific/settings/settings_menu/language_settings/language_settings.dart'; @@ -10,8 +10,8 @@ import 'package:stackwallet/pages_desktop_specific/settings/settings_menu/nodes_ import 'package:stackwallet/pages_desktop_specific/settings/settings_menu/security_settings.dart'; import 'package:stackwallet/pages_desktop_specific/settings/settings_menu/syncing_preferences_settings.dart'; import 'package:stackwallet/route_generator.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart'; import 'package:stackwallet/widgets/desktop/desktop_scaffold.dart'; diff --git a/lib/pages_desktop_specific/settings/settings_menu.dart b/lib/pages_desktop_specific/settings/settings_menu.dart index 79881c1c8..743f633d0 100644 --- a/lib/pages_desktop_specific/settings/settings_menu.dart +++ b/lib/pages_desktop_specific/settings/settings_menu.dart @@ -2,8 +2,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/pages_desktop_specific/settings/settings_menu_item.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; final selectedSettingsMenuItemStateProvider = StateProvider((_) => 0); diff --git a/lib/pages_desktop_specific/settings/settings_menu/advanced_settings/advanced_settings.dart b/lib/pages_desktop_specific/settings/settings_menu/advanced_settings/advanced_settings.dart index 796c139f4..cb4c7a557 100644 --- a/lib/pages_desktop_specific/settings/settings_menu/advanced_settings/advanced_settings.dart +++ b/lib/pages_desktop_specific/settings/settings_menu/advanced_settings/advanced_settings.dart @@ -4,9 +4,9 @@ import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/pages_desktop_specific/settings/settings_menu/advanced_settings/debug_info_dialog.dart'; import 'package:stackwallet/pages_desktop_specific/settings/settings_menu/advanced_settings/stack_privacy_dialog.dart'; import 'package:stackwallet/providers/global/prefs_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/draggable_switch_button.dart'; import 'package:stackwallet/widgets/desktop/primary_button.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; diff --git a/lib/pages_desktop_specific/settings/settings_menu/advanced_settings/debug_info_dialog.dart b/lib/pages_desktop_specific/settings/settings_menu/advanced_settings/debug_info_dialog.dart index 38f0e5527..8ccd3abf4 100644 --- a/lib/pages_desktop_specific/settings/settings_menu/advanced_settings/debug_info_dialog.dart +++ b/lib/pages_desktop_specific/settings/settings_menu/advanced_settings/debug_info_dialog.dart @@ -6,11 +6,11 @@ import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/models/isar/models/log.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/providers/global/debug_service_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/log_level_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; diff --git a/lib/pages_desktop_specific/settings/settings_menu/advanced_settings/stack_privacy_dialog.dart b/lib/pages_desktop_specific/settings/settings_menu/advanced_settings/stack_privacy_dialog.dart index c86e9812c..d99de9ee6 100644 --- a/lib/pages_desktop_specific/settings/settings_menu/advanced_settings/stack_privacy_dialog.dart +++ b/lib/pages_desktop_specific/settings/settings_menu/advanced_settings/stack_privacy_dialog.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; @@ -6,13 +7,12 @@ import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/db/hive/db.dart'; import 'package:stackwallet/providers/global/prefs_provider.dart'; import 'package:stackwallet/providers/global/price_provider.dart'; -import 'package:stackwallet/providers/ui/color_theme_provider.dart'; import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; @@ -226,10 +226,11 @@ class _PrivacyToggleState extends ConsumerState { @override Widget build(BuildContext context) { - final bool lightChan = - ref.read(colorThemeProvider.state).state.themeType == ThemeType.chan; - final bool darkChan = ref.read(colorThemeProvider.state).state.themeType == - ThemeType.darkChans; + final easyFile = + ref.watch(themeProvider.select((value) => value.assets.personaEasy)); + final incognitoFile = ref + .watch(themeProvider.select((value) => value.assets.personaIncognito)); + return Row( children: [ Expanded( @@ -272,16 +273,18 @@ class _PrivacyToggleState extends ConsumerState { height: 10, ), // - (lightChan || darkChan) - ? Image( - image: AssetImage( - Assets.png.chanEasy, + (easyFile.endsWith(".png")) + ? Image.file( + File( + easyFile, ), width: 120, height: 120, ) - : SvgPicture.asset( - Assets.svg.personaEasy(context), + : SvgPicture.file( + File( + easyFile, + ), width: 120, height: 120, ), @@ -386,14 +389,18 @@ class _PrivacyToggleState extends ConsumerState { const SizedBox( height: 10, ), - (lightChan || darkChan) - ? Image( - image: AssetImage(Assets.png.chanIncognito), + (incognitoFile.endsWith(".png")) + ? Image.file( + File( + incognitoFile, + ), width: 120, height: 120, ) - : SvgPicture.asset( - Assets.svg.personaIncognito(context), + : SvgPicture.file( + File( + incognitoFile, + ), width: 120, height: 120, ), diff --git a/lib/pages_desktop_specific/settings/settings_menu/appearance_settings.dart b/lib/pages_desktop_specific/settings/settings_menu/appearance_settings/appearance_settings.dart similarity index 63% rename from lib/pages_desktop_specific/settings/settings_menu/appearance_settings.dart rename to lib/pages_desktop_specific/settings/settings_menu/appearance_settings/appearance_settings.dart index 03be95a6c..4c500eaf7 100644 --- a/lib/pages_desktop_specific/settings/settings_menu/appearance_settings.dart +++ b/lib/pages_desktop_specific/settings/settings_menu/appearance_settings/appearance_settings.dart @@ -1,15 +1,22 @@ +import 'dart:async'; +import 'dart:io'; + import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/pages_desktop_specific/settings/settings_menu/appearance_settings/sub_widgets/desktop_manage_themes.dart'; +import 'package:stackwallet/providers/db/main_db_provider.dart'; import 'package:stackwallet/providers/global/prefs_provider.dart'; -import 'package:stackwallet/providers/ui/color_theme_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; +import 'package:stackwallet/themes/theme_service.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/draggable_switch_button.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; +import 'package:tuple/tuple.dart'; class AppearanceOptionSettings extends ConsumerStatefulWidget { const AppearanceOptionSettings({Key? key}) : super(key: key); @@ -197,27 +204,118 @@ class ThemeToggle extends ConsumerStatefulWidget { } class _ThemeToggle extends ConsumerState { - String assetNameFor(ThemeType type) { - switch (type) { - case ThemeType.light: - return Assets.svg.themeLight; - case ThemeType.dark: - return Assets.svg.themeDark; - case ThemeType.darkChans: - return Assets.svg.themeDarkChan; - case ThemeType.oceanBreeze: - return Assets.svg.themeOcean; - case ThemeType.oledBlack: - return Assets.svg.themeOledBlack; - case ThemeType.orange: - return Assets.svg.orange; - case ThemeType.fruitSorbet: - return Assets.svg.themeFruit; - case ThemeType.forest: - return Assets.svg.themeForest; - case ThemeType.chan: - return Assets.svg.themeChan; + late final StreamSubscription _subscription; + late int _current; + + List> installedThemeIdNames = []; + + int get systemDefault => installedThemeIdNames.length; + + void setTheme(int index) { + if (index == _current) { + return; } + + if (index == systemDefault) { + // update current index + _current = index; + + // enable system brightness setting + ref.read(prefsChangeNotifierProvider).enableSystemBrightness = true; + + // get theme + final String themeId; + switch (MediaQuery.of(context).platformBrightness) { + case Brightness.dark: + themeId = ref + .read(prefsChangeNotifierProvider.notifier) + .systemBrightnessDarkThemeId; + break; + case Brightness.light: + themeId = ref + .read(prefsChangeNotifierProvider.notifier) + .systemBrightnessLightThemeId; + break; + } + + // apply theme + ref.read(themeProvider.notifier).state = + ref.read(pThemeService).getTheme(themeId: themeId)!; + + // Assets.precache(context); + } else { + if (_current == systemDefault) { + // disable system brightness setting + ref.read(prefsChangeNotifierProvider).enableSystemBrightness = false; + } + + // update current index + _current = index; + + // get theme + final themeId = installedThemeIdNames[index].item1; + + // save theme setting + ref.read(prefsChangeNotifierProvider.notifier).themeId = themeId; + + // apply theme + ref.read(themeProvider.notifier).state = + ref.read(pThemeService).getTheme(themeId: themeId)!; + + // Assets.precache(context); + } + } + + void _updateInstalledList() { + installedThemeIdNames = ref + .read(pThemeService) + .installedThemes + .map((e) => Tuple3(e.themeId, e.name, e.assets.themeSelector)) + .toList(); + + if (ref.read(prefsChangeNotifierProvider).enableSystemBrightness) { + _current = installedThemeIdNames.length; + } else { + final themeId = ref.read(prefsChangeNotifierProvider).themeId; + + for (int i = 0; i < installedThemeIdNames.length; i++) { + if (installedThemeIdNames[i].item1 == themeId) { + _current = i; + break; + } + } + } + } + + void _manageThemesPressed() { + showDialog( + context: context, + builder: (_) => const DesktopManageThemesDialog(), + ); + } + + @override + void initState() { + _updateInstalledList(); + + _subscription = + ref.read(mainDBProvider).isar.stackThemes.watchLazy().listen((_) { + if (mounted) { + WidgetsBinding.instance.addPostFrameCallback((_) { + setState(() { + _updateInstalledList(); + }); + }); + } + }); + + super.initState(); + } + + @override + void dispose() { + _subscription.cancel(); + super.dispose(); } @override @@ -226,21 +324,16 @@ class _ThemeToggle extends ConsumerState { spacing: 16, runSpacing: 16, children: [ - for (int i = 0; i < ThemeType.values.length; i++) + for (int i = 0; i < installedThemeIdNames.length; i++) Padding( + key: Key("installedTheme_${installedThemeIdNames[i].item1}"), padding: const EdgeInsets.all(8.0), child: MouseRegion( cursor: SystemMouseCursors.click, child: GestureDetector( onTap: () { - if (ref.read(colorThemeProvider.notifier).state.themeType != - ThemeType.values[i]) { - ref.read(prefsChangeNotifierProvider.notifier).theme = - ThemeType.values[i]; - - ref.read(colorThemeProvider.notifier).state = - StackColors.fromStackColorTheme( - ThemeType.values[i].colorTheme); + if (_current != i) { + setTheme(i); } }, child: Container( @@ -253,11 +346,7 @@ class _ThemeToggle extends ConsumerState { decoration: BoxDecoration( border: Border.all( width: 2.5, - color: ref - .read(colorThemeProvider.notifier) - .state - .themeType == - ThemeType.values[i] + color: _current == i ? Theme.of(context) .extension()! .infoItemIcons @@ -269,8 +358,10 @@ class _ThemeToggle extends ConsumerState { Constants.size.circularBorderRadius, ), ), - child: SvgPicture.asset( - assetNameFor(ThemeType.values[i]), + child: SvgPicture.file( + File( + installedThemeIdNames[i].item3, + ), height: 160, width: 200, ), @@ -283,23 +374,24 @@ class _ThemeToggle extends ConsumerState { SizedBox( width: 20, height: 20, - child: Radio( + child: Radio( activeColor: Theme.of(context) .extension()! .radioButtonIconEnabled, - value: ThemeType.values[i], - groupValue: ref - .read(colorThemeProvider.state) - .state - .themeType, - onChanged: (_) {}, + value: i, + groupValue: _current, + onChanged: (newValue) { + if (newValue is int) { + setTheme(newValue); + } + }, ), ), const SizedBox( width: 14, ), Text( - ThemeType.values[i].prettyName, + installedThemeIdNames[i].item2, style: STextStyles.desktopTextExtraSmall(context) .copyWith( color: Theme.of(context) @@ -314,7 +406,56 @@ class _ThemeToggle extends ConsumerState { ), ), ), - ) + ), + Container( + decoration: BoxDecoration( + border: Border.all( + width: 2.5, + color: Theme.of(context).extension()!.popupBG, + ), + borderRadius: BorderRadius.circular( + Constants.size.circularBorderRadius, + ), + ), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Semantics( + label: "Manage themes", + button: true, + excludeSemantics: true, + child: RawMaterialButton( + onPressed: _manageThemesPressed, + elevation: 0, + focusElevation: 0, + hoverElevation: 0, + highlightElevation: 0, + fillColor: Theme.of(context) + .extension()! + .textFieldActiveBG, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular( + Constants.size.circularBorderRadius, + ), + ), + child: Container( + color: Colors.transparent, + height: 160, + width: 200, + child: Center( + child: SvgPicture.asset( + Assets.svg.circlePlusFilled, + color: Theme.of(context) + .extension()! + .textSubtitle2, + width: 20, + height: 20, + ), + ), + ), + ), + ), + ), + ), ], ); } diff --git a/lib/pages_desktop_specific/settings/settings_menu/appearance_settings/sub_widgets/desktop_install_theme.dart b/lib/pages_desktop_specific/settings/settings_menu/appearance_settings/sub_widgets/desktop_install_theme.dart new file mode 100644 index 000000000..fcfb87471 --- /dev/null +++ b/lib/pages_desktop_specific/settings/settings_menu/appearance_settings/sub_widgets/desktop_install_theme.dart @@ -0,0 +1,327 @@ +import 'package:desktop_drop/desktop_drop.dart'; +import 'package:file_picker/file_picker.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:share_plus/share_plus.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_service.dart'; +import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/utilities/logger.dart'; +import 'package:stackwallet/utilities/show_loading.dart'; +import 'package:stackwallet/utilities/text_styles.dart'; +import 'package:stackwallet/widgets/desktop/outline_blue_button.dart'; +import 'package:stackwallet/widgets/desktop/primary_button.dart'; +import 'package:stackwallet/widgets/rounded_container.dart'; + +class DesktopInstallTheme extends ConsumerStatefulWidget { + const DesktopInstallTheme({Key? key}) : super(key: key); + + @override + ConsumerState createState() => + _DesktopInstallThemeState(); +} + +class _DesktopInstallThemeState extends ConsumerState { + final _boxKey = GlobalKey(debugLabel: "selectThemeFileBoxKey"); + + XFile? _selectedFile; + bool? _installedState; + Size? _size; + bool _dragging = false; + + Future _install() async { + try { + final timedFuture = Future.delayed(const Duration(seconds: 2)); + final installFuture = _selectedFile!.readAsBytes().then( + (fileBytes) => ref.read(pThemeService).install( + themeArchiveData: fileBytes, + ), + ); + + // wait for at least 2 seconds to prevent annoying screen flashing + await Future.wait([ + installFuture, + timedFuture, + ]); + return true; + } catch (e, s) { + Logging.instance.log( + "Failed to install theme: $e\n$s", + level: LogLevel.Warning, + ); + return false; + } + } + + Future _chooseFile() async { + try { + final result = await FilePicker.platform.pickFiles( + dialogTitle: "Choose theme file", + type: FileType.custom, + allowedExtensions: ["zip"], + lockParentWindow: true, // windows only + ); + + if (result != null && mounted) { + if (result.paths.isNotEmpty && result.paths.first != null) { + setState(() { + _selectedFile = XFile(result.paths.first!); + }); + } + } + } catch (e, s) { + Logging.instance.log("$e\n$s", level: LogLevel.Error); + } + } + + void setBoxSize() { + if (_size == null) { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + setState(() { + _size = _boxKey.currentContext?.size; + }); + }); + } + } + + @override + void initState() { + setBoxSize(); + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Row( + children: [ + Text( + "Install theme file", + style: STextStyles.desktopTextExtraExtraSmall(context), + ), + ], + ), + const SizedBox( + height: 12, + ), + DropTarget( + onDragDone: (detail) { + setState(() { + if (detail.files.isNotEmpty) { + _selectedFile = detail.files.first; + } + }); + }, + onDragEntered: (detail) { + setState(() { + _dragging = true; + }); + }, + onDragExited: (detail) { + setState(() { + _dragging = false; + }); + }, + child: RoundedContainer( + key: _boxKey, + height: _size?.height, + color: _dragging + ? Theme.of(context).extension()!.textSubtitle6 + : Theme.of(context).extension()!.popupBG, + borderColor: + Theme.of(context).extension()!.textSubtitle6, + child: _selectedFile == null + ? Column( + mainAxisSize: MainAxisSize.min, + children: [ + const SizedBox( + height: 12, + ), + SvgPicture.asset( + Assets.svg.fileUpload, + color: Theme.of(context) + .extension()! + .textSubtitle2, + width: 24, + height: 24, + ), + const SizedBox( + height: 12, + ), + Text( + "Drag and drop your file here", + style: STextStyles.fieldLabel(context), + ), + const SizedBox( + height: 12, + ), + OutlineBlueButton( + label: "Browse", + buttonHeight: ButtonHeight.s, + width: 140, + onPressed: _chooseFile, + ), + const SizedBox( + height: 12, + ), + ], + ) + : Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + RoundedContainer( + padding: EdgeInsets.zero, + color: Theme.of(context) + .extension()! + .textFieldActiveBG, + width: 300, + child: Row( + children: [ + const SizedBox( + width: 10, + ), + SvgPicture.asset( + Assets.svg.file, + color: Theme.of(context) + .extension()! + .textDark, + width: 16, + height: 16, + ), + const SizedBox( + width: 8, + ), + Expanded( + child: Text( + _selectedFile!.name, + style: STextStyles.w500_14(context), + ), + ), + IconButton( + onPressed: () { + setState(() { + _selectedFile = null; + }); + }, + icon: SvgPicture.asset( + Assets.svg.circleX, + color: Theme.of(context) + .extension()! + .textSubtitle2, + width: 16, + height: 16, + ), + ), + ], + ), + ) + ], + ), + ), + ), + if (_selectedFile != null) + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Padding( + padding: const EdgeInsets.only(top: 16, bottom: 20), + child: PrimaryButton( + label: "Install", + buttonHeight: ButtonHeight.s, + width: 140, + enabled: _installedState == null, + onPressed: () async { + final result = await showLoading( + whileFuture: _install(), + context: context, + message: "Installing ${_selectedFile!.name}...", + ); + if (mounted) { + setState(() { + _installedState = result; + }); + + await Future.delayed( + const Duration(milliseconds: 2000), + ).then((_) { + if (mounted) { + setState(() { + _selectedFile = null; + _installedState = null; + }); + } + }); + } + }, + ), + ), + ], + ), + if (_installedState == true) + RoundedContainer( + color: + Theme.of(context).extension()!.snackBarBackSuccess, + child: Row( + children: [ + SvgPicture.asset( + Assets.svg.circleX, + color: Theme.of(context) + .extension()! + .snackBarTextSuccess, + width: 16, + height: 16, + ), + const SizedBox( + width: 10, + ), + Text( + "${_selectedFile?.name} theme installed", + style: + STextStyles.desktopTextExtraExtraSmall(context).copyWith( + color: Theme.of(context) + .extension()! + .snackBarTextSuccess, + overflow: TextOverflow.ellipsis, + ), + ), + ], + ), + ), + if (_installedState == false) + RoundedContainer( + color: + Theme.of(context).extension()!.snackBarBackError, + child: Row( + children: [ + SvgPicture.asset( + Assets.svg.circleX, + color: Theme.of(context) + .extension()! + .snackBarTextError, + width: 16, + height: 16, + ), + const SizedBox( + width: 10, + ), + Text( + "Failed to install ${_selectedFile?.name} theme", + style: + STextStyles.desktopTextExtraExtraSmall(context).copyWith( + color: Theme.of(context) + .extension()! + .snackBarTextError, + overflow: TextOverflow.ellipsis, + ), + ), + ], + ), + ), + ], + ); + } +} diff --git a/lib/pages_desktop_specific/settings/settings_menu/appearance_settings/sub_widgets/desktop_manage_themes.dart b/lib/pages_desktop_specific/settings/settings_menu/appearance_settings/sub_widgets/desktop_manage_themes.dart new file mode 100644 index 000000000..277bc0c9e --- /dev/null +++ b/lib/pages_desktop_specific/settings/settings_menu/appearance_settings/sub_widgets/desktop_manage_themes.dart @@ -0,0 +1,112 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:stackwallet/pages_desktop_specific/settings/settings_menu/appearance_settings/sub_widgets/desktop_install_theme.dart'; +import 'package:stackwallet/pages_desktop_specific/settings/settings_menu/appearance_settings/sub_widgets/desktop_themes_gallery.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/utilities/constants.dart'; +import 'package:stackwallet/utilities/text_styles.dart'; +import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; +import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; +import 'package:stackwallet/widgets/toggle.dart'; + +class DesktopManageThemesDialog extends ConsumerStatefulWidget { + const DesktopManageThemesDialog({Key? key}) : super(key: key); + + @override + ConsumerState createState() => + _DesktopManageThemesDialogState(); +} + +class _DesktopManageThemesDialogState + extends ConsumerState { + static const width = 580.0; + bool _isInstallFromFile = false; + + @override + Widget build(BuildContext context) { + return DesktopDialog( + maxWidth: width, + maxHeight: 708, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Padding( + padding: const EdgeInsets.only(left: 32), + child: Text( + "Add more themes", + style: STextStyles.desktopH3(context), + ), + ), + const DesktopDialogCloseButton(), + ], + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 32), + child: SizedBox( + height: 56, + child: Toggle( + isOn: _isInstallFromFile, + onValueChanged: (value) { + if (value != _isInstallFromFile) { + setState(() { + _isInstallFromFile = value; + }); + } + }, + onColor: Theme.of(context) + .extension()! + .rateTypeToggleDesktopColorOn, + offColor: Theme.of(context) + .extension()! + .rateTypeToggleDesktopColorOff, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular( + Constants.size.circularBorderRadius, + ), + ), + onText: "Theme gallery", + offText: "Install file", + ), + ), + ), + const SizedBox( + height: 16, + ), + Expanded( + child: LayoutBuilder( + builder: (context, constraints) { + return AnimatedCrossFade( + crossFadeState: _isInstallFromFile + ? CrossFadeState.showSecond + : CrossFadeState.showFirst, + duration: const Duration( + milliseconds: 300, + ), + firstChild: SizedBox( + height: constraints.maxHeight, + child: const DesktopThemeGallery( + dialogWidth: width, + ), + ), + secondChild: SizedBox( + height: constraints.maxHeight, + child: const Padding( + padding: EdgeInsets.symmetric(horizontal: 32), + child: DesktopInstallTheme(), + ), + ), + ); + }, + ), + ), + const SizedBox( + height: 32, + ), + ], + ), + ); + } +} diff --git a/lib/pages_desktop_specific/settings/settings_menu/appearance_settings/sub_widgets/desktop_themes_gallery.dart b/lib/pages_desktop_specific/settings/settings_menu/appearance_settings/sub_widgets/desktop_themes_gallery.dart new file mode 100644 index 000000000..3e0bf3ec3 --- /dev/null +++ b/lib/pages_desktop_specific/settings/settings_menu/appearance_settings/sub_widgets/desktop_themes_gallery.dart @@ -0,0 +1,153 @@ +import 'dart:async'; + +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:stackwallet/pages/settings_views/global_settings_view/appearance_settings/manage_themes.dart'; +import 'package:stackwallet/pages/settings_views/global_settings_view/appearance_settings/sub_widgets/stack_theme_card.dart'; +import 'package:stackwallet/providers/global/prefs_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_service.dart'; +import 'package:stackwallet/utilities/text_styles.dart'; +import 'package:stackwallet/widgets/desktop/primary_button.dart'; +import 'package:stackwallet/widgets/loading_indicator.dart'; +import 'package:stackwallet/widgets/rounded_white_container.dart'; + +class DesktopThemeGallery extends ConsumerStatefulWidget { + const DesktopThemeGallery({ + Key? key, + required this.dialogWidth, + }) : super(key: key); + + final double dialogWidth; + + @override + ConsumerState createState() => + _DesktopThemeGalleryState(); +} + +class _DesktopThemeGalleryState extends ConsumerState { + late bool _showThemes; + Future> Function() future = () async => []; + + @override + void initState() { + _showThemes = ref.read(prefsChangeNotifierProvider).externalCalls; + if (_showThemes) { + future = ref.read(pThemeService).fetchThemes; + } + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Column( + children: [ + Row( + children: [ + Padding( + padding: const EdgeInsets.only(left: 32), + child: Text( + "Theme Gallery", + style: STextStyles.desktopTextExtraExtraSmall(context), + ), + ), + ], + ), + const SizedBox( + height: 12, + ), + Expanded( + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 32), + child: SingleChildScrollView( + child: _showThemes + ? Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + FutureBuilder( + future: future(), + builder: ( + context, + AsyncSnapshot> snapshot, + ) { + if (snapshot.connectionState == + ConnectionState.done && + snapshot.hasData) { + return Wrap( + spacing: 16, + runSpacing: 16, + children: snapshot.data! + .map( + (e) => SizedBox( + key: Key( + "_DesktopThemeGalleryState_card_${e.id}_key"), + width: + (widget.dialogWidth - 64 - 32) / 3, + child: StackThemeCard( + data: e, + ), + ), + ) + .toList(), + ); + } else { + return const Center( + child: LoadingIndicator( + width: 200, + ), + ); + } + }, + ), + ], + ) + : Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + RoundedWhiteContainer( + borderColor: Theme.of(context) + .extension()! + .textSubtitle6, + child: Text( + "You are using Incognito Mode." + " Please press the button below to load " + "available themes from our server or install a " + "theme file manually from your computer.", + style: + STextStyles.desktopTextExtraExtraSmall(context), + ), + ), + const SizedBox( + height: 16, + ), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + PrimaryButton( + label: "Load themes", + width: 140, + buttonHeight: ButtonHeight.s, + onPressed: () { + setState(() { + _showThemes = true; + future = ref.read(pThemeService).fetchThemes; + }); + }, + ), + ], + ), + const SizedBox( + height: 20, + ), + IncognitoInstalledThemes( + cardWidth: (widget.dialogWidth - 64 - 32) / 3, + ), + ], + ), + ), + ), + ), + ], + ); + } +} diff --git a/lib/pages_desktop_specific/settings/settings_menu/backup_and_restore/backup_and_restore_settings.dart b/lib/pages_desktop_specific/settings/settings_menu/backup_and_restore/backup_and_restore_settings.dart index e3f086746..15198449e 100644 --- a/lib/pages_desktop_specific/settings/settings_menu/backup_and_restore/backup_and_restore_settings.dart +++ b/lib/pages_desktop_specific/settings/settings_menu/backup_and_restore/backup_and_restore_settings.dart @@ -10,11 +10,11 @@ import 'package:stackwallet/pages_desktop_specific/settings/settings_menu/backup import 'package:stackwallet/pages_desktop_specific/settings/settings_menu/backup_and_restore/enable_backup_dialog.dart'; import 'package:stackwallet/providers/global/auto_swb_service_provider.dart'; import 'package:stackwallet/providers/global/prefs_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/enums/backup_frequency_type.dart'; import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; import 'package:stackwallet/widgets/custom_buttons/draggable_switch_button.dart'; diff --git a/lib/pages_desktop_specific/settings/settings_menu/backup_and_restore/create_auto_backup.dart b/lib/pages_desktop_specific/settings/settings_menu/backup_and_restore/create_auto_backup.dart index 5b092834b..14e35d78c 100644 --- a/lib/pages_desktop_specific/settings/settings_menu/backup_and_restore/create_auto_backup.dart +++ b/lib/pages_desktop_specific/settings/settings_menu/backup_and_restore/create_auto_backup.dart @@ -13,15 +13,14 @@ import 'package:stackwallet/pages/settings_views/global_settings_view/stack_back import 'package:stackwallet/pages/settings_views/global_settings_view/stack_backup_views/helpers/swb_file_system.dart'; import 'package:stackwallet/providers/global/prefs_provider.dart'; import 'package:stackwallet/providers/global/secure_store_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/backup_frequency_type.dart'; -import 'package:stackwallet/utilities/enums/flush_bar_type.dart'; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'; import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; diff --git a/lib/pages_desktop_specific/settings/settings_menu/backup_and_restore/enable_backup_dialog.dart b/lib/pages_desktop_specific/settings/settings_menu/backup_and_restore/enable_backup_dialog.dart index aebbdf592..e6056e83d 100644 --- a/lib/pages_desktop_specific/settings/settings_menu/backup_and_restore/enable_backup_dialog.dart +++ b/lib/pages_desktop_specific/settings/settings_menu/backup_and_restore/enable_backup_dialog.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:stackwallet/pages_desktop_specific/settings/settings_menu/backup_and_restore/create_auto_backup.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; import 'package:stackwallet/widgets/desktop/primary_button.dart'; diff --git a/lib/pages_desktop_specific/settings/settings_menu/desktop_about_view.dart b/lib/pages_desktop_specific/settings/settings_menu/desktop_about_view.dart index 242fbfd9f..45d748481 100644 --- a/lib/pages_desktop_specific/settings/settings_menu/desktop_about_view.dart +++ b/lib/pages_desktop_specific/settings/settings_menu/desktop_about_view.dart @@ -8,9 +8,9 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:http/http.dart'; import 'package:lelantus/git_versions.dart' as FIRO_VERSIONS; import 'package:package_info_plus/package_info_plus.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart'; import 'package:stackwallet/widgets/desktop/desktop_scaffold.dart'; diff --git a/lib/pages_desktop_specific/settings/settings_menu/desktop_support_view.dart b/lib/pages_desktop_specific/settings/settings_menu/desktop_support_view.dart index ce3e3f3cc..1971cfcd2 100644 --- a/lib/pages_desktop_specific/settings/settings_menu/desktop_support_view.dart +++ b/lib/pages_desktop_specific/settings/settings_menu/desktop_support_view.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/support_view.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart'; import 'package:stackwallet/widgets/desktop/desktop_scaffold.dart'; diff --git a/lib/pages_desktop_specific/settings/settings_menu/language_settings/language_dialog.dart b/lib/pages_desktop_specific/settings/settings_menu/language_settings/language_dialog.dart index d07c9729f..4d8510353 100644 --- a/lib/pages_desktop_specific/settings/settings_menu/language_settings/language_dialog.dart +++ b/lib/pages_desktop_specific/settings/settings_menu/language_settings/language_dialog.dart @@ -2,6 +2,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/providers/global/prefs_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/languages_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; @@ -9,13 +11,10 @@ import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; import 'package:stackwallet/widgets/desktop/primary_button.dart'; import 'package:stackwallet/widgets/desktop/secondary_button.dart'; +import 'package:stackwallet/widgets/icon_widgets/x_icon.dart'; +import 'package:stackwallet/widgets/rounded_container.dart'; import 'package:stackwallet/widgets/stack_text_field.dart'; - -import '../../../../utilities/assets.dart'; -import '../../../../utilities/theme/stack_colors.dart'; -import '../../../../widgets/icon_widgets/x_icon.dart'; -import '../../../../widgets/rounded_container.dart'; -import '../../../../widgets/textfield_icon_button.dart'; +import 'package:stackwallet/widgets/textfield_icon_button.dart'; class LanguageDialog extends ConsumerStatefulWidget { const LanguageDialog({Key? key}) : super(key: key); diff --git a/lib/pages_desktop_specific/settings/settings_menu/nodes_settings.dart b/lib/pages_desktop_specific/settings/settings_menu/nodes_settings.dart index 4a9cecc65..f2cc6f17b 100644 --- a/lib/pages_desktop_specific/settings/settings_menu/nodes_settings.dart +++ b/lib/pages_desktop_specific/settings/settings_menu/nodes_settings.dart @@ -6,11 +6,12 @@ import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/manage_nodes_views/coin_nodes_view.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/route_generator.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/icon_widgets/x_icon.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; @@ -54,10 +55,10 @@ class _NodesSettings extends ConsumerState { void initState() { _coins = _coins.toList(); _coins.remove(Coin.firoTestNet); - if (Platform.isWindows) { - _coins.remove(Coin.monero); - _coins.remove(Coin.wownero); - } + if (Platform.isWindows) { + _coins.remove(Coin.monero); + _coins.remove(Coin.wownero); + } searchNodeController = TextEditingController(); searchNodeFocusNode = FocusNode(); @@ -250,7 +251,7 @@ class _NodesSettings extends ConsumerState { Row( children: [ SvgPicture.asset( - Assets.svg.iconFor(coin: coin), + ref.watch(coinIconProvider(coin)), width: 24, height: 24, ), diff --git a/lib/pages_desktop_specific/settings/settings_menu/security_settings.dart b/lib/pages_desktop_specific/settings/settings_menu/security_settings.dart index ff7537126..9ac684156 100644 --- a/lib/pages_desktop_specific/settings/settings_menu/security_settings.dart +++ b/lib/pages_desktop_specific/settings/settings_menu/security_settings.dart @@ -5,11 +5,10 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/providers/desktop/storage_crypto_handler_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; -import 'package:stackwallet/utilities/enums/flush_bar_type.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/desktop/primary_button.dart'; import 'package:stackwallet/widgets/progress_bar.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; diff --git a/lib/pages_desktop_specific/settings/settings_menu/syncing_preferences_settings.dart b/lib/pages_desktop_specific/settings/settings_menu/syncing_preferences_settings.dart index 720d77b8b..f8d1b8850 100644 --- a/lib/pages_desktop_specific/settings/settings_menu/syncing_preferences_settings.dart +++ b/lib/pages_desktop_specific/settings/settings_menu/syncing_preferences_settings.dart @@ -1,13 +1,12 @@ import 'package:flutter/material.dart'; -import 'package:flutter/src/widgets/framework.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/syncing_preferences_views/syncing_options_view.dart'; import 'package:stackwallet/providers/global/prefs_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/enums/sync_type_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/desktop/primary_button.dart'; import 'package:stackwallet/widgets/rounded_container.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; diff --git a/lib/pages_desktop_specific/settings/settings_menu_item.dart b/lib/pages_desktop_specific/settings/settings_menu_item.dart index 59cc7b62c..95845d282 100644 --- a/lib/pages_desktop_specific/settings/settings_menu_item.dart +++ b/lib/pages_desktop_specific/settings/settings_menu_item.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class SettingsMenuItem extends StatelessWidget { const SettingsMenuItem({ diff --git a/lib/providers/ui/color_theme_provider.dart b/lib/providers/ui/color_theme_provider.dart deleted file mode 100644 index 9843f0f9c..000000000 --- a/lib/providers/ui/color_theme_provider.dart +++ /dev/null @@ -1,6 +0,0 @@ -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; - -final colorThemeProvider = StateProvider( - (ref) => StackColors.fromStackColorTheme(LightColors())); diff --git a/lib/route_generator.dart b/lib/route_generator.dart index 9ee8ded15..3ff594299 100644 --- a/lib/route_generator.dart +++ b/lib/route_generator.dart @@ -65,6 +65,7 @@ import 'package:stackwallet/pages/settings_views/global_settings_view/advanced_v import 'package:stackwallet/pages/settings_views/global_settings_view/advanced_views/debug_view.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/advanced_views/manage_explorer_view.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/appearance_settings/appearance_settings_view.dart'; +import 'package:stackwallet/pages/settings_views/global_settings_view/appearance_settings/manage_themes.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/appearance_settings/system_brightness_theme_selection_view.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/currency_view.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/delete_account_view.dart'; @@ -100,7 +101,6 @@ import 'package:stackwallet/pages/settings_views/wallet_settings_view/wallet_set import 'package:stackwallet/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/rename_wallet_view.dart'; import 'package:stackwallet/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/wallet_settings_wallet_settings_view.dart'; import 'package:stackwallet/pages/stack_privacy_calls.dart'; -import 'package:stackwallet/widgets/choose_coin_view.dart'; import 'package:stackwallet/pages/token_view/my_tokens_view.dart'; import 'package:stackwallet/pages/token_view/token_contract_details_view.dart'; import 'package:stackwallet/pages/token_view/token_view.dart'; @@ -135,7 +135,7 @@ import 'package:stackwallet/pages_desktop_specific/password/forgot_password_desk import 'package:stackwallet/pages_desktop_specific/password/forgotten_passphrase_restore_from_swb.dart'; import 'package:stackwallet/pages_desktop_specific/settings/desktop_settings_view.dart'; import 'package:stackwallet/pages_desktop_specific/settings/settings_menu/advanced_settings/advanced_settings.dart'; -import 'package:stackwallet/pages_desktop_specific/settings/settings_menu/appearance_settings.dart'; +import 'package:stackwallet/pages_desktop_specific/settings/settings_menu/appearance_settings/appearance_settings.dart'; import 'package:stackwallet/pages_desktop_specific/settings/settings_menu/backup_and_restore/backup_and_restore_settings.dart'; import 'package:stackwallet/pages_desktop_specific/settings/settings_menu/currency_settings/currency_settings.dart'; import 'package:stackwallet/pages_desktop_specific/settings/settings_menu/desktop_about_view.dart'; @@ -150,6 +150,7 @@ import 'package:stackwallet/services/event_bus/events/global/wallet_sync_status_ import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/enums/add_wallet_type_enum.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; +import 'package:stackwallet/widgets/choose_coin_view.dart'; import 'package:tuple/tuple.dart'; class RouteGenerator { @@ -1592,6 +1593,12 @@ class RouteGenerator { builder: (_) => const AppearanceOptionSettings(), settings: RouteSettings(name: settings.name)); + case ManageThemesView.routeName: + return getRoute( + shouldUseMaterialRoute: useMaterialPageRoute, + builder: (_) => const ManageThemesView(), + settings: RouteSettings(name: settings.name)); + case AdvancedSettings.routeName: return getRoute( shouldUseMaterialRoute: useMaterialPageRoute, diff --git a/lib/services/coins/bitcoin/bitcoin_wallet.dart b/lib/services/coins/bitcoin/bitcoin_wallet.dart index ba49eefc0..5dee0e430 100644 --- a/lib/services/coins/bitcoin/bitcoin_wallet.dart +++ b/lib/services/coins/bitcoin/bitcoin_wallet.dart @@ -32,11 +32,9 @@ import 'package:stackwallet/services/mixins/wallet_cache.dart'; import 'package:stackwallet/services/mixins/wallet_db.dart'; import 'package:stackwallet/services/mixins/xpubable.dart'; import 'package:stackwallet/services/node_service.dart'; -import 'package:stackwallet/services/notifications_api.dart'; import 'package:stackwallet/services/transaction_notification_tracker.dart'; import 'package:stackwallet/utilities/address_utils.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; -import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/bip32_utils.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/default_nodes.dart'; @@ -48,6 +46,7 @@ import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/paynym_is_api.dart'; import 'package:stackwallet/utilities/prefs.dart'; +import 'package:stackwallet/widgets/crypto_notifications.dart'; import 'package:tuple/tuple.dart'; import 'package:uuid/uuid.dart'; @@ -832,32 +831,35 @@ class BitcoinWallet extends CoinServiceAPI final confirmations = tx.getConfirmations(currentChainHeight); if (tx.type == isar_models.TransactionType.incoming) { - unawaited(NotificationApi.showNotification( - title: "Incoming transaction", - body: walletName, - walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), - date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), - shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, - coinName: coin.name, - txid: tx.txid, - confirmations: confirmations, - requiredConfirmations: MINIMUM_CONFIRMATIONS, - )); + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( + title: "Incoming transaction", + walletId: walletId, + walletName: walletName, + date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), + shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, + coin: coin, + txid: tx.txid, + confirmations: confirmations, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + ), + ); await txTracker.addNotifiedPending(tx.txid); } else if (tx.type == isar_models.TransactionType.outgoing) { - unawaited(NotificationApi.showNotification( - title: "Sending transaction", - body: walletName, - walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), - date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), - shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, - coinName: coin.name, - txid: tx.txid, - confirmations: confirmations, - requiredConfirmations: MINIMUM_CONFIRMATIONS, - )); + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( + title: "Sending transaction", + walletId: walletId, + date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), + shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, + txid: tx.txid, + confirmations: confirmations, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, + ), + ); + await txTracker.addNotifiedPending(tx.txid); } } @@ -865,26 +867,34 @@ class BitcoinWallet extends CoinServiceAPI // notify on confirmed for (final tx in unconfirmedTxnsToNotifyConfirmed) { if (tx.type == isar_models.TransactionType.incoming) { - unawaited(NotificationApi.showNotification( - title: "Incoming transaction confirmed", - body: walletName, - walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), - date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), - shouldWatchForUpdates: false, - coinName: coin.name, - )); + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( + title: "Incoming transaction confirmed", + walletId: walletId, + date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), + shouldWatchForUpdates: false, + txid: tx.txid, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, + ), + ); + await txTracker.addNotifiedConfirmed(tx.txid); } else if (tx.type == isar_models.TransactionType.outgoing) { - unawaited(NotificationApi.showNotification( - title: "Outgoing transaction confirmed", - body: walletName, - walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), - date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), - shouldWatchForUpdates: false, - coinName: coin.name, - )); + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( + title: "Outgoing transaction confirmed", + walletId: walletId, + date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), + shouldWatchForUpdates: false, + txid: tx.txid, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, + ), + ); + await txTracker.addNotifiedConfirmed(tx.txid); } } diff --git a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart index 516af2f34..5820dcc59 100644 --- a/lib/services/coins/bitcoincash/bitcoincash_wallet.dart +++ b/lib/services/coins/bitcoincash/bitcoincash_wallet.dart @@ -31,11 +31,9 @@ import 'package:stackwallet/services/mixins/wallet_cache.dart'; import 'package:stackwallet/services/mixins/wallet_db.dart'; import 'package:stackwallet/services/mixins/xpubable.dart'; import 'package:stackwallet/services/node_service.dart'; -import 'package:stackwallet/services/notifications_api.dart'; import 'package:stackwallet/services/transaction_notification_tracker.dart'; import 'package:stackwallet/utilities/address_utils.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; -import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/bip32_utils.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/default_nodes.dart'; @@ -46,6 +44,7 @@ import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'; import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/prefs.dart'; +import 'package:stackwallet/widgets/crypto_notifications.dart'; import 'package:tuple/tuple.dart'; import 'package:uuid/uuid.dart'; @@ -756,36 +755,36 @@ class BitcoinCashWallet extends CoinServiceAPI final confirmations = tx.getConfirmations(currentChainHeight); if (tx.type == isar_models.TransactionType.incoming) { - unawaited( - NotificationApi.showNotification( + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( title: "Incoming transaction", - body: walletName, walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), date: DateTime.now(), shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, - coinName: coin.name, txid: tx.txid, confirmations: confirmations, requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, ), ); + await txTracker.addNotifiedPending(tx.txid); } else if (tx.type == isar_models.TransactionType.outgoing) { - unawaited( - NotificationApi.showNotification( + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( title: "Sending transaction", - body: walletName, walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, - coinName: coin.name, txid: tx.txid, confirmations: confirmations, requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, ), ); + await txTracker.addNotifiedPending(tx.txid); } } @@ -793,31 +792,34 @@ class BitcoinCashWallet extends CoinServiceAPI // notify on confirmed for (final tx in unconfirmedTxnsToNotifyConfirmed) { if (tx.type == isar_models.TransactionType.incoming) { - unawaited( - NotificationApi.showNotification( + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( title: "Incoming transaction confirmed", - body: walletName, walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), date: DateTime.now(), shouldWatchForUpdates: false, - coinName: coin.name, + txid: tx.txid, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, ), ); await txTracker.addNotifiedConfirmed(tx.txid); } else if (tx.type == isar_models.TransactionType.outgoing) { - unawaited( - NotificationApi.showNotification( + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( title: "Outgoing transaction confirmed", - body: walletName, walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), date: DateTime.now(), shouldWatchForUpdates: false, - coinName: coin.name, + txid: tx.txid, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, ), ); + await txTracker.addNotifiedConfirmed(tx.txid); } } diff --git a/lib/services/coins/dogecoin/dogecoin_wallet.dart b/lib/services/coins/dogecoin/dogecoin_wallet.dart index 8db10cc37..05170a883 100644 --- a/lib/services/coins/dogecoin/dogecoin_wallet.dart +++ b/lib/services/coins/dogecoin/dogecoin_wallet.dart @@ -30,11 +30,9 @@ import 'package:stackwallet/services/mixins/wallet_cache.dart'; import 'package:stackwallet/services/mixins/wallet_db.dart'; import 'package:stackwallet/services/mixins/xpubable.dart'; import 'package:stackwallet/services/node_service.dart'; -import 'package:stackwallet/services/notifications_api.dart'; import 'package:stackwallet/services/transaction_notification_tracker.dart'; import 'package:stackwallet/utilities/address_utils.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; -import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/bip32_utils.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/default_nodes.dart'; @@ -45,6 +43,7 @@ import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'; import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/prefs.dart'; +import 'package:stackwallet/widgets/crypto_notifications.dart'; import 'package:tuple/tuple.dart'; import 'package:uuid/uuid.dart'; @@ -721,32 +720,36 @@ class DogecoinWallet extends CoinServiceAPI final confirmations = tx.getConfirmations(currentChainHeight); if (tx.type == isar_models.TransactionType.incoming) { - unawaited(NotificationApi.showNotification( - title: "Incoming transaction", - body: walletName, - walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), - date: DateTime.now(), - shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, - coinName: coin.name, - txid: tx.txid, - confirmations: confirmations, - requiredConfirmations: MINIMUM_CONFIRMATIONS, - )); + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( + title: "Incoming transaction", + walletId: walletId, + date: DateTime.now(), + shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, + txid: tx.txid, + confirmations: confirmations, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, + ), + ); + await txTracker.addNotifiedPending(tx.txid); } else if (tx.type == isar_models.TransactionType.outgoing) { - unawaited(NotificationApi.showNotification( - title: "Sending transaction", - body: walletName, - walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), - date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), - shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, - coinName: coin.name, - txid: tx.txid, - confirmations: confirmations, - requiredConfirmations: MINIMUM_CONFIRMATIONS, - )); + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( + title: "Sending transaction", + walletId: walletId, + date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), + shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, + txid: tx.txid, + confirmations: confirmations, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, + ), + ); + await txTracker.addNotifiedPending(tx.txid); } } @@ -754,27 +757,34 @@ class DogecoinWallet extends CoinServiceAPI // notify on confirmed for (final tx in unconfirmedTxnsToNotifyConfirmed) { if (tx.type == isar_models.TransactionType.incoming) { - unawaited(NotificationApi.showNotification( - title: "Incoming transaction confirmed", - body: walletName, - walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), - date: DateTime.now(), - shouldWatchForUpdates: false, - coinName: coin.name, - )); + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( + title: "Incoming transaction confirmed", + walletId: walletId, + date: DateTime.now(), + shouldWatchForUpdates: false, + txid: tx.txid, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, + ), + ); await txTracker.addNotifiedConfirmed(tx.txid); } else if (tx.type == isar_models.TransactionType.outgoing) { - unawaited(NotificationApi.showNotification( - title: "Outgoing transaction confirmed", - body: walletName, - walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), - date: DateTime.now(), - shouldWatchForUpdates: false, - coinName: coin.name, - )); + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( + title: "Outgoing transaction confirmed", + walletId: walletId, + date: DateTime.now(), + shouldWatchForUpdates: false, + txid: tx.txid, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, + ), + ); + await txTracker.addNotifiedConfirmed(tx.txid); } } diff --git a/lib/services/coins/epiccash/epiccash_wallet.dart b/lib/services/coins/epiccash/epiccash_wallet.dart index b44442c51..137be8001 100644 --- a/lib/services/coins/epiccash/epiccash_wallet.dart +++ b/lib/services/coins/epiccash/epiccash_wallet.dart @@ -1,5 +1,6 @@ import 'dart:async'; import 'dart:convert'; +import 'dart:ffi'; import 'dart:io'; import 'dart:isolate'; @@ -56,6 +57,10 @@ class BadEpicHttpAddressException implements Exception { } } +abstract class ListenerManager { + static Pointer? pointer; +} + // isolate Map isolates = {}; @@ -178,18 +183,8 @@ Future executeNative(Map arguments) async { sendPort.send(result); return; } - } else if (function == "listenForSlates") { - final wallet = arguments['wallet'] as String?; - final epicboxConfig = arguments['epicboxConfig'] as String?; - - Map result = {}; - if (!(wallet == null || epicboxConfig == null)) { - var res = await epicboxListen(wallet, epicboxConfig); - result['result'] = res; - sendPort.send(result); - return; - } } + Logging.instance.log( "Error Arguments for $function not formatted correctly", level: LogLevel.Fatal); @@ -714,8 +709,6 @@ class EpicCashWallet extends CoinServiceAPI await _prefs.init(); await updateNode(false); await _refreshBalance(); - //Open Epicbox listener in the background - await listenForSlates(); // TODO: is there anything else that should be set up here whenever this wallet is first loaded again? } @@ -810,9 +803,6 @@ class EpicCashWallet extends CoinServiceAPI epicUpdateChangeIndex(0), ]); - //Open Epicbox listener in the background - await listenForSlates(); - final initialReceivingAddress = await _getReceivingAddressForIndex(0); await db.putAddress(initialReceivingAddress); @@ -1162,6 +1152,14 @@ class EpicCashWallet extends CoinServiceAPI Future startScans() async { try { + if (ListenerManager.pointer != null) { + Logging.instance + .log("LISTENER HANDLER IS NOT NULL ....", level: LogLevel.Info); + Logging.instance + .log("STOPPING ANY WALLET LISTENER ....", level: LogLevel.Info); + epicboxListenerStop(ListenerManager.pointer!); + } + final wallet = await _secureStore.read(key: '${_walletId}_wallet'); var restoreHeight = epicGetRestoreHeight(); @@ -1203,6 +1201,7 @@ class EpicCashWallet extends CoinServiceAPI await getSyncPercent; } Logging.instance.log("successfully at the tip", level: LogLevel.Info); + await listenToEpicbox(); return true; } catch (e, s) { Logging.instance.log("$e, $s", level: LogLevel.Warning); @@ -1277,9 +1276,6 @@ class EpicCashWallet extends CoinServiceAPI //Store Epic box address info await storeEpicboxInfo(); - - //Open Epicbox listener in the background - await listenForSlates(); } catch (e, s) { Logging.instance .log("Error recovering wallet $e\n$s", level: LogLevel.Error); @@ -1287,6 +1283,15 @@ class EpicCashWallet extends CoinServiceAPI } } + Future listenToEpicbox() async { + Logging.instance.log("STARTING WALLET LISTENER ....", level: LogLevel.Info); + final wallet = await _secureStore.read(key: '${_walletId}_wallet'); + EpicBoxConfigModel epicboxConfig = await getEpicBoxConfig(); + + ListenerManager.pointer = + epicboxListenerStart(wallet!, epicboxConfig.toString()); + } + Future getRestoreHeight() async { return epicGetRestoreHeight() ?? epicGetCreationHeight()!; } @@ -1451,29 +1456,6 @@ class EpicCashWallet extends CoinServiceAPI } } - Future listenForSlates() async { - final wallet = await _secureStore.read(key: '${_walletId}_wallet'); - EpicBoxConfigModel epicboxConfig = await getEpicBoxConfig(); - - await m.protect(() async { - Logging.instance.log("CALLING LISTEN FOR SLATES", level: LogLevel.Info); - ReceivePort receivePort = await getIsolate({ - "function": "listenForSlates", - "wallet": wallet, - "epicboxConfig": epicboxConfig.toString(), - }, name: walletName); - - var result = await receivePort.first; - if (result is String) { - Logging.instance - .log("this is a message $result", level: LogLevel.Error); - stop(receivePort); - throw Exception("subscribeRequest isolate failed"); - } - stop(receivePort); - }); - } - /// Refreshes display data for the wallet @override Future refresh() async { diff --git a/lib/services/coins/ethereum/ethereum_wallet.dart b/lib/services/coins/ethereum/ethereum_wallet.dart index 184b67cdb..0e933a1c0 100644 --- a/lib/services/coins/ethereum/ethereum_wallet.dart +++ b/lib/services/coins/ethereum/ethereum_wallet.dart @@ -21,10 +21,8 @@ import 'package:stackwallet/services/mixins/eth_token_cache.dart'; import 'package:stackwallet/services/mixins/wallet_cache.dart'; import 'package:stackwallet/services/mixins/wallet_db.dart'; import 'package:stackwallet/services/node_service.dart'; -import 'package:stackwallet/services/notifications_api.dart'; import 'package:stackwallet/services/transaction_notification_tracker.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; -import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/default_nodes.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; @@ -34,6 +32,7 @@ import 'package:stackwallet/utilities/extensions/extensions.dart'; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/prefs.dart'; +import 'package:stackwallet/widgets/crypto_notifications.dart'; import 'package:tuple/tuple.dart'; import 'package:web3dart/web3dart.dart' as web3; @@ -713,32 +712,36 @@ class EthereumWallet extends CoinServiceAPI with WalletCache, WalletDB { final confirmations = tx.getConfirmations(currentChainHeight); if (tx.type == TransactionType.incoming) { - unawaited(NotificationApi.showNotification( - title: "Incoming transaction", - body: walletName, - walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), - date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), - shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, - coinName: coin.name, - txid: tx.txid, - confirmations: confirmations, - requiredConfirmations: MINIMUM_CONFIRMATIONS, - )); + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( + title: "Incoming transaction", + walletId: walletId, + date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), + shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, + txid: tx.txid, + confirmations: confirmations, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, + ), + ); + await txTracker.addNotifiedPending(tx.txid); } else if (tx.type == TransactionType.outgoing) { - unawaited(NotificationApi.showNotification( - title: "Sending transaction", - body: walletName, - walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), - date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), - shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, - coinName: coin.name, - txid: tx.txid, - confirmations: confirmations, - requiredConfirmations: MINIMUM_CONFIRMATIONS, - )); + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( + title: "Sending transaction", + walletId: walletId, + date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), + shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, + txid: tx.txid, + confirmations: confirmations, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, + ), + ); + await txTracker.addNotifiedPending(tx.txid); } } @@ -746,26 +749,34 @@ class EthereumWallet extends CoinServiceAPI with WalletCache, WalletDB { // notify on confirmed for (final tx in unconfirmedTxnsToNotifyConfirmed) { if (tx.type == TransactionType.incoming) { - unawaited(NotificationApi.showNotification( - title: "Incoming transaction confirmed", - body: walletName, - walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), - date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), - shouldWatchForUpdates: false, - coinName: coin.name, - )); + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( + title: "Incoming transaction confirmed", + walletId: walletId, + date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), + shouldWatchForUpdates: false, + txid: tx.txid, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, + ), + ); + await txTracker.addNotifiedConfirmed(tx.txid); } else if (tx.type == TransactionType.outgoing) { - unawaited(NotificationApi.showNotification( - title: "Outgoing transaction confirmed", - body: walletName, - walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), - date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), - shouldWatchForUpdates: false, - coinName: coin.name, - )); + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( + title: "Outgoing transaction confirmed", + walletId: walletId, + date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), + shouldWatchForUpdates: false, + txid: tx.txid, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, + ), + ); + await txTracker.addNotifiedConfirmed(tx.txid); } } diff --git a/lib/services/coins/firo/firo_wallet.dart b/lib/services/coins/firo/firo_wallet.dart index 14ade1d40..57e916e2e 100644 --- a/lib/services/coins/firo/firo_wallet.dart +++ b/lib/services/coins/firo/firo_wallet.dart @@ -30,11 +30,9 @@ import 'package:stackwallet/services/mixins/wallet_cache.dart'; import 'package:stackwallet/services/mixins/wallet_db.dart'; import 'package:stackwallet/services/mixins/xpubable.dart'; import 'package:stackwallet/services/node_service.dart'; -import 'package:stackwallet/services/notifications_api.dart'; import 'package:stackwallet/services/transaction_notification_tracker.dart'; import 'package:stackwallet/utilities/address_utils.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; -import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/bip32_utils.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/default_nodes.dart'; @@ -45,6 +43,7 @@ import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'; import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/prefs.dart'; +import 'package:stackwallet/widgets/crypto_notifications.dart'; import 'package:tuple/tuple.dart'; import 'package:uuid/uuid.dart'; @@ -2078,39 +2077,39 @@ class FiroWallet extends CoinServiceAPI switch (tx.type) { case isar_models.TransactionType.incoming: - unawaited( - NotificationApi.showNotification( + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( title: "Incoming transaction", - body: walletName, walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, - coinName: coin.name, txid: tx.txid, confirmations: confirmations, requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, ), ); + await txTracker.addNotifiedPending(tx.txid); break; case isar_models.TransactionType.outgoing: - unawaited( - NotificationApi.showNotification( + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( title: tx.subType == isar_models.TransactionSubType.mint ? "Anonymizing" : "Outgoing transaction", - body: walletName, walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, - coinName: coin.name, txid: tx.txid, confirmations: confirmations, requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, ), ); + await txTracker.addNotifiedPending(tx.txid); break; default: @@ -2120,32 +2119,35 @@ class FiroWallet extends CoinServiceAPI for (final tx in unconfirmedTxnsToNotifyConfirmed) { if (tx.type == isar_models.TransactionType.incoming) { - unawaited( - NotificationApi.showNotification( + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( title: "Incoming transaction confirmed", - body: walletName, walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), shouldWatchForUpdates: false, - coinName: coin.name, + txid: tx.txid, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, ), ); + await txTracker.addNotifiedConfirmed(tx.txid); } else if (tx.type == isar_models.TransactionType.outgoing && tx.subType == isar_models.TransactionSubType.join) { - unawaited( - NotificationApi.showNotification( + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( title: tx.subType == isar_models.TransactionSubType.mint // redundant check? ? "Anonymized" : "Outgoing transaction confirmed", - body: walletName, walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), shouldWatchForUpdates: false, - coinName: coin.name, + txid: tx.txid, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, ), ); await txTracker.addNotifiedConfirmed(tx.txid); diff --git a/lib/services/coins/litecoin/litecoin_wallet.dart b/lib/services/coins/litecoin/litecoin_wallet.dart index f3598efe6..5e1e8064c 100644 --- a/lib/services/coins/litecoin/litecoin_wallet.dart +++ b/lib/services/coins/litecoin/litecoin_wallet.dart @@ -30,10 +30,8 @@ import 'package:stackwallet/services/mixins/wallet_cache.dart'; import 'package:stackwallet/services/mixins/wallet_db.dart'; import 'package:stackwallet/services/mixins/xpubable.dart'; import 'package:stackwallet/services/node_service.dart'; -import 'package:stackwallet/services/notifications_api.dart'; import 'package:stackwallet/services/transaction_notification_tracker.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; -import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/bip32_utils.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/default_nodes.dart'; @@ -44,6 +42,7 @@ import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'; import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/prefs.dart'; +import 'package:stackwallet/widgets/crypto_notifications.dart'; import 'package:tuple/tuple.dart'; import 'package:uuid/uuid.dart'; @@ -837,32 +836,35 @@ class LitecoinWallet extends CoinServiceAPI final confirmations = tx.getConfirmations(currentChainHeight); if (tx.type == isar_models.TransactionType.incoming) { - unawaited(NotificationApi.showNotification( - title: "Incoming transaction", - body: walletName, - walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), - date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), - shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, - coinName: coin.name, - txid: tx.txid, - confirmations: confirmations, - requiredConfirmations: MINIMUM_CONFIRMATIONS, - )); + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( + title: "Incoming transaction", + walletId: walletId, + date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), + shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, + txid: tx.txid, + confirmations: confirmations, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, + ), + ); await txTracker.addNotifiedPending(tx.txid); } else if (tx.type == isar_models.TransactionType.outgoing) { - unawaited(NotificationApi.showNotification( - title: "Sending transaction", - body: walletName, - walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), - date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), - shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, - coinName: coin.name, - txid: tx.txid, - confirmations: confirmations, - requiredConfirmations: MINIMUM_CONFIRMATIONS, - )); + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( + title: "Sending transaction", + walletId: walletId, + date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), + shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, + txid: tx.txid, + confirmations: confirmations, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, + ), + ); + await txTracker.addNotifiedPending(tx.txid); } } @@ -870,26 +872,33 @@ class LitecoinWallet extends CoinServiceAPI // notify on confirmed for (final tx in unconfirmedTxnsToNotifyConfirmed) { if (tx.type == isar_models.TransactionType.incoming) { - unawaited(NotificationApi.showNotification( - title: "Incoming transaction confirmed", - body: walletName, - walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), - date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), - shouldWatchForUpdates: false, - coinName: coin.name, - )); + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( + title: "Incoming transaction confirmed", + walletId: walletId, + date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), + shouldWatchForUpdates: false, + txid: tx.txid, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, + ), + ); + await txTracker.addNotifiedConfirmed(tx.txid); } else if (tx.type == isar_models.TransactionType.outgoing) { - unawaited(NotificationApi.showNotification( - title: "Outgoing transaction confirmed", - body: walletName, - walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), - date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), - shouldWatchForUpdates: false, - coinName: coin.name, - )); + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( + title: "Outgoing transaction confirmed", + walletId: walletId, + date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), + shouldWatchForUpdates: false, + txid: tx.txid, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, + ), + ); await txTracker.addNotifiedConfirmed(tx.txid); } } diff --git a/lib/services/coins/namecoin/namecoin_wallet.dart b/lib/services/coins/namecoin/namecoin_wallet.dart index b0706abb4..19c5a823b 100644 --- a/lib/services/coins/namecoin/namecoin_wallet.dart +++ b/lib/services/coins/namecoin/namecoin_wallet.dart @@ -30,10 +30,8 @@ import 'package:stackwallet/services/mixins/wallet_cache.dart'; import 'package:stackwallet/services/mixins/wallet_db.dart'; import 'package:stackwallet/services/mixins/xpubable.dart'; import 'package:stackwallet/services/node_service.dart'; -import 'package:stackwallet/services/notifications_api.dart'; import 'package:stackwallet/services/transaction_notification_tracker.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; -import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/bip32_utils.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/default_nodes.dart'; @@ -44,6 +42,7 @@ import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'; import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/prefs.dart'; +import 'package:stackwallet/widgets/crypto_notifications.dart'; import 'package:tuple/tuple.dart'; import 'package:uuid/uuid.dart'; @@ -825,32 +824,36 @@ class NamecoinWallet extends CoinServiceAPI final confirmations = tx.getConfirmations(currentChainHeight); if (tx.type == isar_models.TransactionType.incoming) { - unawaited(NotificationApi.showNotification( - title: "Incoming transaction", - body: walletName, - walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), - date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), - shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, - coinName: coin.name, - txid: tx.txid, - confirmations: confirmations, - requiredConfirmations: MINIMUM_CONFIRMATIONS, - )); + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( + title: "Incoming transaction", + walletId: walletId, + date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), + shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, + txid: tx.txid, + confirmations: confirmations, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, + ), + ); + await txTracker.addNotifiedPending(tx.txid); } else if (tx.type == isar_models.TransactionType.outgoing) { - unawaited(NotificationApi.showNotification( - title: "Sending transaction", - body: walletName, - walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), - date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), - shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, - coinName: coin.name, - txid: tx.txid, - confirmations: confirmations, - requiredConfirmations: MINIMUM_CONFIRMATIONS, - )); + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( + title: "Sending transaction", + walletId: walletId, + date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), + shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, + txid: tx.txid, + confirmations: confirmations, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, + ), + ); + await txTracker.addNotifiedPending(tx.txid); } } @@ -858,26 +861,34 @@ class NamecoinWallet extends CoinServiceAPI // notify on confirmed for (final tx in unconfirmedTxnsToNotifyConfirmed) { if (tx.type == isar_models.TransactionType.incoming) { - unawaited(NotificationApi.showNotification( - title: "Incoming transaction confirmed", - body: walletName, - walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), - date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), - shouldWatchForUpdates: false, - coinName: coin.name, - )); + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( + title: "Incoming transaction confirmed", + walletId: walletId, + date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), + shouldWatchForUpdates: false, + txid: tx.txid, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, + ), + ); + await txTracker.addNotifiedConfirmed(tx.txid); } else if (tx.type == isar_models.TransactionType.outgoing) { - unawaited(NotificationApi.showNotification( - title: "Outgoing transaction confirmed", - body: walletName, - walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), - date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), - shouldWatchForUpdates: false, - coinName: coin.name, - )); + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( + title: "Outgoing transaction confirmed", + walletId: walletId, + date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), + shouldWatchForUpdates: false, + txid: tx.txid, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, + ), + ); + await txTracker.addNotifiedConfirmed(tx.txid); } } diff --git a/lib/services/coins/particl/particl_wallet.dart b/lib/services/coins/particl/particl_wallet.dart index 15c7b0b65..f16d8a5f2 100644 --- a/lib/services/coins/particl/particl_wallet.dart +++ b/lib/services/coins/particl/particl_wallet.dart @@ -29,10 +29,8 @@ import 'package:stackwallet/services/mixins/wallet_cache.dart'; import 'package:stackwallet/services/mixins/wallet_db.dart'; import 'package:stackwallet/services/mixins/xpubable.dart'; import 'package:stackwallet/services/node_service.dart'; -import 'package:stackwallet/services/notifications_api.dart'; import 'package:stackwallet/services/transaction_notification_tracker.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; -import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/bip32_utils.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/default_nodes.dart'; @@ -43,6 +41,7 @@ import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'; import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/prefs.dart'; +import 'package:stackwallet/widgets/crypto_notifications.dart'; import 'package:tuple/tuple.dart'; import 'package:uuid/uuid.dart'; @@ -755,32 +754,36 @@ class ParticlWallet extends CoinServiceAPI final confirmations = tx.getConfirmations(currentChainHeight); if (tx.type == isar_models.TransactionType.incoming) { - unawaited(NotificationApi.showNotification( - title: "Incoming transaction", - body: walletName, - walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), - date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), - shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, - coinName: coin.name, - txid: tx.txid, - confirmations: confirmations, - requiredConfirmations: MINIMUM_CONFIRMATIONS, - )); + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( + title: "Incoming transaction", + walletId: walletId, + date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), + shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, + txid: tx.txid, + confirmations: confirmations, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, + ), + ); + await txTracker.addNotifiedPending(tx.txid); } else if (tx.type == isar_models.TransactionType.outgoing) { - unawaited(NotificationApi.showNotification( - title: "Sending transaction", - body: walletName, - walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), - date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), - shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, - coinName: coin.name, - txid: tx.txid, - confirmations: confirmations, - requiredConfirmations: MINIMUM_CONFIRMATIONS, - )); + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( + title: "Sending transaction", + walletId: walletId, + date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), + shouldWatchForUpdates: confirmations < MINIMUM_CONFIRMATIONS, + txid: tx.txid, + confirmations: confirmations, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, + ), + ); + await txTracker.addNotifiedPending(tx.txid); } } @@ -788,26 +791,34 @@ class ParticlWallet extends CoinServiceAPI // notify on confirmed for (final tx in unconfirmedTxnsToNotifyConfirmed) { if (tx.type == isar_models.TransactionType.incoming) { - unawaited(NotificationApi.showNotification( - title: "Incoming transaction confirmed", - body: walletName, - walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), - date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), - shouldWatchForUpdates: false, - coinName: coin.name, - )); + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( + title: "Incoming transaction confirmed", + walletId: walletId, + date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), + shouldWatchForUpdates: false, + txid: tx.txid, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, + ), + ); + await txTracker.addNotifiedConfirmed(tx.txid); } else if (tx.type == isar_models.TransactionType.outgoing) { - unawaited(NotificationApi.showNotification( - title: "Outgoing transaction confirmed", - body: walletName, - walletId: walletId, - iconAssetName: Assets.svg.iconFor(coin: coin), - date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), - shouldWatchForUpdates: false, - coinName: coin.name, - )); + CryptoNotificationsEventBus.instance.fire( + CryptoNotificationEvent( + title: "Outgoing transaction confirmed", + walletId: walletId, + date: DateTime.fromMillisecondsSinceEpoch(tx.timestamp * 1000), + shouldWatchForUpdates: false, + txid: tx.txid, + requiredConfirmations: MINIMUM_CONFIRMATIONS, + walletName: walletName, + coin: coin, + ), + ); + await txTracker.addNotifiedConfirmed(tx.txid); } } diff --git a/lib/themes/coin_icon_provider.dart b/lib/themes/coin_icon_provider.dart new file mode 100644 index 000000000..75b8a3e11 --- /dev/null +++ b/lib/themes/coin_icon_provider.dart @@ -0,0 +1,36 @@ +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; +import 'package:stackwallet/utilities/enums/coin_enum.dart'; + +final coinIconProvider = Provider.family((ref, coin) { + final assets = ref.watch(themeProvider).assets; + 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; + } +}); diff --git a/lib/themes/coin_image_provider.dart b/lib/themes/coin_image_provider.dart new file mode 100644 index 000000000..60ef466a7 --- /dev/null +++ b/lib/themes/coin_image_provider.dart @@ -0,0 +1,77 @@ +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; +import 'package:stackwallet/utilities/enums/coin_enum.dart'; + +final coinImageProvider = Provider.family((ref, coin) { + final assets = ref.watch(themeProvider).assets; + 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.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; + } +}); + +final coinImageSecondaryProvider = Provider.family((ref, coin) { + final assets = ref.watch(themeProvider).assets; + 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.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; + } +}); diff --git a/lib/themes/color_theme.dart b/lib/themes/color_theme.dart new file mode 100644 index 000000000..fe261456c --- /dev/null +++ b/lib/themes/color_theme.dart @@ -0,0 +1,52 @@ +import 'package:flutter/material.dart'; +import 'package:stackwallet/utilities/enums/coin_enum.dart'; + +const kCoinThemeColorDefaults = CoinThemeColorDefault(); + +class CoinThemeColorDefault { + const CoinThemeColorDefault(); + + Color get bitcoin => const Color(0xFFFCC17B); + Color get litecoin => const Color(0xFF7FA6E1); + Color get bitcoincash => const Color(0xFF7BCFB8); + Color get firo => const Color(0xFFFF897A); + Color get dogecoin => const Color(0xFFFFE079); + Color get epicCash => const Color(0xFFC5C7CB); + Color get ethereum => const Color(0xFFA7ADE9); + Color get monero => const Color(0xFFFF9E6B); + Color get namecoin => const Color(0xFF91B1E1); + Color get wownero => const Color(0xFFED80C1); + Color get particl => const Color(0xFF8175BD); + + Color forCoin(Coin coin) { + switch (coin) { + case Coin.bitcoin: + case Coin.bitcoinTestNet: + return bitcoin; + case Coin.litecoin: + case Coin.litecoinTestNet: + return litecoin; + case Coin.bitcoincash: + case Coin.bitcoincashTestnet: + return bitcoincash; + case Coin.dogecoin: + case Coin.dogecoinTestNet: + return dogecoin; + case Coin.epicCash: + return epicCash; + case Coin.ethereum: + return ethereum; + case Coin.firo: + case Coin.firoTestNet: + return firo; + case Coin.monero: + return monero; + case Coin.namecoin: + return namecoin; + case Coin.wownero: + return wownero; + case Coin.particl: + return particl; + } + } +} diff --git a/lib/utilities/theme/stack_colors.dart b/lib/themes/stack_colors.dart similarity index 98% rename from lib/utilities/theme/stack_colors.dart rename to lib/themes/stack_colors.dart index f9a1f39c1..2aeade5b9 100644 --- a/lib/utilities/theme/stack_colors.dart +++ b/lib/themes/stack_colors.dart @@ -1,9 +1,10 @@ import 'package:flutter/material.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/themes/color_theme.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; class StackColors extends ThemeExtension { - final ThemeType themeType; + final String themeId; final Brightness brightness; final Color background; @@ -202,7 +203,7 @@ class StackColors extends ThemeExtension { final BoxShadow? homeViewButtonBarBoxShadow; StackColors({ - required this.themeType, + required this.themeId, required this.brightness, required this.background, required this.backgroundAppBar, @@ -359,9 +360,9 @@ class StackColors extends ThemeExtension { required this.tokenSummaryIcon, }); - factory StackColors.fromStackColorTheme(StackColorTheme colorTheme) { + factory StackColors.fromStackColorTheme(StackTheme colorTheme) { return StackColors( - themeType: colorTheme.themeType, + themeId: colorTheme.themeId, brightness: colorTheme.brightness, background: colorTheme.background, backgroundAppBar: colorTheme.backgroundAppBar, @@ -524,7 +525,7 @@ class StackColors extends ThemeExtension { @override ThemeExtension copyWith({ - ThemeType? themeType, + String? themeId, Brightness? brightness, Color? background, Color? backgroundAppBar, @@ -681,7 +682,7 @@ class StackColors extends ThemeExtension { BoxShadow? standardBoxShadow, }) { return StackColors( - themeType: themeType ?? this.themeType, + themeId: themeId ?? this.themeId, brightness: brightness ?? this.brightness, background: background ?? this.background, backgroundAppBar: backgroundAppBar ?? this.backgroundAppBar, @@ -898,7 +899,7 @@ class StackColors extends ThemeExtension { } return StackColors( - themeType: other.themeType, + themeId: other.themeId, brightness: other.brightness, gradientBackground: other.gradientBackground, homeViewButtonBarBoxShadow: other.homeViewButtonBarBoxShadow, @@ -1686,7 +1687,7 @@ class StackColors extends ThemeExtension { } } - static const _coin = CoinThemeColor(); + static const _coin = CoinThemeColorDefault(); Color colorForStatus(String status) { switch (status) { @@ -1748,6 +1749,30 @@ class StackColors extends ThemeExtension { ), ); + ButtonStyle? getOutlineBlueButtonStyle(BuildContext context) => + Theme.of(context).textButtonTheme.style?.copyWith( + backgroundColor: MaterialStateProperty.all( + Colors.transparent, + ), + side: MaterialStateProperty.all( + BorderSide( + color: customTextButtonEnabledText, + ), + ), + ); + + ButtonStyle? getOutlineBlueButtonDisabledStyle(BuildContext context) => + Theme.of(context).textButtonTheme.style?.copyWith( + backgroundColor: MaterialStateProperty.all( + Colors.transparent, + ), + side: MaterialStateProperty.all( + BorderSide( + color: customTextButtonDisabledText, + ), + ), + ); + ButtonStyle? getSecondaryEnabledButtonStyle(BuildContext context) => Theme.of(context).textButtonTheme.style?.copyWith( backgroundColor: MaterialStateProperty.all( diff --git a/lib/themes/theme_providers.dart b/lib/themes/theme_providers.dart new file mode 100644 index 000000000..36fc8cf5f --- /dev/null +++ b/lib/themes/theme_providers.dart @@ -0,0 +1,22 @@ +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_service.dart'; + +final applicationThemesDirectoryPathProvider = StateProvider((ref) => ""); + +final colorProvider = StateProvider( + (ref) => StackColors.fromStackColorTheme( + ref.watch(themeProvider.state).state, + ), +); + +final themeProvider = StateProvider( + (ref) => ref.watch( + pThemeService.select( + (value) => value.getTheme( + themeId: "light", + )!, + ), + ), +); diff --git a/lib/themes/theme_service.dart b/lib/themes/theme_service.dart new file mode 100644 index 000000000..2f3d5e6fb --- /dev/null +++ b/lib/themes/theme_service.dart @@ -0,0 +1,218 @@ +import 'dart:convert'; +import 'dart:io'; +import 'dart:typed_data'; + +import 'package:archive/archive_io.dart'; +import 'package:crypto/crypto.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:http/http.dart'; +import 'package:isar/isar.dart'; +import 'package:stackwallet/db/isar/main_db.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/utilities/logger.dart'; +import 'package:stackwallet/utilities/stack_file_system.dart'; + +final pThemeService = Provider((ref) { + return ThemeService.instance; +}); + +class ThemeService { + ThemeService._(); + static ThemeService? _instance; + static ThemeService get instance => _instance ??= ThemeService._(); + + static const String baseServerUrl = "https://themes.stackwallet.com"; + + MainDB? _db; + MainDB get db => _db!; + + void init(MainDB db) => _db ??= db; + + Future install({required Uint8List themeArchiveData}) async { + final themesDir = await StackFileSystem.applicationThemesDirectory(); + + final archive = ZipDecoder().decodeBytes(themeArchiveData); + + final themeJsonFiles = archive.files.where((e) => e.name == "theme.json"); + + if (themeJsonFiles.length != 1) { + throw Exception("Invalid theme archive: Missing theme.json"); + } + + final OutputStream os = OutputStream(); + themeJsonFiles.first.decompress(os); + final String jsonString = utf8.decode(os.getBytes()); + final json = jsonDecode(jsonString) as Map; + + final theme = StackTheme.fromJson( + json: Map.from(json), + applicationThemesDirectoryPath: themesDir.path, + ); + + final String assetsPath = "${themesDir.path}/${theme.themeId}"; + + for (final file in archive.files) { + if (file.isFile) { + // TODO more sanitation? + if (file.name.contains("..")) { + Logging.instance.log( + "Bad theme asset file path: ${file.name}", + level: LogLevel.Error, + ); + } else { + final os = OutputFileStream("$assetsPath/${file.name}"); + file.writeContent(os); + await os.close(); + } + } + } + + await db.isar.writeTxn(() async { + await db.isar.stackThemes.put(theme); + }); + } + + Future remove({required String themeId}) async { + final themesDir = await StackFileSystem.applicationThemesDirectory(); + final isarId = await db.isar.stackThemes + .where() + .themeIdEqualTo(themeId) + .idProperty() + .findFirst(); + if (isarId != null) { + await db.isar.writeTxn(() async { + await db.isar.stackThemes.delete(isarId); + }); + await Directory("${themesDir.path}/$themeId").delete(recursive: true); + } else { + Logging.instance.log( + "Failed to delete theme $themeId", + level: LogLevel.Warning, + ); + } + } + + // TODO more thorough check/verification of theme + Future verifyInstalled({required String themeId}) async { + final dbHasTheme = + await db.isar.stackThemes.where().themeIdEqualTo(themeId).count() > 0; + if (dbHasTheme) { + final themesDir = await StackFileSystem.applicationThemesDirectory(); + final jsonFileExists = + await File("${themesDir.path}/$themeId/theme.json").exists(); + final assetsDirExists = + await Directory("${themesDir.path}/$themeId/assets").exists(); + + if (!jsonFileExists || !assetsDirExists) { + Logging.instance.log( + "Theme $themeId found in DB but is missing files", + level: LogLevel.Warning, + ); + } + + return jsonFileExists && assetsDirExists; + } else { + return false; + } + } + + Future> fetchThemes() async { + try { + final response = await get(Uri.parse("$baseServerUrl/themes")); + + final jsonList = jsonDecode(response.body) as List; + + final result = List>.from(jsonList) + .map((e) => StackThemeMetaData.fromMap(e)) + .where((e) => e.id != "light" && e.id != "dark") + .toList(); + + return result; + } catch (e, s) { + Logging.instance.log( + "Failed to fetch themes list: $e\n$s", + level: LogLevel.Warning, + ); + rethrow; + } + } + + Future fetchTheme({ + required StackThemeMetaData themeMetaData, + }) async { + try { + final response = + await get(Uri.parse("$baseServerUrl/theme/${themeMetaData.id}")); + + final bytes = response.bodyBytes; + + // verify hash + final digest = sha256.convert(bytes); + if (digest.toString() == themeMetaData.sha256) { + return bytes; + } else { + throw Exception( + "Fetched theme archive sha256 hash ($digest) does not" + " match requested $themeMetaData", + ); + } + } catch (e, s) { + Logging.instance.log( + "Failed to fetch themes list: $e\n$s", + level: LogLevel.Warning, + ); + rethrow; + } + } + + StackTheme? getTheme({required String themeId}) => + db.isar.stackThemes.where().themeIdEqualTo(themeId).findFirstSync(); + + List get installedThemes => + db.isar.stackThemes.where().findAllSync(); +} + +class StackThemeMetaData { + final String name; + final String id; + final String sha256; + final String size; + final String previewImageUrl; + + StackThemeMetaData({ + required this.name, + required this.id, + required this.sha256, + required this.size, + required this.previewImageUrl, + }); + + static StackThemeMetaData fromMap(Map map) { + try { + return StackThemeMetaData( + name: map["name"] as String, + id: map["id"] as String, + sha256: map["sha256"] as String, + size: map["size"] as String, + previewImageUrl: map["previewImageUrl"] as String, + ); + } catch (e, s) { + Logging.instance.log( + "Failed to create instance of StackThemeMetaData using $map: \n$e\n$s", + level: LogLevel.Fatal, + ); + rethrow; + } + } + + @override + String toString() { + return "$runtimeType(" + "name: $name, " + "id: $id, " + "sha256: $sha256, " + "size: $size, " + "previewImageUrl: $previewImageUrl" + ")"; + } +} diff --git a/lib/utilities/assets.dart b/lib/utilities/assets.dart index 6444b2896..2a0909966 100644 --- a/lib/utilities/assets.dart +++ b/lib/utilities/assets.dart @@ -1,13 +1,8 @@ import 'package:flutter/material.dart'; -import 'package:flutter_svg/flutter_svg.dart'; import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart'; import 'package:stackwallet/services/exchange/simpleswap/simpleswap_exchange.dart'; import 'package:stackwallet/services/exchange/trocador/trocador_exchange.dart'; -import 'package:stackwallet/utilities/enums/coin_enum.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; -import 'package:stackwallet/utilities/util.dart'; abstract class Assets { static const svg = _SVG(); @@ -16,35 +11,6 @@ abstract class Assets { static const socials = _SOCIALS(); static const exchange = _EXCHANGE(); static const buy = _BUY(); - static const gif = _GIF(); - - static Future precache(BuildContext context) async { - final assets = [ - svg.iconFor(coin: Coin.dogecoin), - svg.stack(context), - svg.personaEasy(context), - svg.personaIncognito(context), - ...Coin.values.map( - (e) => svg.imageFor(context: context, coin: e), - ), - ]; - - if (Util.isDesktop) { - assets.add(svg.themeChan); - assets.add(svg.themeDarkChan); - } - - final futures = assets.map( - (e) => precachePicture( - ExactAssetPicture( - SvgPicture.svgStringDecoderBuilder, - e, - ), - context), - ); - - await Future.wait(futures); - } } class _SOCIALS { @@ -90,18 +56,11 @@ class _BUY { const _BUY(); String simplexLogo(BuildContext context) { - switch (Theme.of(context).extension()!.themeType) { - case ThemeType.dark: - case ThemeType.oledBlack: - case ThemeType.darkChans: + switch (MediaQuery.of(context).platformBrightness) { + case Brightness.dark: return "assets/svg/buy/Simplex-Nuvei-Logo-light.svg"; - case ThemeType.fruitSorbet: - case ThemeType.forest: - case ThemeType.oceanBreeze: - case ThemeType.light: - case ThemeType.chan: - case ThemeType.orange: + case Brightness.light: return "assets/svg/buy/Simplex-Nuvei-Logo.svg"; } } @@ -121,80 +80,8 @@ class _COIN_CONTROL { class _SVG { const _SVG(); - static String _path(BuildContext context) { - switch (Theme.of(context).extension()!.themeType) { - // chan theme uses all the same assets as the light theme - case ThemeType.chan: - return "assets/svg/themed/${ThemeType.light.name}"; - case ThemeType.darkChans: - return "assets/svg/themed/${ThemeType.dark.name}"; - - default: - return "assets/svg/themed/${Theme.of(context).extension()!.themeType.name}"; - } - } - final coinControl = const _COIN_CONTROL(); - String? background(BuildContext context) { - switch (Theme.of(context).extension()!.themeType) { - case ThemeType.light: - case ThemeType.chan: - case ThemeType.dark: - case ThemeType.orange: - case ThemeType.oledBlack: - case ThemeType.darkChans: - return null; - - case ThemeType.oceanBreeze: - case ThemeType.fruitSorbet: - case ThemeType.forest: - return "${_path(context)}/bg.svg"; - } - } - - String bellNew(BuildContext context) => "${_path(context)}/bell-new.svg"; - String stackIcon(BuildContext context) => "${_path(context)}/stack-icon1.svg"; - String exchange(BuildContext context) => "${_path(context)}/exchange-2.svg"; - String buy(BuildContext context) => "${_path(context)}/buy-coins-icon.svg"; - - String receive(BuildContext context) => - "${_path(context)}/tx-icon-receive.svg"; - String receivePending(BuildContext context) => - "${_path(context)}/tx-icon-receive-pending.svg"; - String receiveCancelled(BuildContext context) => - "${_path(context)}/tx-icon-receive-failed.svg"; - - String send(BuildContext context) => "${_path(context)}/tx-icon-send.svg"; - String sendPending(BuildContext context) => - "${_path(context)}/tx-icon-send-pending.svg"; - String sendCancelled(BuildContext context) => - "${_path(context)}/tx-icon-send-failed.svg"; - - String txExchange(BuildContext context) => - "${_path(context)}/tx-exchange-icon.svg"; - String txExchangePending(BuildContext context) => - "${_path(context)}/tx-exchange-icon-pending.svg"; - String txExchangeFailed(BuildContext context) => - "${_path(context)}/tx-exchange-icon-failed.svg"; - - String personaIncognito(BuildContext context) => - "${_path(context)}/persona-incognito-1.svg"; - String personaEasy(BuildContext context) => - "${_path(context)}/persona-easy-1.svg"; - - String stack(BuildContext context) => "${_path(context)}/stack.svg"; - - String get themeFruit => "assets/svg/fruit-sorbet-theme.svg"; - String get themeForest => "assets/svg/forest-theme.svg"; - String get themeOledBlack => "assets/svg/oled-black-theme.svg"; - String get themeOcean => "assets/svg/ocean-breeze-theme.svg"; - String get orange => "assets/svg/orange-theme.svg"; - String get themeLight => "assets/svg/light-mode.svg"; - String get themeDark => "assets/svg/dark-theme.svg"; - String get themeChan => "assets/svg/chanstheme.svg"; - String get themeDarkChan => "assets/svg/darkChansTheme.svg"; - String get circleSliders => "assets/svg/configuration.svg"; String get circlePlus => "assets/svg/plus-circle.svg"; String get circlePlusFilled => "assets/svg/circle-plus-filled.svg"; @@ -295,6 +182,8 @@ class _SVG { String get tokens => "assets/svg/tokens.svg"; String get circlePlusDark => "assets/svg/circle-plus.svg"; String get creditCard => "assets/svg/cc.svg"; + String get file => "assets/svg/file.svg"; + String get fileUpload => "assets/svg/file-upload.svg"; String get ellipse1 => "assets/svg/Ellipse-43.svg"; String get ellipse2 => "assets/svg/Ellipse-42.svg"; @@ -332,96 +221,6 @@ class _SVG { String get particl => "assets/svg/coin_icons/Particl.svg"; String get bnbIcon => "assets/svg/coin_icons/bnb_icon.svg"; - - String iconFor({required Coin coin}) { - switch (coin) { - case Coin.bitcoin: - return bitcoin; - case Coin.litecoin: - case Coin.litecoinTestNet: - return litecoin; - case Coin.bitcoincash: - return bitcoincash; - case Coin.dogecoin: - return dogecoin; - case Coin.epicCash: - return epicCash; - case Coin.ethereum: - return ethereum; - case Coin.firo: - return firo; - case Coin.monero: - return monero; - case Coin.wownero: - return wownero; - case Coin.namecoin: - return namecoin; - case Coin.particl: - return particl; - case Coin.bitcoinTestNet: - return bitcoinTestnet; - case Coin.bitcoincashTestnet: - return bitcoincashTestnet; - case Coin.firoTestNet: - return firoTestnet; - case Coin.dogecoinTestNet: - return dogecoinTestnet; - } - } - - // big icons - String bitcoinImage(BuildContext context) => "${_path(context)}/bitcoin.svg"; - String bitcoincashImage(BuildContext context) => - "${_path(context)}/bitcoincash.svg"; - String dogecoinImage(BuildContext context) => "${_path(context)}/doge.svg"; - String epicCashImage(BuildContext context) => - "${_path(context)}/epic-cash.svg"; - String ethereumImage(BuildContext context) => - "${_path(context)}/ethereum.svg"; - String firoImage(BuildContext context) => "${_path(context)}/firo.svg"; - String litecoinImage(BuildContext context) => - "${_path(context)}/litecoin.svg"; - String moneroImage(BuildContext context) => "${_path(context)}/monero.svg"; - String wowneroImage(BuildContext context) => "${_path(context)}/wownero.svg"; - String namecoinImage(BuildContext context) => - "${_path(context)}/namecoin.svg"; - String particlImage(BuildContext context) => "${_path(context)}/particl.svg"; - - String imageFor({required BuildContext context, required Coin coin}) { - switch (coin) { - case Coin.bitcoin: - return bitcoinImage(context); - case Coin.litecoin: - case Coin.litecoinTestNet: - return litecoinImage(context); - case Coin.bitcoincash: - return bitcoincashImage(context); - case Coin.dogecoin: - return dogecoinImage(context); - case Coin.epicCash: - return epicCashImage(context); - case Coin.firo: - return firoImage(context); - case Coin.monero: - return moneroImage(context); - case Coin.wownero: - return wowneroImage(context); - case Coin.namecoin: - return namecoinImage(context); - case Coin.particl: - return particlImage(context); - case Coin.bitcoinTestNet: - return bitcoinImage(context); - case Coin.bitcoincashTestnet: - return bitcoincashImage(context); - case Coin.firoTestNet: - return firoImage(context); - case Coin.dogecoinTestNet: - return dogecoinImage(context); - case Coin.ethereum: - return ethereumImage(context); - } - } } class _PNG { @@ -431,9 +230,6 @@ class _PNG { String get glasses => "assets/images/glasses.png"; String get glassesHidden => "assets/images/glasses-hidden.png"; - - String get chanEasy => "assets/images/chan-persona-easy.png"; - String get chanIncognito => "assets/images/chan-persona-incognito.png"; } class _ANIMATIONS { @@ -444,17 +240,3 @@ class _ANIMATIONS { String get loaderAndCheckmark => "assets/lottie/loader_and_checkmark.json"; String get arrowRotate => "assets/lottie/arrow_rotate.json"; } - -class _GIF { - const _GIF(); - - String get stacyPlain => "assets/gif/stacy-plain.gif"; - - String plain(Coin coin) { - return "assets/gif/coins/${coin.mainNetVersion.name}/plain.gif"; - } - - String kiss(Coin coin) { - return "assets/gif/coins/${coin.mainNetVersion.name}/kiss.gif"; - } -} diff --git a/lib/utilities/extensions/impl/box_shadow.dart b/lib/utilities/extensions/impl/box_shadow.dart new file mode 100644 index 000000000..c5c53794d --- /dev/null +++ b/lib/utilities/extensions/impl/box_shadow.dart @@ -0,0 +1,38 @@ +import 'package:flutter/material.dart'; + +// todo: delete this map (example) +final map = { + "name": "Dark", + "coinColors": { + "bitcoin": "0xFF267352", + }, + "assets": { + "circleLock": "svg/somerandomnamecreatedbythemecreator.svg", + }, + "colors": { + "background": "0xFF848383", + }, + "gradientBackground": { + "gradientType": "linear", + "begin": { + "x": 0.0, + "y": 1.0, + }, + "end": { + "x": -1.0, + "y": 1.0, + }, + "colors": [ + "0xFF638227", + "0xFF632827", + ] + } +}; + +extension BoxShadowExt on BoxShadow { + static BoxShadow fromJson(Map json) => BoxShadow( + color: Color(int.parse(json["color"] as String)), + spreadRadius: json["spread_radius"] as double, + blurRadius: json["blur_radius"] as double, + ); +} diff --git a/lib/utilities/extensions/impl/gradient.dart b/lib/utilities/extensions/impl/gradient.dart new file mode 100644 index 000000000..8af06d421 --- /dev/null +++ b/lib/utilities/extensions/impl/gradient.dart @@ -0,0 +1,32 @@ +import 'package:flutter/material.dart'; +import 'package:stackwallet/utilities/extensions/impl/string.dart'; + +extension GradientExt on Gradient { + static Gradient fromJson(Map json) { + switch (json["background"]["type"]) { + case "Linear": + final colorStrings = + List.from(json["background"]["colors"] as List); + return LinearGradient( + begin: Alignment( + json["background"]["begin"]["x"] as double, + json["background"]["begin"]["y"] as double, + ), + end: Alignment( + json["background"]["end"]["x"] as double, + json["background"]["end"]["y"] as double, + ), + colors: colorStrings + .map( + (e) => Color( + e.toBigIntFromHex.toInt(), + ), + ) + .toList(), + ); + + default: + throw ArgumentError("Invalid json gradient: $json"); + } + } +} diff --git a/lib/utilities/prefs.dart b/lib/utilities/prefs.dart index 973541366..a57e08755 100644 --- a/lib/utilities/prefs.dart +++ b/lib/utilities/prefs.dart @@ -4,7 +4,6 @@ import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/backup_frequency_type.dart'; import 'package:stackwallet/utilities/enums/languages_enum.dart'; import 'package:stackwallet/utilities/enums/sync_type_enum.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; import 'package:uuid/uuid.dart'; class Prefs extends ChangeNotifier { @@ -44,9 +43,9 @@ class Prefs extends ChangeNotifier { _signupEpoch = await _getSignupEpoch(); _enableCoinControl = await _getEnableCoinControl(); _enableSystemBrightness = await _getEnableSystemBrightness(); - _theme = await _getTheme(); - _systemBrightnessLightTheme = await _getSystemBrightnessLightTheme(); - _systemBrightnessDarkTheme = await _getSystemBrightnessDarkTheme(); + _themeId = await _getThemeId(); + _systemBrightnessLightThemeId = await _getSystemBrightnessLightThemeId(); + _systemBrightnessDarkThemeId = await _getSystemBrightnessDarkTheme(); _initialized = true; } @@ -720,72 +719,81 @@ class Prefs extends ChangeNotifier { false; } - // system brightness light theme name + // current theme id - ThemeType _theme = ThemeType.light; + String _themeId = "light"; - ThemeType get theme => _theme; + String get themeId => _themeId; - set theme(ThemeType theme) { - if (this.theme != theme) { + set themeId(String themeId) { + if (this.themeId != themeId) { DB.instance.put( - boxName: DB.boxNamePrefs, key: "theme", value: theme.name); - _theme = theme; + boxName: DB.boxNamePrefs, + key: "themeId", + value: themeId, + ); + _themeId = themeId; notifyListeners(); } } - Future _getTheme() async { - return ThemeTypeExt.fromName(await DB.instance - .get(boxName: DB.boxNamePrefs, key: "theme") as String? ?? - ThemeType.light.name); - } - - // system brightness light theme name - - ThemeType _systemBrightnessLightTheme = ThemeType.light; - - ThemeType get systemBrightnessLightTheme => _systemBrightnessLightTheme; - - set systemBrightnessLightTheme(ThemeType systemBrightnessLightTheme) { - if (this.systemBrightnessLightTheme != systemBrightnessLightTheme) { - DB.instance.put( + Future _getThemeId() async { + return await DB.instance.get( boxName: DB.boxNamePrefs, - key: "systemBrightnessLightTheme", - value: systemBrightnessLightTheme.name); - _systemBrightnessLightTheme = systemBrightnessLightTheme; - notifyListeners(); - } + key: "themeId", + ) as String? ?? + "light"; } - Future _getSystemBrightnessLightTheme() async { - return ThemeTypeExt.fromName(await DB.instance.get( - boxName: DB.boxNamePrefs, - key: "systemBrightnessLightTheme") as String? ?? - ThemeType.light.name); - } + // current system brightness light theme id - // system brightness dark theme name + String _systemBrightnessLightThemeId = "light"; - ThemeType _systemBrightnessDarkTheme = ThemeType.dark; + String get systemBrightnessLightThemeId => _systemBrightnessLightThemeId; - ThemeType get systemBrightnessDarkTheme => _systemBrightnessDarkTheme; - - set systemBrightnessDarkTheme(ThemeType systemBrightnessDarkTheme) { - if (this.systemBrightnessDarkTheme != systemBrightnessDarkTheme) { + set systemBrightnessLightThemeId(String systemBrightnessLightThemeId) { + if (this.systemBrightnessLightThemeId != systemBrightnessLightThemeId) { DB.instance.put( - boxName: DB.boxNamePrefs, - key: "systemBrightnessDarkTheme", - value: systemBrightnessDarkTheme.name); - _systemBrightnessDarkTheme = systemBrightnessDarkTheme; + boxName: DB.boxNamePrefs, + key: "systemBrightnessLightThemeId", + value: systemBrightnessLightThemeId, + ); + _systemBrightnessLightThemeId = systemBrightnessLightThemeId; notifyListeners(); } } - Future _getSystemBrightnessDarkTheme() async { - return ThemeTypeExt.fromName(await DB.instance.get( - boxName: DB.boxNamePrefs, - key: "systemBrightnessDarkTheme") as String? ?? - ThemeType.dark.name); + Future _getSystemBrightnessLightThemeId() async { + return await DB.instance.get( + boxName: DB.boxNamePrefs, + key: "systemBrightnessLightThemeId", + ) as String? ?? + "light"; + } + + // current system brightness dark theme id + + String _systemBrightnessDarkThemeId = "dark"; + + String get systemBrightnessDarkThemeId => _systemBrightnessDarkThemeId; + + set systemBrightnessDarkThemeId(String systemBrightnessDarkThemeId) { + if (this.systemBrightnessDarkThemeId != systemBrightnessDarkThemeId) { + DB.instance.put( + boxName: DB.boxNamePrefs, + key: "systemBrightnessDarkThemeId", + value: systemBrightnessDarkThemeId, + ); + _systemBrightnessDarkThemeId = systemBrightnessDarkThemeId; + notifyListeners(); + } + } + + Future _getSystemBrightnessDarkTheme() async { + return await DB.instance.get( + boxName: DB.boxNamePrefs, + key: "systemBrightnessDarkThemeId", + ) as String? ?? + "dark"; } } diff --git a/lib/utilities/show_loading.dart b/lib/utilities/show_loading.dart index 4a684d54c..d24770663 100644 --- a/lib/utilities/show_loading.dart +++ b/lib/utilities/show_loading.dart @@ -1,7 +1,7 @@ import 'dart:async'; import 'package:flutter/material.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/widgets/custom_loading_overlay.dart'; Future showLoading({ diff --git a/lib/utilities/stack_file_system.dart b/lib/utilities/stack_file_system.dart index 22078bfee..77ecab511 100644 --- a/lib/utilities/stack_file_system.dart +++ b/lib/utilities/stack_file_system.dart @@ -62,4 +62,17 @@ abstract class StackFileSystem { return root; } } + + static Future applicationThemesDirectory() async { + final root = await applicationRootDirectory(); + // if (Util.isDesktop) { + final dir = Directory("${root.path}/themes"); + if (!dir.existsSync()) { + await dir.create(); + } + return dir; + // } else { + // return root; + // } + } } diff --git a/lib/utilities/text_styles.dart b/lib/utilities/text_styles.dart index 27f49e060..9d2f55eda 100644 --- a/lib/utilities/text_styles.dart +++ b/lib/utilities/text_styles.dart @@ -1,15 +1,14 @@ import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; class STextStyles { static StackColors _theme(BuildContext context) => Theme.of(context).extension()!; static TextStyle sectionLabelMedium12(BuildContext context) { - switch (_theme(context).themeType) { - case ThemeType.forest: + switch (_theme(context).themeId) { + case "forest": return GoogleFonts.inter( color: _theme(context).textDark3, fontWeight: FontWeight.w500, @@ -25,7 +24,7 @@ class STextStyles { } static TextStyle pageTitleH1(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -36,7 +35,7 @@ class STextStyles { } static TextStyle pageTitleH2(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -47,7 +46,7 @@ class STextStyles { } static TextStyle navBarTitle(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -58,7 +57,7 @@ class STextStyles { } static TextStyle titleBold12(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -69,7 +68,7 @@ class STextStyles { } static TextStyle subtitle(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -80,7 +79,7 @@ class STextStyles { } static TextStyle subtitle500(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -91,7 +90,7 @@ class STextStyles { } static TextStyle subtitle600(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -102,7 +101,7 @@ class STextStyles { } static TextStyle button(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).buttonTextPrimary, @@ -113,7 +112,7 @@ class STextStyles { } static TextStyle largeMedium14(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -124,7 +123,7 @@ class STextStyles { } static TextStyle smallMed14(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark3, @@ -135,7 +134,7 @@ class STextStyles { } static TextStyle smallMed12(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark3, @@ -146,7 +145,7 @@ class STextStyles { } static TextStyle label(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textSubtitle1, @@ -157,7 +156,7 @@ class STextStyles { } static TextStyle labelExtraExtraSmall(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textFieldActiveSearchIconRight, @@ -169,7 +168,7 @@ class STextStyles { } static TextStyle label700(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textSubtitle1, @@ -180,7 +179,7 @@ class STextStyles { } static TextStyle itemSubtitle(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).infoItemLabel, @@ -191,7 +190,7 @@ class STextStyles { } static TextStyle itemSubtitle12(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -202,7 +201,7 @@ class STextStyles { } static TextStyle fieldLabel(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textSubtitle2, @@ -214,7 +213,7 @@ class STextStyles { } static TextStyle field(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -226,7 +225,7 @@ class STextStyles { } static TextStyle baseXS(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -237,7 +236,7 @@ class STextStyles { } static TextStyle link(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).accentColorRed, @@ -248,8 +247,8 @@ class STextStyles { } static TextStyle link2(BuildContext context) { - switch (_theme(context).themeType) { - case ThemeType.oledBlack: + switch (_theme(context).themeId) { + case "oled_black": return GoogleFonts.inter( color: _theme(context).checkboxBGChecked, fontWeight: FontWeight.w500, @@ -265,7 +264,7 @@ class STextStyles { } static TextStyle richLink(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).accentColorBlue, @@ -276,7 +275,7 @@ class STextStyles { } static TextStyle w600_12(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -287,7 +286,7 @@ class STextStyles { } static TextStyle w600_14(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -298,7 +297,7 @@ class STextStyles { } static TextStyle w500_14(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -309,7 +308,7 @@ class STextStyles { } static TextStyle w500_12(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -320,7 +319,7 @@ class STextStyles { } static TextStyle w500_10(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -331,7 +330,7 @@ class STextStyles { } static TextStyle w600_20(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -343,7 +342,7 @@ class STextStyles { } static TextStyle syncPercent(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -354,8 +353,8 @@ class STextStyles { } static TextStyle buttonSmall(BuildContext context) { - switch (_theme(context).themeType) { - case ThemeType.fruitSorbet: + switch (_theme(context).themeId) { + case "fruit_sorbet": return GoogleFonts.inter( color: _theme(context).bottomNavIconIcon, fontWeight: FontWeight.w500, @@ -371,7 +370,7 @@ class STextStyles { } static TextStyle errorSmall(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textError, @@ -382,7 +381,7 @@ class STextStyles { } static TextStyle infoSmall(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textSubtitle1, @@ -395,7 +394,7 @@ class STextStyles { // Desktop static TextStyle desktopH1(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -407,7 +406,7 @@ class STextStyles { } static TextStyle desktopH2(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -419,7 +418,7 @@ class STextStyles { } static TextStyle desktopH3(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -431,7 +430,7 @@ class STextStyles { } static TextStyle w500_24(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -443,7 +442,7 @@ class STextStyles { } static TextStyle desktopTextMedium(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -455,7 +454,7 @@ class STextStyles { } static TextStyle desktopTextMediumRegular(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -467,7 +466,7 @@ class STextStyles { } static TextStyle desktopSubtitleH2(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -479,7 +478,7 @@ class STextStyles { } static TextStyle desktopSubtitleH1(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -491,7 +490,7 @@ class STextStyles { } static TextStyle desktopButtonEnabled(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).buttonTextPrimary, @@ -503,7 +502,7 @@ class STextStyles { } static TextStyle desktopButtonDisabled(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).buttonTextPrimaryDisabled, @@ -515,7 +514,7 @@ class STextStyles { } static TextStyle desktopButtonSecondaryEnabled(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).buttonTextSecondary, @@ -527,7 +526,7 @@ class STextStyles { } static TextStyle desktopButtonSecondaryDisabled(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).buttonTextSecondaryDisabled, @@ -539,8 +538,8 @@ class STextStyles { } static TextStyle desktopTextSmall(BuildContext context) { - switch (_theme(context).themeType) { - case ThemeType.dark: + switch (_theme(context).themeId) { + case "dark": return GoogleFonts.inter( color: _theme(context).buttonTextPrimaryDisabled, fontWeight: FontWeight.w500, @@ -559,9 +558,9 @@ class STextStyles { } static TextStyle desktopTextSmallBold(BuildContext context) { - switch (_theme(context).themeType) { - case ThemeType.dark: - case ThemeType.oledBlack: + switch (_theme(context).themeId) { + case "dark": + case "oled_black": return GoogleFonts.inter( color: _theme(context).buttonTextPrimaryDisabled, fontWeight: FontWeight.w700, @@ -580,7 +579,7 @@ class STextStyles { } static TextStyle desktopTextExtraSmall(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).buttonTextPrimaryDisabled, @@ -592,7 +591,7 @@ class STextStyles { } static TextStyle desktopTextExtraExtraSmall(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textSubtitle1, @@ -604,7 +603,7 @@ class STextStyles { } static TextStyle desktopTextExtraExtraSmall600(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -616,7 +615,7 @@ class STextStyles { } static TextStyle desktopButtonSmallSecondaryEnabled(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).buttonTextSecondary, @@ -628,7 +627,7 @@ class STextStyles { } static TextStyle desktopTextFieldLabel(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textSubtitle2, @@ -640,7 +639,7 @@ class STextStyles { } static TextStyle desktopMenuItem(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark.withOpacity(0.8), @@ -652,7 +651,7 @@ class STextStyles { } static TextStyle desktopMenuItemSelected(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -664,7 +663,7 @@ class STextStyles { } static TextStyle settingsMenuItem(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark.withOpacity(0.5), @@ -676,7 +675,7 @@ class STextStyles { } static TextStyle settingsMenuItemSelected(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( color: _theme(context).textDark, @@ -688,7 +687,7 @@ class STextStyles { } static TextStyle stepIndicator(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.roboto( color: _theme(context).textDark, @@ -699,7 +698,7 @@ class STextStyles { } static TextStyle numberDefault(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.roboto( color: _theme(context).numberTextDefault, @@ -710,7 +709,7 @@ class STextStyles { } static TextStyle datePicker400(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( letterSpacing: 0.5, @@ -722,7 +721,7 @@ class STextStyles { } static TextStyle datePicker600(BuildContext context) { - switch (_theme(context).themeType) { + switch (_theme(context).themeId) { default: return GoogleFonts.inter( letterSpacing: 0.5, diff --git a/lib/utilities/theme/chan_colors.dart b/lib/utilities/theme/chan_colors.dart deleted file mode 100644 index cce17b7bb..000000000 --- a/lib/utilities/theme/chan_colors.dart +++ /dev/null @@ -1,371 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; - -class ChanColors extends StackColorTheme { - @override - ThemeType get themeType => ThemeType.chan; - @override - Brightness get brightness => Brightness.light; - - @override - Color get background => const Color(0xFFF7F7F7); - @override - Color get backgroundAppBar => background; - @override - Gradient? get gradientBackground => null; - - @override - Color get overlay => const Color(0xFF111215); - - @override - Color get accentColorBlue => const Color(0xFF0052DF); - @override - Color get accentColorGreen => const Color(0xFF4CC0A0); - @override - Color get accentColorYellow => const Color(0xFFF7D65D); - @override - Color get accentColorRed => const Color(0xFFD34E50); - @override - Color get accentColorOrange => const Color(0xFFFEA68D); - @override - Color get accentColorDark => const Color(0xFF232323); - - @override - Color get shadow => const Color(0x0F2D3132); - - @override - Color get textDark => const Color(0xFF232323); - @override - Color get textDark2 => const Color(0xFF414141); - @override - Color get textDark3 => const Color(0xFF747778); - @override - Color get textSubtitle1 => const Color(0xFF8E9192); - @override - Color get textSubtitle2 => const Color(0xFFA9ACAC); - @override - Color get textSubtitle3 => const Color(0xFFC4C7C7); - @override - Color get textSubtitle4 => const Color(0xFFE0E3E3); - @override - Color get textSubtitle5 => const Color(0xFFEEEFF1); - @override - Color get textSubtitle6 => const Color(0xFFF5F5F5); - @override - Color get textWhite => const Color(0xFFFFFFFF); - @override - Color get textFavoriteCard => const Color(0xFF232323); - @override - Color get textError => const Color(0xFF930006); - @override - Color get textRestore => overlay; - - // button background - @override - Color get buttonBackPrimary => const Color(0xFF232323); - @override - Color get buttonBackSecondary => const Color(0xFFE0E3E3); - @override - Color get buttonBackPrimaryDisabled => const Color(0xFFD7D7D7); - @override - Color get buttonBackSecondaryDisabled => const Color(0xFFF0F1F1); - @override - Color get buttonBackBorder => const Color(0xFF232323); - @override - Color get buttonBackBorderDisabled => const Color(0xFFB6B6B6); - @override - Color get buttonBackBorderSecondary => buttonBackSecondary; - @override - Color get buttonBackBorderSecondaryDisabled => buttonBackSecondaryDisabled; - - @override - Color get numberBackDefault => const Color(0xFFFFFFFF); - @override - Color get numpadBackDefault => const Color(0xFF232323); - @override - Color get bottomNavBack => const Color(0xFFFFFFFF); - - // button text/element - @override - Color get buttonTextPrimary => const Color(0xFFFFFFFF); - @override - Color get buttonTextSecondary => const Color(0xFF232323); - @override - Color get buttonTextPrimaryDisabled => const Color(0xFFF8F8F8); - @override - Color get buttonTextSecondaryDisabled => const Color(0xFFB7B7B7); - @override - Color get buttonTextBorder => const Color(0xFF232323); - @override - Color get buttonTextDisabled => const Color(0xFFB6B6B6); - @override - Color get buttonTextBorderless => const Color(0xFF0052DF); - @override - Color get buttonTextBorderlessDisabled => const Color(0xFFB6B6B6); - @override - Color get numberTextDefault => const Color(0xFF232323); - @override - Color get numpadTextDefault => const Color(0xFFFFFFFF); - @override - Color get bottomNavText => const Color(0xFF232323); - @override - Color get customTextButtonEnabledText => buttonTextBorderless; - @override - Color get customTextButtonDisabledText => textSubtitle1; - - // switch - @override - Color get switchBGOn => const Color(0xFF0052DF); - @override - Color get switchBGOff => const Color(0xFFD8E4FB); - @override - Color get switchBGDisabled => const Color(0xFFC5C6C9); - @override - Color get switchCircleOn => const Color(0xFFDAE2FF); - @override - Color get switchCircleOff => const Color(0xFFFBFCFF); - @override - Color get switchCircleDisabled => const Color(0xFFFBFCFF); - - // step indicator background - @override - Color get stepIndicatorBGCheck => const Color(0xFFD9E2FF); - @override - Color get stepIndicatorBGNumber => const Color(0xFFD9E2FF); - @override - Color get stepIndicatorBGInactive => const Color(0xFFCDCDCD); - @override - Color get stepIndicatorBGLines => const Color(0xFF0056D2); - @override - Color get stepIndicatorBGLinesInactive => const Color(0xFFCDCDCD); - @override - Color get stepIndicatorIconText => const Color(0xFF0056D2); - @override - Color get stepIndicatorIconNumber => const Color(0xFF0056D2); - @override - Color get stepIndicatorIconInactive => const Color(0xFFF7F7F7); - - // checkbox - @override - Color get checkboxBGChecked => const Color(0xFF0056D2); - @override - Color get checkboxBorderEmpty => const Color(0xFF8E9192); - @override - Color get checkboxBGDisabled => const Color(0xFFADC7EC); - @override - Color get checkboxIconChecked => const Color(0xFFFFFFFF); - @override - Color get checkboxIconDisabled => const Color(0xFFFFFFFF); - @override - Color get checkboxTextLabel => const Color(0xFF232323); - - // snack bar - @override - Color get snackBarBackSuccess => const Color(0xFFB9E9D4); - @override - Color get snackBarBackError => const Color(0xFFFFDAD4); - @override - Color get snackBarBackInfo => const Color(0xFFDAE2FF); - @override - Color get snackBarTextSuccess => const Color(0xFF006C4D); - @override - Color get snackBarTextError => const Color(0xFF930006); - @override - Color get snackBarTextInfo => const Color(0xFF002A78); - - // icons - @override - Color get bottomNavIconBack => const Color(0xFFA2A2A2); - @override - Color get bottomNavIconIcon => const Color(0xFF232323); - - @override - Color get topNavIconPrimary => const Color(0xFF232323); - @override - Color get topNavIconGreen => const Color(0xFF00A578); - @override - Color get topNavIconYellow => const Color(0xFFF4C517); - @override - Color get topNavIconRed => const Color(0xFFC00205); - - @override - Color get settingsIconBack => const Color(0xFFE0E3E3); - @override - Color get settingsIconIcon => const Color(0xFF232323); - @override - Color get settingsIconBack2 => const Color(0xFF94D6C4); - @override - Color get settingsIconElement => const Color(0xFF00A578); - - // text field - @override - Color get textFieldActiveBG => const Color(0xFFEEEFF1); - @override - Color get textFieldDefaultBG => const Color(0xFFEEEFF1); - @override - Color get textFieldErrorBG => const Color(0xFFFFDAD4); - @override - Color get textFieldSuccessBG => const Color(0xFFB9E9D4); - @override - Color get textFieldErrorBorder => textFieldErrorBG; - @override - Color get textFieldSuccessBorder => textFieldSuccessBG; - - @override - Color get textFieldActiveSearchIconLeft => const Color(0xFFA9ACAC); - @override - Color get textFieldDefaultSearchIconLeft => const Color(0xFFA9ACAC); - @override - Color get textFieldErrorSearchIconLeft => const Color(0xFF930006); - @override - Color get textFieldSuccessSearchIconLeft => const Color(0xFF006C4D); - - @override - Color get textFieldActiveText => const Color(0xFF232323); - @override - Color get textFieldDefaultText => const Color(0xFFA9ACAC); - @override - Color get textFieldErrorText => const Color(0xFF000000); - @override - Color get textFieldSuccessText => const Color(0xFF000000); - - @override - Color get textFieldActiveLabel => const Color(0xFFA9ACAC); - @override - Color get textFieldErrorLabel => const Color(0xFF930006); - @override - Color get textFieldSuccessLabel => const Color(0xFF006C4D); - - @override - Color get textFieldActiveSearchIconRight => const Color(0xFF747778); - @override - Color get textFieldDefaultSearchIconRight => const Color(0xFF747778); - @override - Color get textFieldErrorSearchIconRight => const Color(0xFF930006); - @override - Color get textFieldSuccessSearchIconRight => const Color(0xFF006C4D); - - // settings item level2 - @override - Color get settingsItem2ActiveBG => const Color(0xFFFFFFFF); - @override - Color get settingsItem2ActiveText => const Color(0xFF232323); - @override - Color get settingsItem2ActiveSub => const Color(0xFF8E9192); - - // radio buttons - @override - Color get radioButtonIconBorder => const Color(0xFF0056D2); - @override - Color get radioButtonIconBorderDisabled => const Color(0xFF8F909A); - @override - Color get radioButtonBorderEnabled => const Color(0xFF0056D2); - @override - Color get radioButtonBorderDisabled => const Color(0xFF8F909A); - @override - Color get radioButtonIconCircle => const Color(0xFF0056D2); - @override - Color get radioButtonIconEnabled => const Color(0xFF0056D2); - @override - Color get radioButtonTextEnabled => const Color(0xFF44464E); - @override - Color get radioButtonTextDisabled => const Color(0xFF44464E); - @override - Color get radioButtonLabelEnabled => const Color(0xFF8E9192); - @override - Color get radioButtonLabelDisabled => const Color(0xFF8E9192); - - // info text - @override - Color get infoItemBG => const Color(0xFFFFFFFF); - @override - Color get infoItemLabel => const Color(0xFF8E9192); - @override - Color get infoItemText => const Color(0xFF232323); - @override - Color get infoItemIcons => const Color(0xFF0056D2); - - // popup - @override - Color get popupBG => const Color(0xFFFFFFFF); - - // currency list - @override - Color get currencyListItemBG => const Color(0xFFF9F9FC); - - // bottom nav - @override - Color get stackWalletBG => const Color(0xFFFFFFFF); - @override - Color get stackWalletMid => const Color(0xFFFFFFFF); - @override - Color get stackWalletBottom => const Color(0xFF232323); - @override - Color get bottomNavShadow => const Color(0xFF282E33); - - @override - Color get favoriteStarActive => infoItemIcons; - @override - Color get favoriteStarInactive => textSubtitle3; - - @override - Color get splash => const Color(0x358E9192); - @override - Color get highlight => const Color(0x44A9ACAC); - @override - Color get warningForeground => textDark; - @override - Color get warningBackground => const Color(0xFFFFDAD3); - @override - Color get loadingOverlayTextColor => const Color(0xFFF7F7F7); - @override - Color get myStackContactIconBG => textFieldDefaultBG; - @override - Color get textConfirmTotalAmount => const Color(0xFF232323); - @override - Color get textSelectedWordTableItem => const Color(0xFF232323); - - //rate type toggle - @override - Color get rateTypeToggleColorOn => textFieldDefaultBG; - @override - Color get rateTypeToggleColorOff => popupBG; - @override - Color get rateTypeToggleDesktopColorOn => textFieldDefaultBG; - @override - Color get rateTypeToggleDesktopColorOff => buttonBackSecondary; - - // token view colors - @override - Color get ethTagText => const Color(0xFFFFFFFF); - @override - Color get ethTagBG => const Color(0xFF4D5798); - @override - Color get ethWalletTagText => const Color(0xFF4D5798); - @override - Color get ethWalletTagBG => const Color(0xFFF0F3FD); - @override - Color get tokenSummaryTextPrimary => const Color(0xFF232323); - @override - Color get tokenSummaryTextSecondary => const Color(0xFF8488AB); - @override - Color get tokenSummaryBG => const Color(0xFFE9EAFF); - @override - Color get tokenSummaryButtonBG => const Color(0xFFFFFFFF); - @override - Color get tokenSummaryIcon => const Color(0xFF424A97); - - @override - BoxShadow get standardBoxShadow => BoxShadow( - color: shadow, - spreadRadius: 3, - blurRadius: 4, - ); - - @override - BoxShadow? get homeViewButtonBarBoxShadow => BoxShadow( - color: shadow, - spreadRadius: 3, - blurRadius: 4, - ); -} diff --git a/lib/utilities/theme/color_theme.dart b/lib/utilities/theme/color_theme.dart deleted file mode 100644 index 879c7be71..000000000 --- a/lib/utilities/theme/color_theme.dart +++ /dev/null @@ -1,349 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:stackwallet/utilities/enums/coin_enum.dart'; -import 'package:stackwallet/utilities/theme/chan_colors.dart'; -import 'package:stackwallet/utilities/theme/dark_colors.dart'; -import 'package:stackwallet/utilities/theme/forest_colors.dart'; -import 'package:stackwallet/utilities/theme/fruit_sorbet_colors.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/ocean_breeze_colors.dart'; -import 'package:stackwallet/utilities/theme/oled_black_colors.dart'; -import 'package:stackwallet/utilities/theme/oled_chans_colors.dart'; -import 'package:stackwallet/utilities/theme/orange_colors.dart'; - -enum ThemeType { - light, - dark, - oceanBreeze, - oledBlack, - orange, - fruitSorbet, - forest, - chan, - darkChans; -} - -// adjust this file - -extension ThemeTypeExt on ThemeType { - static ThemeType fromName(String name) { - switch (name) { - case "light": - return ThemeType.light; - case "chan": - return ThemeType.chan; - case "dark": - return ThemeType.dark; - case "oceanBreeze": - return ThemeType.oceanBreeze; - case "oledBlack": - return ThemeType.oledBlack; - case "orange": - return ThemeType.orange; - case "fruitSorbet": - return ThemeType.fruitSorbet; - case "forest": - return ThemeType.forest; - case "darkChans": - return ThemeType.darkChans; - default: - throw ArgumentError("Invalid theme name"); - } - } - - StackColorTheme get colorTheme { - switch (this) { - case ThemeType.light: - return LightColors(); - case ThemeType.chan: - return ChanColors(); - case ThemeType.dark: - return DarkColors(); - case ThemeType.oceanBreeze: - return OceanBreezeColors(); - case ThemeType.oledBlack: - return OledBlackColors(); - case ThemeType.orange: - return OrangeColors(); - case ThemeType.fruitSorbet: - return FruitSorbetColors(); - case ThemeType.forest: - return ForestColors(); - case ThemeType.darkChans: - return DarkChansColors(); - } - } - - String get prettyName { - switch (this) { - case ThemeType.light: - return "Light"; - case ThemeType.chan: - return "Crypto Chans"; - case ThemeType.dark: - return "Dark"; - case ThemeType.oceanBreeze: - return "Ocean Breeze"; - case ThemeType.oledBlack: - return "OLED Black"; - case ThemeType.orange: - return "Orange"; - case ThemeType.fruitSorbet: - return "Fruit Sorbet"; - case ThemeType.forest: - return "Forest"; - case ThemeType.darkChans: - return "Dark Chans"; - } - } -} - -abstract class StackColorTheme { - ThemeType get themeType; - Brightness get brightness; - - Color get background; - Color get backgroundAppBar; - - Gradient? get gradientBackground; - - Color get overlay; - - Color get accentColorBlue; - Color get accentColorGreen; - Color get accentColorYellow; - Color get accentColorRed; - Color get accentColorOrange; - Color get accentColorDark; - - Color get shadow; - - Color get textDark; - Color get textDark2; - Color get textDark3; - Color get textSubtitle1; - Color get textSubtitle2; - Color get textSubtitle3; - Color get textSubtitle4; - Color get textSubtitle5; - Color get textSubtitle6; - Color get textWhite; - Color get textFavoriteCard; - Color get textError; - Color get textRestore; - -// button background - Color get buttonBackPrimary; - Color get buttonBackSecondary; - Color get buttonBackPrimaryDisabled; - Color get buttonBackSecondaryDisabled; - Color get buttonBackBorder; - Color get buttonBackBorderDisabled; - Color get buttonBackBorderSecondary; - Color get buttonBackBorderSecondaryDisabled; - Color get numberBackDefault; - Color get numpadBackDefault; - Color get bottomNavBack; - -// button text/element - Color get buttonTextPrimary; - Color get buttonTextSecondary; - Color get buttonTextPrimaryDisabled; - Color get buttonTextSecondaryDisabled; - Color get buttonTextBorder; - Color get buttonTextDisabled; - Color get buttonTextBorderless; - Color get buttonTextBorderlessDisabled; - Color get numberTextDefault; - Color get numpadTextDefault; - Color get bottomNavText; - Color get customTextButtonEnabledText; - Color get customTextButtonDisabledText; - -// switch background - Color get switchBGOn; - Color get switchBGOff; - Color get switchBGDisabled; - -// switch circle - Color get switchCircleOn; - Color get switchCircleOff; - Color get switchCircleDisabled; - -// step indicator background - Color get stepIndicatorBGCheck; - Color get stepIndicatorBGNumber; - Color get stepIndicatorBGInactive; - Color get stepIndicatorBGLines; - Color get stepIndicatorBGLinesInactive; - Color get stepIndicatorIconText; - Color get stepIndicatorIconNumber; - Color get stepIndicatorIconInactive; - -// checkbox - Color get checkboxBGChecked; - Color get checkboxBorderEmpty; - Color get checkboxBGDisabled; - Color get checkboxIconChecked; - Color get checkboxIconDisabled; - Color get checkboxTextLabel; - -// snack bar - Color get snackBarBackSuccess; - Color get snackBarBackError; - Color get snackBarBackInfo; - Color get snackBarTextSuccess; - Color get snackBarTextError; - Color get snackBarTextInfo; - -// icons - Color get bottomNavIconBack; - Color get bottomNavIconIcon; - Color get topNavIconPrimary; - Color get topNavIconGreen; - Color get topNavIconYellow; - Color get topNavIconRed; - Color get settingsIconBack; - Color get settingsIconIcon; - Color get settingsIconBack2; - Color get settingsIconElement; - -// text field - Color get textFieldActiveBG; - Color get textFieldDefaultBG; - Color get textFieldErrorBG; - Color get textFieldSuccessBG; - Color get textFieldErrorBorder; - Color get textFieldSuccessBorder; - Color get textFieldActiveSearchIconLeft; - Color get textFieldDefaultSearchIconLeft; - Color get textFieldErrorSearchIconLeft; - Color get textFieldSuccessSearchIconLeft; - Color get textFieldActiveText; - Color get textFieldDefaultText; - Color get textFieldErrorText; - Color get textFieldSuccessText; - Color get textFieldActiveLabel; - Color get textFieldErrorLabel; - Color get textFieldSuccessLabel; - Color get textFieldActiveSearchIconRight; - Color get textFieldDefaultSearchIconRight; - Color get textFieldErrorSearchIconRight; - Color get textFieldSuccessSearchIconRight; - -// settings item level2 - Color get settingsItem2ActiveBG; - Color get settingsItem2ActiveText; - Color get settingsItem2ActiveSub; - -// radio buttons - Color get radioButtonIconBorder; - Color get radioButtonIconBorderDisabled; - Color get radioButtonBorderEnabled; - Color get radioButtonBorderDisabled; - Color get radioButtonIconCircle; - Color get radioButtonIconEnabled; - Color get radioButtonTextEnabled; - Color get radioButtonTextDisabled; - Color get radioButtonLabelEnabled; - Color get radioButtonLabelDisabled; - -// info text - Color get infoItemBG; - Color get infoItemLabel; - Color get infoItemText; - Color get infoItemIcons; - -// popup - Color get popupBG; - -// currency list - Color get currencyListItemBG; - -// bottom nav - Color get stackWalletBG; - Color get stackWalletMid; - Color get stackWalletBottom; - Color get bottomNavShadow; - - Color get favoriteStarActive; - Color get favoriteStarInactive; - - Color get splash; - Color get highlight; - Color get warningForeground; - Color get warningBackground; - - Color get loadingOverlayTextColor; - Color get myStackContactIconBG; - Color get textConfirmTotalAmount; - Color get textSelectedWordTableItem; - -// rate type toggle - Color get rateTypeToggleColorOn; - Color get rateTypeToggleColorOff; - Color get rateTypeToggleDesktopColorOn; - Color get rateTypeToggleDesktopColorOff; - - // token view colors - Color get ethTagText; - Color get ethTagBG; - Color get ethWalletTagText; - Color get ethWalletTagBG; - Color get tokenSummaryTextPrimary; - Color get tokenSummaryTextSecondary; - Color get tokenSummaryBG; - Color get tokenSummaryButtonBG; - Color get tokenSummaryIcon; - - BoxShadow get standardBoxShadow; - BoxShadow? get homeViewButtonBarBoxShadow; -} -// 0xFFFFD8CE - -class CoinThemeColor { - const CoinThemeColor(); - - Color get bitcoin => const Color(0xFFFCC17B); - Color get litecoin => const Color(0xFF7FA6E1); - Color get bitcoincash => const Color(0xFF7BCFB8); - Color get firo => const Color(0xFFFF897A); - Color get dogecoin => const Color(0xFFFFE079); - Color get epicCash => const Color(0xFFC5C7CB); - Color get ethereum => const Color(0xFFA7ADE9); - Color get monero => const Color(0xFFFF9E6B); - Color get namecoin => const Color(0xFF91B1E1); - Color get wownero => const Color(0xFFED80C1); - Color get particl => const Color(0xFF8175BD); - - Color forCoin(Coin coin) { - switch (coin) { - case Coin.bitcoin: - case Coin.bitcoinTestNet: - return bitcoin; - case Coin.litecoin: - case Coin.litecoinTestNet: - return litecoin; - case Coin.bitcoincash: - case Coin.bitcoincashTestnet: - return bitcoincash; - case Coin.dogecoin: - case Coin.dogecoinTestNet: - return dogecoin; - case Coin.epicCash: - return epicCash; - case Coin.ethereum: - return ethereum; - case Coin.firo: - case Coin.firoTestNet: - return firo; - case Coin.monero: - return monero; - case Coin.namecoin: - return namecoin; - case Coin.wownero: - return wownero; - case Coin.particl: - return particl; - } - } -} diff --git a/lib/utilities/theme/dark_colors.dart b/lib/utilities/theme/dark_colors.dart deleted file mode 100644 index 549bb677c..000000000 --- a/lib/utilities/theme/dark_colors.dart +++ /dev/null @@ -1,371 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; - -class DarkColors extends StackColorTheme { - @override - ThemeType get themeType => ThemeType.dark; - @override - Brightness get brightness => Brightness.dark; - - @override - Color get background => const Color(0xFF2A2D34); - @override - Color get backgroundAppBar => background; - @override - Gradient? get gradientBackground => null; - - @override - Color get overlay => const Color(0xFF111215); - - @override - Color get accentColorBlue => const Color(0xFF4C86E9); - @override - Color get accentColorGreen => const Color(0xFF4CC0A0); - @override - Color get accentColorYellow => const Color(0xFFF7D65D); - @override - Color get accentColorRed => const Color(0xFFD34E50); - @override - Color get accentColorOrange => const Color(0xFFFEA68D); - @override - Color get accentColorDark => const Color(0xFFF3F3F3); - - @override - Color get shadow => const Color(0x0F2D3132); - - @override - Color get textDark => const Color(0xFFF3F3F3); - @override - Color get textDark2 => const Color(0xFFDBDBDB); - @override - Color get textDark3 => const Color(0xFFEEEFF1); - @override - Color get textSubtitle1 => const Color(0xFF9E9E9E); - @override - Color get textSubtitle2 => const Color(0xFF969696); - @override - Color get textSubtitle3 => const Color(0xFFA9ACAC); - @override - Color get textSubtitle4 => const Color(0xFF8E9192); - @override - Color get textSubtitle5 => const Color(0xFF747778); - @override - Color get textSubtitle6 => const Color(0xFF414141); - @override - Color get textWhite => const Color(0xFF232323); - @override - Color get textFavoriteCard => const Color(0xFF232323); - @override - Color get textError => const Color(0xFFF37475); - @override - Color get textRestore => overlay; - - // button background - @override - Color get buttonBackPrimary => const Color(0xFF4C86E9); - @override - Color get buttonBackSecondary => const Color(0xFF444E5C); - @override - Color get buttonBackPrimaryDisabled => const Color(0xFF38517C); - @override - Color get buttonBackSecondaryDisabled => const Color(0xFF3B3F46); - @override - Color get buttonBackBorder => const Color(0xFF4C86E9); - @override - Color get buttonBackBorderDisabled => const Color(0xFF314265); - @override - Color get buttonBackBorderSecondary => buttonBackSecondary; - @override - Color get buttonBackBorderSecondaryDisabled => buttonBackSecondaryDisabled; - - @override - Color get numberBackDefault => const Color(0xFF484B51); - @override - Color get numpadBackDefault => const Color(0xFF4C86E9); - @override - Color get bottomNavBack => const Color(0xFF3E4148); - - // button text/element - @override - Color get buttonTextPrimary => const Color(0xFFFFFFFF); - @override - Color get buttonTextSecondary => const Color(0xFFFFFFFF); - @override - Color get buttonTextPrimaryDisabled => const Color(0xFFFFFFFF); - @override - Color get buttonTextSecondaryDisabled => const Color(0xFF6A6C71); - @override - Color get buttonTextBorder => const Color(0xFF4C86E9); - @override - Color get buttonTextDisabled => const Color(0xFF314265); - @override - Color get buttonTextBorderless => const Color(0xFF4C86E9); - @override - Color get buttonTextBorderlessDisabled => const Color(0xFFB6B6B6); - @override - Color get numberTextDefault => const Color(0xFFFFFFFF); - @override - Color get numpadTextDefault => const Color(0xFFFFFFFF); - @override - Color get bottomNavText => const Color(0xFFFFFFFF); - @override - Color get customTextButtonEnabledText => buttonTextBorderless; - @override - Color get customTextButtonDisabledText => textSubtitle1; - - // switch - @override - Color get switchBGOn => const Color(0xFF4C86E9); - @override - Color get switchBGOff => const Color(0xFFC1D9FF); - @override - Color get switchBGDisabled => const Color(0xFFB5B7BA); - @override - Color get switchCircleOn => const Color(0xFFC9DDFF); - @override - Color get switchCircleOff => const Color(0xFFFFFFFF); - @override - Color get switchCircleDisabled => const Color(0xFFFFFFFF); - - // step indicator background - @override - Color get stepIndicatorBGCheck => const Color(0xFF4C86E9); - @override - Color get stepIndicatorBGNumber => const Color(0xFF4C86E9); - @override - Color get stepIndicatorBGInactive => const Color(0xFF3B3F46); - @override - Color get stepIndicatorBGLines => const Color(0xFF4C86E9); - @override - Color get stepIndicatorBGLinesInactive => const Color(0xFF3B3F46); - @override - Color get stepIndicatorIconText => const Color(0xFFFFFFFF); - @override - Color get stepIndicatorIconNumber => const Color(0xFFFFFFFF); - @override - Color get stepIndicatorIconInactive => const Color(0xFF747474); - - // checkbox - @override - Color get checkboxBGChecked => const Color(0xFF4C86E9); - @override - Color get checkboxBorderEmpty => const Color(0xFF8E9192); - @override - Color get checkboxBGDisabled => const Color(0xFFADC7EC); - @override - Color get checkboxIconChecked => const Color(0xFFFFFFFF); - @override - Color get checkboxIconDisabled => const Color(0xFFFFFFFF); - @override - Color get checkboxTextLabel => const Color(0xFFFFFFFF); - - // snack bar - @override - Color get snackBarBackSuccess => const Color(0xFF8EF5C3); - @override - Color get snackBarBackError => const Color(0xFFFFB4A9); - @override - Color get snackBarBackInfo => const Color(0xFFB4C4FF); - @override - Color get snackBarTextSuccess => const Color(0xFF003921); - @override - Color get snackBarTextError => const Color(0xFF690001); - @override - Color get snackBarTextInfo => const Color(0xFF00297A); - - // icons - @override - Color get bottomNavIconBack => const Color(0xFF7F8185); - @override - Color get bottomNavIconIcon => const Color(0xFFFFFFFF); - - @override - Color get topNavIconPrimary => const Color(0xFFFFFFFF); - @override - Color get topNavIconGreen => const Color(0xFF4CC0A0); - @override - Color get topNavIconYellow => const Color(0xFFF7D65D); - @override - Color get topNavIconRed => const Color(0xFFD34E50); - - @override - Color get settingsIconBack => const Color(0xFFE0E3E3); - @override - Color get settingsIconIcon => const Color(0xFF232323); - @override - Color get settingsIconBack2 => const Color(0xFF94D6C4); - @override - Color get settingsIconElement => const Color(0xFF00A578); - - // text field - @override - Color get textFieldActiveBG => const Color(0xFF4C5360); - @override - Color get textFieldDefaultBG => const Color(0xFF444953); - @override - Color get textFieldErrorBG => const Color(0xFFFFB4A9); - @override - Color get textFieldSuccessBG => const Color(0xFF8EF5C3); - @override - Color get textFieldErrorBorder => textFieldErrorBG; - @override - Color get textFieldSuccessBorder => textFieldSuccessBG; - - @override - Color get textFieldActiveSearchIconLeft => const Color(0xFFA9ACAC); - @override - Color get textFieldDefaultSearchIconLeft => const Color(0xFFA9ACAC); - @override - Color get textFieldErrorSearchIconLeft => const Color(0xFF690001); - @override - Color get textFieldSuccessSearchIconLeft => const Color(0xFF003921); - - @override - Color get textFieldActiveText => const Color(0xFFFFFFFF); - @override - Color get textFieldDefaultText => const Color(0xFFA9ACAC); - @override - Color get textFieldErrorText => const Color(0xFF000000); - @override - Color get textFieldSuccessText => const Color(0xFF000000); - - @override - Color get textFieldActiveLabel => const Color(0xFFA9ACAC); - @override - Color get textFieldErrorLabel => const Color(0xFF690001); - @override - Color get textFieldSuccessLabel => const Color(0xFF003921); - - @override - Color get textFieldActiveSearchIconRight => const Color(0xFFC4C7C7); - @override - Color get textFieldDefaultSearchIconRight => const Color(0xFF747778); - @override - Color get textFieldErrorSearchIconRight => const Color(0xFF690001); - @override - Color get textFieldSuccessSearchIconRight => const Color(0xFF003921); - - // settings item level2 - @override - Color get settingsItem2ActiveBG => const Color(0xFF484B51); - @override - Color get settingsItem2ActiveText => const Color(0xFFFFFFFF); - @override - Color get settingsItem2ActiveSub => const Color(0xFF9E9E9E); - - // radio buttons - @override - Color get radioButtonIconBorder => const Color(0xFF4C86E9); - @override - Color get radioButtonIconBorderDisabled => const Color(0xFF9E9E9E); - @override - Color get radioButtonBorderEnabled => const Color(0xFF4C86E9); - @override - Color get radioButtonBorderDisabled => const Color(0xFFCDCDCD); - @override - Color get radioButtonIconCircle => const Color(0xFF9E9E9E); - @override - Color get radioButtonIconEnabled => const Color(0xFF4C86E9); - @override - Color get radioButtonTextEnabled => const Color(0xFF44464E); - @override - Color get radioButtonTextDisabled => const Color(0xFF44464E); - @override - Color get radioButtonLabelEnabled => const Color(0xFF8E9192); - @override - Color get radioButtonLabelDisabled => const Color(0xFF8E9192); - - // info text - @override - Color get infoItemBG => const Color(0xFF333942); - @override - Color get infoItemLabel => const Color(0xFF9E9E9E); - @override - Color get infoItemText => const Color(0xFFFFFFFF); - @override - Color get infoItemIcons => const Color(0xFF4C86E9); - - // popup - @override - Color get popupBG => const Color(0xFF333942); - - // currency list - @override - Color get currencyListItemBG => const Color(0xFF484B51); - - // bottom nav - @override - Color get stackWalletBG => const Color(0xFF35383D); - @override - Color get stackWalletMid => const Color(0xFF292D34); - @override - Color get stackWalletBottom => const Color(0xFFFFFFFF); - @override - Color get bottomNavShadow => const Color(0xFF282E33); - - @override - Color get favoriteStarActive => accentColorYellow; - @override - Color get favoriteStarInactive => textSubtitle2; - - @override - Color get splash => const Color(0x358E9192); - @override - Color get highlight => const Color(0x44A9ACAC); - @override - Color get warningForeground => snackBarTextError; - @override - Color get warningBackground => const Color(0xFFFFB4A9); - @override - Color get loadingOverlayTextColor => const Color(0xFFF7F7F7); - @override - Color get myStackContactIconBG => const Color(0x88747778); - @override - Color get textConfirmTotalAmount => const Color(0xFF003921); - @override - Color get textSelectedWordTableItem => const Color(0xFF00297A); - - //rate type toggle - @override - Color get rateTypeToggleColorOn => textFieldDefaultBG; - @override - Color get rateTypeToggleColorOff => popupBG; - @override - Color get rateTypeToggleDesktopColorOn => textFieldDefaultBG; - @override - Color get rateTypeToggleDesktopColorOff => buttonBackSecondary; - - // token view colors - @override - Color get ethTagText => const Color(0xFFFFFFFF); - @override - Color get ethTagBG => const Color(0xFF5761A2); - @override - Color get ethWalletTagText => const Color(0xFFE7EBFF); - @override - Color get ethWalletTagBG => const Color(0xFF414868); - @override - Color get tokenSummaryTextPrimary => const Color(0xFFFFFFFF); - @override - Color get tokenSummaryTextSecondary => const Color(0xFFC9D0FF); - @override - Color get tokenSummaryBG => const Color(0xFF464C73); - @override - Color get tokenSummaryButtonBG => const Color(0xFFC9D0FF); - @override - Color get tokenSummaryIcon => const Color(0xFF252C78); - - @override - BoxShadow get standardBoxShadow => BoxShadow( - color: shadow, - spreadRadius: 3, - blurRadius: 4, - ); - - @override - BoxShadow? get homeViewButtonBarBoxShadow => BoxShadow( - color: shadow, - spreadRadius: 3, - blurRadius: 4, - ); -} diff --git a/lib/utilities/theme/forest_colors.dart b/lib/utilities/theme/forest_colors.dart deleted file mode 100644 index 0fd4b1774..000000000 --- a/lib/utilities/theme/forest_colors.dart +++ /dev/null @@ -1,371 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; - -class ForestColors extends StackColorTheme { - @override - ThemeType get themeType => ThemeType.forest; - @override - Brightness get brightness => Brightness.light; - - @override - Color get background => const Color(0xFFF3FAF5); - @override - Color get backgroundAppBar => background; - @override - Gradient? get gradientBackground => null; - - @override - Color get overlay => const Color(0xFF111215); - - @override - Color get accentColorBlue => const Color(0xFF077CBE); - @override - Color get accentColorGreen => const Color(0xFF00A591); - @override - Color get accentColorYellow => const Color(0xFFF4C517); - @override - Color get accentColorRed => const Color(0xFFD1382D); - @override - Color get accentColorOrange => const Color(0xFFFF985F); - @override - Color get accentColorDark => const Color(0xFF22867A); - - @override - Color get shadow => const Color(0x0F2D3132); - - @override - Color get textDark => const Color(0xFF232323); - @override - Color get textDark2 => const Color(0xFF333333); - @override - Color get textDark3 => const Color(0xFF696B6C); - @override - Color get textSubtitle1 => const Color(0xFF7E8284); - @override - Color get textSubtitle2 => const Color(0xFF919393); - @override - Color get textSubtitle3 => const Color(0xFFB0B2B2); - @override - Color get textSubtitle4 => const Color(0xFFD1D3D3); - @override - Color get textSubtitle5 => const Color(0xFFDEDFE1); - @override - Color get textSubtitle6 => const Color(0xFFF1F1F1); - @override - Color get textWhite => const Color(0xFFFFFFFF); - @override - Color get textFavoriteCard => const Color(0xFF232323); - @override - Color get textError => const Color(0xFF8D0006); - @override - Color get textRestore => overlay; - - // button background - @override - Color get buttonBackPrimary => const Color(0xFF22867A); - @override - Color get buttonBackSecondary => const Color(0xFFC2E2D5); - @override - Color get buttonBackPrimaryDisabled => const Color(0xFFBDDBCB); - @override - Color get buttonBackSecondaryDisabled => const Color(0xFFBDBDBD); - @override - Color get buttonBackBorder => const Color(0xFF22867A); - @override - Color get buttonBackBorderDisabled => const Color(0xFFBDD5DB); - @override - Color get buttonBackBorderSecondary => buttonBackSecondary; - @override - Color get buttonBackBorderSecondaryDisabled => buttonBackSecondaryDisabled; - - @override - Color get numberBackDefault => const Color(0xFFFFFFFF); - @override - Color get numpadBackDefault => const Color(0xFF22867A); - @override - Color get bottomNavBack => const Color(0xFFFFFFFF); - - // button text/element - @override - Color get buttonTextPrimary => const Color(0xFFFFFFFF); - @override - Color get buttonTextSecondary => const Color(0xFF232323); - @override - Color get buttonTextPrimaryDisabled => const Color(0xFFFFFFFF); - @override - Color get buttonTextSecondaryDisabled => const Color(0xFFBDD5DB); - @override - Color get buttonTextBorder => const Color(0xFFBDD5DB); - @override - Color get buttonTextDisabled => const Color(0xFF22867A); - @override - Color get buttonTextBorderless => const Color(0xFFFFFFFF); - @override - Color get buttonTextBorderlessDisabled => const Color(0xFF056EC6); - @override - Color get numberTextDefault => const Color(0xFF232323); - @override - Color get numpadTextDefault => const Color(0xFFFFFFFF); - @override - Color get bottomNavText => const Color(0xFF22867A); - @override - Color get customTextButtonEnabledText => infoItemIcons; - @override - Color get customTextButtonDisabledText => textSubtitle1; - - // switch - @override - Color get switchBGOn => const Color(0xFF2DAB9C); - @override - Color get switchBGOff => const Color(0xFFD6F0E8); - @override - Color get switchBGDisabled => const Color(0xFFC5C6C9); - @override - Color get switchCircleOn => const Color(0xFFDEFFF2); - @override - Color get switchCircleOff => const Color(0xFFFBFCFF); - @override - Color get switchCircleDisabled => const Color(0xFFFBFCFF); - - // step indicator background - @override - Color get stepIndicatorBGCheck => const Color(0xFFBBF0DB); - @override - Color get stepIndicatorBGNumber => const Color(0xFFCDD9FF); - @override - Color get stepIndicatorBGInactive => const Color(0xFFD2EDE5); - @override - Color get stepIndicatorBGLines => const Color(0xFF90B8DC); - @override - Color get stepIndicatorBGLinesInactive => const Color(0xFFBCEAD9); - @override - Color get stepIndicatorIconText => const Color(0xFF22867A); - @override - Color get stepIndicatorIconNumber => const Color(0xFF005BAF); - @override - Color get stepIndicatorIconInactive => const Color(0xFFD4DFFF); - - // checkbox - @override - Color get checkboxBGChecked => const Color(0xFF22867A); - @override - Color get checkboxBorderEmpty => const Color(0xFF8C8F90); - @override - Color get checkboxBGDisabled => const Color(0xFFB0C9ED); - @override - Color get checkboxIconChecked => const Color(0xFFFFFFFF); - @override - Color get checkboxIconDisabled => const Color(0xFFFFFFFF); - @override - Color get checkboxTextLabel => const Color(0xFF232323); - - // snack bar - @override - Color get snackBarBackSuccess => const Color(0xFFADD6D2); - @override - Color get snackBarBackError => const Color(0xFFADD6D2); - @override - Color get snackBarBackInfo => const Color(0xFFCCD7FF); - @override - Color get snackBarTextSuccess => const Color(0xFF075547); - @override - Color get snackBarTextError => const Color(0xFF8D0006); - @override - Color get snackBarTextInfo => const Color(0xFF002569); - - // icons - @override - Color get bottomNavIconBack => const Color(0xFFA7C7CF); - @override - Color get bottomNavIconIcon => const Color(0xFF22867A); - - @override - Color get topNavIconPrimary => accentColorDark; //const Color(0xFF227386); - @override - Color get topNavIconGreen => accentColorDark; //const Color(0xFF00A591); - @override - Color get topNavIconYellow => const Color(0xFFFDD33A); - @override - Color get topNavIconRed => const Color(0xFFEA4649); - - @override - Color get settingsIconBack => const Color(0xFFE0E3E3); - @override - Color get settingsIconIcon => const Color(0xFF232323); - @override - Color get settingsIconBack2 => const Color(0xFF80D2C8); - @override - Color get settingsIconElement => const Color(0xFF00A591); - - // text field - @override - Color get textFieldActiveBG => const Color(0xFFE3FFF3); - @override - Color get textFieldDefaultBG => const Color(0xFFDDF3EA); - @override - Color get textFieldErrorBG => const Color(0xFFF6C7C3); - @override - Color get textFieldSuccessBG => const Color(0xFFADD6D2); - @override - Color get textFieldErrorBorder => textFieldErrorBG; - @override - Color get textFieldSuccessBorder => textFieldSuccessBG; - - @override - Color get textFieldActiveSearchIconLeft => const Color(0xFF86898C); - @override - Color get textFieldDefaultSearchIconLeft => const Color(0xFF86898C); - @override - Color get textFieldErrorSearchIconLeft => const Color(0xFF8D0006); - @override - Color get textFieldSuccessSearchIconLeft => const Color(0xFF006C4D); - - @override - Color get textFieldActiveText => const Color(0xFF232323); - @override - Color get textFieldDefaultText => const Color(0xFF86898C); - @override - Color get textFieldErrorText => const Color(0xFF000000); - @override - Color get textFieldSuccessText => const Color(0xFF000000); - - @override - Color get textFieldActiveLabel => const Color(0xFF86898C); - @override - Color get textFieldErrorLabel => const Color(0xFF8D0006); - @override - Color get textFieldSuccessLabel => const Color(0xFF077C6E); - - @override - Color get textFieldActiveSearchIconRight => const Color(0xFF22867A); - @override - Color get textFieldDefaultSearchIconRight => const Color(0xFF22867A); - @override - Color get textFieldErrorSearchIconRight => const Color(0xFF8D0006); - @override - Color get textFieldSuccessSearchIconRight => const Color(0xFF077C6E); - - // settings item level2 - @override - Color get settingsItem2ActiveBG => const Color(0xFFFFFFFF); - @override - Color get settingsItem2ActiveText => const Color(0xFF232323); - @override - Color get settingsItem2ActiveSub => const Color(0xFF8C8F90); - - // radio buttons - @override - Color get radioButtonIconBorder => const Color(0xFF056EC6); - @override - Color get radioButtonIconBorderDisabled => const Color(0xFF8C8D97); - @override - Color get radioButtonBorderEnabled => const Color(0xFF056EC6); - @override - Color get radioButtonBorderDisabled => const Color(0xFF8C8D97); - @override - Color get radioButtonIconCircle => const Color(0xFF056EC6); - @override - Color get radioButtonIconEnabled => const Color(0xFF056EC6); - @override - Color get radioButtonTextEnabled => const Color(0xFF42444B); - @override - Color get radioButtonTextDisabled => const Color(0xFF42444B); - @override - Color get radioButtonLabelEnabled => const Color(0xFF8C8F90); - @override - Color get radioButtonLabelDisabled => const Color(0xFF8C8F90); - - // info text - @override - Color get infoItemBG => const Color(0xFFFFFFFF); - @override - Color get infoItemLabel => const Color(0xFF838788); - @override - Color get infoItemText => const Color(0xFF232323); - @override - Color get infoItemIcons => const Color(0xFF056EC6); - - // popup - @override - Color get popupBG => const Color(0xFFFFFFFF); - - // currency list - @override - Color get currencyListItemBG => const Color(0xFFF0F5F7); - - // bottom nav - @override - Color get stackWalletBG => const Color(0xFFFFFFFF); - @override - Color get stackWalletMid => const Color(0xFFFFFFFF); - @override - Color get stackWalletBottom => const Color(0xFF232323); - @override - Color get bottomNavShadow => const Color(0xFF388192); - - @override - Color get favoriteStarActive => const Color(0xFFF4C517); - @override - Color get favoriteStarInactive => const Color(0xFFB0B2B2); - - @override - Color get splash => const Color(0xFF8E9192); - @override - Color get highlight => const Color(0xFFA9ACAC); - @override - Color get warningForeground => const Color(0xFF232323); - @override - Color get warningBackground => const Color(0xFFF6C7C3); - @override - Color get loadingOverlayTextColor => const Color(0xFFF7F7F7); - @override - Color get myStackContactIconBG => const Color(0xFFD8E7EB); - @override - Color get textConfirmTotalAmount => const Color(0xFF232323); - @override - Color get textSelectedWordTableItem => const Color(0xFF232323); - - //rate type toggle - @override - Color get rateTypeToggleColorOn => textFieldDefaultBG; - @override - Color get rateTypeToggleColorOff => popupBG; - @override - Color get rateTypeToggleDesktopColorOn => textFieldDefaultBG; - @override - Color get rateTypeToggleDesktopColorOff => buttonBackSecondary; - - // token view colors - @override - Color get ethTagText => const Color(0xFFFFFFFF); - @override - Color get ethTagBG => const Color(0xFF4D5798); - @override - Color get ethWalletTagText => const Color(0xFF4D5798); - @override - Color get ethWalletTagBG => const Color(0xFFEBEFFE); - @override - Color get tokenSummaryTextPrimary => const Color(0xFF232323); - @override - Color get tokenSummaryTextSecondary => const Color(0xFF4D5798); - @override - Color get tokenSummaryBG => const Color(0xFFFFFFFF); - @override - Color get tokenSummaryButtonBG => const Color(0xFFE9FBEF); - @override - Color get tokenSummaryIcon => const Color(0xFF22867A); - - @override - BoxShadow get standardBoxShadow => BoxShadow( - color: shadow, - spreadRadius: 3, - blurRadius: 4, - ); - - @override - BoxShadow? get homeViewButtonBarBoxShadow => BoxShadow( - color: shadow, - spreadRadius: 3, - blurRadius: 4, - ); -} diff --git a/lib/utilities/theme/fruit_sorbet_colors.dart b/lib/utilities/theme/fruit_sorbet_colors.dart deleted file mode 100644 index 86358aa6f..000000000 --- a/lib/utilities/theme/fruit_sorbet_colors.dart +++ /dev/null @@ -1,367 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; - -class FruitSorbetColors extends StackColorTheme { - @override - ThemeType get themeType => ThemeType.fruitSorbet; - @override - Brightness get brightness => Brightness.light; - - @override - Color get background => Colors.transparent; - @override - Color get backgroundAppBar => background; - @override - Gradient? get gradientBackground => null; - - @override - Color get overlay => const Color(0xFF111215); - - @override - Color get accentColorBlue => const Color(0xFF1276EB); - @override - Color get accentColorGreen => const Color(0xFF00A578); - @override - Color get accentColorYellow => const Color(0xFFFDC800); - @override - Color get accentColorRed => const Color(0xFFDD5869); - @override - Color get accentColorOrange => const Color(0xFFF8894B); - @override - Color get accentColorDark => const Color(0xFFF95369); - - @override - Color get shadow => const Color(0x0F2D3132); - - @override - Color get textDark => const Color(0xFF232323); - @override - Color get textDark2 => const Color(0xFF333333); - @override - Color get textDark3 => const Color(0xFF696B6C); - @override - Color get textSubtitle1 => const Color(0xFF7E8284); - @override - Color get textSubtitle2 => const Color(0xFF8E9192); - @override - Color get textSubtitle3 => const Color(0xFFB0B2B2); - @override - Color get textSubtitle4 => const Color(0xFFD1D3D3); - @override - Color get textSubtitle5 => const Color(0xFFDEDFE1); - @override - Color get textSubtitle6 => const Color(0xFFF1F1F1); - @override - Color get textWhite => const Color(0xFFFFFFFF); - @override - Color get textFavoriteCard => const Color(0xFF232323); - @override - Color get textError => const Color(0xFFA8000C); - @override - Color get textRestore => overlay; - - // button background - @override - Color get buttonBackPrimary => const Color(0xFFF95369); - @override - Color get buttonBackSecondary => const Color(0xFFFDCBD2); - @override - Color get buttonBackPrimaryDisabled => const Color(0xFFFDC3CB); - @override - Color get buttonBackSecondaryDisabled => const Color(0xFFFEEAED); - @override - Color get buttonBackBorder => const Color(0xFFF95369); - @override - Color get buttonBackBorderDisabled => const Color(0xFFFCA7B3); - @override - Color get buttonBackBorderSecondary => buttonBackBorder; - @override - Color get buttonBackBorderSecondaryDisabled => buttonBackSecondaryDisabled; - - @override - Color get numberBackDefault => const Color(0xFFFFF8EE); - @override - Color get numpadBackDefault => const Color(0xFFF95369); - @override - Color get bottomNavBack => const Color(0xFFFFFFFF); - @override - Color get customTextButtonEnabledText => buttonTextBorderless; - @override - Color get customTextButtonDisabledText => textSubtitle1; - - // button text/element - @override - Color get buttonTextPrimary => const Color(0xFFFFFFFF); - @override - Color get buttonTextSecondary => const Color(0xFF9D3241); - @override - Color get buttonTextPrimaryDisabled => const Color(0xFFFFFFFF); - @override - Color get buttonTextSecondaryDisabled => const Color(0xFFD8ADB3); - @override - Color get buttonTextBorder => const Color(0xFFF95369); - @override - Color get buttonTextDisabled => const Color(0xFFFFFFFF); - @override - Color get buttonTextBorderless => const Color(0xFFF95369); - @override - Color get buttonTextBorderlessDisabled => const Color(0xFFFFFFFF); - @override - Color get numberTextDefault => const Color(0xFF232323); - @override - Color get numpadTextDefault => const Color(0xFFFFFFFF); - @override - Color get bottomNavText => const Color(0xFFD12B41); - - // switch - @override - Color get switchBGOn => const Color(0xFFF95369); - @override - Color get switchBGOff => const Color(0xFFFCADB2); - @override - Color get switchBGDisabled => const Color(0xFFC5C6C9); - @override - Color get switchCircleOn => const Color(0xFFFFEEF0); - @override - Color get switchCircleOff => const Color(0xFFFFFCF5); - @override - Color get switchCircleDisabled => const Color(0xFFFFFCF5); - - // step indicator background - @override - Color get stepIndicatorBGCheck => const Color(0xFFFFC6AE); - @override - Color get stepIndicatorBGNumber => const Color(0xFFFFC6AE); - @override - Color get stepIndicatorBGInactive => const Color(0xFFBFBFBF); - @override - Color get stepIndicatorBGLines => const Color(0xFFF39774); - @override - Color get stepIndicatorBGLinesInactive => const Color(0xFFB3B3B3); - @override - Color get stepIndicatorIconText => const Color(0xFFE12F09); - @override - Color get stepIndicatorIconNumber => const Color(0xFFE12F09); - @override - Color get stepIndicatorIconInactive => const Color(0xFFFFCFBA); - - // checkbox - @override - Color get checkboxBGChecked => const Color(0xFFF95369); - @override - Color get checkboxBorderEmpty => const Color(0xFF8C8F90); - @override - Color get checkboxBGDisabled => const Color(0xFFFDB0AE); - @override - Color get checkboxIconChecked => const Color(0xFFFFFFFF); - @override - Color get checkboxIconDisabled => const Color(0xFFFFFFFF); - @override - Color get checkboxTextLabel => const Color(0xFF232323); - - // snack bar - @override - Color get snackBarBackSuccess => const Color(0xFFB7F0CC); - @override - Color get snackBarBackError => const Color(0xFFFCBDBA); - @override - Color get snackBarBackInfo => const Color(0xFFDAE2FF); - @override - Color get snackBarTextSuccess => const Color(0xFF2E7356); - @override - Color get snackBarTextError => const Color(0xFFBC0D20); - @override - Color get snackBarTextInfo => const Color(0xFF143E8C); - - // icons - @override - Color get bottomNavIconBack => const Color(0xFFFDBAC3); - @override - Color get bottomNavIconIcon => const Color(0xFFD12B41); - - @override - Color get topNavIconPrimary => const Color(0xFFF95369); - @override - Color get topNavIconGreen => const Color(0xFF00A578); - @override - Color get topNavIconYellow => const Color(0xFFF8894B); - @override - Color get topNavIconRed => const Color(0xFFD91B1B); - - @override - Color get settingsIconBack => const Color(0xFFFED7CA); - @override - Color get settingsIconIcon => const Color(0xFFF95369); - @override - Color get settingsIconBack2 => const Color(0xFF80D2BB); - @override - Color get settingsIconElement => const Color(0xFF00A578); - - // text field - @override - Color get textFieldActiveBG => const Color(0xFFF7EEE1); - @override - Color get textFieldDefaultBG => const Color(0xFFFFF8EE); - @override - Color get textFieldErrorBG => const Color(0xFFFCBDBA); - @override - Color get textFieldSuccessBG => const Color(0xFFB7F0CC); - @override - Color get textFieldErrorBorder => textFieldErrorBG; - @override - Color get textFieldSuccessBorder => textFieldSuccessBG; - - @override - Color get textFieldActiveSearchIconLeft => const Color(0xFF86898C); - @override - Color get textFieldDefaultSearchIconLeft => const Color(0xFF9A9DA0); - @override - Color get textFieldErrorSearchIconLeft => const Color(0xFFBC0D20); - @override - Color get textFieldSuccessSearchIconLeft => const Color(0xFF387D60); - - @override - Color get textFieldActiveText => const Color(0xFF232323); - @override - Color get textFieldDefaultText => const Color(0xFF86898C); - @override - Color get textFieldErrorText => const Color(0xFF232323); - @override - Color get textFieldSuccessText => const Color(0xFF232323); - - @override - Color get textFieldActiveLabel => const Color(0xFF86898C); - @override - Color get textFieldErrorLabel => const Color(0xFFBC0D20); - @override - Color get textFieldSuccessLabel => const Color(0xFF387D60); - - @override - Color get textFieldActiveSearchIconRight => const Color(0xFFF95369); - @override - Color get textFieldDefaultSearchIconRight => const Color(0xFFF95369); - @override - Color get textFieldErrorSearchIconRight => const Color(0xFFBC0D20); - @override - Color get textFieldSuccessSearchIconRight => const Color(0xFF387D60); - - // settings item level2 - @override - Color get settingsItem2ActiveBG => const Color(0xFFFFFFFF); - @override - Color get settingsItem2ActiveText => const Color(0xFF232323); - @override - Color get settingsItem2ActiveSub => const Color(0xFFFED7CA); - - // radio buttons - @override - Color get radioButtonIconBorder => const Color(0xFFF95369); - @override - Color get radioButtonIconBorderDisabled => const Color(0xFF8C8D97); - @override - Color get radioButtonBorderEnabled => const Color(0xFFF95369); - @override - Color get radioButtonBorderDisabled => const Color(0xFF8C8D97); - @override - Color get radioButtonIconCircle => const Color(0xFFF95369); - @override - Color get radioButtonIconEnabled => const Color(0xFFF95369); - @override - Color get radioButtonTextEnabled => const Color(0xFF42444B); - @override - Color get radioButtonTextDisabled => const Color(0xFF42444B); - @override - Color get radioButtonLabelEnabled => const Color(0xFF8C8F90); - @override - Color get radioButtonLabelDisabled => const Color(0xFF8C8F90); - - // info text - @override - Color get infoItemBG => const Color(0xFFFFF8EE); - @override - Color get infoItemLabel => const Color(0xFF838788); - @override - Color get infoItemText => const Color(0xFF232323); - @override - Color get infoItemIcons => const Color(0xFF0A6CE1); - - // popup - @override - Color get popupBG => const Color(0xFFFFF8EE); - - // currency list - @override - Color get currencyListItemBG => const Color(0xFFFFEBE0); - - // bottom nav - @override - Color get stackWalletBG => const Color(0xFFFFFFFF); - @override - Color get stackWalletMid => const Color(0xFF666666); - @override - Color get stackWalletBottom => const Color(0xFF232323); - @override - Color get bottomNavShadow => const Color(0xFFFE7160); - - @override - Color get favoriteStarActive => infoItemIcons; - @override - Color get favoriteStarInactive => textSubtitle3; - - @override - Color get splash => const Color(0xFF8E9192); - @override - Color get highlight => const Color(0xFFA9ACAC); - @override - Color get warningForeground => textDark; - @override - Color get warningBackground => const Color(0xFFFCBDBA); - @override - Color get loadingOverlayTextColor => const Color(0xFFF7F7F7); - @override - Color get myStackContactIconBG => textFieldDefaultBG; - @override - Color get textConfirmTotalAmount => const Color(0xFF232323); - @override - Color get textSelectedWordTableItem => const Color(0xFF232323); - - //rate type toggle - @override - Color get rateTypeToggleColorOn => const Color(0xFFFFD8CE); - @override - Color get rateTypeToggleColorOff => popupBG; - @override - Color get rateTypeToggleDesktopColorOn => const Color(0xFFFFD8CE); - @override - Color get rateTypeToggleDesktopColorOff => popupBG; - - // token view colors - @override - Color get ethTagText => const Color(0xFFFFFFFF); - @override - Color get ethTagBG => const Color(0xFF4D5798); - @override - Color get ethWalletTagText => const Color(0xFF4D5798); - @override - Color get ethWalletTagBG => const Color(0xFFEBEFFE); - @override - Color get tokenSummaryTextPrimary => const Color(0xFF232323); - @override - Color get tokenSummaryTextSecondary => const Color(0xFF4D5798); - @override - Color get tokenSummaryBG => const Color(0xFFFFF8EE); - @override - Color get tokenSummaryButtonBG => const Color(0xFFFEDED4); - @override - Color get tokenSummaryIcon => const Color(0xFFF62A45); - - @override - BoxShadow get standardBoxShadow => BoxShadow( - color: shadow, - spreadRadius: 3, - blurRadius: 4, - ); - - @override - BoxShadow? get homeViewButtonBarBoxShadow => null; -} diff --git a/lib/utilities/theme/light_colors.dart b/lib/utilities/theme/light_colors.dart deleted file mode 100644 index 8fa83da95..000000000 --- a/lib/utilities/theme/light_colors.dart +++ /dev/null @@ -1,371 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; - -class LightColors extends StackColorTheme { - @override - ThemeType get themeType => ThemeType.light; - @override - Brightness get brightness => Brightness.light; - - @override - Color get background => const Color(0xFFF7F7F7); - @override - Color get backgroundAppBar => background; - @override - Gradient? get gradientBackground => null; - - @override - Color get overlay => const Color(0xFF111215); - - @override - Color get accentColorBlue => const Color(0xFF0052DF); - @override - Color get accentColorGreen => const Color(0xFF4CC0A0); - @override - Color get accentColorYellow => const Color(0xFFF7D65D); - @override - Color get accentColorRed => const Color(0xFFD34E50); - @override - Color get accentColorOrange => const Color(0xFFFEA68D); - @override - Color get accentColorDark => const Color(0xFF232323); - - @override - Color get shadow => const Color(0x0F2D3132); - - @override - Color get textDark => const Color(0xFF232323); - @override - Color get textDark2 => const Color(0xFF414141); - @override - Color get textDark3 => const Color(0xFF747778); - @override - Color get textSubtitle1 => const Color(0xFF8E9192); - @override - Color get textSubtitle2 => const Color(0xFFA9ACAC); - @override - Color get textSubtitle3 => const Color(0xFFC4C7C7); - @override - Color get textSubtitle4 => const Color(0xFFE0E3E3); - @override - Color get textSubtitle5 => const Color(0xFFEEEFF1); - @override - Color get textSubtitle6 => const Color(0xFFF5F5F5); - @override - Color get textWhite => const Color(0xFFFFFFFF); - @override - Color get textFavoriteCard => const Color(0xFF232323); - @override - Color get textError => const Color(0xFF930006); - @override - Color get textRestore => overlay; - - // button background - @override - Color get buttonBackPrimary => const Color(0xFF232323); - @override - Color get buttonBackSecondary => const Color(0xFFE0E3E3); - @override - Color get buttonBackPrimaryDisabled => const Color(0xFFD7D7D7); - @override - Color get buttonBackSecondaryDisabled => const Color(0xFFF0F1F1); - @override - Color get buttonBackBorder => const Color(0xFF232323); - @override - Color get buttonBackBorderDisabled => const Color(0xFFB6B6B6); - @override - Color get buttonBackBorderSecondary => buttonBackSecondary; - @override - Color get buttonBackBorderSecondaryDisabled => buttonBackSecondaryDisabled; - - @override - Color get numberBackDefault => const Color(0xFFFFFFFF); - @override - Color get numpadBackDefault => const Color(0xFF232323); - @override - Color get bottomNavBack => const Color(0xFFFFFFFF); - - // button text/element - @override - Color get buttonTextPrimary => const Color(0xFFFFFFFF); - @override - Color get buttonTextSecondary => const Color(0xFF232323); - @override - Color get buttonTextPrimaryDisabled => const Color(0xFFF8F8F8); - @override - Color get buttonTextSecondaryDisabled => const Color(0xFFB7B7B7); - @override - Color get buttonTextBorder => const Color(0xFF232323); - @override - Color get buttonTextDisabled => const Color(0xFFB6B6B6); - @override - Color get buttonTextBorderless => const Color(0xFF0052DF); - @override - Color get buttonTextBorderlessDisabled => const Color(0xFFB6B6B6); - @override - Color get numberTextDefault => const Color(0xFF232323); - @override - Color get numpadTextDefault => const Color(0xFFFFFFFF); - @override - Color get bottomNavText => const Color(0xFF232323); - @override - Color get customTextButtonEnabledText => buttonTextBorderless; - @override - Color get customTextButtonDisabledText => textSubtitle1; - - // switch - @override - Color get switchBGOn => const Color(0xFF0052DF); - @override - Color get switchBGOff => const Color(0xFFD8E4FB); - @override - Color get switchBGDisabled => const Color(0xFFC5C6C9); - @override - Color get switchCircleOn => const Color(0xFFDAE2FF); - @override - Color get switchCircleOff => const Color(0xFFFBFCFF); - @override - Color get switchCircleDisabled => const Color(0xFFFBFCFF); - - // step indicator background - @override - Color get stepIndicatorBGCheck => const Color(0xFFD9E2FF); - @override - Color get stepIndicatorBGNumber => const Color(0xFFD9E2FF); - @override - Color get stepIndicatorBGInactive => const Color(0xFFCDCDCD); - @override - Color get stepIndicatorBGLines => const Color(0xFF0056D2); - @override - Color get stepIndicatorBGLinesInactive => const Color(0xFFCDCDCD); - @override - Color get stepIndicatorIconText => const Color(0xFF0056D2); - @override - Color get stepIndicatorIconNumber => const Color(0xFF0056D2); - @override - Color get stepIndicatorIconInactive => const Color(0xFFF7F7F7); - - // checkbox - @override - Color get checkboxBGChecked => const Color(0xFF0056D2); - @override - Color get checkboxBorderEmpty => const Color(0xFF8E9192); - @override - Color get checkboxBGDisabled => const Color(0xFFADC7EC); - @override - Color get checkboxIconChecked => const Color(0xFFFFFFFF); - @override - Color get checkboxIconDisabled => const Color(0xFFFFFFFF); - @override - Color get checkboxTextLabel => const Color(0xFF232323); - - // snack bar - @override - Color get snackBarBackSuccess => const Color(0xFFB9E9D4); - @override - Color get snackBarBackError => const Color(0xFFFFDAD4); - @override - Color get snackBarBackInfo => const Color(0xFFDAE2FF); - @override - Color get snackBarTextSuccess => const Color(0xFF006C4D); - @override - Color get snackBarTextError => const Color(0xFF930006); - @override - Color get snackBarTextInfo => const Color(0xFF002A78); - - // icons - @override - Color get bottomNavIconBack => const Color(0xFFA2A2A2); - @override - Color get bottomNavIconIcon => const Color(0xFF232323); - - @override - Color get topNavIconPrimary => const Color(0xFF232323); - @override - Color get topNavIconGreen => const Color(0xFF00A578); - @override - Color get topNavIconYellow => const Color(0xFFF4C517); - @override - Color get topNavIconRed => const Color(0xFFC00205); - - @override - Color get settingsIconBack => const Color(0xFFE0E3E3); - @override - Color get settingsIconIcon => const Color(0xFF232323); - @override - Color get settingsIconBack2 => const Color(0xFF94D6C4); - @override - Color get settingsIconElement => const Color(0xFF00A578); - - // text field - @override - Color get textFieldActiveBG => const Color(0xFFEEEFF1); - @override - Color get textFieldDefaultBG => const Color(0xFFEEEFF1); - @override - Color get textFieldErrorBG => const Color(0xFFFFDAD4); - @override - Color get textFieldSuccessBG => const Color(0xFFB9E9D4); - @override - Color get textFieldErrorBorder => textFieldErrorBG; - @override - Color get textFieldSuccessBorder => textFieldSuccessBG; - - @override - Color get textFieldActiveSearchIconLeft => const Color(0xFFA9ACAC); - @override - Color get textFieldDefaultSearchIconLeft => const Color(0xFFA9ACAC); - @override - Color get textFieldErrorSearchIconLeft => const Color(0xFF930006); - @override - Color get textFieldSuccessSearchIconLeft => const Color(0xFF006C4D); - - @override - Color get textFieldActiveText => const Color(0xFF232323); - @override - Color get textFieldDefaultText => const Color(0xFFA9ACAC); - @override - Color get textFieldErrorText => const Color(0xFF000000); - @override - Color get textFieldSuccessText => const Color(0xFF000000); - - @override - Color get textFieldActiveLabel => const Color(0xFFA9ACAC); - @override - Color get textFieldErrorLabel => const Color(0xFF930006); - @override - Color get textFieldSuccessLabel => const Color(0xFF006C4D); - - @override - Color get textFieldActiveSearchIconRight => const Color(0xFF747778); - @override - Color get textFieldDefaultSearchIconRight => const Color(0xFF747778); - @override - Color get textFieldErrorSearchIconRight => const Color(0xFF930006); - @override - Color get textFieldSuccessSearchIconRight => const Color(0xFF006C4D); - - // settings item level2 - @override - Color get settingsItem2ActiveBG => const Color(0xFFFFFFFF); - @override - Color get settingsItem2ActiveText => const Color(0xFF232323); - @override - Color get settingsItem2ActiveSub => const Color(0xFF8E9192); - - // radio buttons - @override - Color get radioButtonIconBorder => const Color(0xFF0056D2); - @override - Color get radioButtonIconBorderDisabled => const Color(0xFF8F909A); - @override - Color get radioButtonBorderEnabled => const Color(0xFF0056D2); - @override - Color get radioButtonBorderDisabled => const Color(0xFF8F909A); - @override - Color get radioButtonIconCircle => const Color(0xFF0056D2); - @override - Color get radioButtonIconEnabled => const Color(0xFF0056D2); - @override - Color get radioButtonTextEnabled => const Color(0xFF44464E); - @override - Color get radioButtonTextDisabled => const Color(0xFF44464E); - @override - Color get radioButtonLabelEnabled => const Color(0xFF8E9192); - @override - Color get radioButtonLabelDisabled => const Color(0xFF8E9192); - - // info text - @override - Color get infoItemBG => const Color(0xFFFFFFFF); - @override - Color get infoItemLabel => const Color(0xFF8E9192); - @override - Color get infoItemText => const Color(0xFF232323); - @override - Color get infoItemIcons => const Color(0xFF0056D2); - - // popup - @override - Color get popupBG => const Color(0xFFFFFFFF); - - // currency list - @override - Color get currencyListItemBG => const Color(0xFFF9F9FC); - - // bottom nav - @override - Color get stackWalletBG => const Color(0xFFFFFFFF); - @override - Color get stackWalletMid => const Color(0xFFFFFFFF); - @override - Color get stackWalletBottom => const Color(0xFF232323); - @override - Color get bottomNavShadow => const Color(0xFF282E33); - - @override - Color get favoriteStarActive => infoItemIcons; - @override - Color get favoriteStarInactive => textSubtitle3; - - @override - Color get splash => const Color(0x358E9192); - @override - Color get highlight => const Color(0x44A9ACAC); - @override - Color get warningForeground => textDark; - @override - Color get warningBackground => const Color(0xFFFFDAD3); - @override - Color get loadingOverlayTextColor => const Color(0xFFF7F7F7); - @override - Color get myStackContactIconBG => textFieldDefaultBG; - @override - Color get textConfirmTotalAmount => const Color(0xFF232323); - @override - Color get textSelectedWordTableItem => const Color(0xFF232323); - - //rate type toggle - @override - Color get rateTypeToggleColorOn => textFieldDefaultBG; - @override - Color get rateTypeToggleColorOff => popupBG; - @override - Color get rateTypeToggleDesktopColorOn => textFieldDefaultBG; - @override - Color get rateTypeToggleDesktopColorOff => buttonBackSecondary; - - // token view colors - @override - Color get ethTagText => const Color(0xFFFFFFFF); - @override - Color get ethTagBG => const Color(0xFF4D5798); - @override - Color get ethWalletTagText => const Color(0xFF4D5798); - @override - Color get ethWalletTagBG => const Color(0xFFF0F3FD); - @override - Color get tokenSummaryTextPrimary => const Color(0xFF232323); - @override - Color get tokenSummaryTextSecondary => const Color(0xFF8488AB); - @override - Color get tokenSummaryBG => const Color(0xFFE9EAFF); - @override - Color get tokenSummaryButtonBG => const Color(0xFFFFFFFF); - @override - Color get tokenSummaryIcon => const Color(0xFF424A97); - - @override - BoxShadow get standardBoxShadow => BoxShadow( - color: shadow, - spreadRadius: 3, - blurRadius: 4, - ); - - @override - BoxShadow? get homeViewButtonBarBoxShadow => BoxShadow( - color: shadow, - spreadRadius: 3, - blurRadius: 4, - ); -} diff --git a/lib/utilities/theme/ocean_breeze_colors.dart b/lib/utilities/theme/ocean_breeze_colors.dart deleted file mode 100644 index dc2e7268b..000000000 --- a/lib/utilities/theme/ocean_breeze_colors.dart +++ /dev/null @@ -1,378 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; - -class OceanBreezeColors extends StackColorTheme { - @override - ThemeType get themeType => ThemeType.oceanBreeze; - @override - Brightness get brightness => Brightness.light; - - @override - Color get background => Colors.transparent; - @override - Color get backgroundAppBar => const Color(0xFFF3F7FA); - @override - Gradient? get gradientBackground => const LinearGradient( - begin: Alignment.topCenter, - end: Alignment.bottomCenter, - colors: [ - Color(0xFFF3F7FA), - Color(0xFFE8F2F9), - ], - ); - - @override - Color get overlay => const Color(0xFF111215); - - @override - Color get accentColorBlue => const Color(0xFF077CBE); - @override - Color get accentColorGreen => const Color(0xFF00A591); - @override - Color get accentColorYellow => const Color(0xFFF4C517); - @override - Color get accentColorRed => const Color(0xFFD1382D); - @override - Color get accentColorOrange => const Color(0xFFFF985F); - @override - Color get accentColorDark => const Color(0xFF227386); - - @override - Color get shadow => const Color(0x0F2D3132); - - @override - Color get textDark => const Color(0xFF232323); - @override - Color get textDark2 => const Color(0xFF333333); - @override - Color get textDark3 => const Color(0xFF696B6C); - @override - Color get textSubtitle1 => const Color(0xFF7E8284); - @override - Color get textSubtitle2 => const Color(0xFF919393); - @override - Color get textSubtitle3 => const Color(0xFFB0B2B2); - @override - Color get textSubtitle4 => const Color(0xFFD1D3D3); - @override - Color get textSubtitle5 => const Color(0xFFDEDFE1); - @override - Color get textSubtitle6 => const Color(0xFFF1F1F1); - @override - Color get textWhite => const Color(0xFFFFFFFF); - @override - Color get textFavoriteCard => const Color(0xFF232323); - @override - Color get textError => const Color(0xFF8D0006); - @override - Color get textRestore => overlay; - - // button background - @override - Color get buttonBackPrimary => const Color(0xFF227386); - @override - Color get buttonBackSecondary => const Color(0xFFC2DAE2); - @override - Color get buttonBackPrimaryDisabled => const Color(0xFFBDD5DB); - @override - Color get buttonBackSecondaryDisabled => const Color(0xFFBDBDBD); - @override - Color get buttonBackBorder => const Color(0xFF227386); - @override - Color get buttonBackBorderDisabled => const Color(0xFFBDD5DB); - @override - Color get buttonBackBorderSecondary => buttonBackSecondary; - @override - Color get buttonBackBorderSecondaryDisabled => buttonBackSecondaryDisabled; - - @override - Color get numberBackDefault => const Color(0xFFFFFFFF); - @override - Color get numpadBackDefault => const Color(0xFF227386); - @override - Color get bottomNavBack => const Color(0xFFFFFFFF); - - // button text/element - @override - Color get buttonTextPrimary => const Color(0xFFFFFFFF); - @override - Color get buttonTextSecondary => accentColorDark; - @override - Color get buttonTextPrimaryDisabled => const Color(0xFFFFFFFF); - @override - Color get buttonTextSecondaryDisabled => const Color(0xFFBDD5DB); - @override - Color get buttonTextBorder => const Color(0xFF227386); - @override - Color get buttonTextDisabled => const Color(0xFFFFFFFF); - @override - Color get buttonTextBorderless => const Color(0xFF056EC6); - @override - Color get buttonTextBorderlessDisabled => const Color(0xFFB6B6B6); - @override - Color get numberTextDefault => const Color(0xFF232323); - @override - Color get numpadTextDefault => const Color(0xFFFFFFFF); - @override - Color get bottomNavText => const Color(0xFF227386); - @override - Color get customTextButtonEnabledText => buttonTextBorderless; - @override - Color get customTextButtonDisabledText => textSubtitle1; - - // switch - @override - Color get switchBGOn => const Color(0xFF056EC6); - @override - Color get switchBGOff => const Color(0xFFCCDBF9); - @override - Color get switchBGDisabled => const Color(0xFFC5C6C9); - @override - Color get switchCircleOn => const Color(0xFFDAE2FF); - @override - Color get switchCircleOff => const Color(0xFFFBFCFF); - @override - Color get switchCircleDisabled => const Color(0xFFFBFCFF); - - // step indicator background - @override - Color get stepIndicatorBGCheck => const Color(0xFFCDD9FF); - @override - Color get stepIndicatorBGNumber => const Color(0xFFCDD9FF); - @override - Color get stepIndicatorBGInactive => const Color(0xFFA6C7D1); - @override - Color get stepIndicatorBGLines => const Color(0xFF90B8DC); - @override - Color get stepIndicatorBGLinesInactive => const Color(0xFFBCD4EA); - @override - Color get stepIndicatorIconText => const Color(0xFF005BAF); - @override - Color get stepIndicatorIconNumber => const Color(0xFF005BAF); - @override - Color get stepIndicatorIconInactive => const Color(0xFFD4DFFF); - - // checkbox - @override - Color get checkboxBGChecked => const Color(0xFF056EC6); - @override - Color get checkboxBorderEmpty => const Color(0xFF8C8F90); - @override - Color get checkboxBGDisabled => const Color(0xFFB0C9ED); - @override - Color get checkboxIconChecked => const Color(0xFFFFFFFF); - @override - Color get checkboxIconDisabled => const Color(0xFFFFFFFF); - @override - Color get checkboxTextLabel => const Color(0xFF232323); - - // snack bar - @override - Color get snackBarBackSuccess => const Color(0xFFADD6D2); - @override - Color get snackBarBackError => const Color(0xFFF6C7C3); - @override - Color get snackBarBackInfo => const Color(0xFFCCD7FF); - @override - Color get snackBarTextSuccess => const Color(0xFF075547); - @override - Color get snackBarTextError => const Color(0xFF8D0006); - @override - Color get snackBarTextInfo => const Color(0xFF002569); - - // icons - @override - Color get bottomNavIconBack => const Color(0xFFA7C7CF); - @override - Color get bottomNavIconIcon => const Color(0xFF227386); - - @override - Color get topNavIconPrimary => const Color(0xFF227386); - @override - Color get topNavIconGreen => const Color(0xFF00A591); - @override - Color get topNavIconYellow => const Color(0xFFFDD33A); - @override - Color get topNavIconRed => const Color(0xFFEA4649); - - @override - Color get settingsIconBack => const Color(0xFFE0E3E3); - @override - Color get settingsIconIcon => const Color(0xFF232323); - @override - Color get settingsIconBack2 => const Color(0xFF80D2C8); - @override - Color get settingsIconElement => const Color(0xFF00A591); - - // text field - @override - Color get textFieldActiveBG => const Color(0xFFD3E3E7); - @override - Color get textFieldDefaultBG => const Color(0xFFD8E7EB); - @override - Color get textFieldErrorBG => const Color(0xFFF6C7C3); - @override - Color get textFieldSuccessBG => const Color(0xFFADD6D2); - @override - Color get textFieldErrorBorder => textFieldErrorBG; - @override - Color get textFieldSuccessBorder => textFieldSuccessBG; - - @override - Color get textFieldActiveSearchIconLeft => const Color(0xFF86898C); - @override - Color get textFieldDefaultSearchIconLeft => const Color(0xFF86898C); - @override - Color get textFieldErrorSearchIconLeft => const Color(0xFF8D0006); - @override - Color get textFieldSuccessSearchIconLeft => const Color(0xFF006C4D); - - @override - Color get textFieldActiveText => const Color(0xFF232323); - @override - Color get textFieldDefaultText => const Color(0xFF86898C); - @override - Color get textFieldErrorText => const Color(0xFF000000); - @override - Color get textFieldSuccessText => const Color(0xFF000000); - - @override - Color get textFieldActiveLabel => const Color(0xFF86898C); - @override - Color get textFieldErrorLabel => const Color(0xFF8D0006); - @override - Color get textFieldSuccessLabel => const Color(0xFF077C6E); - - @override - Color get textFieldActiveSearchIconRight => const Color(0xFF388192); - @override - Color get textFieldDefaultSearchIconRight => const Color(0xFF388192); - @override - Color get textFieldErrorSearchIconRight => const Color(0xFF8D0006); - @override - Color get textFieldSuccessSearchIconRight => const Color(0xFF077C6E); - - // settings item level2 - @override - Color get settingsItem2ActiveBG => const Color(0xFFFFFFFF); - @override - Color get settingsItem2ActiveText => const Color(0xFF232323); - @override - Color get settingsItem2ActiveSub => const Color(0xFF8C8F90); - - // radio buttons - @override - Color get radioButtonIconBorder => const Color(0xFF056EC6); - @override - Color get radioButtonIconBorderDisabled => const Color(0xFF8C8D97); - @override - Color get radioButtonBorderEnabled => const Color(0xFF056EC6); - @override - Color get radioButtonBorderDisabled => const Color(0xFF8C8D97); - @override - Color get radioButtonIconCircle => const Color(0xFF056EC6); - @override - Color get radioButtonIconEnabled => const Color(0xFF056EC6); - @override - Color get radioButtonTextEnabled => const Color(0xFF42444B); - @override - Color get radioButtonTextDisabled => const Color(0xFF42444B); - @override - Color get radioButtonLabelEnabled => const Color(0xFF8C8F90); - @override - Color get radioButtonLabelDisabled => const Color(0xFF8C8F90); - - // info text - @override - Color get infoItemBG => const Color(0xFFFFFFFF); - @override - Color get infoItemLabel => const Color(0xFF838788); - @override - Color get infoItemText => const Color(0xFF232323); - @override - Color get infoItemIcons => const Color(0xFF056EC6); - - // popup - @override - Color get popupBG => const Color(0xFFFFFFFF); - - // currency list - @override - Color get currencyListItemBG => const Color(0xFFF0F5F7); - - // bottom nav - @override - Color get stackWalletBG => const Color(0xFFFFFFFF); - @override - Color get stackWalletMid => const Color(0xFFFFFFFF); - @override - Color get stackWalletBottom => const Color(0xFF232323); - @override - Color get bottomNavShadow => const Color(0xFF388192); - - @override - Color get favoriteStarActive => const Color(0xFFF4C517); - @override - Color get favoriteStarInactive => const Color(0xFFB0B2B2); - - @override - Color get splash => const Color(0xFF8E9192); - @override - Color get highlight => const Color(0xFFA9ACAC); - @override - Color get warningForeground => const Color(0xFF232323); - @override - Color get warningBackground => const Color(0xFFF6C7C3); - @override - Color get loadingOverlayTextColor => const Color(0xFFF7F7F7); - @override - Color get myStackContactIconBG => const Color(0xFFD8E7EB); - @override - Color get textConfirmTotalAmount => const Color(0xFF232323); - @override - Color get textSelectedWordTableItem => const Color(0xFF232323); - - //rate type toggle - @override - Color get rateTypeToggleColorOn => textFieldDefaultBG; - @override - Color get rateTypeToggleColorOff => popupBG; - @override - Color get rateTypeToggleDesktopColorOn => textFieldDefaultBG; - @override - Color get rateTypeToggleDesktopColorOff => buttonBackSecondary; - - // token view colors - @override - Color get ethTagText => const Color(0xFFFFFFFF); - @override - Color get ethTagBG => const Color(0xFF4D5798); - @override - Color get ethWalletTagText => const Color(0xFF4D5798); - @override - Color get ethWalletTagBG => const Color(0xFFEBEFFE); - @override - Color get tokenSummaryTextPrimary => const Color(0xFF232323); - @override - Color get tokenSummaryTextSecondary => const Color(0xFF4D5798); - @override - Color get tokenSummaryBG => const Color(0xFFFFFFFF); - @override - Color get tokenSummaryButtonBG => const Color(0xFFEDF4F9); - @override - Color get tokenSummaryIcon => const Color(0xFF197287); - - @override - BoxShadow get standardBoxShadow => BoxShadow( - color: shadow, - spreadRadius: 3, - blurRadius: 4, - ); - - @override - BoxShadow? get homeViewButtonBarBoxShadow => BoxShadow( - color: shadow, - spreadRadius: 3, - blurRadius: 4, - ); -} diff --git a/lib/utilities/theme/oled_black_colors.dart b/lib/utilities/theme/oled_black_colors.dart deleted file mode 100644 index 40bf3ee8f..000000000 --- a/lib/utilities/theme/oled_black_colors.dart +++ /dev/null @@ -1,374 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; - -class OledBlackColors extends StackColorTheme { - @override - ThemeType get themeType => ThemeType.oledBlack; - @override - Brightness get brightness => Brightness.dark; - - @override - Color get background => const Color(0xFF000000); - @override - Color get backgroundAppBar => background; - @override - Gradient? get gradientBackground => null; - - @override - Color get overlay => const Color(0xFF121212); - - @override - Color get accentColorBlue => const Color(0xFFF26822); - @override - Color get accentColorGreen => const Color(0xFF4CC0A0); - @override - Color get accentColorYellow => const Color(0xFFD4A51E); - @override - Color get accentColorRed => const Color(0xFFD34E50); - @override - Color get accentColorOrange => const Color(0xFFDE7456); - //accent color white (0xFFDEDEDE) - @override - Color get accentColorDark => const Color(0xFFDEDEDE); - - @override - Color get shadow => const Color(0x0F2D3132); //not done yet - - @override - Color get textDark => const Color(0xFFDEDEDE); - @override - Color get textDark2 => const Color(0xFFCCCCCC); - @override - Color get textDark3 => const Color(0xFFB2B2B2); - @override - Color get textSubtitle1 => const Color(0xFFB2B2B2); - @override - Color get textSubtitle2 => const Color(0xFFA0A0A0); - @override - Color get textSubtitle3 => const Color(0xFF878A8A); - @override - Color get textSubtitle4 => const Color(0xFF878A8A); - @override - Color get textSubtitle5 => const Color(0xFF878A8A); - @override - Color get textSubtitle6 => const Color(0xFF878A8A); - @override - Color get textWhite => const Color(0xFF242424); - @override - Color get textFavoriteCard => const Color(0xFF232323); - @override - Color get textError => const Color(0xFFCF6679); - @override - Color get textRestore => textDark; - - // button background - @override - Color get buttonBackPrimary => const Color(0xFFF26822); - @override - Color get buttonBackSecondary => const Color(0xFF1F1F1F); - @override - Color get buttonBackPrimaryDisabled => const Color(0xFF491F0A); - @override - Color get buttonBackSecondaryDisabled => const Color(0xFF0F0F0F); - @override - Color get buttonBackBorder => const Color(0xFFF26822); - @override - Color get buttonBackBorderDisabled => const Color(0xFF491F0A); - @override - Color get buttonBackBorderSecondary => buttonBackSecondary; - @override - Color get buttonBackBorderSecondaryDisabled => buttonBackSecondaryDisabled; - - @override - Color get numberBackDefault => const Color(0xFF242424); - @override - Color get numpadBackDefault => const Color(0xFFF26822); - @override - Color get bottomNavBack => const Color(0xFF202122); - - // button text/element - @override - Color get buttonTextPrimary => const Color(0xFF000000); - @override - Color get buttonTextSecondary => const Color(0xFFDEDEDE); - @override - Color get buttonTextPrimaryDisabled => const Color(0xFF000000); - @override - Color get buttonTextSecondaryDisabled => const Color(0xFF6F6F6F); - @override - Color get buttonTextBorder => const Color(0xFFF26822); - @override - Color get buttonTextDisabled => const Color(0xFF000000); - @override - Color get buttonTextBorderless => const Color(0xFFF26822); - @override - Color get buttonTextBorderlessDisabled => const Color(0xFF491F0A); - @override - Color get numberTextDefault => const Color(0xFFD3D3D3); - @override - Color get numpadTextDefault => const Color(0xFF000000); - @override - Color get bottomNavText => const Color(0xFFDEDEDE); - @override - Color get customTextButtonEnabledText => buttonTextBorderless; - @override - Color get customTextButtonDisabledText => textSubtitle1; - - // switch - @override - Color get switchBGOn => const Color(0xFFF26822); - @override - Color get switchBGOff => const Color(0xFF403F3F); - @override - Color get switchBGDisabled => const Color(0xFF333538); - @override - Color get switchCircleOn => const Color(0xFFFFE8DC); - @override - Color get switchCircleOff => const Color(0xFFFAF6F3); - @override - Color get switchCircleDisabled => const Color(0xFF848484); - - // step indicator background - @override - Color get stepIndicatorBGCheck => const Color(0xFFF26822); - @override - Color get stepIndicatorBGNumber => const Color(0xFFF26822); - @override - Color get stepIndicatorBGInactive => const Color(0xFF3B3F46); - @override - Color get stepIndicatorBGLines => const Color(0xFFF26822); - @override - Color get stepIndicatorBGLinesInactive => const Color(0xFF63676E); - @override - Color get stepIndicatorIconText => const Color(0xFF000000); - @override - Color get stepIndicatorIconNumber => const Color(0xFF000000); - @override - Color get stepIndicatorIconInactive => const Color(0xFFAFAFAF); - - // checkbox - @override - Color get checkboxBGChecked => const Color(0xFFF26822); - @override - Color get checkboxBorderEmpty => const Color(0xFF66696A); - @override - Color get checkboxBGDisabled => const Color(0xFF783818); - @override - Color get checkboxIconChecked => const Color(0xFF000000); - @override - Color get checkboxIconDisabled => const Color(0xFF000000); - @override - Color get checkboxTextLabel => const Color(0xFFDEDEDE); - - // snack bar - @override - Color get snackBarBackSuccess => const Color(0xFF1F1F1F); - @override - Color get snackBarBackError => const Color(0xFF1F1F1F); - @override - Color get snackBarBackInfo => const Color(0xFF1F1F1F); - @override - Color get snackBarTextSuccess => const Color(0xFF69C297); - @override - Color get snackBarTextError => const Color(0xFFCF6679); - @override - Color get snackBarTextInfo => const Color(0xFFABAEFF); - - // icons - @override - Color get bottomNavIconBack => const Color(0xFF69696A); - @override - Color get bottomNavIconIcon => const Color(0xFFDEDEDE); - - @override - Color get topNavIconPrimary => const Color(0xFFDEDEDE); - @override - Color get topNavIconGreen => const Color(0xFF4CC0A0); - @override - Color get topNavIconYellow => const Color(0xFFD4A51E); - @override - Color get topNavIconRed => const Color(0xFFD34E50); - - @override - Color get settingsIconBack => const Color(0xFFDEDEDE); - @override - Color get settingsIconIcon => const Color(0xFF232323); - @override - Color get settingsIconBack2 => const Color(0xFF94D6C4); - @override - Color get settingsIconElement => const Color(0xFF4CC0A0); - - // text field - @override - Color get textFieldActiveBG => const Color(0xFF3C3C3C); - @override - Color get textFieldDefaultBG => const Color(0xFF171717); - @override - Color get textFieldErrorBG => const Color(0xFF141414); - @override - Color get textFieldSuccessBG => const Color(0xFF141414); - //add border color vars here - @override - Color get textFieldErrorBorder => const Color(0xFFCF6679); - @override - Color get textFieldSuccessBorder => const Color(0xFF23CFA1); - - @override - Color get textFieldActiveSearchIconLeft => const Color(0xFF9C9C9C); - @override - Color get textFieldDefaultSearchIconLeft => const Color(0xFF979797); - @override - Color get textFieldErrorSearchIconLeft => const Color(0xFFCF6679); - @override - Color get textFieldSuccessSearchIconLeft => const Color(0xFF23CFA1); - - @override - Color get textFieldActiveText => const Color(0xFFC2C2C2); - @override - Color get textFieldDefaultText => const Color(0xFF979797); - @override - Color get textFieldErrorText => const Color(0xFFCF6679); - @override - Color get textFieldSuccessText => const Color(0xFFDEDEDE); - - @override - Color get textFieldActiveLabel => const Color(0xFF979797); - @override - Color get textFieldErrorLabel => const Color(0xFFCF6679); - @override - Color get textFieldSuccessLabel => const Color(0xFF69C297); - - @override - Color get textFieldActiveSearchIconRight => const Color(0xFF9C9C9C); - @override - Color get textFieldDefaultSearchIconRight => const Color(0xFF5D5D5D); - @override - Color get textFieldErrorSearchIconRight => const Color(0xFFCF6679); - @override - Color get textFieldSuccessSearchIconRight => const Color(0xFF69C297); - - // settings item level2 - @override - Color get settingsItem2ActiveBG => const Color(0xFF242424); - @override - Color get settingsItem2ActiveText => const Color(0xFFD3D3D3); - @override - Color get settingsItem2ActiveSub => const Color(0xFFB2B2B2); - - // radio buttons - @override - Color get radioButtonIconBorder => const Color(0xFFF26822); - @override - Color get radioButtonIconBorderDisabled => const Color(0xFF7D7D7D); - @override - Color get radioButtonBorderEnabled => const Color(0xFFF26822); - @override - Color get radioButtonBorderDisabled => const Color(0xFF7D7D7D); - @override - Color get radioButtonIconCircle => const Color(0xFFF26822); - @override - Color get radioButtonIconEnabled => const Color(0xFFF26822); - @override - Color get radioButtonTextEnabled => const Color(0xFFA8AAB2); - @override - Color get radioButtonTextDisabled => const Color(0xFFA8AAB2); - @override - Color get radioButtonLabelEnabled => const Color(0xFF878A8A); - @override - Color get radioButtonLabelDisabled => const Color(0xFF878A8A); - - // info text - @override - Color get infoItemBG => const Color(0xFF141414); - @override - Color get infoItemLabel => const Color(0xFFB2B2B2); - @override - Color get infoItemText => const Color(0xFFDEDEDE); - @override - Color get infoItemIcons => const Color(0xFFF26822); //const Color(0xFF5C94F4); - - // popup - @override - Color get popupBG => const Color(0xFF212121); - - // currency list - @override - Color get currencyListItemBG => const Color(0xFF252525); - - // bottom nav - @override - Color get stackWalletBG => const Color(0xFF35383D); - @override - Color get stackWalletMid => const Color(0xFF292D34); - @override - Color get stackWalletBottom => const Color(0xFF292D34); - @override - Color get bottomNavShadow => const Color(0xFF282E33); - - @override - Color get favoriteStarActive => accentColorYellow; - @override - Color get favoriteStarInactive => textSubtitle2; - - @override - Color get splash => const Color(0xFF7A7D7E); - @override - Color get highlight => const Color(0xFF878A8A); - @override - Color get warningForeground => snackBarTextError; - @override - Color get warningBackground => const Color(0xFF1F1F1F); - @override - Color get loadingOverlayTextColor => const Color(0xFFCFCFCF); - @override - Color get myStackContactIconBG => const Color(0xFF747778); - @override - Color get textConfirmTotalAmount => - textFieldSuccessLabel; //const Color(0xFF144D35); - @override - Color get textSelectedWordTableItem => const Color(0xFFF26822); - - //rate type toggle - @override - Color get rateTypeToggleColorOn => textFieldDefaultBG; - @override - Color get rateTypeToggleColorOff => popupBG; - @override - Color get rateTypeToggleDesktopColorOn => textFieldDefaultBG; - @override - Color get rateTypeToggleDesktopColorOff => buttonBackSecondary; - - // token view colors - @override - Color get ethTagText => const Color(0xFFFFFFFF); - @override - Color get ethTagBG => const Color(0xFF5761A2); - @override - Color get ethWalletTagText => const Color(0xFFDEDEDE); - @override - Color get ethWalletTagBG => const Color(0xFF222539); - @override - Color get tokenSummaryTextPrimary => const Color(0xFFFFFFFF); - @override - Color get tokenSummaryTextSecondary => const Color(0xFFC9D0FF); - @override - Color get tokenSummaryBG => const Color(0xFF292D45); - @override - Color get tokenSummaryButtonBG => const Color(0xFFC9D0FF); - @override - Color get tokenSummaryIcon => const Color(0xFF252C78); - - @override - BoxShadow get standardBoxShadow => BoxShadow( - color: shadow, - spreadRadius: 3, - blurRadius: 4, - ); - - @override - BoxShadow? get homeViewButtonBarBoxShadow => BoxShadow( - color: shadow, - spreadRadius: 3, - blurRadius: 4, - ); -} diff --git a/lib/utilities/theme/oled_chans_colors.dart b/lib/utilities/theme/oled_chans_colors.dart deleted file mode 100644 index 22179dd08..000000000 --- a/lib/utilities/theme/oled_chans_colors.dart +++ /dev/null @@ -1,371 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; - -class DarkChansColors extends StackColorTheme { - @override - ThemeType get themeType => ThemeType.darkChans; - @override - Brightness get brightness => Brightness.dark; - - @override - Color get background => const Color(0xFF2A2D34); - @override - Color get backgroundAppBar => background; - @override - Gradient? get gradientBackground => null; - - @override - Color get overlay => const Color(0xFF111215); - - @override - Color get accentColorBlue => const Color(0xFF4C86E9); - @override - Color get accentColorGreen => const Color(0xFF4CC0A0); - @override - Color get accentColorYellow => const Color(0xFFF7D65D); - @override - Color get accentColorRed => const Color(0xFFD34E50); - @override - Color get accentColorOrange => const Color(0xFFFEA68D); - @override - Color get accentColorDark => const Color(0xFFF3F3F3); - - @override - Color get shadow => const Color(0x0F2D3132); - - @override - Color get textDark => const Color(0xFFF3F3F3); - @override - Color get textDark2 => const Color(0xFFDBDBDB); - @override - Color get textDark3 => const Color(0xFFEEEFF1); - @override - Color get textSubtitle1 => const Color(0xFF9E9E9E); - @override - Color get textSubtitle2 => const Color(0xFF969696); - @override - Color get textSubtitle3 => const Color(0xFFA9ACAC); - @override - Color get textSubtitle4 => const Color(0xFF8E9192); - @override - Color get textSubtitle5 => const Color(0xFF747778); - @override - Color get textSubtitle6 => const Color(0xFF414141); - @override - Color get textWhite => const Color(0xFF232323); - @override - Color get textFavoriteCard => const Color(0xFF232323); - @override - Color get textError => const Color(0xFFF37475); - @override - Color get textRestore => overlay; - - // button background - @override - Color get buttonBackPrimary => const Color(0xFF4C86E9); - @override - Color get buttonBackSecondary => const Color(0xFF444E5C); - @override - Color get buttonBackPrimaryDisabled => const Color(0xFF38517C); - @override - Color get buttonBackSecondaryDisabled => const Color(0xFF3B3F46); - @override - Color get buttonBackBorder => const Color(0xFF4C86E9); - @override - Color get buttonBackBorderDisabled => const Color(0xFF314265); - @override - Color get buttonBackBorderSecondary => buttonBackSecondary; - @override - Color get buttonBackBorderSecondaryDisabled => buttonBackSecondaryDisabled; - - @override - Color get numberBackDefault => const Color(0xFF484B51); - @override - Color get numpadBackDefault => const Color(0xFF4C86E9); - @override - Color get bottomNavBack => const Color(0xFF3E4148); - - // button text/element - @override - Color get buttonTextPrimary => const Color(0xFFFFFFFF); - @override - Color get buttonTextSecondary => const Color(0xFFFFFFFF); - @override - Color get buttonTextPrimaryDisabled => const Color(0xFFFFFFFF); - @override - Color get buttonTextSecondaryDisabled => const Color(0xFF6A6C71); - @override - Color get buttonTextBorder => const Color(0xFF4C86E9); - @override - Color get buttonTextDisabled => const Color(0xFF314265); - @override - Color get buttonTextBorderless => const Color(0xFF4C86E9); - @override - Color get buttonTextBorderlessDisabled => const Color(0xFFB6B6B6); - @override - Color get numberTextDefault => const Color(0xFFFFFFFF); - @override - Color get numpadTextDefault => const Color(0xFFFFFFFF); - @override - Color get bottomNavText => const Color(0xFFFFFFFF); - @override - Color get customTextButtonEnabledText => buttonTextBorderless; - @override - Color get customTextButtonDisabledText => textSubtitle1; - - // switch - @override - Color get switchBGOn => const Color(0xFF4C86E9); - @override - Color get switchBGOff => const Color(0xFFC1D9FF); - @override - Color get switchBGDisabled => const Color(0xFFB5B7BA); - @override - Color get switchCircleOn => const Color(0xFFC9DDFF); - @override - Color get switchCircleOff => const Color(0xFFFFFFFF); - @override - Color get switchCircleDisabled => const Color(0xFFFFFFFF); - - // step indicator background - @override - Color get stepIndicatorBGCheck => const Color(0xFF4C86E9); - @override - Color get stepIndicatorBGNumber => const Color(0xFF4C86E9); - @override - Color get stepIndicatorBGInactive => const Color(0xFF3B3F46); - @override - Color get stepIndicatorBGLines => const Color(0xFF4C86E9); - @override - Color get stepIndicatorBGLinesInactive => const Color(0xFF3B3F46); - @override - Color get stepIndicatorIconText => const Color(0xFFFFFFFF); - @override - Color get stepIndicatorIconNumber => const Color(0xFFFFFFFF); - @override - Color get stepIndicatorIconInactive => const Color(0xFF747474); - - // checkbox - @override - Color get checkboxBGChecked => const Color(0xFF4C86E9); - @override - Color get checkboxBorderEmpty => const Color(0xFF8E9192); - @override - Color get checkboxBGDisabled => const Color(0xFFADC7EC); - @override - Color get checkboxIconChecked => const Color(0xFFFFFFFF); - @override - Color get checkboxIconDisabled => const Color(0xFFFFFFFF); - @override - Color get checkboxTextLabel => const Color(0xFFFFFFFF); - - // snack bar - @override - Color get snackBarBackSuccess => const Color(0xFF8EF5C3); - @override - Color get snackBarBackError => const Color(0xFFFFB4A9); - @override - Color get snackBarBackInfo => const Color(0xFFB4C4FF); - @override - Color get snackBarTextSuccess => const Color(0xFF003921); - @override - Color get snackBarTextError => const Color(0xFF690001); - @override - Color get snackBarTextInfo => const Color(0xFF00297A); - - // icons - @override - Color get bottomNavIconBack => const Color(0xFF7F8185); - @override - Color get bottomNavIconIcon => const Color(0xFFFFFFFF); - - @override - Color get topNavIconPrimary => const Color(0xFFFFFFFF); - @override - Color get topNavIconGreen => const Color(0xFF4CC0A0); - @override - Color get topNavIconYellow => const Color(0xFFF7D65D); - @override - Color get topNavIconRed => const Color(0xFFD34E50); - - @override - Color get settingsIconBack => const Color(0xFFE0E3E3); - @override - Color get settingsIconIcon => const Color(0xFF232323); - @override - Color get settingsIconBack2 => const Color(0xFF94D6C4); - @override - Color get settingsIconElement => const Color(0xFF00A578); - - // text field - @override - Color get textFieldActiveBG => const Color(0xFF4C5360); - @override - Color get textFieldDefaultBG => const Color(0xFF444953); - @override - Color get textFieldErrorBG => const Color(0xFFFFB4A9); - @override - Color get textFieldSuccessBG => const Color(0xFF8EF5C3); - @override - Color get textFieldErrorBorder => textFieldErrorBG; - @override - Color get textFieldSuccessBorder => textFieldSuccessBG; - - @override - Color get textFieldActiveSearchIconLeft => const Color(0xFFA9ACAC); - @override - Color get textFieldDefaultSearchIconLeft => const Color(0xFFA9ACAC); - @override - Color get textFieldErrorSearchIconLeft => const Color(0xFF690001); - @override - Color get textFieldSuccessSearchIconLeft => const Color(0xFF003921); - - @override - Color get textFieldActiveText => const Color(0xFFFFFFFF); - @override - Color get textFieldDefaultText => const Color(0xFFA9ACAC); - @override - Color get textFieldErrorText => const Color(0xFF000000); - @override - Color get textFieldSuccessText => const Color(0xFF000000); - - @override - Color get textFieldActiveLabel => const Color(0xFFA9ACAC); - @override - Color get textFieldErrorLabel => const Color(0xFF690001); - @override - Color get textFieldSuccessLabel => const Color(0xFF003921); - - @override - Color get textFieldActiveSearchIconRight => const Color(0xFFC4C7C7); - @override - Color get textFieldDefaultSearchIconRight => const Color(0xFF747778); - @override - Color get textFieldErrorSearchIconRight => const Color(0xFF690001); - @override - Color get textFieldSuccessSearchIconRight => const Color(0xFF003921); - - // settings item level2 - @override - Color get settingsItem2ActiveBG => const Color(0xFF484B51); - @override - Color get settingsItem2ActiveText => const Color(0xFFFFFFFF); - @override - Color get settingsItem2ActiveSub => const Color(0xFF9E9E9E); - - // radio buttons - @override - Color get radioButtonIconBorder => const Color(0xFF4C86E9); - @override - Color get radioButtonIconBorderDisabled => const Color(0xFF9E9E9E); - @override - Color get radioButtonBorderEnabled => const Color(0xFF4C86E9); - @override - Color get radioButtonBorderDisabled => const Color(0xFFCDCDCD); - @override - Color get radioButtonIconCircle => const Color(0xFF9E9E9E); - @override - Color get radioButtonIconEnabled => const Color(0xFF4C86E9); - @override - Color get radioButtonTextEnabled => const Color(0xFF44464E); - @override - Color get radioButtonTextDisabled => const Color(0xFF44464E); - @override - Color get radioButtonLabelEnabled => const Color(0xFF8E9192); - @override - Color get radioButtonLabelDisabled => const Color(0xFF8E9192); - - // info text - @override - Color get infoItemBG => const Color(0xFF333942); - @override - Color get infoItemLabel => const Color(0xFF9E9E9E); - @override - Color get infoItemText => const Color(0xFFFFFFFF); - @override - Color get infoItemIcons => const Color(0xFF4C86E9); - - // popup - @override - Color get popupBG => const Color(0xFF333942); - - // currency list - @override - Color get currencyListItemBG => const Color(0xFF484B51); - - // bottom nav - @override - Color get stackWalletBG => const Color(0xFF35383D); - @override - Color get stackWalletMid => const Color(0xFF292D34); - @override - Color get stackWalletBottom => const Color(0xFFFFFFFF); - @override - Color get bottomNavShadow => const Color(0xFF282E33); - - @override - Color get favoriteStarActive => accentColorYellow; - @override - Color get favoriteStarInactive => textSubtitle2; - - @override - Color get splash => const Color(0x358E9192); - @override - Color get highlight => const Color(0x44A9ACAC); - @override - Color get warningForeground => snackBarTextError; - @override - Color get warningBackground => const Color(0xFFFFB4A9); - @override - Color get loadingOverlayTextColor => const Color(0xFFF7F7F7); - @override - Color get myStackContactIconBG => const Color(0x88747778); - @override - Color get textConfirmTotalAmount => const Color(0xFF003921); - @override - Color get textSelectedWordTableItem => const Color(0xFF00297A); - - //rate type toggle - @override - Color get rateTypeToggleColorOn => textFieldDefaultBG; - @override - Color get rateTypeToggleColorOff => popupBG; - @override - Color get rateTypeToggleDesktopColorOn => textFieldDefaultBG; - @override - Color get rateTypeToggleDesktopColorOff => buttonBackSecondary; - - // token view colors - @override - Color get ethTagText => const Color(0xFFFFFFFF); - @override - Color get ethTagBG => const Color(0xFF5761A2); - @override - Color get ethWalletTagText => const Color(0xFFDEDEDE); - @override - Color get ethWalletTagBG => const Color(0xFF222539); - @override - Color get tokenSummaryTextPrimary => const Color(0xFFFFFFFF); - @override - Color get tokenSummaryTextSecondary => const Color(0xFFC9D0FF); - @override - Color get tokenSummaryBG => const Color(0xFF292D45); - @override - Color get tokenSummaryButtonBG => const Color(0xFFC9D0FF); - @override - Color get tokenSummaryIcon => const Color(0xFF252C78); - - @override - BoxShadow get standardBoxShadow => BoxShadow( - color: shadow, - spreadRadius: 3, - blurRadius: 4, - ); - - @override - BoxShadow? get homeViewButtonBarBoxShadow => BoxShadow( - color: shadow, - spreadRadius: 3, - blurRadius: 4, - ); -} diff --git a/lib/utilities/theme/orange_colors.dart b/lib/utilities/theme/orange_colors.dart deleted file mode 100644 index fb4c7a937..000000000 --- a/lib/utilities/theme/orange_colors.dart +++ /dev/null @@ -1,371 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; - -class OrangeColors extends StackColorTheme { - @override - ThemeType get themeType => ThemeType.orange; - @override - Brightness get brightness => Brightness.light; - - @override - Color get background => const Color(0xFFF7F7F7); - @override - Color get backgroundAppBar => background; - @override - Gradient? get gradientBackground => null; - - @override - Color get overlay => const Color(0xFF111215); - - @override - Color get accentColorBlue => const Color(0xFF077CBE); - @override - Color get accentColorGreen => const Color(0xFF00A591); - @override - Color get accentColorYellow => const Color(0xFFF4C517); - @override - Color get accentColorRed => const Color(0xFFD1382D); - @override - Color get accentColorOrange => const Color(0xFFFF985F); - @override - Color get accentColorDark => const Color(0xFFF36B43); - - @override - Color get shadow => const Color(0x0F2D3132); - - @override - Color get textDark => const Color(0xFF232323); - @override - Color get textDark2 => const Color(0xFF333333); - @override - Color get textDark3 => const Color(0xFF696B6C); - @override - Color get textSubtitle1 => const Color(0xFF7E8284); - @override - Color get textSubtitle2 => const Color(0xFF919393); - @override - Color get textSubtitle3 => const Color(0xFFB0B2B2); - @override - Color get textSubtitle4 => const Color(0xFFD1D3D3); - @override - Color get textSubtitle5 => const Color(0xFFDEDFE1); - @override - Color get textSubtitle6 => const Color(0xFFF1F1F1); - @override - Color get textWhite => const Color(0xFFFFFFFF); - @override - Color get textFavoriteCard => const Color(0xFF232323); - @override - Color get textError => const Color(0xFF8D0006); - @override - Color get textRestore => overlay; - - // button background - @override - Color get buttonBackPrimary => const Color(0xFFF36B43); - @override - Color get buttonBackSecondary => const Color(0xFFFFEEC2); - @override - Color get buttonBackPrimaryDisabled => const Color(0xFFF8EAE6); - @override - Color get buttonBackSecondaryDisabled => const Color(0xFFBDBDBD); - @override - Color get buttonBackBorder => const Color(0xFFF36B43); - @override - Color get buttonBackBorderDisabled => const Color(0xFFF8EAE6); - @override - Color get buttonBackBorderSecondary => buttonBackSecondary; - @override - Color get buttonBackBorderSecondaryDisabled => buttonBackSecondaryDisabled; - - @override - Color get numberBackDefault => const Color(0xFFFFF0D4); - @override - Color get numpadBackDefault => const Color(0xFFF36B43); - @override - Color get bottomNavBack => const Color(0xFFF36B43); - - // button text/element - @override - Color get buttonTextPrimary => const Color(0xFFFFFFFF); - @override - Color get buttonTextSecondary => const Color(0xFF232323); - @override - Color get buttonTextPrimaryDisabled => const Color(0xFFFFFFFF); - @override - Color get buttonTextSecondaryDisabled => const Color(0xFFF8EAE6); - @override - Color get buttonTextBorder => const Color(0xFFF36B43); - @override - Color get buttonTextDisabled => const Color(0xFFFFFFFF); - @override - Color get buttonTextBorderless => const Color(0xFF056EC6); - @override - Color get buttonTextBorderlessDisabled => const Color(0xFFB6B6B6); - @override - Color get numberTextDefault => const Color(0xFF232323); - @override - Color get numpadTextDefault => const Color(0xFFFFFFFF); - @override - Color get bottomNavText => const Color(0xFFFFFFFF); - @override - Color get customTextButtonEnabledText => buttonTextBorderless; - @override - Color get customTextButtonDisabledText => textSubtitle1; - - // switch - @override - Color get switchBGOn => const Color(0xFFF36B43); - @override - Color get switchBGOff => const Color(0xFFFFE4B2); - @override - Color get switchBGDisabled => const Color(0xFFC5C6C9); - @override - Color get switchCircleOn => const Color(0xFFFFF0D4); - @override - Color get switchCircleOff => const Color(0xFFFBFCFF); - @override - Color get switchCircleDisabled => const Color(0xFFFBFCFF); - - // step indicator background - @override - Color get stepIndicatorBGCheck => const Color(0xFFFFDAD1); - @override - Color get stepIndicatorBGNumber => const Color(0xFFCDD9FF); - @override - Color get stepIndicatorBGInactive => const Color(0xFFF8EAE6); - @override - Color get stepIndicatorBGLines => const Color(0xFFFFD5C9); - @override - Color get stepIndicatorBGLinesInactive => const Color(0xFFFFD9CF); - @override - Color get stepIndicatorIconText => const Color(0xFFF36B43); - @override - Color get stepIndicatorIconNumber => const Color(0xFF005BAF); - @override - Color get stepIndicatorIconInactive => const Color(0xFFD4DFFF); - - // checkbox - @override - Color get checkboxBGChecked => const Color(0xFFF36B43); - @override - Color get checkboxBorderEmpty => const Color(0xFF8C8F90); - @override - Color get checkboxBGDisabled => const Color(0xFFFFEEC2); - @override - Color get checkboxIconChecked => const Color(0xFFFFFFFF); - @override - Color get checkboxIconDisabled => const Color(0xFFFFFFFF); - @override - Color get checkboxTextLabel => const Color(0xFF232323); - - // snack bar - @override - Color get snackBarBackSuccess => const Color(0xFFADD6D2); - @override - Color get snackBarBackError => const Color(0xFFF6C7C3); - @override - Color get snackBarBackInfo => const Color(0xFFCCD7FF); - @override - Color get snackBarTextSuccess => const Color(0xFF075547); - @override - Color get snackBarTextError => const Color(0xFF8D0006); - @override - Color get snackBarTextInfo => const Color(0xFF002569); - - // icons - @override - Color get bottomNavIconBack => const Color(0xFFFFC58F); - @override - Color get bottomNavIconIcon => const Color(0xFFFFFFFF); - - @override - Color get topNavIconPrimary => const Color(0xFFF36B43); - @override - Color get topNavIconGreen => const Color(0xFF00A591); - @override - Color get topNavIconYellow => const Color(0xFFFDD33A); - @override - Color get topNavIconRed => const Color(0xFFEA4649); - - @override - Color get settingsIconBack => const Color(0xFFE0E3E3); - @override - Color get settingsIconIcon => const Color(0xFF232323); - @override - Color get settingsIconBack2 => const Color(0xFF80D2C8); - @override - Color get settingsIconElement => const Color(0xFF00A591); - - // text field - @override - Color get textFieldActiveBG => const Color(0xFFFFF0D4); - @override - Color get textFieldDefaultBG => const Color(0xFFFFF3DD); - @override - Color get textFieldErrorBG => const Color(0xFFF6C7C3); - @override - Color get textFieldSuccessBG => const Color(0xFFADD6D2); - @override - Color get textFieldErrorBorder => textFieldErrorBG; - @override - Color get textFieldSuccessBorder => textFieldSuccessBG; - - @override - Color get textFieldActiveSearchIconLeft => const Color(0xFF86898C); - @override - Color get textFieldDefaultSearchIconLeft => const Color(0xFF86898C); - @override - Color get textFieldErrorSearchIconLeft => const Color(0xFF8D0006); - @override - Color get textFieldSuccessSearchIconLeft => const Color(0xFF006C4D); - - @override - Color get textFieldActiveText => const Color(0xFF232323); - @override - Color get textFieldDefaultText => const Color(0xFF86898C); - @override - Color get textFieldErrorText => const Color(0xFF000000); - @override - Color get textFieldSuccessText => const Color(0xFF000000); - - @override - Color get textFieldActiveLabel => const Color(0xFF86898C); - @override - Color get textFieldErrorLabel => const Color(0xFF8D0006); - @override - Color get textFieldSuccessLabel => const Color(0xFF077C6E); - - @override - Color get textFieldActiveSearchIconRight => const Color(0xFFF36B43); - @override - Color get textFieldDefaultSearchIconRight => const Color(0xFFF36B43); - @override - Color get textFieldErrorSearchIconRight => const Color(0xFF8D0006); - @override - Color get textFieldSuccessSearchIconRight => const Color(0xFF077C6E); - - // settings item level2 - @override - Color get settingsItem2ActiveBG => const Color(0xFFFFFFFF); - @override - Color get settingsItem2ActiveText => const Color(0xFF232323); - @override - Color get settingsItem2ActiveSub => const Color(0xFF8C8F90); - - // radio buttons - @override - Color get radioButtonIconBorder => const Color(0xFFF36B43); - @override - Color get radioButtonIconBorderDisabled => const Color(0xFF8C8D97); - @override - Color get radioButtonBorderEnabled => const Color(0xFFF36B43); - @override - Color get radioButtonBorderDisabled => const Color(0xFF8C8D97); - @override - Color get radioButtonIconCircle => const Color(0xFFF36B43); - @override - Color get radioButtonIconEnabled => const Color(0xFFF36B43); - @override - Color get radioButtonTextEnabled => const Color(0xFF42444B); - @override - Color get radioButtonTextDisabled => const Color(0xFF42444B); - @override - Color get radioButtonLabelEnabled => const Color(0xFF8C8F90); - @override - Color get radioButtonLabelDisabled => const Color(0xFF8C8F90); - - // info text - @override - Color get infoItemBG => const Color(0xFFFFFFFF); - @override - Color get infoItemLabel => const Color(0xFF838788); - @override - Color get infoItemText => const Color(0xFF232323); - @override - Color get infoItemIcons => const Color(0xFFF36B43); - - // popup - @override - Color get popupBG => const Color(0xFFFFFFFF); - - // currency list - @override - Color get currencyListItemBG => const Color(0xFFF0F5F7); - - // bottom nav - @override - Color get stackWalletBG => const Color(0xFFFFFFFF); - @override - Color get stackWalletMid => const Color(0xFFFFFFFF); - @override - Color get stackWalletBottom => const Color(0xFFFFFFFF); - @override - Color get bottomNavShadow => const Color(0xFF388192); - - @override - Color get favoriteStarActive => const Color(0xFFF4C517); - @override - Color get favoriteStarInactive => textSubtitle3; - - @override - Color get splash => const Color(0xFF8E9192); - @override - Color get highlight => const Color(0xFFA9ACAC); - @override - Color get warningForeground => textDark; - @override - Color get warningBackground => const Color(0xFFF6C7C3); - @override - Color get loadingOverlayTextColor => const Color(0xFFF7F7F7); - @override - Color get myStackContactIconBG => const Color(0xFFFFF3DD); - @override - Color get textConfirmTotalAmount => const Color(0xFF232323); - @override - Color get textSelectedWordTableItem => const Color(0xFF232323); - - //rate type toggle - @override - Color get rateTypeToggleColorOn => textFieldDefaultBG; - @override - Color get rateTypeToggleColorOff => popupBG; - @override - Color get rateTypeToggleDesktopColorOn => textFieldDefaultBG; - @override - Color get rateTypeToggleDesktopColorOff => buttonBackSecondary; - - // token view colors - @override - Color get ethTagText => const Color(0xFFFFFFFF); - @override - Color get ethTagBG => const Color(0xFF4D5798); - @override - Color get ethWalletTagText => const Color(0xFF4D5798); - @override - Color get ethWalletTagBG => const Color(0xFFEBEFFE); - @override - Color get tokenSummaryTextPrimary => const Color(0xFF232323); - @override - Color get tokenSummaryTextSecondary => const Color(0xFF4D5798); - @override - Color get tokenSummaryBG => const Color(0xFFFFFFFF); - @override - Color get tokenSummaryButtonBG => const Color(0xAAFFC58F); - @override - Color get tokenSummaryIcon => const Color(0xFFF36B43); - - @override - BoxShadow get standardBoxShadow => BoxShadow( - color: shadow, - spreadRadius: 3, - blurRadius: 4, - ); - - @override - BoxShadow? get homeViewButtonBarBoxShadow => BoxShadow( - color: shadow, - spreadRadius: 3, - blurRadius: 4, - ); -} diff --git a/lib/widgets/address_book_card.dart b/lib/widgets/address_book_card.dart index dfa655f86..4fca40e01 100644 --- a/lib/widgets/address_book_card.dart +++ b/lib/widgets/address_book_card.dart @@ -4,16 +4,18 @@ import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/models/contact.dart'; import 'package:stackwallet/pages/address_book_views/subviews/contact_popup.dart'; import 'package:stackwallet/providers/global/address_book_service_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/expandable.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; +import '../themes/theme_providers.dart'; + class AddressBookCard extends ConsumerStatefulWidget { const AddressBookCard({ Key? key, @@ -91,7 +93,11 @@ class _AddressBookCardState extends ConsumerState { child: contact.id == "default" ? Center( child: SvgPicture.asset( - Assets.svg.stackIcon(context), + ref.watch( + themeProvider.select( + (value) => value.assets.stackIcon, + ), + ), width: 20, ), ) diff --git a/lib/widgets/animated_widgets/rotating_arrows.dart b/lib/widgets/animated_widgets/rotating_arrows.dart index 19edab1c9..1d0e2562e 100644 --- a/lib/widgets/animated_widgets/rotating_arrows.dart +++ b/lib/widgets/animated_widgets/rotating_arrows.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:lottie/lottie.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class RotatingArrowsController { VoidCallback? forward; diff --git a/lib/widgets/background.dart b/lib/widgets/background.dart index ed74e36ff..91332c291 100644 --- a/lib/widgets/background.dart +++ b/lib/widgets/background.dart @@ -1,11 +1,13 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; -import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; -class Background extends StatelessWidget { +class Background extends ConsumerWidget { const Background({ Key? key, required this.child, @@ -14,17 +16,17 @@ class Background extends StatelessWidget { final Widget child; @override - Widget build(BuildContext context) { + Widget build(BuildContext context, WidgetRef ref) { Color? color; bool shouldPad = false; - switch (Theme.of(context).extension()!.themeType) { - case ThemeType.oceanBreeze: + switch (Theme.of(context).extension()!.themeId) { + case "ocean_breeze": shouldPad = true; color = null; break; - case ThemeType.fruitSorbet: + case "fruit_sorbet": color = null; break; default: @@ -32,7 +34,11 @@ class Background extends StatelessWidget { break; } - final bgAsset = Assets.svg.background(context); + final bgAsset = ref.watch( + themeProvider.select( + (value) => value.assets.background, + ), + ); return Container( decoration: BoxDecoration( @@ -52,8 +58,10 @@ class Background extends StatelessWidget { bottom: MediaQuery.of(context).size.height * (1 / 12), ) : const EdgeInsets.all(0), - child: SvgPicture.asset( - bgAsset!, + child: SvgPicture.file( + File( + bgAsset!, + ), fit: BoxFit.fill, ), ), diff --git a/lib/widgets/choose_coin_view.dart b/lib/widgets/choose_coin_view.dart index baced09fe..ee67d8cee 100644 --- a/lib/widgets/choose_coin_view.dart +++ b/lib/widgets/choose_coin_view.dart @@ -1,12 +1,14 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/providers/providers.dart'; -import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; @@ -103,8 +105,10 @@ class _ChooseCoinViewState extends ConsumerState { padding: const EdgeInsets.all(12), child: Row( children: [ - SvgPicture.asset( - Assets.svg.iconFor(coin: coin), + SvgPicture.file( + File( + ref.watch(coinIconProvider(coin)), + ), width: 24, height: 24, ), diff --git a/lib/widgets/crypto_notifications.dart b/lib/widgets/crypto_notifications.dart new file mode 100644 index 000000000..8dab9ff31 --- /dev/null +++ b/lib/widgets/crypto_notifications.dart @@ -0,0 +1,98 @@ +import 'dart:async'; + +import 'package:event_bus/event_bus.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:stackwallet/services/notifications_api.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; +import 'package:stackwallet/utilities/enums/coin_enum.dart'; + +abstract class CryptoNotificationsEventBus { + static final instance = EventBus(); +} + +class CryptoNotificationEvent { + final String title; + final String walletId; + final String walletName; + final DateTime date; + final bool shouldWatchForUpdates; + final Coin coin; + final String? txid; + final int? confirmations; + final int? requiredConfirmations; + final String? changeNowId; + final String? payload; + + CryptoNotificationEvent({ + required this.title, + required this.walletId, + required this.walletName, + required this.date, + required this.shouldWatchForUpdates, + required this.coin, + this.txid, + this.confirmations, + this.requiredConfirmations, + this.changeNowId, + this.payload, + }); +} + +class CryptoNotifications extends ConsumerStatefulWidget { + const CryptoNotifications({ + Key? key, + required this.child, + }) : super(key: key); + + final Widget child; + + @override + ConsumerState createState() => + _CryptoNotificationsState(); +} + +class _CryptoNotificationsState extends ConsumerState { + late final StreamSubscription? _streamSubscription; + + Future _showNotification(CryptoNotificationEvent event) async { + await NotificationApi.showNotification( + title: event.title, + body: event.walletName, + walletId: event.walletId, + iconAssetName: ref.read(coinIconProvider(event.coin)), + date: event.date, + shouldWatchForUpdates: event.shouldWatchForUpdates, + coinName: event.coin.name, + txid: event.txid, + confirmations: event.confirmations, + requiredConfirmations: event.requiredConfirmations, + changeNowId: event.changeNowId, + payload: event.payload, + ); + } + + @override + void initState() { + _streamSubscription = CryptoNotificationsEventBus.instance + .on() + .listen( + (event) async { + unawaited(_showNotification(event)); + }, + ); + + super.initState(); + } + + @override + void dispose() { + _streamSubscription?.cancel(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return widget.child; + } +} diff --git a/lib/widgets/custom_buttons/app_bar_icon_button.dart b/lib/widgets/custom_buttons/app_bar_icon_button.dart index 71d8910d0..0753c490c 100644 --- a/lib/widgets/custom_buttons/app_bar_icon_button.dart +++ b/lib/widgets/custom_buttons/app_bar_icon_button.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; class AppBarIconButton extends StatelessWidget { @@ -27,28 +27,28 @@ class AppBarIconButton extends StatelessWidget { @override Widget build(BuildContext context) { return Container( - height: size, - width: size, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(1000), - color: color ?? Theme.of(context).extension()!.background, - boxShadow: shadows, - ), - child: Semantics( + height: size, + width: size, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(1000), + color: + color ?? Theme.of(context).extension()!.background, + boxShadow: shadows, + ), + child: Semantics( excludeSemantics: true, label: semanticsLabel, child: MaterialButton( - splashColor: Theme.of(context).extension()!.highlight, - padding: EdgeInsets.zero, - materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(1000), + splashColor: Theme.of(context).extension()!.highlight, + padding: EdgeInsets.zero, + materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(1000), + ), + onPressed: onPressed, + child: icon, ), - onPressed: onPressed, - child: icon, - ), - ) - ); + )); } } @@ -72,19 +72,19 @@ class AppBarBackButton extends StatelessWidget { Widget build(BuildContext context) { final isDesktop = Util.isDesktop; return Padding( - padding: isDesktop - ? const EdgeInsets.symmetric( - vertical: 20, - horizontal: 24, - ) - : const EdgeInsets.all(10), - child: AppBarIconButton( - semanticsLabel: semanticsLabel, + padding: isDesktop + ? const EdgeInsets.symmetric( + vertical: 20, + horizontal: 24, + ) + : const EdgeInsets.all(10), + child: AppBarIconButton( + semanticsLabel: semanticsLabel, size: size ?? (isDesktop ? isCompact - ? 42 - : 56 + ? 42 + : 56 : 32), color: isDesktop ? Theme.of(context).extension()!.textFieldDefaultBG @@ -94,10 +94,10 @@ class AppBarBackButton extends StatelessWidget { Assets.svg.arrowLeft, width: iconSize ?? (isCompact ? 18 : 24), height: iconSize ?? (isCompact ? 18 : 24), - color: Theme.of(context).extension()!.topNavIconPrimary, + color: + Theme.of(context).extension()!.topNavIconPrimary, ), onPressed: onPressed ?? Navigator.of(context).pop, - ) - ); + )); } } diff --git a/lib/widgets/custom_buttons/blue_text_button.dart b/lib/widgets/custom_buttons/blue_text_button.dart index 5450620b6..4034ac935 100644 --- a/lib/widgets/custom_buttons/blue_text_button.dart +++ b/lib/widgets/custom_buttons/blue_text_button.dart @@ -1,7 +1,7 @@ import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/rounded_container.dart'; diff --git a/lib/widgets/custom_buttons/draggable_switch_button.dart b/lib/widgets/custom_buttons/draggable_switch_button.dart index 33dfe9860..b7582211c 100644 --- a/lib/widgets/custom_buttons/draggable_switch_button.dart +++ b/lib/widgets/custom_buttons/draggable_switch_button.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; class DraggableSwitchButton extends StatefulWidget { const DraggableSwitchButton({ diff --git a/lib/widgets/custom_buttons/dropdown_button.dart b/lib/widgets/custom_buttons/dropdown_button.dart index d639ccf54..0d5a2a738 100644 --- a/lib/widgets/custom_buttons/dropdown_button.dart +++ b/lib/widgets/custom_buttons/dropdown_button.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/animated_widgets/rotate_icon.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/desktop/secondary_button.dart'; diff --git a/lib/widgets/custom_buttons/favorite_toggle.dart b/lib/widgets/custom_buttons/favorite_toggle.dart index 83834a3ee..b74827cd9 100644 --- a/lib/widgets/custom_buttons/favorite_toggle.dart +++ b/lib/widgets/custom_buttons/favorite_toggle.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; -import 'package:stackwallet/providers/ui/color_theme_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class FavoriteToggle extends ConsumerStatefulWidget { const FavoriteToggle({ @@ -37,10 +37,9 @@ class _FavoriteToggleState extends ConsumerState { @override void initState() { - on = widget.on ?? - ref.read(colorThemeProvider.state).state.favoriteStarActive; - off = widget.off ?? - ref.read(colorThemeProvider.state).state.favoriteStarInactive; + on = widget.on ?? ref.read(themeProvider.state).state.favoriteStarActive; + off = + widget.off ?? ref.read(themeProvider.state).state.favoriteStarInactive; _isActive = widget.initialState; _color = _isActive ? on : off; _onChanged = widget.onChanged; diff --git a/lib/widgets/custom_buttons/paynym_follow_toggle_button.dart b/lib/widgets/custom_buttons/paynym_follow_toggle_button.dart index 4c6733e96..3c999a84c 100644 --- a/lib/widgets/custom_buttons/paynym_follow_toggle_button.dart +++ b/lib/widgets/custom_buttons/paynym_follow_toggle_button.dart @@ -10,8 +10,8 @@ import 'package:stackwallet/providers/global/paynym_api_provider.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/providers/wallet/my_paynym_account_state_provider.dart'; import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/desktop/primary_button.dart'; import 'package:stackwallet/widgets/desktop/secondary_button.dart'; diff --git a/lib/widgets/custom_buttons/simple_copy_button.dart b/lib/widgets/custom_buttons/simple_copy_button.dart index 1db61db45..eab69a25d 100644 --- a/lib/widgets/custom_buttons/simple_copy_button.dart +++ b/lib/widgets/custom_buttons/simple_copy_button.dart @@ -4,9 +4,9 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class SimpleCopyButton extends StatelessWidget { const SimpleCopyButton({ diff --git a/lib/widgets/custom_buttons/simple_edit_button.dart b/lib/widgets/custom_buttons/simple_edit_button.dart index f3e778733..8260fe659 100644 --- a/lib/widgets/custom_buttons/simple_edit_button.dart +++ b/lib/widgets/custom_buttons/simple_edit_button.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:stackwallet/pages/generic/single_field_edit_view.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:tuple/tuple.dart'; diff --git a/lib/widgets/custom_loading_overlay.dart b/lib/widgets/custom_loading_overlay.dart index e2669d054..349448fbc 100644 --- a/lib/widgets/custom_loading_overlay.dart +++ b/lib/widgets/custom_loading_overlay.dart @@ -3,8 +3,8 @@ import 'dart:async'; import 'package:event_bus/event_bus.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/loading_indicator.dart'; diff --git a/lib/widgets/custom_pin_put/pin_keyboard.dart b/lib/widgets/custom_pin_put/pin_keyboard.dart index 6b100a2f9..d5874dcb0 100644 --- a/lib/widgets/custom_pin_put/pin_keyboard.dart +++ b/lib/widgets/custom_pin_put/pin_keyboard.dart @@ -2,9 +2,9 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class NumberKey extends StatefulWidget { const NumberKey({ @@ -119,42 +119,42 @@ class _BackspaceKeyState extends State { shadows: const [], ), child: MaterialButton( - // splashColor: Theme.of(context).extension()!.highlight, - materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, - shape: const StadiumBorder(), - onPressed: () { - onPressed.call(); - setState(() { - _color = Theme.of(context) - .extension()! - .numpadBackDefault - .withOpacity(0.8); - }); + // splashColor: Theme.of(context).extension()!.highlight, + materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, + shape: const StadiumBorder(), + onPressed: () { + onPressed.call(); + setState(() { + _color = Theme.of(context) + .extension()! + .numpadBackDefault + .withOpacity(0.8); + }); - Future.delayed(const Duration(milliseconds: 200), () { - if (mounted) { - setState(() { - _color = Theme.of(context) + Future.delayed(const Duration(milliseconds: 200), () { + if (mounted) { + setState(() { + _color = Theme.of(context) + .extension()! + .numpadBackDefault; + }); + } + }); + }, + child: Semantics( + label: "Backspace Button. Deletes The Last Digit.", + excludeSemantics: true, + child: Center( + child: SvgPicture.asset( + Assets.svg.delete, + width: 20, + height: 20, + color: Theme.of(context) .extension()! - .numpadBackDefault; - }); - } - }); - }, - child: Semantics( - label: "Backspace Button. Deletes The Last Digit.", - excludeSemantics: true, - child: Center( - child: SvgPicture.asset( - Assets.svg.delete, - width: 20, - height: 20, - color: - Theme.of(context).extension()!.numpadTextDefault, + .numpadTextDefault, + ), ), - ), - ) - ), + )), ); } } @@ -213,38 +213,37 @@ class CustomKey extends StatelessWidget { @override Widget build(BuildContext context) { return Container( - height: 72, - width: 72, - decoration: ShapeDecoration( - shape: const StadiumBorder(), - color: Theme.of(context).extension()!.numpadBackDefault, - shadows: const [], - ), - child: Semantics( - label: semanticsLabel, - excludeSemantics: true, - child: MaterialButton( - // splashColor: Theme.of(context).extension()!.highlight, - materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, + height: 72, + width: 72, + decoration: ShapeDecoration( shape: const StadiumBorder(), - onPressed: () { - onPressed.call(); - }, - child: Center( - child: iconAssetName == null - ? null - : SvgPicture.asset( - iconAssetName!, - width: 20, - height: 20, - color: Theme.of(context) - .extension()! - .numpadTextDefault, + color: Theme.of(context).extension()!.numpadBackDefault, + shadows: const [], + ), + child: Semantics( + label: semanticsLabel, + excludeSemantics: true, + child: MaterialButton( + // splashColor: Theme.of(context).extension()!.highlight, + materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, + shape: const StadiumBorder(), + onPressed: () { + onPressed.call(); + }, + child: Center( + child: iconAssetName == null + ? null + : SvgPicture.asset( + iconAssetName!, + width: 20, + height: 20, + color: Theme.of(context) + .extension()! + .numpadTextDefault, + ), ), ), - ), - ) - ); + )); } } diff --git a/lib/widgets/custom_tab_view.dart b/lib/widgets/custom_tab_view.dart index 6d89499a3..78e7a1809 100644 --- a/lib/widgets/custom_tab_view.dart +++ b/lib/widgets/custom_tab_view.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class CustomTabView extends StatefulWidget { const CustomTabView({ diff --git a/lib/widgets/desktop/delete_button.dart b/lib/widgets/desktop/delete_button.dart index cb255ebd2..af13518b8 100644 --- a/lib/widgets/desktop/delete_button.dart +++ b/lib/widgets/desktop/delete_button.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/desktop/custom_text_button.dart'; diff --git a/lib/widgets/desktop/desktop_dialog.dart b/lib/widgets/desktop/desktop_dialog.dart index 3cb369edb..1aa7eda3f 100644 --- a/lib/widgets/desktop/desktop_dialog.dart +++ b/lib/widgets/desktop/desktop_dialog.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; class DesktopDialog extends StatelessWidget { const DesktopDialog({ diff --git a/lib/widgets/desktop/desktop_dialog_close_button.dart b/lib/widgets/desktop/desktop_dialog_close_button.dart index da992d5f6..4199278df 100644 --- a/lib/widgets/desktop/desktop_dialog_close_button.dart +++ b/lib/widgets/desktop/desktop_dialog_close_button.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; class DesktopDialogCloseButton extends StatelessWidget { diff --git a/lib/widgets/desktop/desktop_scaffold.dart b/lib/widgets/desktop/desktop_scaffold.dart index 51fa9f3a5..3486bc013 100644 --- a/lib/widgets/desktop/desktop_scaffold.dart +++ b/lib/widgets/desktop/desktop_scaffold.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/widgets/background.dart'; class DesktopScaffold extends StatelessWidget { diff --git a/lib/widgets/desktop/living_stack_icon.dart b/lib/widgets/desktop/living_stack_icon.dart index 7afc8f8d2..a5c17108a 100644 --- a/lib/widgets/desktop/living_stack_icon.dart +++ b/lib/widgets/desktop/living_stack_icon.dart @@ -1,17 +1,21 @@ import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/flutter_svg.dart'; -import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; -class LivingStackIcon extends StatefulWidget { - const LivingStackIcon({Key? key, this.onPressed,}) : super(key: key); +class LivingStackIcon extends ConsumerStatefulWidget { + const LivingStackIcon({ + Key? key, + this.onPressed, + }) : super(key: key); final VoidCallback? onPressed; @override - State createState() => _LivingStackIconState(); + ConsumerState createState() => _LivingStackIconState(); } -class _LivingStackIconState extends State { +class _LivingStackIconState extends ConsumerState { bool _hovering = false; late final VoidCallback? onPressed; @@ -44,7 +48,11 @@ class _LivingStackIconState extends State { duration: const Duration(milliseconds: 200), scale: _hovering ? 1.2 : 1, child: SvgPicture.asset( - Assets.svg.stackIcon(context), + ref.watch( + themeProvider.select( + (value) => value.assets.stackIcon, + ), + ), ), ), ), diff --git a/lib/widgets/desktop/outline_blue_button.dart b/lib/widgets/desktop/outline_blue_button.dart new file mode 100644 index 000000000..406337f84 --- /dev/null +++ b/lib/widgets/desktop/outline_blue_button.dart @@ -0,0 +1,188 @@ +import 'package:flutter/material.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/utilities/text_styles.dart'; +import 'package:stackwallet/utilities/util.dart'; +import 'package:stackwallet/widgets/desktop/custom_text_button.dart'; + +export 'package:stackwallet/widgets/desktop/custom_text_button.dart'; + +class OutlineBlueButton extends StatelessWidget { + const OutlineBlueButton({ + Key? key, + this.width, + this.height, + this.label, + this.icon, + this.onPressed, + this.enabled = true, + this.buttonHeight, + this.iconSpacing = 10, + }) : super(key: key); + + final double? width; + final double? height; + final String? label; + final VoidCallback? onPressed; + final bool enabled; + final Widget? icon; + final ButtonHeight? buttonHeight; + final double? iconSpacing; + + TextStyle getStyle(bool isDesktop, BuildContext context) { + if (isDesktop) { + if (buttonHeight == null) { + return enabled + ? STextStyles.desktopButtonEnabled(context).copyWith( + color: Theme.of(context) + .extension()! + .customTextButtonEnabledText, + ) + : STextStyles.desktopButtonDisabled(context).copyWith( + color: Theme.of(context) + .extension()! + .customTextButtonDisabledText, + ); + } + + switch (buttonHeight!) { + case ButtonHeight.xxs: + case ButtonHeight.xs: + case ButtonHeight.s: + return STextStyles.desktopTextExtraExtraSmall(context).copyWith( + color: enabled + ? Theme.of(context) + .extension()! + .customTextButtonEnabledText + : Theme.of(context) + .extension()! + .customTextButtonDisabledText, + ); + + case ButtonHeight.m: + case ButtonHeight.l: + return STextStyles.desktopTextExtraSmall(context).copyWith( + color: enabled + ? Theme.of(context) + .extension()! + .customTextButtonEnabledText + : Theme.of(context) + .extension()! + .customTextButtonDisabledText, + ); + + case ButtonHeight.xl: + case ButtonHeight.xxl: + return enabled + ? STextStyles.desktopButtonEnabled(context) + : STextStyles.desktopButtonDisabled(context); + } + } else { + if (buttonHeight == ButtonHeight.l) { + return STextStyles.button(context).copyWith( + fontSize: 10, + color: enabled + ? Theme.of(context) + .extension()! + .customTextButtonEnabledText + : Theme.of(context) + .extension()! + .customTextButtonDisabledText, + ); + } + return STextStyles.button(context).copyWith( + color: enabled + ? Theme.of(context) + .extension()! + .customTextButtonEnabledText + : Theme.of(context) + .extension()! + .customTextButtonDisabledText, + ); + } + } + + double? _getHeight() { + if (buttonHeight == null) { + return height; + } + + if (Util.isDesktop) { + switch (buttonHeight!) { + case ButtonHeight.xxs: + return 32; + case ButtonHeight.xs: + return 37; + case ButtonHeight.s: + return 40; + case ButtonHeight.m: + return 48; + case ButtonHeight.l: + return 56; + case ButtonHeight.xl: + return 70; + case ButtonHeight.xxl: + return 96; + } + } else { + switch (buttonHeight!) { + case ButtonHeight.xxs: + case ButtonHeight.xs: + case ButtonHeight.s: + case ButtonHeight.m: + return 28; + case ButtonHeight.l: + return 30; + case ButtonHeight.xl: + return 46; + case ButtonHeight.xxl: + return 56; + } + } + } + + @override + Widget build(BuildContext context) { + final isDesktop = Util.isDesktop; + + return CustomTextButtonBase( + height: _getHeight(), + width: width, + textButton: TextButton( + onPressed: enabled ? onPressed : null, + style: enabled + ? Theme.of(context) + .extension()! + .getOutlineBlueButtonStyle(context) + : Theme.of(context) + .extension()! + .getOutlineBlueButtonDisabledStyle(context), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + if (icon != null) icon!, + if (icon != null && label != null) + SizedBox( + width: iconSpacing, + ), + if (label != null) + Column( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Text( + label!, + style: getStyle(isDesktop, context), + ), + if (buttonHeight != null && buttonHeight == ButtonHeight.s) + const SizedBox( + height: 2, + ), + ], + ), + ], + ), + ), + ); + } +} diff --git a/lib/widgets/desktop/paynym_search_button.dart b/lib/widgets/desktop/paynym_search_button.dart index 0d9002ec6..8603e0079 100644 --- a/lib/widgets/desktop/paynym_search_button.dart +++ b/lib/widgets/desktop/paynym_search_button.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/rounded_container.dart'; class PaynymSearchButton extends StatefulWidget { diff --git a/lib/widgets/desktop/primary_button.dart b/lib/widgets/desktop/primary_button.dart index a275bd570..b1201f354 100644 --- a/lib/widgets/desktop/primary_button.dart +++ b/lib/widgets/desktop/primary_button.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/desktop/custom_text_button.dart'; diff --git a/lib/widgets/desktop/secondary_button.dart b/lib/widgets/desktop/secondary_button.dart index 145a6446c..48370e55c 100644 --- a/lib/widgets/desktop/secondary_button.dart +++ b/lib/widgets/desktop/secondary_button.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/desktop/custom_text_button.dart'; diff --git a/lib/widgets/emoji_select_sheet.dart b/lib/widgets/emoji_select_sheet.dart index ecb6d1a1b..5fc49782c 100644 --- a/lib/widgets/emoji_select_sheet.dart +++ b/lib/widgets/emoji_select_sheet.dart @@ -2,10 +2,10 @@ import 'package:emojis/emoji.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/desktop/secondary_button.dart'; diff --git a/lib/widgets/eth_wallet_radio.dart b/lib/widgets/eth_wallet_radio.dart index e5a0c2bb5..8398a6584 100644 --- a/lib/widgets/eth_wallet_radio.dart +++ b/lib/widgets/eth_wallet_radio.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/wallet_info_row/sub_widgets/wallet_info_row_balance.dart'; import 'package:stackwallet/widgets/wallet_info_row/sub_widgets/wallet_info_row_coin_icon.dart'; diff --git a/lib/widgets/exchange/trocador/trocador_kyc_icon.dart b/lib/widgets/exchange/trocador/trocador_kyc_icon.dart index 18250932b..eb0b04834 100644 --- a/lib/widgets/exchange/trocador/trocador_kyc_icon.dart +++ b/lib/widgets/exchange/trocador/trocador_kyc_icon.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/exchange/trocador/trocador_rating_type_enum.dart'; class TrocadorKYCIcon extends StatelessWidget { diff --git a/lib/widgets/expandable2.dart b/lib/widgets/expandable2.dart index 4439d83e6..5ae64e3fc 100644 --- a/lib/widgets/expandable2.dart +++ b/lib/widgets/expandable2.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; enum Expandable2State { collapsed, diff --git a/lib/widgets/hover_text_field.dart b/lib/widgets/hover_text_field.dart index 51d35aaa7..30e018192 100644 --- a/lib/widgets/hover_text_field.dart +++ b/lib/widgets/hover_text_field.dart @@ -5,9 +5,9 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/providers/global/wallets_provider.dart'; import 'package:stackwallet/providers/global/wallets_service_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; class DesktopWalletNameField extends ConsumerStatefulWidget { diff --git a/lib/widgets/icon_widgets/addressbook_icon.dart b/lib/widgets/icon_widgets/addressbook_icon.dart index 3e9f7b2a5..342c9638b 100644 --- a/lib/widgets/icon_widgets/addressbook_icon.dart +++ b/lib/widgets/icon_widgets/addressbook_icon.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class AddressBookIcon extends StatelessWidget { const AddressBookIcon({ diff --git a/lib/widgets/icon_widgets/clipboard_icon.dart b/lib/widgets/icon_widgets/clipboard_icon.dart index caafda0a6..56e2bbedb 100644 --- a/lib/widgets/icon_widgets/clipboard_icon.dart +++ b/lib/widgets/icon_widgets/clipboard_icon.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class ClipboardIcon extends StatelessWidget { const ClipboardIcon({ diff --git a/lib/widgets/icon_widgets/copy_icon.dart b/lib/widgets/icon_widgets/copy_icon.dart index 9f82a8066..b30925152 100644 --- a/lib/widgets/icon_widgets/copy_icon.dart +++ b/lib/widgets/icon_widgets/copy_icon.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class CopyIcon extends StatelessWidget { const CopyIcon({ diff --git a/lib/widgets/icon_widgets/dice_icon.dart b/lib/widgets/icon_widgets/dice_icon.dart index ca502bfdf..8fa9dfbe9 100644 --- a/lib/widgets/icon_widgets/dice_icon.dart +++ b/lib/widgets/icon_widgets/dice_icon.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class DiceIcon extends StatelessWidget { const DiceIcon({ diff --git a/lib/widgets/icon_widgets/eth_token_icon.dart b/lib/widgets/icon_widgets/eth_token_icon.dart index 0b47d526d..cd5cfbbd1 100644 --- a/lib/widgets/icon_widgets/eth_token_icon.dart +++ b/lib/widgets/icon_widgets/eth_token_icon.dart @@ -1,12 +1,13 @@ import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:isar/isar.dart'; import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; -import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; -class EthTokenIcon extends StatefulWidget { +class EthTokenIcon extends ConsumerStatefulWidget { const EthTokenIcon({ Key? key, required this.contractAddress, @@ -17,10 +18,10 @@ class EthTokenIcon extends StatefulWidget { final double size; @override - State createState() => _EthTokenIconState(); + ConsumerState createState() => _EthTokenIconState(); } -class _EthTokenIconState extends State { +class _EthTokenIconState extends ConsumerState { late final String? imageUrl; @override @@ -38,7 +39,7 @@ class _EthTokenIconState extends State { Widget build(BuildContext context) { if (imageUrl == null || imageUrl!.isEmpty) { return SvgPicture.asset( - Assets.svg.iconFor(coin: Coin.ethereum), + ref.watch(coinIconProvider(Coin.ethereum)), width: widget.size, height: widget.size, ); diff --git a/lib/widgets/icon_widgets/pencil_icon.dart b/lib/widgets/icon_widgets/pencil_icon.dart index cb14f1cbf..cb747f0c2 100644 --- a/lib/widgets/icon_widgets/pencil_icon.dart +++ b/lib/widgets/icon_widgets/pencil_icon.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class PencilIcon extends StatelessWidget { const PencilIcon({ diff --git a/lib/widgets/icon_widgets/qrcode_icon.dart b/lib/widgets/icon_widgets/qrcode_icon.dart index 598dbcf84..4ef18012e 100644 --- a/lib/widgets/icon_widgets/qrcode_icon.dart +++ b/lib/widgets/icon_widgets/qrcode_icon.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class QrCodeIcon extends StatelessWidget { const QrCodeIcon({ diff --git a/lib/widgets/icon_widgets/share_icon.dart b/lib/widgets/icon_widgets/share_icon.dart index 7a89dd829..58e0a3d32 100644 --- a/lib/widgets/icon_widgets/share_icon.dart +++ b/lib/widgets/icon_widgets/share_icon.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class ShareIcon extends StatelessWidget { const ShareIcon({ diff --git a/lib/widgets/icon_widgets/utxo_status_icon.dart b/lib/widgets/icon_widgets/utxo_status_icon.dart index a6ae2f4da..e5434921d 100644 --- a/lib/widgets/icon_widgets/utxo_status_icon.dart +++ b/lib/widgets/icon_widgets/utxo_status_icon.dart @@ -1,11 +1,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/rounded_container.dart'; -import '../../utilities/theme/stack_colors.dart'; - enum UTXOStatusIconStatus { confirmed, unconfirmed; diff --git a/lib/widgets/icon_widgets/x_icon.dart b/lib/widgets/icon_widgets/x_icon.dart index 4a497a464..39d00571e 100644 --- a/lib/widgets/icon_widgets/x_icon.dart +++ b/lib/widgets/icon_widgets/x_icon.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class XIcon extends StatelessWidget { const XIcon({ diff --git a/lib/widgets/loading_indicator.dart b/lib/widgets/loading_indicator.dart index 150397669..1d95ca616 100644 --- a/lib/widgets/loading_indicator.dart +++ b/lib/widgets/loading_indicator.dart @@ -1,10 +1,12 @@ -import 'package:flutter/material.dart'; -import 'package:lottie/lottie.dart'; -import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/theme/color_theme.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'dart:io'; -class LoadingIndicator extends StatelessWidget { +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:lottie/lottie.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; +import 'package:stackwallet/utilities/assets.dart'; + +class LoadingIndicator extends ConsumerWidget { const LoadingIndicator({ Key? key, this.width, @@ -15,11 +17,10 @@ class LoadingIndicator extends StatelessWidget { final double? height; @override - Widget build(BuildContext context) { - final isChan = Theme.of(context).extension()!.themeType == - ThemeType.chan || - Theme.of(context).extension()!.themeType == - ThemeType.darkChans; + Widget build(BuildContext context, WidgetRef ref) { + final assetPath = ref.watch( + themeProvider.select((value) => value.assets.loadingGif), + ); return Container( color: Colors.transparent, @@ -27,10 +28,10 @@ class LoadingIndicator extends StatelessWidget { child: SizedBox( width: width, height: height, - child: isChan - ? Image( - image: AssetImage( - Assets.gif.stacyPlain, + child: assetPath != null + ? Image.file( + File( + assetPath, ), ) : Lottie.asset( diff --git a/lib/widgets/managed_favorite.dart b/lib/widgets/managed_favorite.dart index ccfcdf38a..6383c8501 100644 --- a/lib/widgets/managed_favorite.dart +++ b/lib/widgets/managed_favorite.dart @@ -1,12 +1,14 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/providers/providers.dart'; -import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/custom_buttons/favorite_toggle.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; @@ -81,8 +83,10 @@ class _ManagedFavoriteCardState extends ConsumerState { ), child: Padding( padding: EdgeInsets.all(isDesktop ? 6 : 4), - child: SvgPicture.asset( - Assets.svg.iconFor(coin: manager.coin), + child: SvgPicture.file( + File( + ref.watch(coinIconProvider(manager.coin)), + ), width: 20, height: 20, ), diff --git a/lib/widgets/master_wallet_card.dart b/lib/widgets/master_wallet_card.dart index 929edb039..b5a3802cb 100644 --- a/lib/widgets/master_wallet_card.dart +++ b/lib/widgets/master_wallet_card.dart @@ -3,9 +3,9 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/coins/ethereum/ethereum_wallet.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/animated_widgets/rotate_icon.dart'; import 'package:stackwallet/widgets/expandable.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; diff --git a/lib/widgets/node_card.dart b/lib/widgets/node_card.dart index f6c4642b9..da0c20ccf 100644 --- a/lib/widgets/node_card.dart +++ b/lib/widgets/node_card.dart @@ -9,6 +9,7 @@ import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/manage_nodes_views/add_edit_node_view.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/manage_nodes_views/node_details_view.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/default_nodes.dart'; @@ -18,7 +19,6 @@ import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/test_epic_box_connection.dart'; import 'package:stackwallet/utilities/test_monero_node_connection.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; diff --git a/lib/widgets/node_options_sheet.dart b/lib/widgets/node_options_sheet.dart index e89da2e42..3c02c2ba7 100644 --- a/lib/widgets/node_options_sheet.dart +++ b/lib/widgets/node_options_sheet.dart @@ -9,6 +9,7 @@ import 'package:stackwallet/notifications/show_flush_bar.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/manage_nodes_views/add_edit_node_view.dart'; import 'package:stackwallet/pages/settings_views/global_settings_view/manage_nodes_views/node_details_view.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/default_nodes.dart'; @@ -18,7 +19,6 @@ import 'package:stackwallet/utilities/logger.dart'; import 'package:stackwallet/utilities/test_epic_box_connection.dart'; import 'package:stackwallet/utilities/test_monero_node_connection.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; import 'package:tuple/tuple.dart'; diff --git a/lib/widgets/rounded_white_container.dart b/lib/widgets/rounded_white_container.dart index a72d7af5a..d3acfcbb6 100644 --- a/lib/widgets/rounded_white_container.dart +++ b/lib/widgets/rounded_white_container.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/widgets/rounded_container.dart'; class RoundedWhiteContainer extends StatelessWidget { diff --git a/lib/widgets/stack_dialog.dart b/lib/widgets/stack_dialog.dart index b3cdaef70..50f248e6b 100644 --- a/lib/widgets/stack_dialog.dart +++ b/lib/widgets/stack_dialog.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; class StackDialogBase extends StatelessWidget { diff --git a/lib/widgets/stack_text_field.dart b/lib/widgets/stack_text_field.dart index 1f1e9f8de..edc336bdb 100644 --- a/lib/widgets/stack_text_field.dart +++ b/lib/widgets/stack_text_field.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; InputDecoration standardInputDecoration( diff --git a/lib/widgets/table_view/table_view_row.dart b/lib/widgets/table_view/table_view_row.dart index 57f5da638..0b4fc8d16 100644 --- a/lib/widgets/table_view/table_view_row.dart +++ b/lib/widgets/table_view/table_view_row.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/widgets/expandable.dart'; import 'package:stackwallet/widgets/table_view/table_view_cell.dart'; diff --git a/lib/widgets/textfields/exchange_textfield.dart b/lib/widgets/textfields/exchange_textfield.dart index 33fc6d738..ab23eabbf 100644 --- a/lib/widgets/textfields/exchange_textfield.dart +++ b/lib/widgets/textfields/exchange_textfield.dart @@ -3,9 +3,9 @@ import 'package:flutter/services.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/models/exchange/aggregate_currency.dart'; import 'package:stackwallet/pages/buy_view/sub_widgets/crypto_selection_view.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/loading_indicator.dart'; @@ -158,10 +158,14 @@ class _ExchangeTextFieldState extends State { builder: (context) { if (isStackCoin(widget.currency?.ticker)) { return Center( - child: getIconForTicker( - widget.currency!.ticker, + child: CoinIconForTicker( size: 18, + ticker: widget.currency!.ticker, ), + // child: getIconForTicker( + // widget.currency!.ticker, + // size: 18, + // ), ); } else if (widget.currency != null && widget.currency!.image.isNotEmpty) { diff --git a/lib/widgets/toggle.dart b/lib/widgets/toggle.dart index 7d3135770..b1434045d 100644 --- a/lib/widgets/toggle.dart +++ b/lib/widgets/toggle.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; class Toggle extends StatefulWidget { diff --git a/lib/widgets/trade_card.dart b/lib/widgets/trade_card.dart index f4162fc5e..4625c6714 100644 --- a/lib/widgets/trade_card.dart +++ b/lib/widgets/trade_card.dart @@ -1,10 +1,13 @@ +import 'dart:io'; + import 'package:decimal/decimal.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:stackwallet/models/exchange/change_now/exchange_transaction_status.dart'; import 'package:stackwallet/models/exchange/response_objects/trade.dart'; -import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/util.dart'; @@ -21,7 +24,7 @@ class TradeCard extends ConsumerWidget { final Trade trade; final VoidCallback onTap; - String _fetchIconAssetForStatus(String statusString, BuildContext context) { + String _fetchIconAssetForStatus(String statusString, ThemeAssets assets) { ChangeNowTransactionStatus? status; try { if (statusString.toLowerCase().startsWith("waiting")) { @@ -32,10 +35,10 @@ class TradeCard extends ConsumerWidget { switch (statusString.toLowerCase()) { case "funds confirming": case "processing payment": - return Assets.svg.txExchangePending(context); + return assets.txExchangePending; case "completed": - return Assets.svg.txExchange(context); + return assets.txExchange; default: status = ChangeNowTransactionStatus.Failed; @@ -50,11 +53,11 @@ class TradeCard extends ConsumerWidget { case ChangeNowTransactionStatus.Sending: case ChangeNowTransactionStatus.Refunded: case ChangeNowTransactionStatus.Verifying: - return Assets.svg.txExchangePending(context); + return assets.txExchangePending; case ChangeNowTransactionStatus.Finished: - return Assets.svg.txExchange(context); + return assets.txExchange; case ChangeNowTransactionStatus.Failed: - return Assets.svg.txExchangeFailed(context); + return assets.txExchangeFailed; } } @@ -82,10 +85,16 @@ class TradeCard extends ConsumerWidget { borderRadius: BorderRadius.circular(32), ), child: Center( - child: SvgPicture.asset( - _fetchIconAssetForStatus( - trade.status, - context, + child: SvgPicture.file( + File( + _fetchIconAssetForStatus( + trade.status, + ref.watch( + themeProvider.select( + (value) => value.assets, + ), + ), + ), ), width: 32, height: 32, diff --git a/lib/widgets/transaction_card.dart b/lib/widgets/transaction_card.dart index a2b9ba866..8cb613152 100644 --- a/lib/widgets/transaction_card.dart +++ b/lib/widgets/transaction_card.dart @@ -8,12 +8,12 @@ import 'package:stackwallet/pages/wallet_view/sub_widgets/tx_icon.dart'; import 'package:stackwallet/pages/wallet_view/transaction_views/transaction_details_view.dart'; import 'package:stackwallet/providers/db/main_db_provider.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/format.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:tuple/tuple.dart'; diff --git a/lib/widgets/wallet_info_row/sub_widgets/wallet_info_row_balance.dart b/lib/widgets/wallet_info_row/sub_widgets/wallet_info_row_balance.dart index 1bbaf8a94..051e96f70 100644 --- a/lib/widgets/wallet_info_row/sub_widgets/wallet_info_row_balance.dart +++ b/lib/widgets/wallet_info_row/sub_widgets/wallet_info_row_balance.dart @@ -4,10 +4,10 @@ import 'package:stackwallet/db/isar/main_db.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/coins/ethereum/ethereum_wallet.dart'; import 'package:stackwallet/services/coins/firo/firo_wallet.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; class WalletInfoRowBalance extends ConsumerWidget { diff --git a/lib/widgets/wallet_info_row/sub_widgets/wallet_info_row_coin_icon.dart b/lib/widgets/wallet_info_row/sub_widgets/wallet_info_row_coin_icon.dart index afe47e250..5d87cd90b 100644 --- a/lib/widgets/wallet_info_row/sub_widgets/wallet_info_row_coin_icon.dart +++ b/lib/widgets/wallet_info_row/sub_widgets/wallet_info_row_coin_icon.dart @@ -1,15 +1,18 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:isar/isar.dart'; import 'package:stackwallet/models/isar/exchange_cache/currency.dart'; import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart'; import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart'; -import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/themes/coin_icon_provider.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; -class WalletInfoCoinIcon extends StatelessWidget { +class WalletInfoCoinIcon extends ConsumerWidget { const WalletInfoCoinIcon({ Key? key, required this.coin, @@ -22,7 +25,7 @@ class WalletInfoCoinIcon extends StatelessWidget { final double size; @override - Widget build(BuildContext context) { + Widget build(BuildContext context, WidgetRef ref) { Currency? currency; if (contractAddress != null) { currency = ExchangeDataLoadingService.instance.isar.currencies @@ -58,8 +61,10 @@ class WalletInfoCoinIcon extends StatelessWidget { width: 20, height: 20, ) - : SvgPicture.asset( - Assets.svg.iconFor(coin: coin), + : SvgPicture.file( + File( + ref.watch(coinIconProvider(coin)), + ), width: 20, height: 20, ), diff --git a/lib/widgets/wallet_info_row/wallet_info_row.dart b/lib/widgets/wallet_info_row/wallet_info_row.dart index c31e8e19f..4a3a35b57 100644 --- a/lib/widgets/wallet_info_row/wallet_info_row.dart +++ b/lib/widgets/wallet_info_row/wallet_info_row.dart @@ -4,8 +4,8 @@ import 'package:stackwallet/models/isar/models/ethereum/eth_contract.dart'; import 'package:stackwallet/pages/token_view/sub_widgets/token_summary.dart'; import 'package:stackwallet/providers/db/main_db_provider.dart'; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/custom_buttons/blue_text_button.dart'; import 'package:stackwallet/widgets/wallet_info_row/sub_widgets/wallet_info_row_balance.dart'; diff --git a/lib/widgets/wallet_navigation_bar/components/icons/buy_nav_icon.dart b/lib/widgets/wallet_navigation_bar/components/icons/buy_nav_icon.dart index fa2975f1a..5f0e30df8 100644 --- a/lib/widgets/wallet_navigation_bar/components/icons/buy_nav_icon.dart +++ b/lib/widgets/wallet_navigation_bar/components/icons/buy_nav_icon.dart @@ -1,14 +1,23 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:stackwallet/utilities/assets.dart'; +import 'dart:io'; -class BuyNavIcon extends StatelessWidget { +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; + +class BuyNavIcon extends ConsumerWidget { const BuyNavIcon({Key? key}) : super(key: key); @override - Widget build(BuildContext context) { - return SvgPicture.asset( - Assets.svg.buy(context), + Widget build(BuildContext context, WidgetRef ref) { + return SvgPicture.file( + File( + ref.watch( + themeProvider.select( + (value) => value.assets.buy, + ), + ), + ), width: 24, height: 24, ); diff --git a/lib/widgets/wallet_navigation_bar/components/icons/coin_control_nav_icon.dart b/lib/widgets/wallet_navigation_bar/components/icons/coin_control_nav_icon.dart index d55cd463f..3d8e2cea4 100644 --- a/lib/widgets/wallet_navigation_bar/components/icons/coin_control_nav_icon.dart +++ b/lib/widgets/wallet_navigation_bar/components/icons/coin_control_nav_icon.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class CoinControlNavIcon extends StatelessWidget { const CoinControlNavIcon({Key? key}) : super(key: key); diff --git a/lib/widgets/wallet_navigation_bar/components/icons/exchange_nav_icon.dart b/lib/widgets/wallet_navigation_bar/components/icons/exchange_nav_icon.dart index 9735fa989..bf635fc90 100644 --- a/lib/widgets/wallet_navigation_bar/components/icons/exchange_nav_icon.dart +++ b/lib/widgets/wallet_navigation_bar/components/icons/exchange_nav_icon.dart @@ -1,14 +1,23 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:stackwallet/utilities/assets.dart'; +import 'dart:io'; -class ExchangeNavIcon extends StatelessWidget { +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:stackwallet/themes/theme_providers.dart'; + +class ExchangeNavIcon extends ConsumerWidget { const ExchangeNavIcon({Key? key}) : super(key: key); @override - Widget build(BuildContext context) { - return SvgPicture.asset( - Assets.svg.exchange(context), + Widget build(BuildContext context, WidgetRef ref) { + return SvgPicture.file( + File( + ref.watch( + themeProvider.select( + (value) => value.assets.buy, + ), + ), + ), width: 24, height: 24, ); diff --git a/lib/widgets/wallet_navigation_bar/components/icons/paynym_nav_icon.dart b/lib/widgets/wallet_navigation_bar/components/icons/paynym_nav_icon.dart index 26a2fd96d..63ca7617e 100644 --- a/lib/widgets/wallet_navigation_bar/components/icons/paynym_nav_icon.dart +++ b/lib/widgets/wallet_navigation_bar/components/icons/paynym_nav_icon.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class PaynymNavIcon extends StatelessWidget { const PaynymNavIcon({Key? key}) : super(key: key); diff --git a/lib/widgets/wallet_navigation_bar/components/icons/receive_nav_icon.dart b/lib/widgets/wallet_navigation_bar/components/icons/receive_nav_icon.dart index 62c9aae63..4690382c2 100644 --- a/lib/widgets/wallet_navigation_bar/components/icons/receive_nav_icon.dart +++ b/lib/widgets/wallet_navigation_bar/components/icons/receive_nav_icon.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class ReceiveNavIcon extends StatelessWidget { const ReceiveNavIcon({Key? key}) : super(key: key); diff --git a/lib/widgets/wallet_navigation_bar/components/icons/send_nav_icon.dart b/lib/widgets/wallet_navigation_bar/components/icons/send_nav_icon.dart index cbffa3396..3df04f4ee 100644 --- a/lib/widgets/wallet_navigation_bar/components/icons/send_nav_icon.dart +++ b/lib/widgets/wallet_navigation_bar/components/icons/send_nav_icon.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class SendNavIcon extends StatelessWidget { const SendNavIcon({Key? key}) : super(key: key); diff --git a/lib/widgets/wallet_navigation_bar/components/icons/whirlpool_nav_icon.dart b/lib/widgets/wallet_navigation_bar/components/icons/whirlpool_nav_icon.dart index bc7b0f399..9a3eff747 100644 --- a/lib/widgets/wallet_navigation_bar/components/icons/whirlpool_nav_icon.dart +++ b/lib/widgets/wallet_navigation_bar/components/icons/whirlpool_nav_icon.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; class WhirlpoolNavIcon extends StatelessWidget { const WhirlpoolNavIcon({Key? key}) : super(key: key); diff --git a/lib/widgets/wallet_navigation_bar/components/wallet_navigation_bar_item.dart b/lib/widgets/wallet_navigation_bar/components/wallet_navigation_bar_item.dart index bbe54c0dc..b4b6914f7 100644 --- a/lib/widgets/wallet_navigation_bar/components/wallet_navigation_bar_item.dart +++ b/lib/widgets/wallet_navigation_bar/components/wallet_navigation_bar_item.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/rounded_container.dart'; import 'package:stackwallet/widgets/wallet_navigation_bar/wallet_navigation_bar.dart'; diff --git a/lib/widgets/wallet_navigation_bar/wallet_navigation_bar.dart b/lib/widgets/wallet_navigation_bar/wallet_navigation_bar.dart index d8e311de6..ceaea74db 100644 --- a/lib/widgets/wallet_navigation_bar/wallet_navigation_bar.dart +++ b/lib/widgets/wallet_navigation_bar/wallet_navigation_bar.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/text_styles.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/conditional_parent.dart'; import 'package:stackwallet/widgets/wallet_navigation_bar/components/wallet_navigation_bar_item.dart'; diff --git a/linux/flutter/generated_plugin_registrant.cc b/linux/flutter/generated_plugin_registrant.cc index fe1e41d19..b174939fa 100644 --- a/linux/flutter/generated_plugin_registrant.cc +++ b/linux/flutter/generated_plugin_registrant.cc @@ -6,6 +6,7 @@ #include "generated_plugin_registrant.h" +#include #include #include #include @@ -16,6 +17,9 @@ #include void fl_register_plugins(FlPluginRegistry* registry) { + g_autoptr(FlPluginRegistrar) desktop_drop_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "DesktopDropPlugin"); + desktop_drop_plugin_register_with_registrar(desktop_drop_registrar); g_autoptr(FlPluginRegistrar) devicelocale_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "DevicelocalePlugin"); devicelocale_plugin_register_with_registrar(devicelocale_registrar); diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake index ba2cb50f2..38eed0699 100644 --- a/linux/flutter/generated_plugins.cmake +++ b/linux/flutter/generated_plugins.cmake @@ -3,6 +3,7 @@ # list(APPEND FLUTTER_PLUGIN_LIST + desktop_drop devicelocale flutter_libepiccash flutter_libmonero diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index 4f69a784b..570461de7 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -6,6 +6,7 @@ import FlutterMacOS import Foundation import connectivity_plus_macos +import desktop_drop import device_info_plus import devicelocale import flutter_libepiccash @@ -23,6 +24,7 @@ import window_size func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { ConnectivityPlugin.register(with: registry.registrar(forPlugin: "ConnectivityPlugin")) + DesktopDropPlugin.register(with: registry.registrar(forPlugin: "DesktopDropPlugin")) DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin")) DevicelocalePlugin.register(with: registry.registrar(forPlugin: "DevicelocalePlugin")) FlutterLibepiccashPlugin.register(with: registry.registrar(forPlugin: "FlutterLibepiccashPlugin")) diff --git a/pubspec.lock b/pubspec.lock index d9654c4b6..b021401bd 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -42,7 +42,7 @@ packages: source: hosted version: "4.2.0" archive: - dependency: transitive + dependency: "direct main" description: name: archive sha256: "80e5141fafcb3361653ce308776cfd7d45e6e9fbb429e14eec571382c0c5fecb" @@ -458,6 +458,14 @@ packages: url: "https://pub.dev" source: hosted version: "3.2.2" + desktop_drop: + dependency: "direct main" + description: + name: desktop_drop + sha256: "4ca4d960f4b11c032e9adfd2a0a8ac615bc3fddb4cbe73dcf840dd8077582186" + url: "https://pub.dev" + source: hosted + version: "0.4.1" device_info_plus: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index cffb97568..2b8d498b8 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -11,7 +11,7 @@ description: Stack Wallet # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.7.7+169 +version: 1.7.8+170 environment: sdk: ">=2.17.0 <3.0.0" @@ -151,6 +151,8 @@ dependencies: dart_bs58check: ^3.0.2 hex: ^0.2.0 rational: ^2.2.2 + archive: ^3.3.2 + desktop_drop: ^0.4.1 dev_dependencies: flutter_test: @@ -211,8 +213,6 @@ flutter: # - images/a_dot_burr.jpeg # - images/a_dot_ham.jpeg assets: - - assets/images/chan-persona-incognito.png - - assets/images/chan-persona-easy.png - assets/images/splash.png - assets/icon/icon.png - google_fonts/ @@ -327,15 +327,13 @@ flutter: - assets/svg/framed-gear.svg - assets/svg/list-ul.svg - assets/svg/cc.svg + - assets/svg/file.svg + - assets/svg/file-upload.svg - assets/svg/trocador_rating_a.svg - assets/svg/trocador_rating_b.svg - assets/svg/trocador_rating_c.svg - assets/svg/trocador_rating_d.svg - - # coin icons - - assets/svg/coin_icons/ - # coin control icons - assets/svg/coin_control/ @@ -346,36 +344,8 @@ flutter: - assets/svg/exchange_icons/ # theme selectors - - assets/svg/dark-theme.svg - - assets/svg/light-mode.svg - - assets/svg/ocean-breeze-theme.svg - - assets/svg/oled-black-theme.svg - - assets/svg/fruit-sorbet-theme.svg - - assets/svg/forest-theme.svg - - assets/svg/chanstheme.svg - - assets/svg/darkChansTheme.svg - - assets/svg/orange-theme.svg - - # light theme specific - - assets/svg/themed/light/ - - # dark theme specific - - assets/svg/themed/dark/ - - # ocean theme specific - - assets/svg/themed/oceanBreeze/ - - # OLED black theme specific - - assets/svg/themed/oledBlack/ - - # fruit sorbet theme specific - - assets/svg/themed/fruitSorbet/ - - # forest theme specific - - assets/svg/themed/forest/ - - # orange theme specific - - assets/svg/themed/orange/ +# - assets/svg/dark-theme.svg +# - assets/svg/light-mode.svg # buy - assets/svg/buy/ @@ -388,21 +358,8 @@ flutter: - assets/lottie/loader_and_checkmark.json - assets/lottie/arrow_rotate.json - # gifs - - assets/gif/ - - # coin gifs - - assets/gif/coins/bitcoin/ - - assets/gif/coins/bitcoincash/ - - assets/gif/coins/dogecoin/ - - assets/gif/coins/epicCash/ - - assets/gif/coins/ethereum/ - - assets/gif/coins/firo/ - - assets/gif/coins/litecoin/ - - assets/gif/coins/monero/ - - assets/gif/coins/namecoin/ - - assets/gif/coins/particl/ - - assets/gif/coins/wownero/ + # default themes_testing + - assets/default_themes/ # An image asset can refer to one or more resolution-specific "variants", see # https://flutter.dev/assets-and-images/#resolution-aware. diff --git a/test/cached_electrumx_test.mocks.dart b/test/cached_electrumx_test.mocks.dart index 60e9af5c2..b83e96ed9 100644 --- a/test/cached_electrumx_test.mocks.dart +++ b/test/cached_electrumx_test.mocks.dart @@ -4,7 +4,7 @@ // ignore_for_file: no_leading_underscores_for_library_prefixes import 'dart:async' as _i4; -import 'dart:ui' as _i9; +import 'dart:ui' as _i8; import 'package:decimal/decimal.dart' as _i2; import 'package:mockito/mockito.dart' as _i1; @@ -12,7 +12,6 @@ import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i3; import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i7; import 'package:stackwallet/utilities/enums/sync_type_enum.dart' as _i6; import 'package:stackwallet/utilities/prefs.dart' as _i5; -import 'package:stackwallet/utilities/theme/color_theme.dart' as _i8; // ignore_for_file: type=lint // ignore_for_file: avoid_redundant_argument_values @@ -693,43 +692,43 @@ class MockPrefs extends _i1.Mock implements _i5.Prefs { returnValueForMissingStub: null, ); @override - _i8.ThemeType get theme => (super.noSuchMethod( - Invocation.getter(#theme), - returnValue: _i8.ThemeType.light, - ) as _i8.ThemeType); + String get themeId => (super.noSuchMethod( + Invocation.getter(#themeId), + returnValue: '', + ) as String); @override - set theme(_i8.ThemeType? theme) => super.noSuchMethod( + set themeId(String? themeId) => super.noSuchMethod( Invocation.setter( - #theme, - theme, + #themeId, + themeId, ), returnValueForMissingStub: null, ); @override - _i8.ThemeType get systemBrightnessLightTheme => (super.noSuchMethod( - Invocation.getter(#systemBrightnessLightTheme), - returnValue: _i8.ThemeType.light, - ) as _i8.ThemeType); + String get systemBrightnessLightThemeId => (super.noSuchMethod( + Invocation.getter(#systemBrightnessLightThemeId), + returnValue: '', + ) as String); @override - set systemBrightnessLightTheme(_i8.ThemeType? systemBrightnessLightTheme) => + set systemBrightnessLightThemeId(String? systemBrightnessLightThemeId) => super.noSuchMethod( Invocation.setter( - #systemBrightnessLightTheme, - systemBrightnessLightTheme, + #systemBrightnessLightThemeId, + systemBrightnessLightThemeId, ), returnValueForMissingStub: null, ); @override - _i8.ThemeType get systemBrightnessDarkTheme => (super.noSuchMethod( - Invocation.getter(#systemBrightnessDarkTheme), - returnValue: _i8.ThemeType.light, - ) as _i8.ThemeType); + String get systemBrightnessDarkThemeId => (super.noSuchMethod( + Invocation.getter(#systemBrightnessDarkThemeId), + returnValue: '', + ) as String); @override - set systemBrightnessDarkTheme(_i8.ThemeType? systemBrightnessDarkTheme) => + set systemBrightnessDarkThemeId(String? systemBrightnessDarkThemeId) => super.noSuchMethod( Invocation.setter( - #systemBrightnessDarkTheme, - systemBrightnessDarkTheme, + #systemBrightnessDarkThemeId, + systemBrightnessDarkThemeId, ), returnValueForMissingStub: null, ); @@ -783,7 +782,7 @@ class MockPrefs extends _i1.Mock implements _i5.Prefs { returnValueForMissingStub: _i4.Future.value(), ) as _i4.Future); @override - void addListener(_i9.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i8.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -791,7 +790,7 @@ class MockPrefs extends _i1.Mock implements _i5.Prefs { returnValueForMissingStub: null, ); @override - void removeListener(_i9.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i8.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], diff --git a/test/electrumx_test.mocks.dart b/test/electrumx_test.mocks.dart index d0ba787c0..1cfe9cf4a 100644 --- a/test/electrumx_test.mocks.dart +++ b/test/electrumx_test.mocks.dart @@ -4,14 +4,13 @@ // ignore_for_file: no_leading_underscores_for_library_prefixes import 'dart:async' as _i3; -import 'dart:ui' as _i8; +import 'dart:ui' as _i7; import 'package:mockito/mockito.dart' as _i1; import 'package:stackwallet/electrumx_rpc/rpc.dart' as _i2; import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i6; import 'package:stackwallet/utilities/enums/sync_type_enum.dart' as _i5; import 'package:stackwallet/utilities/prefs.dart' as _i4; -import 'package:stackwallet/utilities/theme/color_theme.dart' as _i7; // ignore_for_file: type=lint // ignore_for_file: avoid_redundant_argument_values @@ -414,43 +413,43 @@ class MockPrefs extends _i1.Mock implements _i4.Prefs { returnValueForMissingStub: null, ); @override - _i7.ThemeType get theme => (super.noSuchMethod( - Invocation.getter(#theme), - returnValue: _i7.ThemeType.light, - ) as _i7.ThemeType); + String get themeId => (super.noSuchMethod( + Invocation.getter(#themeId), + returnValue: '', + ) as String); @override - set theme(_i7.ThemeType? theme) => super.noSuchMethod( + set themeId(String? themeId) => super.noSuchMethod( Invocation.setter( - #theme, - theme, + #themeId, + themeId, ), returnValueForMissingStub: null, ); @override - _i7.ThemeType get systemBrightnessLightTheme => (super.noSuchMethod( - Invocation.getter(#systemBrightnessLightTheme), - returnValue: _i7.ThemeType.light, - ) as _i7.ThemeType); + String get systemBrightnessLightThemeId => (super.noSuchMethod( + Invocation.getter(#systemBrightnessLightThemeId), + returnValue: '', + ) as String); @override - set systemBrightnessLightTheme(_i7.ThemeType? systemBrightnessLightTheme) => + set systemBrightnessLightThemeId(String? systemBrightnessLightThemeId) => super.noSuchMethod( Invocation.setter( - #systemBrightnessLightTheme, - systemBrightnessLightTheme, + #systemBrightnessLightThemeId, + systemBrightnessLightThemeId, ), returnValueForMissingStub: null, ); @override - _i7.ThemeType get systemBrightnessDarkTheme => (super.noSuchMethod( - Invocation.getter(#systemBrightnessDarkTheme), - returnValue: _i7.ThemeType.light, - ) as _i7.ThemeType); + String get systemBrightnessDarkThemeId => (super.noSuchMethod( + Invocation.getter(#systemBrightnessDarkThemeId), + returnValue: '', + ) as String); @override - set systemBrightnessDarkTheme(_i7.ThemeType? systemBrightnessDarkTheme) => + set systemBrightnessDarkThemeId(String? systemBrightnessDarkThemeId) => super.noSuchMethod( Invocation.setter( - #systemBrightnessDarkTheme, - systemBrightnessDarkTheme, + #systemBrightnessDarkThemeId, + systemBrightnessDarkThemeId, ), returnValueForMissingStub: null, ); @@ -504,7 +503,7 @@ class MockPrefs extends _i1.Mock implements _i4.Prefs { returnValueForMissingStub: _i3.Future.value(), ) as _i3.Future); @override - void addListener(_i8.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i7.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -512,7 +511,7 @@ class MockPrefs extends _i1.Mock implements _i4.Prefs { returnValueForMissingStub: null, ); @override - void removeListener(_i8.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i7.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], diff --git a/test/notifications/notification_card_test.dart b/test/notifications/notification_card_test.dart index 3ac11c21c..b362a9650 100644 --- a/test/notifications/notification_card_test.dart +++ b/test/notifications/notification_card_test.dart @@ -1,13 +1,13 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; - import 'package:flutter_test/flutter_test.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; import 'package:stackwallet/models/notification_model.dart'; import 'package:stackwallet/notifications/notification_card.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; -import 'package:stackwallet/utilities/enums/coin_enum.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; + +import '../sample_data/theme_json.dart'; void main() { testWidgets("test notification card", (widgetTester) async { @@ -18,7 +18,7 @@ void main() { id: 1, title: "notification title", description: "notification description", - iconAssetName: Assets.svg.iconFor(coin: Coin.bitcoin), + iconAssetName: Assets.svg.plus, date: DateTime.parse("1662544771"), walletId: "wallet id", read: true, @@ -30,7 +30,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: Material( diff --git a/test/pages/send_view/send_view_test.dart b/test/pages/send_view/send_view_test.dart index a0215046b..0759110e0 100644 --- a/test/pages/send_view/send_view_test.dart +++ b/test/pages/send_view/send_view_test.dart @@ -3,6 +3,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/annotations.dart'; import 'package:mockito/mockito.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; import 'package:stackwallet/models/send_view_auto_fill_data.dart'; import 'package:stackwallet/pages/send_view/send_view.dart'; import 'package:stackwallet/providers/providers.dart'; @@ -13,11 +14,12 @@ import 'package:stackwallet/services/locale_service.dart'; import 'package:stackwallet/services/node_service.dart'; import 'package:stackwallet/services/wallets.dart'; import 'package:stackwallet/services/wallets_service.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_service.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/prefs.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import '../../sample_data/theme_json.dart'; import 'send_view_test.mocks.dart'; @GenerateMocks([ @@ -26,6 +28,7 @@ import 'send_view_test.mocks.dart'; NodeService, BitcoinWallet, LocaleService, + ThemeService, Prefs, ], customMocks: [ MockSpec(returnNullOnMissingStub: true), @@ -38,6 +41,7 @@ void main() { final mockNodeService = MockNodeService(); final CoinServiceAPI wallet = MockBitcoinWallet(); final mockLocaleService = MockLocaleService(); + final mockThemeService = MockThemeService(); final mockPrefs = MockPrefs(); when(wallet.coin).thenAnswer((_) => Coin.bitcoin); @@ -51,6 +55,12 @@ void main() { .thenAnswer((realInvocation) => manager); when(mockLocaleService.locale).thenAnswer((_) => "en_US"); + when(mockThemeService.getTheme(themeId: "light")).thenAnswer( + (_) => StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ); when(mockPrefs.currency).thenAnswer((_) => "USD"); when(mockPrefs.enableCoinControl).thenAnswer((_) => false); when(wallet.validateAddress("send to address")) @@ -66,13 +76,17 @@ void main() { localeServiceChangeNotifierProvider .overrideWithValue(mockLocaleService), prefsChangeNotifierProvider.overrideWithValue(mockPrefs), + pThemeService.overrideWithValue(mockThemeService), // previewTxButtonStateProvider ], child: MaterialApp( theme: ThemeData( extensions: [ StackColors.fromStackColorTheme( - LightColors(), + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), ), ], ), @@ -102,6 +116,7 @@ void main() { final CoinServiceAPI wallet = MockBitcoinWallet(); final mockLocaleService = MockLocaleService(); final mockPrefs = MockPrefs(); + final mockThemeService = MockThemeService(); when(wallet.coin).thenAnswer((_) => Coin.bitcoin); when(wallet.walletName).thenAnswer((_) => "some wallet"); @@ -118,6 +133,12 @@ void main() { when(mockPrefs.enableCoinControl).thenAnswer((_) => false); when(wallet.validateAddress("send to address")) .thenAnswer((realInvocation) => false); + when(mockThemeService.getTheme(themeId: "light")).thenAnswer( + (_) => StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ); // when(manager.isOwnAddress("send to address")) // .thenAnswer((realInvocation) => Future(() => true)); @@ -132,13 +153,17 @@ void main() { localeServiceChangeNotifierProvider .overrideWithValue(mockLocaleService), prefsChangeNotifierProvider.overrideWithValue(mockPrefs), + pThemeService.overrideWithValue(mockThemeService) // previewTxButtonStateProvider ], child: MaterialApp( theme: ThemeData( extensions: [ StackColors.fromStackColorTheme( - LightColors(), + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), ), ], ), diff --git a/test/pages/send_view/send_view_test.mocks.dart b/test/pages/send_view/send_view_test.mocks.dart index ea77214b5..8a33fcb87 100644 --- a/test/pages/send_view/send_view_test.mocks.dart +++ b/test/pages/send_view/send_view_test.mocks.dart @@ -18,6 +18,7 @@ import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i11; import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i10; import 'package:stackwallet/models/balance.dart' as _i12; import 'package:stackwallet/models/isar/models/isar_models.dart' as _i18; +import 'package:stackwallet/models/isar/stack_theme.dart' as _i33; import 'package:stackwallet/models/node_model.dart' as _i26; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i9; import 'package:stackwallet/models/signing_data.dart' as _i29; @@ -30,15 +31,15 @@ import 'package:stackwallet/services/transaction_notification_tracker.dart' as _i8; import 'package:stackwallet/services/wallets.dart' as _i21; import 'package:stackwallet/services/wallets_service.dart' as _i2; +import 'package:stackwallet/themes/theme_service.dart' as _i32; import 'package:stackwallet/utilities/amount/amount.dart' as _i15; -import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i33; +import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i35; import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i22; import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i28; -import 'package:stackwallet/utilities/enums/sync_type_enum.dart' as _i32; +import 'package:stackwallet/utilities/enums/sync_type_enum.dart' as _i34; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' as _i7; import 'package:stackwallet/utilities/prefs.dart' as _i24; -import 'package:stackwallet/utilities/theme/color_theme.dart' as _i34; import 'package:tuple/tuple.dart' as _i16; // ignore_for_file: type=lint @@ -2226,6 +2227,96 @@ class MockLocaleService extends _i1.Mock implements _i31.LocaleService { ); } +/// A class which mocks [ThemeService]. +/// +/// See the documentation for Mockito's code generation for more information. +class MockThemeService extends _i1.Mock implements _i32.ThemeService { + MockThemeService() { + _i1.throwOnMissingStub(this); + } + + @override + _i13.MainDB get db => (super.noSuchMethod( + Invocation.getter(#db), + returnValue: _FakeMainDB_10( + this, + Invocation.getter(#db), + ), + ) as _i13.MainDB); + @override + List<_i33.StackTheme> get installedThemes => (super.noSuchMethod( + Invocation.getter(#installedThemes), + returnValue: <_i33.StackTheme>[], + ) as List<_i33.StackTheme>); + @override + void init(_i13.MainDB? db) => super.noSuchMethod( + Invocation.method( + #init, + [db], + ), + returnValueForMissingStub: null, + ); + @override + _i23.Future install({required _i30.Uint8List? themeArchiveData}) => + (super.noSuchMethod( + Invocation.method( + #install, + [], + {#themeArchiveData: themeArchiveData}, + ), + returnValue: _i23.Future.value(), + returnValueForMissingStub: _i23.Future.value(), + ) as _i23.Future); + @override + _i23.Future remove({required String? themeId}) => (super.noSuchMethod( + Invocation.method( + #remove, + [], + {#themeId: themeId}, + ), + returnValue: _i23.Future.value(), + returnValueForMissingStub: _i23.Future.value(), + ) as _i23.Future); + @override + _i23.Future verifyInstalled({required String? themeId}) => + (super.noSuchMethod( + Invocation.method( + #verifyInstalled, + [], + {#themeId: themeId}, + ), + returnValue: _i23.Future.value(false), + ) as _i23.Future); + @override + _i23.Future> fetchThemes() => + (super.noSuchMethod( + Invocation.method( + #fetchThemes, + [], + ), + returnValue: _i23.Future>.value( + <_i32.StackThemeMetaData>[]), + ) as _i23.Future>); + @override + _i23.Future<_i30.Uint8List> fetchTheme( + {required _i32.StackThemeMetaData? themeMetaData}) => + (super.noSuchMethod( + Invocation.method( + #fetchTheme, + [], + {#themeMetaData: themeMetaData}, + ), + returnValue: _i23.Future<_i30.Uint8List>.value(_i30.Uint8List(0)), + ) as _i23.Future<_i30.Uint8List>); + @override + _i33.StackTheme? getTheme({required String? themeId}) => + (super.noSuchMethod(Invocation.method( + #getTheme, + [], + {#themeId: themeId}, + )) as _i33.StackTheme?); +} + /// A class which mocks [Prefs]. /// /// See the documentation for Mockito's code generation for more information. @@ -2285,12 +2376,12 @@ class MockPrefs extends _i1.Mock implements _i24.Prefs { returnValueForMissingStub: null, ); @override - _i32.SyncingType get syncType => (super.noSuchMethod( + _i34.SyncingType get syncType => (super.noSuchMethod( Invocation.getter(#syncType), - returnValue: _i32.SyncingType.currentWalletOnly, - ) as _i32.SyncingType); + returnValue: _i34.SyncingType.currentWalletOnly, + ) as _i34.SyncingType); @override - set syncType(_i32.SyncingType? syncType) => super.noSuchMethod( + set syncType(_i34.SyncingType? syncType) => super.noSuchMethod( Invocation.setter( #syncType, syncType, @@ -2436,12 +2527,12 @@ class MockPrefs extends _i1.Mock implements _i24.Prefs { returnValueForMissingStub: null, ); @override - _i33.BackupFrequencyType get backupFrequencyType => (super.noSuchMethod( + _i35.BackupFrequencyType get backupFrequencyType => (super.noSuchMethod( Invocation.getter(#backupFrequencyType), - returnValue: _i33.BackupFrequencyType.everyTenMinutes, - ) as _i33.BackupFrequencyType); + returnValue: _i35.BackupFrequencyType.everyTenMinutes, + ) as _i35.BackupFrequencyType); @override - set backupFrequencyType(_i33.BackupFrequencyType? backupFrequencyType) => + set backupFrequencyType(_i35.BackupFrequencyType? backupFrequencyType) => super.noSuchMethod( Invocation.setter( #backupFrequencyType, @@ -2533,43 +2624,43 @@ class MockPrefs extends _i1.Mock implements _i24.Prefs { returnValueForMissingStub: null, ); @override - _i34.ThemeType get theme => (super.noSuchMethod( - Invocation.getter(#theme), - returnValue: _i34.ThemeType.light, - ) as _i34.ThemeType); + String get themeId => (super.noSuchMethod( + Invocation.getter(#themeId), + returnValue: '', + ) as String); @override - set theme(_i34.ThemeType? theme) => super.noSuchMethod( + set themeId(String? themeId) => super.noSuchMethod( Invocation.setter( - #theme, - theme, + #themeId, + themeId, ), returnValueForMissingStub: null, ); @override - _i34.ThemeType get systemBrightnessLightTheme => (super.noSuchMethod( - Invocation.getter(#systemBrightnessLightTheme), - returnValue: _i34.ThemeType.light, - ) as _i34.ThemeType); + String get systemBrightnessLightThemeId => (super.noSuchMethod( + Invocation.getter(#systemBrightnessLightThemeId), + returnValue: '', + ) as String); @override - set systemBrightnessLightTheme(_i34.ThemeType? systemBrightnessLightTheme) => + set systemBrightnessLightThemeId(String? systemBrightnessLightThemeId) => super.noSuchMethod( Invocation.setter( - #systemBrightnessLightTheme, - systemBrightnessLightTheme, + #systemBrightnessLightThemeId, + systemBrightnessLightThemeId, ), returnValueForMissingStub: null, ); @override - _i34.ThemeType get systemBrightnessDarkTheme => (super.noSuchMethod( - Invocation.getter(#systemBrightnessDarkTheme), - returnValue: _i34.ThemeType.light, - ) as _i34.ThemeType); + String get systemBrightnessDarkThemeId => (super.noSuchMethod( + Invocation.getter(#systemBrightnessDarkThemeId), + returnValue: '', + ) as String); @override - set systemBrightnessDarkTheme(_i34.ThemeType? systemBrightnessDarkTheme) => + set systemBrightnessDarkThemeId(String? systemBrightnessDarkThemeId) => super.noSuchMethod( Invocation.setter( - #systemBrightnessDarkTheme, - systemBrightnessDarkTheme, + #systemBrightnessDarkThemeId, + systemBrightnessDarkThemeId, ), returnValueForMissingStub: null, ); diff --git a/test/sample_data/light/assets/dummy.png b/test/sample_data/light/assets/dummy.png new file mode 100644 index 000000000..8c9e7dc27 Binary files /dev/null and b/test/sample_data/light/assets/dummy.png differ diff --git a/test/sample_data/light/assets/dummy.svg b/test/sample_data/light/assets/dummy.svg new file mode 100644 index 000000000..416416b45 --- /dev/null +++ b/test/sample_data/light/assets/dummy.svg @@ -0,0 +1,4 @@ + + + + diff --git a/test/sample_data/theme_json.dart b/test/sample_data/theme_json.dart new file mode 100644 index 000000000..8bff3a179 --- /dev/null +++ b/test/sample_data/theme_json.dart @@ -0,0 +1,235 @@ +const Map lightThemeJsonMap = { + "name": "Light", + "id": "light", + "brightness": "light", + "colors": { + "coin": { + "bitcoin": "0xFFFCC17B", + "litecoin": "0xFF7FA6E1", + "bitcoincash": "0xFF7BCFB8", + "firo": "0xFFFF897A", + "dogecoin": "0xFFFFE079", + "epicCash": "0xFFC5C7CB", + "ethereum": "0xFFA7ADE9", + "monero": "0xFFFF9E6B", + "namecoin": "0xFF91B1E1", + "wownero": "0xFFED80C1", + "particl": "0xFF8175BD" + }, + "background": "0xFFF7F7F7", + "background_app_bar": "0xFFF7F7F7", + "overlay": "0xFF111215", + "accent_color_blue": "0xFF0052DF", + "accent_color_green": "0xFF4CC0A0", + "accent_color_yellow": "0xFFF7D65D", + "accent_color_red": "0xFFD34E50", + "accent_color_orange": "0xFFFEA68D", + "accent_color_dark": "0xFF232323", + "shadow": "0x0F2D3132", + "text_dark_one": "0xFF232323", + "text_dark_two": "0xFF414141", + "text_dark_three": "0xFF747778", + "text_white": "0xFFFFFFFF", + "text_favorite": "0xFF232323", + "text_error": "0xFF930006", + "text_restore": "0xFF111215", + "text_subtitle_one": "0xFF8E9192", + "text_subtitle_two": "0xFFA9ACAC", + "text_subtitle_three": "0xFFC4C7C7", + "text_subtitle_four": "0xFFE0E3E3", + "text_subtitle_five": "0xFFEEEFF1", + "text_subtitle_six": "0xFFF5F5F5", + "button_back_primary": "0xFF232323", + "button_back_secondary": "0xFFE0E3E3", + "button_back_primary_disabled": "0xFFD7D7D7", + "button_back_secondary_disabled": "0xFFF0F1F1", + "button_back_border": "0xFF232323", + "button_back_border_disabled": "0xFFB6B6B6", + "button_back_border_secondary": "0xFFE0E3E3", + "button_back_border_secondary_disabled": "0xFFF0F1F1", + "number_back_default": "0xFFFFFFFF", + "numpad_back_default": "0xFF232323", + "bottom_nav_back": "0xFFFFFFFF", + "button_text_primary": "0xFFFFFFFF", + "button_text_secondary": "0xFF232323", + "button_text_primary_disabled": "0xFFF8F8F8", + "button_text_secondary_disabled": "0xFFB7B7B7", + "button_text_border": "0xFF232323", + "button_text_disabled": "0xFFB6B6B6", + "button_text_borderless": "0xFF0052DF", + "button_text_borderless_disabled": "0xFFB6B6B6", + "number_text_default": "0xFF232323", + "numpad_text_default": "0xFFFFFFFF", + "bottom_nav_text": "0xFF232323", + "custom_text_button_enabled_text": "0xFF0052DF", + "custom_text_button_disabled_text": "0xFF8E9192", + "switch_bg_on": "0xFF0052DF", + "switch_bg_off": "0xFFD8E4FB", + "switch_bg_disabled": "0xFFC5C6C9", + "switch_circle_on": "0xFFDAE2FF", + "switch_circle_off": "0xFFFBFCFF", + "switch_circle_disabled": "0xFFFBFCFF", + "step_indicator_bg_check": "0xFFD9E2FF", + "step_indicator_bg_number": "0xFFD9E2FF", + "step_indicator_bg_inactive": "0xFFCDCDCD", + "step_indicator_bg_lines": "0xFF0056D2", + "step_indicator_bg_lines_inactive": "0xFFCDCDCD", + "step_indicator_icon_text": "0xFF0056D2", + "step_indicator_icon_number": "0xFF0056D2", + "step_indicator_icon_inactive": "0xFFF7F7F7", + "checkbox_bg_checked": "0xFF0056D2", + "checkbox_border_empty": "0xFF8E9192", + "checkbox_bg_disabled": "0xFFADC7EC", + "checkbox_icon_checked": "0xFFFFFFFF", + "checkbox_icon_disabled": "0xFFFFFFFF", + "checkbox_text_label": "0xFF232323", + "snack_bar_back_success": "0xFFB9E9D4", + "snack_bar_back_error": "0xFFFFDAD4", + "snack_bar_back_info": "0xFFDAE2FF", + "snack_bar_text_success": "0xFF006C4D", + "snack_bar_text_error": "0xFF930006", + "snack_bar_text_info": "0xFF002A78", + "bottom_nav_icon_back": "0xFFA2A2A2", + "bottom_nav_icon_icon": "0xFF232323", + "top_nav_icon_primary": "0xFF232323", + "top_nav_icon_green": "0xFF00A578", + "top_nav_icon_yellow": "0xFFF4C517", + "top_nav_icon_red": "0xFFC00205", + "settings_icon_back": "0xFFE0E3E3", + "settings_icon_icon": "0xFF232323", + "settings_icon_back_two": "0xFF94D6C4", + "settings_icon_element": "0xFF00A578", + "text_field_active_bg": "0xFFEEEFF1", + "text_field_default_bg": "0xFFEEEFF1", + "text_field_error_bg": "0xFFFFDAD4", + "text_field_success_bg": "0xFFB9E9D4", + "text_field_error_border": "0xFFFFDAD4", + "text_field_success_border": "0xFFB9E9D4", + "text_field_active_search_icon_left": "0xFFA9ACAC", + "text_field_default_search_icon_left": "0xFFA9ACAC", + "text_field_error_search_icon_left": "0xFF930006", + "text_field_success_search_icon_left": "0xFF006C4D", + "text_field_active_text": "0xFF232323", + "text_field_default_text": "0xFFA9ACAC", + "text_field_error_text": "0xFF000000", + "text_field_success_text": "0xFF000000", + "text_field_active_label": "0xFFA9ACAC", + "text_field_error_label": "0xFF930006", + "text_field_success_label": "0xFF006C4D", + "text_field_active_search_icon_right": "0xFF747778", + "text_field_default_search_icon_right": "0xFF747778", + "text_field_error_search_icon_right": "0xFF930006", + "text_field_success_search_icon_right": "0xFF006C4D", + "settings_item_level_two_active_bg": "0xFFFFFFFF", + "settings_item_level_two_active_text": "0xFF232323", + "settings_item_level_two_active_sub": "0xFF8E9192", + "radio_button_icon_border": "0xFF0056D2", + "radio_button_icon_border_disabled": "0xFF8F909A", + "radio_button_border_enabled": "0xFF0056D2", + "radio_button_border_disabled": "0xFF8F909A", + "radio_button_icon_circle": "0xFF0056D2", + "radio_button_icon_enabled": "0xFF0056D2", + "radio_button_text_enabled": "0xFF44464E", + "radio_button_text_disabled": "0xFF44464E", + "radio_button_label_enabled": "0xFF8E9192", + "radio_button_label_disabled": "0xFF8E9192", + "info_item_bg": "0xFFFFFFFF", + "info_item_label": "0xFF8E9192", + "info_item_text": "0xFF232323", + "info_item_icons": "0xFF0056D2", + "popup_bg": "0xFFFFFFFF", + "currency_list_item_bg": "0xFFF9F9FC", + "sw_bg": "0xFFFFFFFF", + "sw_mid": "0xFFFFFFFF", + "sw_bottom": "0xFF232323", + "bottom_nav_shadow": "0xFF282E33", + "favorite_star_active": "0xFF0056D2", + "favorite_star_inactive": "0xFFC4C7C7", + "splash": "0x358E9192", + "highlight": "0x44A9ACAC", + "warning_foreground": "0xFF232323", + "warning_background": "0xFFFFDAD3", + "loading_overlay_text_color": "0xFFF7F7F7", + "my_stack_contact_icon_bg": "0xFFEEEFF1", + "text_confirm_total_amount": "0xFF232323", + "text_selected_word_table_iterm": "0xFF232323", + "rate_type_toggle_color_on": "0xFFEEEFF1", + "rate_type_toggle_color_off": "0xFFFFFFFF", + "rate_type_toggle_desktop_color_on": "0xFFEEEFF1", + "rate_type_toggle_desktop_color_off": "0xFFE0E3E3", + "eth_tag_text": "0xFFFFFFFF", + "eth_tag_bg": "0xFF4D5798", + "eth_wallet_tag_text": "0xFF4D5798", + "eth_wallet_tag_bg": "0xFFF0F3FD", + "token_summary_text_primary": "0xFF232323", + "token_summary_text_secondary": "0xFF8488AB", + "token_summary_bg": "0xFFE9EAFF", + "token_summary_button_bg": "0xFFFFFFFF", + "token_summary_icon": "0xFF424A97", + "box_shadows": { + "standard": { + "color": "0x0F2D3132", + "spread_radius": 3.0, + "blur_radius": 4.0 + }, + "home_view_button_bar": { + "color": "0x0F2D3132", + "spread_radius": 3.0, + "blur_radius": 4.0 + } + } + }, + "assets": { + "bitcoin": "dummy.svg", + "litecoin": "dummy.svg", + "bitcoincash": "dummy.svg", + "dogecoin": "dummy.svg", + "epicCash": "dummy.svg", + "ethereum": "dummy.svg", + "firo": "dummy.svg", + "monero": "dummy.svg", + "wownero": "dummy.svg", + "namecoin": "dummy.svg", + "particl": "dummy.svg", + "bitcoin_image": "dummy.svg", + "litecoin_image": "dummy.svg", + "bitcoincash_image": "dummy.svg", + "dogecoin_image": "dummy.svg", + "epicCash_image": "dummy.svg.svg", + "ethereum_image": "dummy.svg", + "firo_image": "dummy.svg", + "monero_image": "dummy.svg", + "wownero_image": "dummy.svg", + "namecoin_image": "dummy.svg", + "particl_image": "dummy.svg", + "bitcoin_image_secondary": "dummy.svg", + "litecoin_image_secondary": "dummy.svg", + "bitcoincash_image_secondary": "dummy.svg", + "dogecoin_image_secondary": "dummy.svg", + "epicCash_image_secondary": "dummy.svg.svg", + "ethereum_image_secondary": "dummy.svg", + "firo_image_secondary": "dummy.svg", + "monero_image_secondary": "dummy.svg", + "wownero_image_secondary": "dummy.svg", + "namecoin_image_secondary": "dummy.svg", + "particl_image_secondary": "dummy.svg", + "bell_new": "dummy.svg", + "persona_incognito": "dummy.svg.svg", + "persona_easy": "dummy.svg", + "stack": "dummy.svg", + "stack_icon": "dummy.svg", + "receive": "dummy.svg", + "receive_pending": "dummy.svg", + "receive_cancelled": "dummy.svg", + "send": "sdummy.svg", + "tx_exchange": "dummy.svg", + "tx_exchange_pending": "dummy.svg", + "tx_exchange_failed": "dummy.svg", + "buy": "dummy.svg", + "exchange": "dummy.svg", + "send_pending": "dummy.svg", + "send_cancelled": "dummy.svg", + "theme_selector": "dummy.svg", + "theme_preview": "dummy.png" + } +}; diff --git a/test/screen_tests/exchange/exchange_view_test.mocks.dart b/test/screen_tests/exchange/exchange_view_test.mocks.dart index 44c64d101..e51fd926f 100644 --- a/test/screen_tests/exchange/exchange_view_test.mocks.dart +++ b/test/screen_tests/exchange/exchange_view_test.mocks.dart @@ -3,37 +3,35 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i7; -import 'dart:ui' as _i8; +import 'dart:async' as _i6; +import 'dart:ui' as _i7; -import 'package:decimal/decimal.dart' as _i15; -import 'package:http/http.dart' as _i13; +import 'package:decimal/decimal.dart' as _i14; +import 'package:http/http.dart' as _i12; import 'package:mockito/mockito.dart' as _i1; import 'package:stackwallet/models/exchange/change_now/cn_exchange_estimate.dart' - as _i18; -import 'package:stackwallet/models/exchange/change_now/exchange_transaction.dart' - as _i20; -import 'package:stackwallet/models/exchange/change_now/exchange_transaction_status.dart' - as _i21; -import 'package:stackwallet/models/exchange/response_objects/estimate.dart' as _i17; -import 'package:stackwallet/models/exchange/response_objects/fixed_rate_market.dart' +import 'package:stackwallet/models/exchange/change_now/exchange_transaction.dart' as _i19; -import 'package:stackwallet/models/exchange/response_objects/range.dart' +import 'package:stackwallet/models/exchange/change_now/exchange_transaction_status.dart' + as _i20; +import 'package:stackwallet/models/exchange/response_objects/estimate.dart' as _i16; -import 'package:stackwallet/models/exchange/response_objects/trade.dart' - as _i10; -import 'package:stackwallet/models/isar/exchange_cache/currency.dart' as _i14; -import 'package:stackwallet/models/isar/exchange_cache/pair.dart' as _i22; +import 'package:stackwallet/models/exchange/response_objects/fixed_rate_market.dart' + as _i18; +import 'package:stackwallet/models/exchange/response_objects/range.dart' + as _i15; +import 'package:stackwallet/models/exchange/response_objects/trade.dart' as _i9; +import 'package:stackwallet/models/isar/exchange_cache/currency.dart' as _i13; +import 'package:stackwallet/models/isar/exchange_cache/pair.dart' as _i21; import 'package:stackwallet/services/exchange/change_now/change_now_api.dart' - as _i12; + as _i11; import 'package:stackwallet/services/exchange/exchange_response.dart' as _i2; -import 'package:stackwallet/services/trade_notes_service.dart' as _i11; -import 'package:stackwallet/services/trade_service.dart' as _i9; +import 'package:stackwallet/services/trade_notes_service.dart' as _i10; +import 'package:stackwallet/services/trade_service.dart' as _i8; import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i5; import 'package:stackwallet/utilities/enums/sync_type_enum.dart' as _i4; import 'package:stackwallet/utilities/prefs.dart' as _i3; -import 'package:stackwallet/utilities/theme/color_theme.dart' as _i6; // ignore_for_file: type=lint // ignore_for_file: avoid_redundant_argument_values @@ -364,43 +362,43 @@ class MockPrefs extends _i1.Mock implements _i3.Prefs { returnValueForMissingStub: null, ); @override - _i6.ThemeType get theme => (super.noSuchMethod( - Invocation.getter(#theme), - returnValue: _i6.ThemeType.light, - ) as _i6.ThemeType); + String get themeId => (super.noSuchMethod( + Invocation.getter(#themeId), + returnValue: '', + ) as String); @override - set theme(_i6.ThemeType? theme) => super.noSuchMethod( + set themeId(String? themeId) => super.noSuchMethod( Invocation.setter( - #theme, - theme, + #themeId, + themeId, ), returnValueForMissingStub: null, ); @override - _i6.ThemeType get systemBrightnessLightTheme => (super.noSuchMethod( - Invocation.getter(#systemBrightnessLightTheme), - returnValue: _i6.ThemeType.light, - ) as _i6.ThemeType); + String get systemBrightnessLightThemeId => (super.noSuchMethod( + Invocation.getter(#systemBrightnessLightThemeId), + returnValue: '', + ) as String); @override - set systemBrightnessLightTheme(_i6.ThemeType? systemBrightnessLightTheme) => + set systemBrightnessLightThemeId(String? systemBrightnessLightThemeId) => super.noSuchMethod( Invocation.setter( - #systemBrightnessLightTheme, - systemBrightnessLightTheme, + #systemBrightnessLightThemeId, + systemBrightnessLightThemeId, ), returnValueForMissingStub: null, ); @override - _i6.ThemeType get systemBrightnessDarkTheme => (super.noSuchMethod( - Invocation.getter(#systemBrightnessDarkTheme), - returnValue: _i6.ThemeType.light, - ) as _i6.ThemeType); + String get systemBrightnessDarkThemeId => (super.noSuchMethod( + Invocation.getter(#systemBrightnessDarkThemeId), + returnValue: '', + ) as String); @override - set systemBrightnessDarkTheme(_i6.ThemeType? systemBrightnessDarkTheme) => + set systemBrightnessDarkThemeId(String? systemBrightnessDarkThemeId) => super.noSuchMethod( Invocation.setter( - #systemBrightnessDarkTheme, - systemBrightnessDarkTheme, + #systemBrightnessDarkThemeId, + systemBrightnessDarkThemeId, ), returnValueForMissingStub: null, ); @@ -410,51 +408,51 @@ class MockPrefs extends _i1.Mock implements _i3.Prefs { returnValue: false, ) as bool); @override - _i7.Future init() => (super.noSuchMethod( + _i6.Future init() => (super.noSuchMethod( Invocation.method( #init, [], ), - returnValue: _i7.Future.value(), - returnValueForMissingStub: _i7.Future.value(), - ) as _i7.Future); + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); @override - _i7.Future incrementCurrentNotificationIndex() => (super.noSuchMethod( + _i6.Future incrementCurrentNotificationIndex() => (super.noSuchMethod( Invocation.method( #incrementCurrentNotificationIndex, [], ), - returnValue: _i7.Future.value(), - returnValueForMissingStub: _i7.Future.value(), - ) as _i7.Future); + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); @override - _i7.Future isExternalCallsSet() => (super.noSuchMethod( + _i6.Future isExternalCallsSet() => (super.noSuchMethod( Invocation.method( #isExternalCallsSet, [], ), - returnValue: _i7.Future.value(false), - ) as _i7.Future); + returnValue: _i6.Future.value(false), + ) as _i6.Future); @override - _i7.Future saveUserID(String? userId) => (super.noSuchMethod( + _i6.Future saveUserID(String? userId) => (super.noSuchMethod( Invocation.method( #saveUserID, [userId], ), - returnValue: _i7.Future.value(), - returnValueForMissingStub: _i7.Future.value(), - ) as _i7.Future); + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); @override - _i7.Future saveSignupEpoch(int? signupEpoch) => (super.noSuchMethod( + _i6.Future saveSignupEpoch(int? signupEpoch) => (super.noSuchMethod( Invocation.method( #saveSignupEpoch, [signupEpoch], ), - returnValue: _i7.Future.value(), - returnValueForMissingStub: _i7.Future.value(), - ) as _i7.Future); + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); @override - void addListener(_i8.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i7.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -462,7 +460,7 @@ class MockPrefs extends _i1.Mock implements _i3.Prefs { returnValueForMissingStub: null, ); @override - void removeListener(_i8.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i7.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -490,29 +488,29 @@ class MockPrefs extends _i1.Mock implements _i3.Prefs { /// A class which mocks [TradesService]. /// /// See the documentation for Mockito's code generation for more information. -class MockTradesService extends _i1.Mock implements _i9.TradesService { +class MockTradesService extends _i1.Mock implements _i8.TradesService { MockTradesService() { _i1.throwOnMissingStub(this); } @override - List<_i10.Trade> get trades => (super.noSuchMethod( + List<_i9.Trade> get trades => (super.noSuchMethod( Invocation.getter(#trades), - returnValue: <_i10.Trade>[], - ) as List<_i10.Trade>); + returnValue: <_i9.Trade>[], + ) as List<_i9.Trade>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), returnValue: false, ) as bool); @override - _i10.Trade? get(String? tradeId) => (super.noSuchMethod(Invocation.method( + _i9.Trade? get(String? tradeId) => (super.noSuchMethod(Invocation.method( #get, [tradeId], - )) as _i10.Trade?); + )) as _i9.Trade?); @override - _i7.Future add({ - required _i10.Trade? trade, + _i6.Future add({ + required _i9.Trade? trade, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -524,12 +522,12 @@ class MockTradesService extends _i1.Mock implements _i9.TradesService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i7.Future.value(), - returnValueForMissingStub: _i7.Future.value(), - ) as _i7.Future); + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); @override - _i7.Future edit({ - required _i10.Trade? trade, + _i6.Future edit({ + required _i9.Trade? trade, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -541,12 +539,12 @@ class MockTradesService extends _i1.Mock implements _i9.TradesService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i7.Future.value(), - returnValueForMissingStub: _i7.Future.value(), - ) as _i7.Future); + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); @override - _i7.Future delete({ - required _i10.Trade? trade, + _i6.Future delete({ + required _i9.Trade? trade, required bool? shouldNotifyListeners, }) => (super.noSuchMethod( @@ -558,11 +556,11 @@ class MockTradesService extends _i1.Mock implements _i9.TradesService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i7.Future.value(), - returnValueForMissingStub: _i7.Future.value(), - ) as _i7.Future); + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); @override - _i7.Future deleteByUuid({ + _i6.Future deleteByUuid({ required String? uuid, required bool? shouldNotifyListeners, }) => @@ -575,11 +573,11 @@ class MockTradesService extends _i1.Mock implements _i9.TradesService { #shouldNotifyListeners: shouldNotifyListeners, }, ), - returnValue: _i7.Future.value(), - returnValueForMissingStub: _i7.Future.value(), - ) as _i7.Future); + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); @override - void addListener(_i8.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i7.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -587,7 +585,7 @@ class MockTradesService extends _i1.Mock implements _i9.TradesService { returnValueForMissingStub: null, ); @override - void removeListener(_i8.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i7.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -615,7 +613,7 @@ class MockTradesService extends _i1.Mock implements _i9.TradesService { /// A class which mocks [TradeNotesService]. /// /// See the documentation for Mockito's code generation for more information. -class MockTradeNotesService extends _i1.Mock implements _i11.TradeNotesService { +class MockTradeNotesService extends _i1.Mock implements _i10.TradeNotesService { MockTradeNotesService() { _i1.throwOnMissingStub(this); } @@ -640,7 +638,7 @@ class MockTradeNotesService extends _i1.Mock implements _i11.TradeNotesService { returnValue: '', ) as String); @override - _i7.Future set({ + _i6.Future set({ required String? tradeId, required String? note, }) => @@ -653,21 +651,21 @@ class MockTradeNotesService extends _i1.Mock implements _i11.TradeNotesService { #note: note, }, ), - returnValue: _i7.Future.value(), - returnValueForMissingStub: _i7.Future.value(), - ) as _i7.Future); + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); @override - _i7.Future delete({required String? tradeId}) => (super.noSuchMethod( + _i6.Future delete({required String? tradeId}) => (super.noSuchMethod( Invocation.method( #delete, [], {#tradeId: tradeId}, ), - returnValue: _i7.Future.value(), - returnValueForMissingStub: _i7.Future.value(), - ) as _i7.Future); + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); @override - void addListener(_i8.VoidCallback? listener) => super.noSuchMethod( + void addListener(_i7.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #addListener, [listener], @@ -675,7 +673,7 @@ class MockTradeNotesService extends _i1.Mock implements _i11.TradeNotesService { returnValueForMissingStub: null, ); @override - void removeListener(_i8.VoidCallback? listener) => super.noSuchMethod( + void removeListener(_i7.VoidCallback? listener) => super.noSuchMethod( Invocation.method( #removeListener, [listener], @@ -703,13 +701,13 @@ class MockTradeNotesService extends _i1.Mock implements _i11.TradeNotesService { /// A class which mocks [ChangeNowAPI]. /// /// See the documentation for Mockito's code generation for more information. -class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { +class MockChangeNowAPI extends _i1.Mock implements _i11.ChangeNowAPI { MockChangeNowAPI() { _i1.throwOnMissingStub(this); } @override - set client(_i13.Client? _client) => super.noSuchMethod( + set client(_i12.Client? _client) => super.noSuchMethod( Invocation.setter( #client, _client, @@ -717,7 +715,7 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { returnValueForMissingStub: null, ); @override - _i7.Future<_i2.ExchangeResponse>> getAvailableCurrencies({ + _i6.Future<_i2.ExchangeResponse>> getAvailableCurrencies({ bool? fixedRate, bool? active, }) => @@ -731,8 +729,8 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), returnValue: - _i7.Future<_i2.ExchangeResponse>>.value( - _FakeExchangeResponse_0>( + _i6.Future<_i2.ExchangeResponse>>.value( + _FakeExchangeResponse_0>( this, Invocation.method( #getAvailableCurrencies, @@ -743,26 +741,26 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), )), - ) as _i7.Future<_i2.ExchangeResponse>>); + ) as _i6.Future<_i2.ExchangeResponse>>); @override - _i7.Future<_i2.ExchangeResponse>> getCurrenciesV2() => + _i6.Future<_i2.ExchangeResponse>> getCurrenciesV2() => (super.noSuchMethod( Invocation.method( #getCurrenciesV2, [], ), returnValue: - _i7.Future<_i2.ExchangeResponse>>.value( - _FakeExchangeResponse_0>( + _i6.Future<_i2.ExchangeResponse>>.value( + _FakeExchangeResponse_0>( this, Invocation.method( #getCurrenciesV2, [], ), )), - ) as _i7.Future<_i2.ExchangeResponse>>); + ) as _i6.Future<_i2.ExchangeResponse>>); @override - _i7.Future<_i2.ExchangeResponse>> getPairedCurrencies({ + _i6.Future<_i2.ExchangeResponse>> getPairedCurrencies({ required String? ticker, bool? fixedRate, }) => @@ -776,8 +774,8 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), returnValue: - _i7.Future<_i2.ExchangeResponse>>.value( - _FakeExchangeResponse_0>( + _i6.Future<_i2.ExchangeResponse>>.value( + _FakeExchangeResponse_0>( this, Invocation.method( #getPairedCurrencies, @@ -788,9 +786,9 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), )), - ) as _i7.Future<_i2.ExchangeResponse>>); + ) as _i6.Future<_i2.ExchangeResponse>>); @override - _i7.Future<_i2.ExchangeResponse<_i15.Decimal>> getMinimalExchangeAmount({ + _i6.Future<_i2.ExchangeResponse<_i14.Decimal>> getMinimalExchangeAmount({ required String? fromTicker, required String? toTicker, String? apiKey, @@ -805,8 +803,8 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { #apiKey: apiKey, }, ), - returnValue: _i7.Future<_i2.ExchangeResponse<_i15.Decimal>>.value( - _FakeExchangeResponse_0<_i15.Decimal>( + returnValue: _i6.Future<_i2.ExchangeResponse<_i14.Decimal>>.value( + _FakeExchangeResponse_0<_i14.Decimal>( this, Invocation.method( #getMinimalExchangeAmount, @@ -818,9 +816,9 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), )), - ) as _i7.Future<_i2.ExchangeResponse<_i15.Decimal>>); + ) as _i6.Future<_i2.ExchangeResponse<_i14.Decimal>>); @override - _i7.Future<_i2.ExchangeResponse<_i16.Range>> getRange({ + _i6.Future<_i2.ExchangeResponse<_i15.Range>> getRange({ required String? fromTicker, required String? toTicker, required bool? isFixedRate, @@ -837,8 +835,8 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { #apiKey: apiKey, }, ), - returnValue: _i7.Future<_i2.ExchangeResponse<_i16.Range>>.value( - _FakeExchangeResponse_0<_i16.Range>( + returnValue: _i6.Future<_i2.ExchangeResponse<_i15.Range>>.value( + _FakeExchangeResponse_0<_i15.Range>( this, Invocation.method( #getRange, @@ -851,12 +849,12 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), )), - ) as _i7.Future<_i2.ExchangeResponse<_i16.Range>>); + ) as _i6.Future<_i2.ExchangeResponse<_i15.Range>>); @override - _i7.Future<_i2.ExchangeResponse<_i17.Estimate>> getEstimatedExchangeAmount({ + _i6.Future<_i2.ExchangeResponse<_i16.Estimate>> getEstimatedExchangeAmount({ required String? fromTicker, required String? toTicker, - required _i15.Decimal? fromAmount, + required _i14.Decimal? fromAmount, String? apiKey, }) => (super.noSuchMethod( @@ -870,8 +868,8 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { #apiKey: apiKey, }, ), - returnValue: _i7.Future<_i2.ExchangeResponse<_i17.Estimate>>.value( - _FakeExchangeResponse_0<_i17.Estimate>( + returnValue: _i6.Future<_i2.ExchangeResponse<_i16.Estimate>>.value( + _FakeExchangeResponse_0<_i16.Estimate>( this, Invocation.method( #getEstimatedExchangeAmount, @@ -884,13 +882,13 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), )), - ) as _i7.Future<_i2.ExchangeResponse<_i17.Estimate>>); + ) as _i6.Future<_i2.ExchangeResponse<_i16.Estimate>>); @override - _i7.Future<_i2.ExchangeResponse<_i17.Estimate>> + _i6.Future<_i2.ExchangeResponse<_i16.Estimate>> getEstimatedExchangeAmountFixedRate({ required String? fromTicker, required String? toTicker, - required _i15.Decimal? fromAmount, + required _i14.Decimal? fromAmount, required bool? reversed, bool? useRateId = true, String? apiKey, @@ -908,8 +906,8 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { #apiKey: apiKey, }, ), - returnValue: _i7.Future<_i2.ExchangeResponse<_i17.Estimate>>.value( - _FakeExchangeResponse_0<_i17.Estimate>( + returnValue: _i6.Future<_i2.ExchangeResponse<_i16.Estimate>>.value( + _FakeExchangeResponse_0<_i16.Estimate>( this, Invocation.method( #getEstimatedExchangeAmountFixedRate, @@ -924,17 +922,17 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), )), - ) as _i7.Future<_i2.ExchangeResponse<_i17.Estimate>>); + ) as _i6.Future<_i2.ExchangeResponse<_i16.Estimate>>); @override - _i7.Future<_i2.ExchangeResponse<_i18.CNExchangeEstimate>> + _i6.Future<_i2.ExchangeResponse<_i17.CNExchangeEstimate>> getEstimatedExchangeAmountV2({ required String? fromTicker, required String? toTicker, - required _i18.CNEstimateType? fromOrTo, - required _i15.Decimal? amount, + required _i17.CNEstimateType? fromOrTo, + required _i14.Decimal? amount, String? fromNetwork, String? toNetwork, - _i18.CNFlowType? flow = _i18.CNFlowType.standard, + _i17.CNFlowType? flow = _i17.CNFlowType.standard, String? apiKey, }) => (super.noSuchMethod( @@ -953,8 +951,8 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), returnValue: - _i7.Future<_i2.ExchangeResponse<_i18.CNExchangeEstimate>>.value( - _FakeExchangeResponse_0<_i18.CNExchangeEstimate>( + _i6.Future<_i2.ExchangeResponse<_i17.CNExchangeEstimate>>.value( + _FakeExchangeResponse_0<_i17.CNExchangeEstimate>( this, Invocation.method( #getEstimatedExchangeAmountV2, @@ -971,18 +969,18 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), )), - ) as _i7.Future<_i2.ExchangeResponse<_i18.CNExchangeEstimate>>); + ) as _i6.Future<_i2.ExchangeResponse<_i17.CNExchangeEstimate>>); @override - _i7.Future<_i2.ExchangeResponse>> + _i6.Future<_i2.ExchangeResponse>> getAvailableFixedRateMarkets({String? apiKey}) => (super.noSuchMethod( Invocation.method( #getAvailableFixedRateMarkets, [], {#apiKey: apiKey}, ), - returnValue: _i7.Future< - _i2.ExchangeResponse>>.value( - _FakeExchangeResponse_0>( + returnValue: _i6.Future< + _i2.ExchangeResponse>>.value( + _FakeExchangeResponse_0>( this, Invocation.method( #getAvailableFixedRateMarkets, @@ -990,14 +988,14 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { {#apiKey: apiKey}, ), )), - ) as _i7.Future<_i2.ExchangeResponse>>); + ) as _i6.Future<_i2.ExchangeResponse>>); @override - _i7.Future<_i2.ExchangeResponse<_i20.ExchangeTransaction>> + _i6.Future<_i2.ExchangeResponse<_i19.ExchangeTransaction>> createStandardExchangeTransaction({ required String? fromTicker, required String? toTicker, required String? receivingAddress, - required _i15.Decimal? amount, + required _i14.Decimal? amount, String? extraId = r'', String? userId = r'', String? contactEmail = r'', @@ -1022,9 +1020,9 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { #apiKey: apiKey, }, ), - returnValue: _i7.Future< - _i2.ExchangeResponse<_i20.ExchangeTransaction>>.value( - _FakeExchangeResponse_0<_i20.ExchangeTransaction>( + returnValue: _i6.Future< + _i2.ExchangeResponse<_i19.ExchangeTransaction>>.value( + _FakeExchangeResponse_0<_i19.ExchangeTransaction>( this, Invocation.method( #createStandardExchangeTransaction, @@ -1043,14 +1041,14 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), )), - ) as _i7.Future<_i2.ExchangeResponse<_i20.ExchangeTransaction>>); + ) as _i6.Future<_i2.ExchangeResponse<_i19.ExchangeTransaction>>); @override - _i7.Future<_i2.ExchangeResponse<_i20.ExchangeTransaction>> + _i6.Future<_i2.ExchangeResponse<_i19.ExchangeTransaction>> createFixedRateExchangeTransaction({ required String? fromTicker, required String? toTicker, required String? receivingAddress, - required _i15.Decimal? amount, + required _i14.Decimal? amount, required String? rateId, required bool? reversed, String? extraId = r'', @@ -1079,9 +1077,9 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { #apiKey: apiKey, }, ), - returnValue: _i7.Future< - _i2.ExchangeResponse<_i20.ExchangeTransaction>>.value( - _FakeExchangeResponse_0<_i20.ExchangeTransaction>( + returnValue: _i6.Future< + _i2.ExchangeResponse<_i19.ExchangeTransaction>>.value( + _FakeExchangeResponse_0<_i19.ExchangeTransaction>( this, Invocation.method( #createFixedRateExchangeTransaction, @@ -1102,9 +1100,9 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), )), - ) as _i7.Future<_i2.ExchangeResponse<_i20.ExchangeTransaction>>); + ) as _i6.Future<_i2.ExchangeResponse<_i19.ExchangeTransaction>>); @override - _i7.Future<_i2.ExchangeResponse<_i21.ExchangeTransactionStatus>> + _i6.Future<_i2.ExchangeResponse<_i20.ExchangeTransactionStatus>> getTransactionStatus({ required String? id, String? apiKey, @@ -1118,9 +1116,9 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { #apiKey: apiKey, }, ), - returnValue: _i7.Future< - _i2.ExchangeResponse<_i21.ExchangeTransactionStatus>>.value( - _FakeExchangeResponse_0<_i21.ExchangeTransactionStatus>( + returnValue: _i6.Future< + _i2.ExchangeResponse<_i20.ExchangeTransactionStatus>>.value( + _FakeExchangeResponse_0<_i20.ExchangeTransactionStatus>( this, Invocation.method( #getTransactionStatus, @@ -1131,10 +1129,10 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { }, ), )), - ) as _i7 - .Future<_i2.ExchangeResponse<_i21.ExchangeTransactionStatus>>); + ) as _i6 + .Future<_i2.ExchangeResponse<_i20.ExchangeTransactionStatus>>); @override - _i7.Future<_i2.ExchangeResponse>> + _i6.Future<_i2.ExchangeResponse>> getAvailableFloatingRatePairs({bool? includePartners = false}) => (super.noSuchMethod( Invocation.method( @@ -1143,8 +1141,8 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { {#includePartners: includePartners}, ), returnValue: - _i7.Future<_i2.ExchangeResponse>>.value( - _FakeExchangeResponse_0>( + _i6.Future<_i2.ExchangeResponse>>.value( + _FakeExchangeResponse_0>( this, Invocation.method( #getAvailableFloatingRatePairs, @@ -1152,5 +1150,5 @@ class MockChangeNowAPI extends _i1.Mock implements _i12.ChangeNowAPI { {#includePartners: includePartners}, ), )), - ) as _i7.Future<_i2.ExchangeResponse>>); + ) as _i6.Future<_i2.ExchangeResponse>>); } diff --git a/test/widget_tests/address_book_card_test.dart b/test/widget_tests/address_book_card_test.dart index 07b1387df..2c068f73d 100644 --- a/test/widget_tests/address_book_card_test.dart +++ b/test/widget_tests/address_book_card_test.dart @@ -7,12 +7,13 @@ import 'package:mockito/annotations.dart'; import 'package:mockito/mockito.dart'; import 'package:stackwallet/models/contact.dart'; import 'package:stackwallet/models/contact_address_entry.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; import 'package:stackwallet/pages/address_book_views/subviews/contact_popup.dart'; import 'package:stackwallet/providers/global/address_book_service_provider.dart'; import 'package:stackwallet/services/address_book_service.dart'; +import '../sample_data/theme_json.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/address_book_card.dart'; @@ -26,6 +27,7 @@ class MockedFunctions extends Mock { void main() { testWidgets('test returns Contact Address Entry', (widgetTester) async { final service = MockAddressBookService(); + final applicationThemesDirectoryPath = ""; when(service.getContactById("default")).thenAnswer( (realInvocation) => Contact( @@ -51,7 +53,11 @@ void main() { theme: ThemeData( extensions: [ StackColors.fromStackColorTheme( - LightColors(), + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: + applicationThemesDirectoryPath, + ), ), ], ), diff --git a/test/widget_tests/animated_text_test.dart b/test/widget_tests/animated_text_test.dart index ba2610dc5..6401b5822 100644 --- a/test/widget_tests/animated_text_test.dart +++ b/test/widget_tests/animated_text_test.dart @@ -1,9 +1,11 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/widgets/animated_text.dart'; +import '../sample_data/theme_json.dart'; + void main() { testWidgets("Widget displays first word in strings list", (widgetTester) async { @@ -23,7 +25,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: const Material( diff --git a/test/widget_tests/custom_buttons/app_bar_icon_button_test.dart b/test/widget_tests/custom_buttons/app_bar_icon_button_test.dart index 36179deaf..0e1902fb5 100644 --- a/test/widget_tests/custom_buttons/app_bar_icon_button_test.dart +++ b/test/widget_tests/custom_buttons/app_bar_icon_button_test.dart @@ -1,9 +1,11 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; +import '../../sample_data/theme_json.dart'; + void main() { testWidgets("AppBarIconButton test", (tester) async { int buttonPressedCount = 0; @@ -23,7 +25,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: Material( diff --git a/test/widget_tests/custom_buttons/draggable_switch_button_test.dart b/test/widget_tests/custom_buttons/draggable_switch_button_test.dart index d8366a1f0..1c67e2883 100644 --- a/test/widget_tests/custom_buttons/draggable_switch_button_test.dart +++ b/test/widget_tests/custom_buttons/draggable_switch_button_test.dart @@ -1,9 +1,11 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/draggable_switch_button.dart'; +import '../../sample_data/theme_json.dart'; + void main() { testWidgets("DraggableSwitchButton tapped", (tester) async { bool? isButtonOn = false; @@ -19,7 +21,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: button, @@ -46,7 +53,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: SizedBox( @@ -78,7 +90,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: SizedBox( diff --git a/test/widget_tests/custom_buttons/favorite_toggle_test.dart b/test/widget_tests/custom_buttons/favorite_toggle_test.dart index 54de9a44c..a7fdc5492 100644 --- a/test/widget_tests/custom_buttons/favorite_toggle_test.dart +++ b/test/widget_tests/custom_buttons/favorite_toggle_test.dart @@ -1,23 +1,44 @@ import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:mockito/annotations.dart'; +import 'package:mockito/mockito.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_service.dart'; import 'package:stackwallet/widgets/custom_buttons/favorite_toggle.dart'; +import '../../sample_data/theme_json.dart'; +import 'favorite_toggle_test.mocks.dart'; + +@GenerateMocks([ + ThemeService, +]) void main() { testWidgets("Test widget build", (widgetTester) async { final key = UniqueKey(); + final mockThemeService = MockThemeService(); + when(mockThemeService.getTheme(themeId: "light")).thenAnswer( + (_) => StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ); await widgetTester.pumpWidget( ProviderScope( - overrides: [], + overrides: [ + pThemeService.overrideWithValue(mockThemeService), + ], child: MaterialApp( theme: ThemeData( extensions: [ StackColors.fromStackColorTheme( - LightColors(), + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), ), ], ), diff --git a/test/widget_tests/custom_buttons/favorite_toggle_test.mocks.dart b/test/widget_tests/custom_buttons/favorite_toggle_test.mocks.dart new file mode 100644 index 000000000..9bccdcc86 --- /dev/null +++ b/test/widget_tests/custom_buttons/favorite_toggle_test.mocks.dart @@ -0,0 +1,122 @@ +// Mocks generated by Mockito 5.3.2 from annotations +// in stackwallet/test/widget_tests/custom_buttons/favorite_toggle_test.dart. +// Do not manually edit this file. + +// ignore_for_file: no_leading_underscores_for_library_prefixes +import 'dart:async' as _i5; +import 'dart:typed_data' as _i6; + +import 'package:mockito/mockito.dart' as _i1; +import 'package:stackwallet/db/isar/main_db.dart' as _i2; +import 'package:stackwallet/models/isar/stack_theme.dart' as _i4; +import 'package:stackwallet/themes/theme_service.dart' as _i3; + +// ignore_for_file: type=lint +// ignore_for_file: avoid_redundant_argument_values +// ignore_for_file: avoid_setters_without_getters +// ignore_for_file: comment_references +// ignore_for_file: implementation_imports +// ignore_for_file: invalid_use_of_visible_for_testing_member +// ignore_for_file: prefer_const_constructors +// ignore_for_file: unnecessary_parenthesis +// ignore_for_file: camel_case_types +// ignore_for_file: subtype_of_sealed_class + +class _FakeMainDB_0 extends _i1.SmartFake implements _i2.MainDB { + _FakeMainDB_0( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +/// A class which mocks [ThemeService]. +/// +/// See the documentation for Mockito's code generation for more information. +class MockThemeService extends _i1.Mock implements _i3.ThemeService { + MockThemeService() { + _i1.throwOnMissingStub(this); + } + + @override + _i2.MainDB get db => (super.noSuchMethod( + Invocation.getter(#db), + returnValue: _FakeMainDB_0( + this, + Invocation.getter(#db), + ), + ) as _i2.MainDB); + @override + List<_i4.StackTheme> get installedThemes => (super.noSuchMethod( + Invocation.getter(#installedThemes), + returnValue: <_i4.StackTheme>[], + ) as List<_i4.StackTheme>); + @override + void init(_i2.MainDB? db) => super.noSuchMethod( + Invocation.method( + #init, + [db], + ), + returnValueForMissingStub: null, + ); + @override + _i5.Future install({required _i6.Uint8List? themeArchiveData}) => + (super.noSuchMethod( + Invocation.method( + #install, + [], + {#themeArchiveData: themeArchiveData}, + ), + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); + @override + _i5.Future remove({required String? themeId}) => (super.noSuchMethod( + Invocation.method( + #remove, + [], + {#themeId: themeId}, + ), + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); + @override + _i5.Future verifyInstalled({required String? themeId}) => + (super.noSuchMethod( + Invocation.method( + #verifyInstalled, + [], + {#themeId: themeId}, + ), + returnValue: _i5.Future.value(false), + ) as _i5.Future); + @override + _i5.Future> fetchThemes() => (super.noSuchMethod( + Invocation.method( + #fetchThemes, + [], + ), + returnValue: _i5.Future>.value( + <_i3.StackThemeMetaData>[]), + ) as _i5.Future>); + @override + _i5.Future<_i6.Uint8List> fetchTheme( + {required _i3.StackThemeMetaData? themeMetaData}) => + (super.noSuchMethod( + Invocation.method( + #fetchTheme, + [], + {#themeMetaData: themeMetaData}, + ), + returnValue: _i5.Future<_i6.Uint8List>.value(_i6.Uint8List(0)), + ) as _i5.Future<_i6.Uint8List>); + @override + _i4.StackTheme? getTheme({required String? themeId}) => + (super.noSuchMethod(Invocation.method( + #getTheme, + [], + {#themeId: themeId}, + )) as _i4.StackTheme?); +} diff --git a/test/widget_tests/custom_loading_overlay_test.dart b/test/widget_tests/custom_loading_overlay_test.dart index 48939c9b4..df976eb91 100644 --- a/test/widget_tests/custom_loading_overlay_test.dart +++ b/test/widget_tests/custom_loading_overlay_test.dart @@ -1,23 +1,51 @@ import 'package:event_bus/event_bus.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:mockito/annotations.dart'; +import 'package:mockito/mockito.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_service.dart'; import 'package:stackwallet/widgets/custom_loading_overlay.dart'; +import '../sample_data/theme_json.dart'; +import 'custom_loading_overlay_test.mocks.dart'; + +@GenerateMocks([ + ThemeService, +]) void main() { - testWidgets("Test wiget displays correct text", (widgetTester) async { + testWidgets("Test widget displays correct text", (widgetTester) async { final eventBus = EventBus(); + final mockThemeService = MockThemeService(); + when(mockThemeService.getTheme(themeId: "light")).thenAnswer( + (_) => StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ); + await widgetTester.pumpWidget( - MaterialApp( - theme: ThemeData( - extensions: [ - StackColors.fromStackColorTheme(LightColors()), - ], - ), - home: Material( - child: CustomLoadingOverlay( - message: "Updating exchange rate", eventBus: eventBus), + ProviderScope( + overrides: [ + pThemeService.overrideWithValue(mockThemeService), + ], + child: MaterialApp( + theme: ThemeData( + extensions: [ + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), + ], + ), + home: Material( + child: CustomLoadingOverlay( + message: "Updating exchange rate", eventBus: eventBus), + ), ), ), ); diff --git a/test/widget_tests/custom_loading_overlay_test.mocks.dart b/test/widget_tests/custom_loading_overlay_test.mocks.dart new file mode 100644 index 000000000..c2244014e --- /dev/null +++ b/test/widget_tests/custom_loading_overlay_test.mocks.dart @@ -0,0 +1,122 @@ +// Mocks generated by Mockito 5.3.2 from annotations +// in stackwallet/test/widget_tests/custom_loading_overlay_test.dart. +// Do not manually edit this file. + +// ignore_for_file: no_leading_underscores_for_library_prefixes +import 'dart:async' as _i5; +import 'dart:typed_data' as _i6; + +import 'package:mockito/mockito.dart' as _i1; +import 'package:stackwallet/db/isar/main_db.dart' as _i2; +import 'package:stackwallet/models/isar/stack_theme.dart' as _i4; +import 'package:stackwallet/themes/theme_service.dart' as _i3; + +// ignore_for_file: type=lint +// ignore_for_file: avoid_redundant_argument_values +// ignore_for_file: avoid_setters_without_getters +// ignore_for_file: comment_references +// ignore_for_file: implementation_imports +// ignore_for_file: invalid_use_of_visible_for_testing_member +// ignore_for_file: prefer_const_constructors +// ignore_for_file: unnecessary_parenthesis +// ignore_for_file: camel_case_types +// ignore_for_file: subtype_of_sealed_class + +class _FakeMainDB_0 extends _i1.SmartFake implements _i2.MainDB { + _FakeMainDB_0( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +/// A class which mocks [ThemeService]. +/// +/// See the documentation for Mockito's code generation for more information. +class MockThemeService extends _i1.Mock implements _i3.ThemeService { + MockThemeService() { + _i1.throwOnMissingStub(this); + } + + @override + _i2.MainDB get db => (super.noSuchMethod( + Invocation.getter(#db), + returnValue: _FakeMainDB_0( + this, + Invocation.getter(#db), + ), + ) as _i2.MainDB); + @override + List<_i4.StackTheme> get installedThemes => (super.noSuchMethod( + Invocation.getter(#installedThemes), + returnValue: <_i4.StackTheme>[], + ) as List<_i4.StackTheme>); + @override + void init(_i2.MainDB? db) => super.noSuchMethod( + Invocation.method( + #init, + [db], + ), + returnValueForMissingStub: null, + ); + @override + _i5.Future install({required _i6.Uint8List? themeArchiveData}) => + (super.noSuchMethod( + Invocation.method( + #install, + [], + {#themeArchiveData: themeArchiveData}, + ), + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); + @override + _i5.Future remove({required String? themeId}) => (super.noSuchMethod( + Invocation.method( + #remove, + [], + {#themeId: themeId}, + ), + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); + @override + _i5.Future verifyInstalled({required String? themeId}) => + (super.noSuchMethod( + Invocation.method( + #verifyInstalled, + [], + {#themeId: themeId}, + ), + returnValue: _i5.Future.value(false), + ) as _i5.Future); + @override + _i5.Future> fetchThemes() => (super.noSuchMethod( + Invocation.method( + #fetchThemes, + [], + ), + returnValue: _i5.Future>.value( + <_i3.StackThemeMetaData>[]), + ) as _i5.Future>); + @override + _i5.Future<_i6.Uint8List> fetchTheme( + {required _i3.StackThemeMetaData? themeMetaData}) => + (super.noSuchMethod( + Invocation.method( + #fetchTheme, + [], + {#themeMetaData: themeMetaData}, + ), + returnValue: _i5.Future<_i6.Uint8List>.value(_i6.Uint8List(0)), + ) as _i5.Future<_i6.Uint8List>); + @override + _i4.StackTheme? getTheme({required String? themeId}) => + (super.noSuchMethod(Invocation.method( + #getTheme, + [], + {#themeId: themeId}, + )) as _i4.StackTheme?); +} diff --git a/test/widget_tests/custom_pin_put_test.dart b/test/widget_tests/custom_pin_put_test.dart index ad472707e..28bc583d4 100644 --- a/test/widget_tests/custom_pin_put_test.dart +++ b/test/widget_tests/custom_pin_put_test.dart @@ -1,11 +1,13 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/widgets/custom_pin_put/custom_pin_put.dart'; import 'package:stackwallet/widgets/custom_pin_put/pin_keyboard.dart'; +import '../sample_data/theme_json.dart'; + void main() { group("CustomPinPut tests, non-random PIN", () { testWidgets("CustomPinPut with 4 fields builds correctly, non-random PIN", @@ -19,7 +21,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: const Material( @@ -52,7 +59,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: Material( @@ -98,7 +110,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: Material( @@ -131,7 +148,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: Material( @@ -164,7 +186,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: Material( @@ -196,7 +223,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: Material( @@ -233,7 +265,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: const Material( @@ -266,7 +303,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: Material( @@ -312,7 +354,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: Material( @@ -345,7 +392,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: Material( @@ -378,7 +430,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: Material( @@ -410,7 +467,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: Material( diff --git a/test/widget_tests/desktop/custom_text_button_test.dart b/test/widget_tests/desktop/custom_text_button_test.dart index 08cf19098..ab10e2e2d 100644 --- a/test/widget_tests/desktop/custom_text_button_test.dart +++ b/test/widget_tests/desktop/custom_text_button_test.dart @@ -1,10 +1,11 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; -import 'package:stackwallet/utilities/util.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/widgets/desktop/custom_text_button.dart'; +import '../../sample_data/theme_json.dart'; + void main() { testWidgets("Test text button ", (widgetTester) async { final key = UniqueKey(); @@ -13,7 +14,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: Material( diff --git a/test/widget_tests/desktop/desktop_app_bar_test.dart b/test/widget_tests/desktop/desktop_app_bar_test.dart index 36ef861eb..eb5ccb7ec 100644 --- a/test/widget_tests/desktop/desktop_app_bar_test.dart +++ b/test/widget_tests/desktop/desktop_app_bar_test.dart @@ -1,11 +1,13 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; import 'package:stackwallet/pages_desktop_specific/my_stack_view/exit_to_my_stack_button.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart'; +import '../../sample_data/theme_json.dart'; + void main() { testWidgets("Test DesktopAppBar widget", (widgetTester) async { final key = UniqueKey(); @@ -14,7 +16,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: Material( diff --git a/test/widget_tests/desktop/desktop_dialog_close_button_test.dart b/test/widget_tests/desktop/desktop_dialog_close_button_test.dart index 4c9a8113f..86de83567 100644 --- a/test/widget_tests/desktop/desktop_dialog_close_button_test.dart +++ b/test/widget_tests/desktop/desktop_dialog_close_button_test.dart @@ -2,11 +2,13 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockingjay/mockingjay.dart' as mockingjay; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; +import '../../sample_data/theme_json.dart'; + void main() { testWidgets("test DesktopDialog button pressed", (widgetTester) async { final key = UniqueKey(); @@ -19,7 +21,12 @@ void main() { child: MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: mockingjay.MockNavigatorProvider( diff --git a/test/widget_tests/desktop/desktop_dialog_test.dart b/test/widget_tests/desktop/desktop_dialog_test.dart index 48e82bf89..6ea148e09 100644 --- a/test/widget_tests/desktop/desktop_dialog_test.dart +++ b/test/widget_tests/desktop/desktop_dialog_test.dart @@ -1,10 +1,12 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog.dart'; import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; +import '../../sample_data/theme_json.dart'; + void main() { testWidgets("test DesktopDialog builds", (widgetTester) async { final key = UniqueKey(); @@ -13,7 +15,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: Material( diff --git a/test/widget_tests/desktop/desktop_scaffold_test.dart b/test/widget_tests/desktop/desktop_scaffold_test.dart index b7eba2c6d..efb41c9a2 100644 --- a/test/widget_tests/desktop/desktop_scaffold_test.dart +++ b/test/widget_tests/desktop/desktop_scaffold_test.dart @@ -1,23 +1,50 @@ import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:mockito/annotations.dart'; +import 'package:mockito/mockito.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_service.dart'; import 'package:stackwallet/widgets/desktop/desktop_scaffold.dart'; +import '../../sample_data/theme_json.dart'; +import 'desktop_scaffold_test.mocks.dart'; + +@GenerateMocks([ + ThemeService, +]) void main() { testWidgets("test DesktopScaffold", (widgetTester) async { final key = UniqueKey(); + final mockThemeService = MockThemeService(); + when(mockThemeService.getTheme(themeId: "light")).thenAnswer( + (_) => StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ); await widgetTester.pumpWidget( - MaterialApp( - theme: ThemeData( - extensions: [ - StackColors.fromStackColorTheme(LightColors()), - ], - ), - home: Material( - child: DesktopScaffold( - key: key, - body: const SizedBox(), + ProviderScope( + overrides: [ + pThemeService.overrideWithValue(mockThemeService), + ], + child: MaterialApp( + theme: ThemeData( + extensions: [ + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), + ], + ), + home: Material( + child: DesktopScaffold( + key: key, + body: const SizedBox(), + ), ), ), ), @@ -26,20 +53,37 @@ void main() { testWidgets("Test MasterScaffold for non desktop", (widgetTester) async { final key = UniqueKey(); + final mockThemeService = MockThemeService(); + when(mockThemeService.getTheme(themeId: "light")).thenAnswer( + (_) => StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ); await widgetTester.pumpWidget( - MaterialApp( - theme: ThemeData( - extensions: [ - StackColors.fromStackColorTheme(LightColors()), - ], - ), - home: Material( - child: MasterScaffold( - key: key, - body: const SizedBox(), - appBar: AppBar(), - isDesktop: false, + ProviderScope( + overrides: [ + pThemeService.overrideWithValue(mockThemeService), + ], + child: MaterialApp( + theme: ThemeData( + extensions: [ + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), + ], + ), + home: Material( + child: MasterScaffold( + key: key, + body: const SizedBox(), + appBar: AppBar(), + isDesktop: false, + ), ), ), ), @@ -48,20 +92,38 @@ void main() { testWidgets("Test MasterScaffold for desktop", (widgetTester) async { final key = UniqueKey(); + final mockThemeService = MockThemeService(); + + when(mockThemeService.getTheme(themeId: "light")).thenAnswer( + (_) => StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ); await widgetTester.pumpWidget( - MaterialApp( - theme: ThemeData( - extensions: [ - StackColors.fromStackColorTheme(LightColors()), - ], - ), - home: Material( - child: MasterScaffold( - key: key, - body: const SizedBox(), - appBar: AppBar(), - isDesktop: true, + ProviderScope( + overrides: [ + pThemeService.overrideWithValue(mockThemeService), + ], + child: MaterialApp( + theme: ThemeData( + extensions: [ + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), + ], + ), + home: Material( + child: MasterScaffold( + key: key, + body: const SizedBox(), + appBar: AppBar(), + isDesktop: true, + ), ), ), ), diff --git a/test/widget_tests/desktop/desktop_scaffold_test.mocks.dart b/test/widget_tests/desktop/desktop_scaffold_test.mocks.dart new file mode 100644 index 000000000..aa5f1260d --- /dev/null +++ b/test/widget_tests/desktop/desktop_scaffold_test.mocks.dart @@ -0,0 +1,122 @@ +// Mocks generated by Mockito 5.3.2 from annotations +// in stackwallet/test/widget_tests/desktop/desktop_scaffold_test.dart. +// Do not manually edit this file. + +// ignore_for_file: no_leading_underscores_for_library_prefixes +import 'dart:async' as _i5; +import 'dart:typed_data' as _i6; + +import 'package:mockito/mockito.dart' as _i1; +import 'package:stackwallet/db/isar/main_db.dart' as _i2; +import 'package:stackwallet/models/isar/stack_theme.dart' as _i4; +import 'package:stackwallet/themes/theme_service.dart' as _i3; + +// ignore_for_file: type=lint +// ignore_for_file: avoid_redundant_argument_values +// ignore_for_file: avoid_setters_without_getters +// ignore_for_file: comment_references +// ignore_for_file: implementation_imports +// ignore_for_file: invalid_use_of_visible_for_testing_member +// ignore_for_file: prefer_const_constructors +// ignore_for_file: unnecessary_parenthesis +// ignore_for_file: camel_case_types +// ignore_for_file: subtype_of_sealed_class + +class _FakeMainDB_0 extends _i1.SmartFake implements _i2.MainDB { + _FakeMainDB_0( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +/// A class which mocks [ThemeService]. +/// +/// See the documentation for Mockito's code generation for more information. +class MockThemeService extends _i1.Mock implements _i3.ThemeService { + MockThemeService() { + _i1.throwOnMissingStub(this); + } + + @override + _i2.MainDB get db => (super.noSuchMethod( + Invocation.getter(#db), + returnValue: _FakeMainDB_0( + this, + Invocation.getter(#db), + ), + ) as _i2.MainDB); + @override + List<_i4.StackTheme> get installedThemes => (super.noSuchMethod( + Invocation.getter(#installedThemes), + returnValue: <_i4.StackTheme>[], + ) as List<_i4.StackTheme>); + @override + void init(_i2.MainDB? db) => super.noSuchMethod( + Invocation.method( + #init, + [db], + ), + returnValueForMissingStub: null, + ); + @override + _i5.Future install({required _i6.Uint8List? themeArchiveData}) => + (super.noSuchMethod( + Invocation.method( + #install, + [], + {#themeArchiveData: themeArchiveData}, + ), + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); + @override + _i5.Future remove({required String? themeId}) => (super.noSuchMethod( + Invocation.method( + #remove, + [], + {#themeId: themeId}, + ), + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); + @override + _i5.Future verifyInstalled({required String? themeId}) => + (super.noSuchMethod( + Invocation.method( + #verifyInstalled, + [], + {#themeId: themeId}, + ), + returnValue: _i5.Future.value(false), + ) as _i5.Future); + @override + _i5.Future> fetchThemes() => (super.noSuchMethod( + Invocation.method( + #fetchThemes, + [], + ), + returnValue: _i5.Future>.value( + <_i3.StackThemeMetaData>[]), + ) as _i5.Future>); + @override + _i5.Future<_i6.Uint8List> fetchTheme( + {required _i3.StackThemeMetaData? themeMetaData}) => + (super.noSuchMethod( + Invocation.method( + #fetchTheme, + [], + {#themeMetaData: themeMetaData}, + ), + returnValue: _i5.Future<_i6.Uint8List>.value(_i6.Uint8List(0)), + ) as _i5.Future<_i6.Uint8List>); + @override + _i4.StackTheme? getTheme({required String? themeId}) => + (super.noSuchMethod(Invocation.method( + #getTheme, + [], + {#themeId: themeId}, + )) as _i4.StackTheme?); +} diff --git a/test/widget_tests/emoji_select_sheet_test.dart b/test/widget_tests/emoji_select_sheet_test.dart index aec05d580..4bb6b9046 100644 --- a/test/widget_tests/emoji_select_sheet_test.dart +++ b/test/widget_tests/emoji_select_sheet_test.dart @@ -3,10 +3,12 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockingjay/mockingjay.dart' as mockingjay; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/widgets/emoji_select_sheet.dart'; +import '../sample_data/theme_json.dart'; + void main() { testWidgets("Widget displays correctly", (tester) async { const emojiSelectSheet = EmojiSelectSheet(); @@ -15,7 +17,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: const Material( @@ -39,7 +46,12 @@ void main() { child: MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: mockingjay.MockNavigatorProvider( diff --git a/test/widget_tests/icon_widgets/addressbook_icon_test.dart b/test/widget_tests/icon_widgets/addressbook_icon_test.dart index 89ff4f236..48b7925d4 100644 --- a/test/widget_tests/icon_widgets/addressbook_icon_test.dart +++ b/test/widget_tests/icon_widgets/addressbook_icon_test.dart @@ -1,10 +1,12 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/widgets/icon_widgets/addressbook_icon.dart'; +import '../../sample_data/theme_json.dart'; + void main() { testWidgets("test address book icon widget", (widgetTester) async { final key = UniqueKey(); @@ -16,7 +18,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: Material( diff --git a/test/widget_tests/managed_favorite_test.dart b/test/widget_tests/managed_favorite_test.dart index f51e272c0..569785374 100644 --- a/test/widget_tests/managed_favorite_test.dart +++ b/test/widget_tests/managed_favorite_test.dart @@ -5,6 +5,7 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/annotations.dart'; import 'package:mockito/mockito.dart'; import 'package:stackwallet/models/balance.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart'; import 'package:stackwallet/services/coins/coin_service.dart'; @@ -13,13 +14,14 @@ import 'package:stackwallet/services/locale_service.dart'; import 'package:stackwallet/services/node_service.dart'; import 'package:stackwallet/services/wallets.dart'; import 'package:stackwallet/services/wallets_service.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_service.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/listenable_list.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/managed_favorite.dart'; +import '../sample_data/theme_json.dart'; import 'managed_favorite_test.mocks.dart'; /// quick amount constructor wrapper. Using an int is bad practice but for @@ -33,6 +35,7 @@ Amount _a(int i) => Amount.fromDecimal( Wallets, WalletsService, BitcoinWallet, + ThemeService, LocaleService ], customMocks: [ MockSpec(returnNullOnMissingStub: true), @@ -43,7 +46,14 @@ void main() { testWidgets("Test wallet info row displays correctly", (widgetTester) async { final wallets = MockWallets(); final CoinServiceAPI wallet = MockBitcoinWallet(); + final mockThemeService = MockThemeService(); + when(mockThemeService.getTheme(themeId: "light")).thenAnswer( + (_) => StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ); when(wallet.coin).thenAnswer((_) => Coin.bitcoin); when(wallet.walletName).thenAnswer((_) => "some wallet"); when(wallet.walletId).thenAnswer((_) => "some wallet id"); @@ -67,12 +77,16 @@ void main() { ProviderScope( overrides: [ walletsChangeNotifierProvider.overrideWithValue(wallets), + pThemeService.overrideWithValue(mockThemeService), ], child: MaterialApp( theme: ThemeData( extensions: [ StackColors.fromStackColorTheme( - LightColors(), + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), ), ], ), @@ -94,7 +108,14 @@ void main() { final CoinServiceAPI wallet = MockBitcoinWallet(); final mockLocaleService = MockLocaleService(); final mockWalletsService = MockWalletsService(); + final mockThemeService = MockThemeService(); + when(mockThemeService.getTheme(themeId: "light")).thenAnswer( + (_) => StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ); when(wallet.coin).thenAnswer((_) => Coin.bitcoin); when(wallet.walletName).thenAnswer((_) => "some wallet"); when(wallet.walletId).thenAnswer((_) => "some wallet id"); @@ -134,6 +155,7 @@ void main() { .overrideWithValue(mockLocaleService), favoritesProvider.overrideWithValue(favorites), nonFavoritesProvider.overrideWithValue(nonfavorites), + pThemeService.overrideWithValue(mockThemeService), walletsServiceChangeNotifierProvider .overrideWithValue(mockWalletsService) ], @@ -141,7 +163,10 @@ void main() { theme: ThemeData( extensions: [ StackColors.fromStackColorTheme( - LightColors(), + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), ), ], ), @@ -162,7 +187,14 @@ void main() { final CoinServiceAPI wallet = MockBitcoinWallet(); final mockLocaleService = MockLocaleService(); final mockWalletsService = MockWalletsService(); + final mockThemeService = MockThemeService(); + when(mockThemeService.getTheme(themeId: "light")).thenAnswer( + (_) => StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ); when(wallet.coin).thenAnswer((_) => Coin.bitcoin); when(wallet.walletName).thenAnswer((_) => "some wallet"); when(wallet.walletId).thenAnswer((_) => "some wallet id"); @@ -202,6 +234,7 @@ void main() { .overrideWithValue(mockLocaleService), favoritesProvider.overrideWithValue(favorites), nonFavoritesProvider.overrideWithValue(nonfavorites), + pThemeService.overrideWithValue(mockThemeService), walletsServiceChangeNotifierProvider .overrideWithValue(mockWalletsService) ], @@ -209,7 +242,10 @@ void main() { theme: ThemeData( extensions: [ StackColors.fromStackColorTheme( - LightColors(), + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), ), ], ), diff --git a/test/widget_tests/managed_favorite_test.mocks.dart b/test/widget_tests/managed_favorite_test.mocks.dart index 337eb47e4..1be169e52 100644 --- a/test/widget_tests/managed_favorite_test.mocks.dart +++ b/test/widget_tests/managed_favorite_test.mocks.dart @@ -18,18 +18,20 @@ import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i10; import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i9; import 'package:stackwallet/models/balance.dart' as _i11; import 'package:stackwallet/models/isar/models/isar_models.dart' as _i17; -import 'package:stackwallet/models/node_model.dart' as _i31; +import 'package:stackwallet/models/isar/stack_theme.dart' as _i31; +import 'package:stackwallet/models/node_model.dart' as _i33; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i8; import 'package:stackwallet/models/signing_data.dart' as _i28; import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i26; import 'package:stackwallet/services/coins/coin_service.dart' as _i20; import 'package:stackwallet/services/coins/manager.dart' as _i6; -import 'package:stackwallet/services/locale_service.dart' as _i30; +import 'package:stackwallet/services/locale_service.dart' as _i32; import 'package:stackwallet/services/node_service.dart' as _i3; import 'package:stackwallet/services/transaction_notification_tracker.dart' as _i7; import 'package:stackwallet/services/wallets.dart' as _i21; import 'package:stackwallet/services/wallets_service.dart' as _i2; +import 'package:stackwallet/themes/theme_service.dart' as _i30; import 'package:stackwallet/utilities/amount/amount.dart' as _i14; import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i22; import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i27; @@ -1955,10 +1957,100 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { ) as _i23.Future); } +/// A class which mocks [ThemeService]. +/// +/// See the documentation for Mockito's code generation for more information. +class MockThemeService extends _i1.Mock implements _i30.ThemeService { + MockThemeService() { + _i1.throwOnMissingStub(this); + } + + @override + _i12.MainDB get db => (super.noSuchMethod( + Invocation.getter(#db), + returnValue: _FakeMainDB_9( + this, + Invocation.getter(#db), + ), + ) as _i12.MainDB); + @override + List<_i31.StackTheme> get installedThemes => (super.noSuchMethod( + Invocation.getter(#installedThemes), + returnValue: <_i31.StackTheme>[], + ) as List<_i31.StackTheme>); + @override + void init(_i12.MainDB? db) => super.noSuchMethod( + Invocation.method( + #init, + [db], + ), + returnValueForMissingStub: null, + ); + @override + _i23.Future install({required _i29.Uint8List? themeArchiveData}) => + (super.noSuchMethod( + Invocation.method( + #install, + [], + {#themeArchiveData: themeArchiveData}, + ), + returnValue: _i23.Future.value(), + returnValueForMissingStub: _i23.Future.value(), + ) as _i23.Future); + @override + _i23.Future remove({required String? themeId}) => (super.noSuchMethod( + Invocation.method( + #remove, + [], + {#themeId: themeId}, + ), + returnValue: _i23.Future.value(), + returnValueForMissingStub: _i23.Future.value(), + ) as _i23.Future); + @override + _i23.Future verifyInstalled({required String? themeId}) => + (super.noSuchMethod( + Invocation.method( + #verifyInstalled, + [], + {#themeId: themeId}, + ), + returnValue: _i23.Future.value(false), + ) as _i23.Future); + @override + _i23.Future> fetchThemes() => + (super.noSuchMethod( + Invocation.method( + #fetchThemes, + [], + ), + returnValue: _i23.Future>.value( + <_i30.StackThemeMetaData>[]), + ) as _i23.Future>); + @override + _i23.Future<_i29.Uint8List> fetchTheme( + {required _i30.StackThemeMetaData? themeMetaData}) => + (super.noSuchMethod( + Invocation.method( + #fetchTheme, + [], + {#themeMetaData: themeMetaData}, + ), + returnValue: _i23.Future<_i29.Uint8List>.value(_i29.Uint8List(0)), + ) as _i23.Future<_i29.Uint8List>); + @override + _i31.StackTheme? getTheme({required String? themeId}) => + (super.noSuchMethod(Invocation.method( + #getTheme, + [], + {#themeId: themeId}, + )) as _i31.StackTheme?); +} + /// A class which mocks [LocaleService]. /// /// See the documentation for Mockito's code generation for more information. -class MockLocaleService extends _i1.Mock implements _i30.LocaleService { +class MockLocaleService extends _i1.Mock implements _i32.LocaleService { MockLocaleService() { _i1.throwOnMissingStub(this); } @@ -2030,15 +2122,15 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { ), ) as _i19.SecureStorageInterface); @override - List<_i31.NodeModel> get primaryNodes => (super.noSuchMethod( + List<_i33.NodeModel> get primaryNodes => (super.noSuchMethod( Invocation.getter(#primaryNodes), - returnValue: <_i31.NodeModel>[], - ) as List<_i31.NodeModel>); + returnValue: <_i33.NodeModel>[], + ) as List<_i33.NodeModel>); @override - List<_i31.NodeModel> get nodes => (super.noSuchMethod( + List<_i33.NodeModel> get nodes => (super.noSuchMethod( Invocation.getter(#nodes), - returnValue: <_i31.NodeModel>[], - ) as List<_i31.NodeModel>); + returnValue: <_i33.NodeModel>[], + ) as List<_i33.NodeModel>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), @@ -2056,7 +2148,7 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { @override _i23.Future setPrimaryNodeFor({ required _i22.Coin? coin, - required _i31.NodeModel? node, + required _i33.NodeModel? node, bool? shouldNotifyListeners = false, }) => (super.noSuchMethod( @@ -2073,40 +2165,40 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { returnValueForMissingStub: _i23.Future.value(), ) as _i23.Future); @override - _i31.NodeModel? getPrimaryNodeFor({required _i22.Coin? coin}) => + _i33.NodeModel? getPrimaryNodeFor({required _i22.Coin? coin}) => (super.noSuchMethod(Invocation.method( #getPrimaryNodeFor, [], {#coin: coin}, - )) as _i31.NodeModel?); + )) as _i33.NodeModel?); @override - List<_i31.NodeModel> getNodesFor(_i22.Coin? coin) => (super.noSuchMethod( + List<_i33.NodeModel> getNodesFor(_i22.Coin? coin) => (super.noSuchMethod( Invocation.method( #getNodesFor, [coin], ), - returnValue: <_i31.NodeModel>[], - ) as List<_i31.NodeModel>); + returnValue: <_i33.NodeModel>[], + ) as List<_i33.NodeModel>); @override - _i31.NodeModel? getNodeById({required String? id}) => + _i33.NodeModel? getNodeById({required String? id}) => (super.noSuchMethod(Invocation.method( #getNodeById, [], {#id: id}, - )) as _i31.NodeModel?); + )) as _i33.NodeModel?); @override - List<_i31.NodeModel> failoverNodesFor({required _i22.Coin? coin}) => + List<_i33.NodeModel> failoverNodesFor({required _i22.Coin? coin}) => (super.noSuchMethod( Invocation.method( #failoverNodesFor, [], {#coin: coin}, ), - returnValue: <_i31.NodeModel>[], - ) as List<_i31.NodeModel>); + returnValue: <_i33.NodeModel>[], + ) as List<_i33.NodeModel>); @override _i23.Future add( - _i31.NodeModel? node, + _i33.NodeModel? node, String? password, bool? shouldNotifyListeners, ) => @@ -2158,7 +2250,7 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { ) as _i23.Future); @override _i23.Future edit( - _i31.NodeModel? editedNode, + _i33.NodeModel? editedNode, String? password, bool? shouldNotifyListeners, ) => diff --git a/test/widget_tests/node_card_test.dart b/test/widget_tests/node_card_test.dart index 22e0661bf..cf7be76af 100644 --- a/test/widget_tests/node_card_test.dart +++ b/test/widget_tests/node_card_test.dart @@ -4,16 +4,17 @@ import 'package:flutter_svg/svg.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/annotations.dart'; import 'package:mockito/mockito.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; import 'package:stackwallet/models/node_model.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/node_service.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/node_card.dart'; import 'package:stackwallet/widgets/node_options_sheet.dart'; +import '../sample_data/theme_json.dart'; import 'node_card_test.mocks.dart'; @GenerateMocks([NodeService]) @@ -54,7 +55,10 @@ void main() { theme: ThemeData( extensions: [ StackColors.fromStackColorTheme( - LightColors(), + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), ), ], ), @@ -112,7 +116,10 @@ void main() { theme: ThemeData( extensions: [ StackColors.fromStackColorTheme( - LightColors(), + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), ), ], ), @@ -171,7 +178,10 @@ void main() { theme: ThemeData( extensions: [ StackColors.fromStackColorTheme( - LightColors(), + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), ), ], ), diff --git a/test/widget_tests/node_options_sheet_test.dart b/test/widget_tests/node_options_sheet_test.dart index 2a4782c07..c1aacbb51 100644 --- a/test/widget_tests/node_options_sheet_test.dart +++ b/test/widget_tests/node_options_sheet_test.dart @@ -1,21 +1,22 @@ import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:mockingjay/mockingjay.dart' as mockingjay; import 'package:mockito/annotations.dart'; import 'package:mockito/mockito.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; import 'package:stackwallet/models/node_model.dart'; -import 'package:mockingjay/mockingjay.dart' as mockingjay; import 'package:stackwallet/providers/providers.dart'; +import 'package:stackwallet/services/node_service.dart'; import 'package:stackwallet/services/wallets.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/prefs.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; -import 'package:stackwallet/services/node_service.dart'; import 'package:stackwallet/widgets/node_options_sheet.dart'; import 'package:tuple/tuple.dart'; +import '../sample_data/theme_json.dart'; import 'node_options_sheet_test.mocks.dart'; @GenerateMocks([Wallets, Prefs, NodeService]) @@ -60,7 +61,10 @@ void main() { theme: ThemeData( extensions: [ StackColors.fromStackColorTheme( - LightColors(), + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), ), ], ), @@ -129,7 +133,12 @@ void main() { child: MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: mockingjay.MockNavigatorProvider( @@ -192,7 +201,10 @@ void main() { theme: ThemeData( extensions: [ StackColors.fromStackColorTheme( - LightColors(), + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), ), ], ), diff --git a/test/widget_tests/node_options_sheet_test.mocks.dart b/test/widget_tests/node_options_sheet_test.mocks.dart index 1238cc248..d90ee6681 100644 --- a/test/widget_tests/node_options_sheet_test.mocks.dart +++ b/test/widget_tests/node_options_sheet_test.mocks.dart @@ -9,7 +9,7 @@ import 'dart:ui' as _i13; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; import 'package:mockito/mockito.dart' as _i1; -import 'package:stackwallet/models/node_model.dart' as _i17; +import 'package:stackwallet/models/node_model.dart' as _i16; import 'package:stackwallet/services/coins/manager.dart' as _i6; import 'package:stackwallet/services/node_service.dart' as _i3; import 'package:stackwallet/services/wallets.dart' as _i8; @@ -20,7 +20,6 @@ import 'package:stackwallet/utilities/enums/sync_type_enum.dart' as _i14; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' as _i7; import 'package:stackwallet/utilities/prefs.dart' as _i12; -import 'package:stackwallet/utilities/theme/color_theme.dart' as _i16; import 'package:tuple/tuple.dart' as _i10; // ignore_for_file: type=lint @@ -602,43 +601,43 @@ class MockPrefs extends _i1.Mock implements _i12.Prefs { returnValueForMissingStub: null, ); @override - _i16.ThemeType get theme => (super.noSuchMethod( - Invocation.getter(#theme), - returnValue: _i16.ThemeType.light, - ) as _i16.ThemeType); + String get themeId => (super.noSuchMethod( + Invocation.getter(#themeId), + returnValue: '', + ) as String); @override - set theme(_i16.ThemeType? theme) => super.noSuchMethod( + set themeId(String? themeId) => super.noSuchMethod( Invocation.setter( - #theme, - theme, + #themeId, + themeId, ), returnValueForMissingStub: null, ); @override - _i16.ThemeType get systemBrightnessLightTheme => (super.noSuchMethod( - Invocation.getter(#systemBrightnessLightTheme), - returnValue: _i16.ThemeType.light, - ) as _i16.ThemeType); + String get systemBrightnessLightThemeId => (super.noSuchMethod( + Invocation.getter(#systemBrightnessLightThemeId), + returnValue: '', + ) as String); @override - set systemBrightnessLightTheme(_i16.ThemeType? systemBrightnessLightTheme) => + set systemBrightnessLightThemeId(String? systemBrightnessLightThemeId) => super.noSuchMethod( Invocation.setter( - #systemBrightnessLightTheme, - systemBrightnessLightTheme, + #systemBrightnessLightThemeId, + systemBrightnessLightThemeId, ), returnValueForMissingStub: null, ); @override - _i16.ThemeType get systemBrightnessDarkTheme => (super.noSuchMethod( - Invocation.getter(#systemBrightnessDarkTheme), - returnValue: _i16.ThemeType.light, - ) as _i16.ThemeType); + String get systemBrightnessDarkThemeId => (super.noSuchMethod( + Invocation.getter(#systemBrightnessDarkThemeId), + returnValue: '', + ) as String); @override - set systemBrightnessDarkTheme(_i16.ThemeType? systemBrightnessDarkTheme) => + set systemBrightnessDarkThemeId(String? systemBrightnessDarkThemeId) => super.noSuchMethod( Invocation.setter( - #systemBrightnessDarkTheme, - systemBrightnessDarkTheme, + #systemBrightnessDarkThemeId, + systemBrightnessDarkThemeId, ), returnValueForMissingStub: null, ); @@ -742,15 +741,15 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { ), ) as _i7.SecureStorageInterface); @override - List<_i17.NodeModel> get primaryNodes => (super.noSuchMethod( + List<_i16.NodeModel> get primaryNodes => (super.noSuchMethod( Invocation.getter(#primaryNodes), - returnValue: <_i17.NodeModel>[], - ) as List<_i17.NodeModel>); + returnValue: <_i16.NodeModel>[], + ) as List<_i16.NodeModel>); @override - List<_i17.NodeModel> get nodes => (super.noSuchMethod( + List<_i16.NodeModel> get nodes => (super.noSuchMethod( Invocation.getter(#nodes), - returnValue: <_i17.NodeModel>[], - ) as List<_i17.NodeModel>); + returnValue: <_i16.NodeModel>[], + ) as List<_i16.NodeModel>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), @@ -768,7 +767,7 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { @override _i11.Future setPrimaryNodeFor({ required _i9.Coin? coin, - required _i17.NodeModel? node, + required _i16.NodeModel? node, bool? shouldNotifyListeners = false, }) => (super.noSuchMethod( @@ -785,40 +784,40 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { returnValueForMissingStub: _i11.Future.value(), ) as _i11.Future); @override - _i17.NodeModel? getPrimaryNodeFor({required _i9.Coin? coin}) => + _i16.NodeModel? getPrimaryNodeFor({required _i9.Coin? coin}) => (super.noSuchMethod(Invocation.method( #getPrimaryNodeFor, [], {#coin: coin}, - )) as _i17.NodeModel?); + )) as _i16.NodeModel?); @override - List<_i17.NodeModel> getNodesFor(_i9.Coin? coin) => (super.noSuchMethod( + List<_i16.NodeModel> getNodesFor(_i9.Coin? coin) => (super.noSuchMethod( Invocation.method( #getNodesFor, [coin], ), - returnValue: <_i17.NodeModel>[], - ) as List<_i17.NodeModel>); + returnValue: <_i16.NodeModel>[], + ) as List<_i16.NodeModel>); @override - _i17.NodeModel? getNodeById({required String? id}) => + _i16.NodeModel? getNodeById({required String? id}) => (super.noSuchMethod(Invocation.method( #getNodeById, [], {#id: id}, - )) as _i17.NodeModel?); + )) as _i16.NodeModel?); @override - List<_i17.NodeModel> failoverNodesFor({required _i9.Coin? coin}) => + List<_i16.NodeModel> failoverNodesFor({required _i9.Coin? coin}) => (super.noSuchMethod( Invocation.method( #failoverNodesFor, [], {#coin: coin}, ), - returnValue: <_i17.NodeModel>[], - ) as List<_i17.NodeModel>); + returnValue: <_i16.NodeModel>[], + ) as List<_i16.NodeModel>); @override _i11.Future add( - _i17.NodeModel? node, + _i16.NodeModel? node, String? password, bool? shouldNotifyListeners, ) => @@ -870,7 +869,7 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { ) as _i11.Future); @override _i11.Future edit( - _i17.NodeModel? editedNode, + _i16.NodeModel? editedNode, String? password, bool? shouldNotifyListeners, ) => diff --git a/test/widget_tests/progress_bar_test.dart b/test/widget_tests/progress_bar_test.dart index 1fe1876d6..f375e7392 100644 --- a/test/widget_tests/progress_bar_test.dart +++ b/test/widget_tests/progress_bar_test.dart @@ -1,26 +1,31 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/widgets/progress_bar.dart'; +import '../sample_data/theme_json.dart'; + void main() { testWidgets("Widget build", (widgetTester) async { + final theme = StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ); await widgetTester.pumpWidget( MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme(theme), ], ), home: Material( child: ProgressBar( width: 20, height: 10, - fillColor: - StackColors.fromStackColorTheme(LightColors()).accentColorRed, - backgroundColor: StackColors.fromStackColorTheme(LightColors()) - .accentColorYellow, + fillColor: StackColors.fromStackColorTheme(theme).accentColorRed, + backgroundColor: + StackColors.fromStackColorTheme(theme).accentColorYellow, percent: 30), ), ), diff --git a/test/widget_tests/shake/shake_test.dart b/test/widget_tests/shake/shake_test.dart index cddd99c05..e699a2fca 100644 --- a/test/widget_tests/shake/shake_test.dart +++ b/test/widget_tests/shake/shake_test.dart @@ -1,16 +1,23 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/widgets/shake/shake.dart'; +import '../../sample_data/theme_json.dart'; + void main() { testWidgets("Widget build", (widgetTester) async { await widgetTester.pumpWidget( MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: Material( diff --git a/test/widget_tests/stack_dialog_test.dart b/test/widget_tests/stack_dialog_test.dart index 1f33acb32..3397e3c9e 100644 --- a/test/widget_tests/stack_dialog_test.dart +++ b/test/widget_tests/stack_dialog_test.dart @@ -1,10 +1,12 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; -import 'package:stackwallet/widgets/stack_dialog.dart'; import 'package:mockingjay/mockingjay.dart' as mockingjay; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/widgets/stack_dialog.dart'; + +import '../sample_data/theme_json.dart'; void main() { testWidgets("test StackDialogBase", (widgetTester) async { @@ -12,7 +14,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: const Material( @@ -29,7 +36,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: const Material( @@ -60,7 +72,12 @@ void main() { child: MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: mockingjay.MockNavigatorProvider( diff --git a/test/widget_tests/table_view/table_view_cell_test.dart b/test/widget_tests/table_view/table_view_cell_test.dart index dff6ba513..228a7c2e9 100644 --- a/test/widget_tests/table_view/table_view_cell_test.dart +++ b/test/widget_tests/table_view/table_view_cell_test.dart @@ -1,9 +1,11 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/widgets/table_view/table_view_cell.dart'; +import '../../sample_data/theme_json.dart'; + void main() { testWidgets("Widget build correctly", (widgetTester) async { const tableViewCell = TableViewCell(flex: 16, child: Text("data")); @@ -11,7 +13,12 @@ void main() { MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: const Material( diff --git a/test/widget_tests/table_view/table_view_row_test.dart b/test/widget_tests/table_view/table_view_row_test.dart index 2b0083ca7..676d18f3b 100644 --- a/test/widget_tests/table_view/table_view_row_test.dart +++ b/test/widget_tests/table_view/table_view_row_test.dart @@ -4,6 +4,7 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/annotations.dart'; import 'package:mockito/mockito.dart'; import 'package:stackwallet/models/balance.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; import 'package:stackwallet/pages_desktop_specific/my_stack_view/coin_wallets_table.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart'; @@ -11,18 +12,20 @@ import 'package:stackwallet/services/coins/coin_service.dart'; import 'package:stackwallet/services/coins/manager.dart'; import 'package:stackwallet/services/wallets.dart'; import 'package:stackwallet/services/wallets_service.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_service.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/table_view/table_view_cell.dart'; import 'package:stackwallet/widgets/table_view/table_view_row.dart'; +import '../../sample_data/theme_json.dart'; import 'table_view_row_test.mocks.dart'; @GenerateMocks([ Wallets, WalletsService, + ThemeService, BitcoinWallet ], customMocks: [ MockSpec(returnNullOnMissingStub: true), @@ -33,8 +36,15 @@ void main() { widgetTester.binding.window.physicalSizeTestValue = const Size(2500, 1800); final mockWallet = MockWallets(); + final mockThemeService = MockThemeService(); final CoinServiceAPI wallet = MockBitcoinWallet(); when(wallet.coin).thenAnswer((_) => Coin.bitcoin); + when(mockThemeService.getTheme(themeId: "light")).thenAnswer( + (_) => StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ); when(wallet.walletName).thenAnswer((_) => "some wallet"); when(wallet.walletId).thenAnswer((_) => "Wallet id 1"); @@ -62,12 +72,16 @@ void main() { ProviderScope( overrides: [ walletsChangeNotifierProvider.overrideWithValue(mockWallet), + pThemeService.overrideWithValue(mockThemeService), ], child: MaterialApp( theme: ThemeData( extensions: [ StackColors.fromStackColorTheme( - LightColors(), + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), ), ], ), diff --git a/test/widget_tests/table_view/table_view_row_test.mocks.dart b/test/widget_tests/table_view/table_view_row_test.mocks.dart index 38a6e1d91..62a4e3bd5 100644 --- a/test/widget_tests/table_view/table_view_row_test.mocks.dart +++ b/test/widget_tests/table_view/table_view_row_test.mocks.dart @@ -4,7 +4,7 @@ // ignore_for_file: no_leading_underscores_for_library_prefixes import 'dart:async' as _i22; -import 'dart:typed_data' as _i29; +import 'dart:typed_data' as _i27; import 'dart:ui' as _i24; import 'package:bip32/bip32.dart' as _i16; @@ -13,26 +13,28 @@ import 'package:bitcoindart/bitcoindart.dart' as _i13; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; import 'package:mockito/mockito.dart' as _i1; -import 'package:stackwallet/db/isar/main_db.dart' as _i12; -import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i10; -import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i9; -import 'package:stackwallet/models/balance.dart' as _i11; +import 'package:stackwallet/db/isar/main_db.dart' as _i7; +import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i11; +import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i10; +import 'package:stackwallet/models/balance.dart' as _i12; import 'package:stackwallet/models/isar/models/isar_models.dart' as _i17; -import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i8; -import 'package:stackwallet/models/signing_data.dart' as _i27; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i25; +import 'package:stackwallet/models/isar/stack_theme.dart' as _i26; +import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i9; +import 'package:stackwallet/models/signing_data.dart' as _i30; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i28; import 'package:stackwallet/services/coins/coin_service.dart' as _i19; import 'package:stackwallet/services/coins/manager.dart' as _i6; import 'package:stackwallet/services/node_service.dart' as _i3; import 'package:stackwallet/services/transaction_notification_tracker.dart' - as _i7; + as _i8; import 'package:stackwallet/services/wallets.dart' as _i20; import 'package:stackwallet/services/wallets_service.dart' as _i2; +import 'package:stackwallet/themes/theme_service.dart' as _i25; import 'package:stackwallet/utilities/amount/amount.dart' as _i14; import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i21; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i26; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i29; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' - as _i28; + as _i31; import 'package:stackwallet/utilities/prefs.dart' as _i23; import 'package:tuple/tuple.dart' as _i15; @@ -89,9 +91,8 @@ class _FakeManager_3 extends _i1.SmartFake implements _i6.Manager { ); } -class _FakeTransactionNotificationTracker_4 extends _i1.SmartFake - implements _i7.TransactionNotificationTracker { - _FakeTransactionNotificationTracker_4( +class _FakeMainDB_4 extends _i1.SmartFake implements _i7.MainDB { + _FakeMainDB_4( Object parent, Invocation parentInvocation, ) : super( @@ -100,8 +101,9 @@ class _FakeTransactionNotificationTracker_4 extends _i1.SmartFake ); } -class _FakeFeeObject_5 extends _i1.SmartFake implements _i8.FeeObject { - _FakeFeeObject_5( +class _FakeTransactionNotificationTracker_5 extends _i1.SmartFake + implements _i8.TransactionNotificationTracker { + _FakeTransactionNotificationTracker_5( Object parent, Invocation parentInvocation, ) : super( @@ -110,8 +112,8 @@ class _FakeFeeObject_5 extends _i1.SmartFake implements _i8.FeeObject { ); } -class _FakeElectrumX_6 extends _i1.SmartFake implements _i9.ElectrumX { - _FakeElectrumX_6( +class _FakeFeeObject_6 extends _i1.SmartFake implements _i9.FeeObject { + _FakeFeeObject_6( Object parent, Invocation parentInvocation, ) : super( @@ -120,9 +122,8 @@ class _FakeElectrumX_6 extends _i1.SmartFake implements _i9.ElectrumX { ); } -class _FakeCachedElectrumX_7 extends _i1.SmartFake - implements _i10.CachedElectrumX { - _FakeCachedElectrumX_7( +class _FakeElectrumX_7 extends _i1.SmartFake implements _i10.ElectrumX { + _FakeElectrumX_7( Object parent, Invocation parentInvocation, ) : super( @@ -131,8 +132,9 @@ class _FakeCachedElectrumX_7 extends _i1.SmartFake ); } -class _FakeBalance_8 extends _i1.SmartFake implements _i11.Balance { - _FakeBalance_8( +class _FakeCachedElectrumX_8 extends _i1.SmartFake + implements _i11.CachedElectrumX { + _FakeCachedElectrumX_8( Object parent, Invocation parentInvocation, ) : super( @@ -141,8 +143,8 @@ class _FakeBalance_8 extends _i1.SmartFake implements _i11.Balance { ); } -class _FakeMainDB_9 extends _i1.SmartFake implements _i12.MainDB { - _FakeMainDB_9( +class _FakeBalance_9 extends _i1.SmartFake implements _i12.Balance { + _FakeBalance_9( Object parent, Invocation parentInvocation, ) : super( @@ -161,7 +163,8 @@ class _FakeNetworkType_10 extends _i1.SmartFake implements _i13.NetworkType { ); } -class _FakeElectrumXNode_11 extends _i1.SmartFake implements _i9.ElectrumXNode { +class _FakeElectrumXNode_11 extends _i1.SmartFake + implements _i10.ElectrumXNode { _FakeElectrumXNode_11( Object parent, Invocation parentInvocation, @@ -675,10 +678,100 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { ); } +/// A class which mocks [ThemeService]. +/// +/// See the documentation for Mockito's code generation for more information. +class MockThemeService extends _i1.Mock implements _i25.ThemeService { + MockThemeService() { + _i1.throwOnMissingStub(this); + } + + @override + _i7.MainDB get db => (super.noSuchMethod( + Invocation.getter(#db), + returnValue: _FakeMainDB_4( + this, + Invocation.getter(#db), + ), + ) as _i7.MainDB); + @override + List<_i26.StackTheme> get installedThemes => (super.noSuchMethod( + Invocation.getter(#installedThemes), + returnValue: <_i26.StackTheme>[], + ) as List<_i26.StackTheme>); + @override + void init(_i7.MainDB? db) => super.noSuchMethod( + Invocation.method( + #init, + [db], + ), + returnValueForMissingStub: null, + ); + @override + _i22.Future install({required _i27.Uint8List? themeArchiveData}) => + (super.noSuchMethod( + Invocation.method( + #install, + [], + {#themeArchiveData: themeArchiveData}, + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future remove({required String? themeId}) => (super.noSuchMethod( + Invocation.method( + #remove, + [], + {#themeId: themeId}, + ), + returnValue: _i22.Future.value(), + returnValueForMissingStub: _i22.Future.value(), + ) as _i22.Future); + @override + _i22.Future verifyInstalled({required String? themeId}) => + (super.noSuchMethod( + Invocation.method( + #verifyInstalled, + [], + {#themeId: themeId}, + ), + returnValue: _i22.Future.value(false), + ) as _i22.Future); + @override + _i22.Future> fetchThemes() => + (super.noSuchMethod( + Invocation.method( + #fetchThemes, + [], + ), + returnValue: _i22.Future>.value( + <_i25.StackThemeMetaData>[]), + ) as _i22.Future>); + @override + _i22.Future<_i27.Uint8List> fetchTheme( + {required _i25.StackThemeMetaData? themeMetaData}) => + (super.noSuchMethod( + Invocation.method( + #fetchTheme, + [], + {#themeMetaData: themeMetaData}, + ), + returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i22.Future<_i27.Uint8List>); + @override + _i26.StackTheme? getTheme({required String? themeId}) => + (super.noSuchMethod(Invocation.method( + #getTheme, + [], + {#themeId: themeId}, + )) as _i26.StackTheme?); +} + /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i28.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @@ -692,15 +785,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i7.TransactionNotificationTracker get txTracker => (super.noSuchMethod( + _i8.TransactionNotificationTracker get txTracker => (super.noSuchMethod( Invocation.getter(#txTracker), - returnValue: _FakeTransactionNotificationTracker_4( + returnValue: _FakeTransactionNotificationTracker_5( this, Invocation.getter(#txTracker), ), - ) as _i7.TransactionNotificationTracker); + ) as _i8.TransactionNotificationTracker); @override - set txTracker(_i7.TransactionNotificationTracker? _txTracker) => + set txTracker(_i8.TransactionNotificationTracker? _txTracker) => super.noSuchMethod( Invocation.setter( #txTracker, @@ -797,13 +890,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValue: false, ) as bool); @override - _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i9.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i22.Future<_i9.FeeObject>.value(_FakeFeeObject_6( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i8.FeeObject>); + ) as _i22.Future<_i9.FeeObject>); @override _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), @@ -876,29 +969,29 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i9.ElectrumX get electrumXClient => (super.noSuchMethod( + _i10.ElectrumX get electrumXClient => (super.noSuchMethod( Invocation.getter(#electrumXClient), - returnValue: _FakeElectrumX_6( + returnValue: _FakeElectrumX_7( this, Invocation.getter(#electrumXClient), ), - ) as _i9.ElectrumX); + ) as _i10.ElectrumX); @override - _i10.CachedElectrumX get cachedElectrumXClient => (super.noSuchMethod( + _i11.CachedElectrumX get cachedElectrumXClient => (super.noSuchMethod( Invocation.getter(#cachedElectrumXClient), - returnValue: _FakeCachedElectrumX_7( + returnValue: _FakeCachedElectrumX_8( this, Invocation.getter(#cachedElectrumXClient), ), - ) as _i10.CachedElectrumX); + ) as _i11.CachedElectrumX); @override - _i11.Balance get balance => (super.noSuchMethod( + _i12.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), - returnValue: _FakeBalance_8( + returnValue: _FakeBalance_9( this, Invocation.getter(#balance), ), - ) as _i11.Balance); + ) as _i12.Balance); @override _i22.Future get xpub => (super.noSuchMethod( Invocation.getter(#xpub), @@ -914,13 +1007,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i12.MainDB get db => (super.noSuchMethod( + _i7.MainDB get db => (super.noSuchMethod( Invocation.getter(#db), - returnValue: _FakeMainDB_9( + returnValue: _FakeMainDB_4( this, Invocation.getter(#db), ), - ) as _i12.MainDB); + ) as _i7.MainDB); @override _i13.NetworkType get networkType => (super.noSuchMethod( Invocation.getter(#networkType), @@ -939,15 +1032,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: _i22.Future.value(), ) as _i22.Future); @override - _i26.DerivePathType addressType({required String? address}) => + _i29.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i26.DerivePathType.bip44, - ) as _i26.DerivePathType); + returnValue: _i29.DerivePathType.bip44, + ) as _i29.DerivePathType); @override _i22.Future recoverFromMnemonic({ required String? mnemonic, @@ -1106,19 +1199,20 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: _i22.Future.value(), ) as _i22.Future); @override - _i22.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i22.Future<_i10.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), - returnValue: _i22.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( + returnValue: + _i22.Future<_i10.ElectrumXNode>.value(_FakeElectrumXNode_11( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i22.Future<_i9.ElectrumXNode>); + ) as _i22.Future<_i10.ElectrumXNode>); @override _i22.Future>> fastFetch( List? allTxHashes) => @@ -1200,7 +1294,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { }, )); @override - _i22.Future> fetchBuildTxData( + _i22.Future> fetchBuildTxData( List<_i17.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( @@ -1208,11 +1302,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { [utxosToUse], ), returnValue: - _i22.Future>.value(<_i27.SigningData>[]), - ) as _i22.Future>); + _i22.Future>.value(<_i30.SigningData>[]), + ) as _i22.Future>); @override _i22.Future> buildTransaction({ - required List<_i27.SigningData>? utxoSigningData, + required List<_i30.SigningData>? utxoSigningData, required List? recipients, required List? satoshiAmounts, }) => @@ -1379,21 +1473,21 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: _i22.Future.value(), ) as _i22.Future); @override - _i11.Balance getCachedBalance() => (super.noSuchMethod( + _i12.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( #getCachedBalance, [], ), - returnValue: _FakeBalance_8( + returnValue: _FakeBalance_9( this, Invocation.method( #getCachedBalance, [], ), ), - ) as _i11.Balance); + ) as _i12.Balance); @override - _i22.Future updateCachedBalance(_i11.Balance? balance) => + _i22.Future updateCachedBalance(_i12.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, @@ -1403,21 +1497,21 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: _i22.Future.value(), ) as _i22.Future); @override - _i11.Balance getCachedBalanceSecondary() => (super.noSuchMethod( + _i12.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( #getCachedBalanceSecondary, [], ), - returnValue: _FakeBalance_8( + returnValue: _FakeBalance_9( this, Invocation.method( #getCachedBalanceSecondary, [], ), ), - ) as _i11.Balance); + ) as _i12.Balance); @override - _i22.Future updateCachedBalanceSecondary(_i11.Balance? balance) => + _i22.Future updateCachedBalanceSecondary(_i12.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, @@ -1446,7 +1540,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { returnValueForMissingStub: _i22.Future.value(), ) as _i22.Future); @override - void initWalletDB({_i12.MainDB? mockableOverride}) => super.noSuchMethod( + void initWalletDB({_i7.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( #initWalletDB, [], @@ -1498,9 +1592,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { required String? walletName, required _i13.NetworkType? network, required _i21.Coin? coin, - required _i12.MainDB? db, - required _i9.ElectrumX? electrumXClient, - required _i28.SecureStorageInterface? secureStorage, + required _i7.MainDB? db, + required _i10.ElectrumX? electrumXClient, + required _i31.SecureStorageInterface? secureStorage, required int? dustLimit, required int? dustLimitP2PKH, required int? minConfirms, @@ -1520,7 +1614,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { })? prepareSend, required _i22.Future Function({required String address})? getTxCount, - required _i22.Future> Function(List<_i17.UTXO>)? + required _i22.Future> Function(List<_i17.UTXO>)? fetchBuildTxData, required _i22.Future Function()? refresh, required _i22.Future Function()? checkChangeAddressForTransactions, @@ -1570,7 +1664,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { )), ) as _i22.Future<_i16.BIP32>); @override - _i22.Future<_i29.Uint8List> getPrivateKeyForPaynymReceivingAddress({ + _i22.Future<_i27.Uint8List> getPrivateKeyForPaynymReceivingAddress({ required String? paymentCodeString, required int? index, }) => @@ -1583,8 +1677,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { #index: index, }, ), - returnValue: _i22.Future<_i29.Uint8List>.value(_i29.Uint8List(0)), - ) as _i22.Future<_i29.Uint8List>); + returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i22.Future<_i27.Uint8List>); @override _i22.Future<_i17.Address> currentReceivingPaynymAddress({ required _i18.PaymentCode? sender, @@ -1670,14 +1764,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { )), ) as _i22.Future<_i18.PaymentCode>); @override - _i22.Future<_i29.Uint8List> signWithNotificationKey(_i29.Uint8List? data) => + _i22.Future<_i27.Uint8List> signWithNotificationKey(_i27.Uint8List? data) => (super.noSuchMethod( Invocation.method( #signWithNotificationKey, [data], ), - returnValue: _i22.Future<_i29.Uint8List>.value(_i29.Uint8List(0)), - ) as _i22.Future<_i29.Uint8List>); + returnValue: _i22.Future<_i27.Uint8List>.value(_i27.Uint8List(0)), + ) as _i22.Future<_i27.Uint8List>); @override _i22.Future signStringWithNotificationKey(String? data) => (super.noSuchMethod( @@ -1910,9 +2004,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i25.BitcoinWallet { required String? walletId, required String? walletName, required _i21.Coin? coin, - required _i12.MainDB? db, + required _i7.MainDB? db, required _i22.Future Function()? getChainHeight, - required _i22.Future Function(_i11.Balance)? refreshedBalanceCallback, + required _i22.Future Function(_i12.Balance)? refreshedBalanceCallback, }) => super.noSuchMethod( Invocation.method( @@ -2009,13 +2103,13 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i9.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i22.Future<_i9.FeeObject>.value(_FakeFeeObject_6( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i8.FeeObject>); + ) as _i22.Future<_i9.FeeObject>); @override _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), @@ -2027,13 +2121,13 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: _i22.Future.value(''), ) as _i22.Future); @override - _i11.Balance get balance => (super.noSuchMethod( + _i12.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), - returnValue: _FakeBalance_8( + returnValue: _FakeBalance_9( this, Invocation.getter(#balance), ), - ) as _i11.Balance); + ) as _i12.Balance); @override _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), @@ -2377,13 +2471,13 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i22.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i22.Future<_i9.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i22.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i22.Future<_i9.FeeObject>.value(_FakeFeeObject_6( this, Invocation.getter(#fees), )), - ) as _i22.Future<_i8.FeeObject>); + ) as _i22.Future<_i9.FeeObject>); @override _i22.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), @@ -2395,13 +2489,13 @@ class MockCoinServiceAPI extends _i1.Mock implements _i19.CoinServiceAPI { returnValue: _i22.Future.value(''), ) as _i22.Future); @override - _i11.Balance get balance => (super.noSuchMethod( + _i12.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), - returnValue: _FakeBalance_8( + returnValue: _FakeBalance_9( this, Invocation.getter(#balance), ), - ) as _i11.Balance); + ) as _i12.Balance); @override _i22.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), diff --git a/test/widget_tests/table_view/table_view_test.dart b/test/widget_tests/table_view/table_view_test.dart index 2c33858d8..a52986985 100644 --- a/test/widget_tests/table_view/table_view_test.dart +++ b/test/widget_tests/table_view/table_view_test.dart @@ -1,18 +1,25 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/widgets/table_view/table_view.dart'; import 'package:stackwallet/widgets/table_view/table_view_cell.dart'; import 'package:stackwallet/widgets/table_view/table_view_row.dart'; +import '../../sample_data/theme_json.dart'; + void main() { testWidgets("Test create table row widget ", (widgetTester) async { await widgetTester.pumpWidget( MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: Material( diff --git a/test/widget_tests/textfield_icon_button_test.dart b/test/widget_tests/textfield_icon_button_test.dart index ee628064e..43be6ce11 100644 --- a/test/widget_tests/textfield_icon_button_test.dart +++ b/test/widget_tests/textfield_icon_button_test.dart @@ -1,17 +1,24 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/widgets/icon_widgets/x_icon.dart'; import 'package:stackwallet/widgets/textfield_icon_button.dart'; +import '../sample_data/theme_json.dart'; + void main() { testWidgets("test", (widgetTester) async { await widgetTester.pumpWidget( MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: const Material( diff --git a/test/widget_tests/trade_card_test.dart b/test/widget_tests/trade_card_test.dart index b21881781..6e5a81288 100644 --- a/test/widget_tests/trade_card_test.dart +++ b/test/widget_tests/trade_card_test.dart @@ -1,13 +1,29 @@ import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:mockito/annotations.dart'; +import 'package:mockito/mockito.dart'; import 'package:stackwallet/models/exchange/response_objects/trade.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_service.dart'; import 'package:stackwallet/widgets/trade_card.dart'; +import '../sample_data/theme_json.dart'; +import 'trade_card_test.mocks.dart'; + +@GenerateMocks([ + ThemeService, +]) void main() { testWidgets("Test Trade card builds", (widgetTester) async { + final mockThemeService = MockThemeService(); + when(mockThemeService.getTheme(themeId: "light")).thenAnswer( + (_) => StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ); final trade = Trade( uuid: "uuid", tradeId: "trade id", @@ -34,12 +50,17 @@ void main() { await widgetTester.pumpWidget( ProviderScope( - overrides: [], + overrides: [ + pThemeService.overrideWithValue(mockThemeService), + ], child: MaterialApp( theme: ThemeData( extensions: [ StackColors.fromStackColorTheme( - LightColors(), + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test/sample_data", + ), ), ], ), diff --git a/test/widget_tests/trade_card_test.mocks.dart b/test/widget_tests/trade_card_test.mocks.dart new file mode 100644 index 000000000..b4092378c --- /dev/null +++ b/test/widget_tests/trade_card_test.mocks.dart @@ -0,0 +1,122 @@ +// Mocks generated by Mockito 5.3.2 from annotations +// in stackwallet/test/widget_tests/trade_card_test.dart. +// Do not manually edit this file. + +// ignore_for_file: no_leading_underscores_for_library_prefixes +import 'dart:async' as _i5; +import 'dart:typed_data' as _i6; + +import 'package:mockito/mockito.dart' as _i1; +import 'package:stackwallet/db/isar/main_db.dart' as _i2; +import 'package:stackwallet/models/isar/stack_theme.dart' as _i4; +import 'package:stackwallet/themes/theme_service.dart' as _i3; + +// ignore_for_file: type=lint +// ignore_for_file: avoid_redundant_argument_values +// ignore_for_file: avoid_setters_without_getters +// ignore_for_file: comment_references +// ignore_for_file: implementation_imports +// ignore_for_file: invalid_use_of_visible_for_testing_member +// ignore_for_file: prefer_const_constructors +// ignore_for_file: unnecessary_parenthesis +// ignore_for_file: camel_case_types +// ignore_for_file: subtype_of_sealed_class + +class _FakeMainDB_0 extends _i1.SmartFake implements _i2.MainDB { + _FakeMainDB_0( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +/// A class which mocks [ThemeService]. +/// +/// See the documentation for Mockito's code generation for more information. +class MockThemeService extends _i1.Mock implements _i3.ThemeService { + MockThemeService() { + _i1.throwOnMissingStub(this); + } + + @override + _i2.MainDB get db => (super.noSuchMethod( + Invocation.getter(#db), + returnValue: _FakeMainDB_0( + this, + Invocation.getter(#db), + ), + ) as _i2.MainDB); + @override + List<_i4.StackTheme> get installedThemes => (super.noSuchMethod( + Invocation.getter(#installedThemes), + returnValue: <_i4.StackTheme>[], + ) as List<_i4.StackTheme>); + @override + void init(_i2.MainDB? db) => super.noSuchMethod( + Invocation.method( + #init, + [db], + ), + returnValueForMissingStub: null, + ); + @override + _i5.Future install({required _i6.Uint8List? themeArchiveData}) => + (super.noSuchMethod( + Invocation.method( + #install, + [], + {#themeArchiveData: themeArchiveData}, + ), + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); + @override + _i5.Future remove({required String? themeId}) => (super.noSuchMethod( + Invocation.method( + #remove, + [], + {#themeId: themeId}, + ), + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); + @override + _i5.Future verifyInstalled({required String? themeId}) => + (super.noSuchMethod( + Invocation.method( + #verifyInstalled, + [], + {#themeId: themeId}, + ), + returnValue: _i5.Future.value(false), + ) as _i5.Future); + @override + _i5.Future> fetchThemes() => (super.noSuchMethod( + Invocation.method( + #fetchThemes, + [], + ), + returnValue: _i5.Future>.value( + <_i3.StackThemeMetaData>[]), + ) as _i5.Future>); + @override + _i5.Future<_i6.Uint8List> fetchTheme( + {required _i3.StackThemeMetaData? themeMetaData}) => + (super.noSuchMethod( + Invocation.method( + #fetchTheme, + [], + {#themeMetaData: themeMetaData}, + ), + returnValue: _i5.Future<_i6.Uint8List>.value(_i6.Uint8List(0)), + ) as _i5.Future<_i6.Uint8List>); + @override + _i4.StackTheme? getTheme({required String? themeId}) => + (super.noSuchMethod(Invocation.method( + #getTheme, + [], + {#themeId: themeId}, + )) as _i4.StackTheme?); +} diff --git a/test/widget_tests/transaction_card_test.dart b/test/widget_tests/transaction_card_test.dart index 02fa7bdfc..fcad532fa 100644 --- a/test/widget_tests/transaction_card_test.dart +++ b/test/widget_tests/transaction_card_test.dart @@ -8,6 +8,7 @@ import 'package:mockito/annotations.dart'; import 'package:mockito/mockito.dart'; import 'package:stackwallet/models/isar/models/blockchain_data/address.dart'; import 'package:stackwallet/models/isar/models/blockchain_data/transaction.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; import 'package:stackwallet/pages/wallet_view/transaction_views/transaction_details_view.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/coins/coin_service.dart'; @@ -17,15 +18,16 @@ import 'package:stackwallet/services/locale_service.dart'; import 'package:stackwallet/services/notes_service.dart'; import 'package:stackwallet/services/price_service.dart'; import 'package:stackwallet/services/wallets.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_service.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; import 'package:stackwallet/utilities/prefs.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/transaction_card.dart'; import 'package:tuple/tuple.dart'; +import '../sample_data/theme_json.dart'; import 'transaction_card_test.mocks.dart'; @GenerateMocks([ @@ -36,7 +38,8 @@ import 'transaction_card_test.mocks.dart'; LocaleService, Prefs, PriceService, - NotesService + NotesService, + ThemeService, ], customMocks: []) void main() { TestWidgetsFlutterBinding.ensureInitialized(); @@ -46,6 +49,7 @@ void main() { final wallets = MockWallets(); final mockPrefs = MockPrefs(); final mockPriceService = MockPriceService(); + final mockThemeService = MockThemeService(); final tx = Transaction( txid: "some txid", @@ -78,6 +82,12 @@ void main() { final CoinServiceAPI wallet = MockFiroWallet(); + when(mockThemeService.getTheme(themeId: "light")).thenAnswer( + (_) => StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ); when(wallet.coin.ticker).thenAnswer((_) => "FIRO"); when(mockLocaleService.locale).thenAnswer((_) => "en_US"); when(mockPrefs.currency).thenAnswer((_) => "USD"); @@ -98,6 +108,7 @@ void main() { walletsChangeNotifierProvider.overrideWithValue(wallets), localeServiceChangeNotifierProvider .overrideWithValue(mockLocaleService), + pThemeService.overrideWithValue(mockThemeService), prefsChangeNotifierProvider.overrideWithValue(mockPrefs), priceAnd24hChangeNotifierProvider.overrideWithValue(mockPriceService) ], @@ -105,7 +116,10 @@ void main() { theme: ThemeData( extensions: [ StackColors.fromStackColorTheme( - LightColors(), + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), ), ], ), @@ -152,6 +166,7 @@ void main() { final wallets = MockWallets(); final mockPrefs = MockPrefs(); final mockPriceService = MockPriceService(); + final mockThemeService = MockThemeService(); final tx = Transaction( txid: "some txid", @@ -184,6 +199,12 @@ void main() { final CoinServiceAPI wallet = MockFiroWallet(); + when(mockThemeService.getTheme(themeId: "light")).thenAnswer( + (_) => StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ); when(wallet.coin.ticker).thenAnswer((_) => "FIRO"); when(mockLocaleService.locale).thenAnswer((_) => "en_US"); when(mockPrefs.currency).thenAnswer((_) => "USD"); @@ -204,13 +225,17 @@ void main() { localeServiceChangeNotifierProvider .overrideWithValue(mockLocaleService), prefsChangeNotifierProvider.overrideWithValue(mockPrefs), + pThemeService.overrideWithValue(mockThemeService), priceAnd24hChangeNotifierProvider.overrideWithValue(mockPriceService) ], child: MaterialApp( theme: ThemeData( extensions: [ StackColors.fromStackColorTheme( - LightColors(), + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), ), ], ), @@ -255,6 +280,7 @@ void main() { final wallets = MockWallets(); final mockPrefs = MockPrefs(); final mockPriceService = MockPriceService(); + final mockThemeService = MockThemeService(); final tx = Transaction( txid: "some txid", @@ -287,6 +313,12 @@ void main() { final CoinServiceAPI wallet = MockFiroWallet(); + when(mockThemeService.getTheme(themeId: "light")).thenAnswer( + (_) => StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ); when(wallet.coin.ticker).thenAnswer((_) => "FIRO"); when(mockLocaleService.locale).thenAnswer((_) => "en_US"); when(mockPrefs.currency).thenAnswer((_) => "USD"); @@ -308,13 +340,17 @@ void main() { localeServiceChangeNotifierProvider .overrideWithValue(mockLocaleService), prefsChangeNotifierProvider.overrideWithValue(mockPrefs), + pThemeService.overrideWithValue(mockThemeService), priceAnd24hChangeNotifierProvider.overrideWithValue(mockPriceService) ], child: MaterialApp( theme: ThemeData( extensions: [ StackColors.fromStackColorTheme( - LightColors(), + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), ), ], ), @@ -351,6 +387,7 @@ void main() { final wallets = MockWallets(); final mockPrefs = MockPrefs(); final mockPriceService = MockPriceService(); + final mockThemeService = MockThemeService(); final navigator = mockingjay.MockNavigator(); final tx = Transaction( @@ -384,6 +421,12 @@ void main() { final CoinServiceAPI wallet = MockFiroWallet(); + when(mockThemeService.getTheme(themeId: "light")).thenAnswer( + (_) => StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ); when(wallet.coin.ticker).thenAnswer((_) => "FIRO"); when(mockLocaleService.locale).thenAnswer((_) => "en_US"); when(mockPrefs.currency).thenAnswer((_) => "USD"); @@ -410,12 +453,18 @@ void main() { localeServiceChangeNotifierProvider .overrideWithValue(mockLocaleService), prefsChangeNotifierProvider.overrideWithValue(mockPrefs), + pThemeService.overrideWithValue(mockThemeService), priceAnd24hChangeNotifierProvider.overrideWithValue(mockPriceService) ], child: MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: mockingjay.MockNavigatorProvider( diff --git a/test/widget_tests/transaction_card_test.mocks.dart b/test/widget_tests/transaction_card_test.mocks.dart index 0cea6059d..e35ea6a6d 100644 --- a/test/widget_tests/transaction_card_test.mocks.dart +++ b/test/widget_tests/transaction_card_test.mocks.dart @@ -4,9 +4,10 @@ // ignore_for_file: no_leading_underscores_for_library_prefixes import 'dart:async' as _i18; +import 'dart:typed_data' as _i32; import 'dart:ui' as _i20; -import 'package:decimal/decimal.dart' as _i29; +import 'package:decimal/decimal.dart' as _i28; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; import 'package:mockito/mockito.dart' as _i1; @@ -15,6 +16,7 @@ import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i13; import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i12; import 'package:stackwallet/models/balance.dart' as _i9; import 'package:stackwallet/models/isar/models/isar_models.dart' as _i21; +import 'package:stackwallet/models/isar/stack_theme.dart' as _i31; import 'package:stackwallet/models/models.dart' as _i8; import 'package:stackwallet/models/signing_data.dart' as _i23; import 'package:stackwallet/services/coins/coin_service.dart' as _i7; @@ -22,18 +24,18 @@ import 'package:stackwallet/services/coins/firo/firo_wallet.dart' as _i22; import 'package:stackwallet/services/coins/manager.dart' as _i6; import 'package:stackwallet/services/locale_service.dart' as _i24; import 'package:stackwallet/services/node_service.dart' as _i3; -import 'package:stackwallet/services/notes_service.dart' as _i30; -import 'package:stackwallet/services/price_service.dart' as _i28; +import 'package:stackwallet/services/notes_service.dart' as _i29; +import 'package:stackwallet/services/price_service.dart' as _i27; import 'package:stackwallet/services/transaction_notification_tracker.dart' as _i11; import 'package:stackwallet/services/wallets.dart' as _i16; import 'package:stackwallet/services/wallets_service.dart' as _i2; +import 'package:stackwallet/themes/theme_service.dart' as _i30; import 'package:stackwallet/utilities/amount/amount.dart' as _i10; import 'package:stackwallet/utilities/enums/backup_frequency_type.dart' as _i26; import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i17; import 'package:stackwallet/utilities/enums/sync_type_enum.dart' as _i25; import 'package:stackwallet/utilities/prefs.dart' as _i19; -import 'package:stackwallet/utilities/theme/color_theme.dart' as _i27; import 'package:tuple/tuple.dart' as _i15; // ignore_for_file: type=lint @@ -2465,43 +2467,43 @@ class MockPrefs extends _i1.Mock implements _i19.Prefs { returnValueForMissingStub: null, ); @override - _i27.ThemeType get theme => (super.noSuchMethod( - Invocation.getter(#theme), - returnValue: _i27.ThemeType.light, - ) as _i27.ThemeType); + String get themeId => (super.noSuchMethod( + Invocation.getter(#themeId), + returnValue: '', + ) as String); @override - set theme(_i27.ThemeType? theme) => super.noSuchMethod( + set themeId(String? themeId) => super.noSuchMethod( Invocation.setter( - #theme, - theme, + #themeId, + themeId, ), returnValueForMissingStub: null, ); @override - _i27.ThemeType get systemBrightnessLightTheme => (super.noSuchMethod( - Invocation.getter(#systemBrightnessLightTheme), - returnValue: _i27.ThemeType.light, - ) as _i27.ThemeType); + String get systemBrightnessLightThemeId => (super.noSuchMethod( + Invocation.getter(#systemBrightnessLightThemeId), + returnValue: '', + ) as String); @override - set systemBrightnessLightTheme(_i27.ThemeType? systemBrightnessLightTheme) => + set systemBrightnessLightThemeId(String? systemBrightnessLightThemeId) => super.noSuchMethod( Invocation.setter( - #systemBrightnessLightTheme, - systemBrightnessLightTheme, + #systemBrightnessLightThemeId, + systemBrightnessLightThemeId, ), returnValueForMissingStub: null, ); @override - _i27.ThemeType get systemBrightnessDarkTheme => (super.noSuchMethod( - Invocation.getter(#systemBrightnessDarkTheme), - returnValue: _i27.ThemeType.light, - ) as _i27.ThemeType); + String get systemBrightnessDarkThemeId => (super.noSuchMethod( + Invocation.getter(#systemBrightnessDarkThemeId), + returnValue: '', + ) as String); @override - set systemBrightnessDarkTheme(_i27.ThemeType? systemBrightnessDarkTheme) => + set systemBrightnessDarkThemeId(String? systemBrightnessDarkThemeId) => super.noSuchMethod( Invocation.setter( - #systemBrightnessDarkTheme, - systemBrightnessDarkTheme, + #systemBrightnessDarkThemeId, + systemBrightnessDarkThemeId, ), returnValueForMissingStub: null, ); @@ -2591,7 +2593,7 @@ class MockPrefs extends _i1.Mock implements _i19.Prefs { /// A class which mocks [PriceService]. /// /// See the documentation for Mockito's code generation for more information. -class MockPriceService extends _i1.Mock implements _i28.PriceService { +class MockPriceService extends _i1.Mock implements _i27.PriceService { MockPriceService() { _i1.throwOnMissingStub(this); } @@ -2628,35 +2630,35 @@ class MockPriceService extends _i1.Mock implements _i28.PriceService { returnValue: false, ) as bool); @override - _i15.Tuple2<_i29.Decimal, double> getPrice(_i17.Coin? coin) => + _i15.Tuple2<_i28.Decimal, double> getPrice(_i17.Coin? coin) => (super.noSuchMethod( Invocation.method( #getPrice, [coin], ), - returnValue: _FakeTuple2_13<_i29.Decimal, double>( + returnValue: _FakeTuple2_13<_i28.Decimal, double>( this, Invocation.method( #getPrice, [coin], ), ), - ) as _i15.Tuple2<_i29.Decimal, double>); + ) as _i15.Tuple2<_i28.Decimal, double>); @override - _i15.Tuple2<_i29.Decimal, double> getTokenPrice(String? contractAddress) => + _i15.Tuple2<_i28.Decimal, double> getTokenPrice(String? contractAddress) => (super.noSuchMethod( Invocation.method( #getTokenPrice, [contractAddress], ), - returnValue: _FakeTuple2_13<_i29.Decimal, double>( + returnValue: _FakeTuple2_13<_i28.Decimal, double>( this, Invocation.method( #getTokenPrice, [contractAddress], ), ), - ) as _i15.Tuple2<_i29.Decimal, double>); + ) as _i15.Tuple2<_i28.Decimal, double>); @override _i18.Future updatePrice() => (super.noSuchMethod( Invocation.method( @@ -2719,7 +2721,7 @@ class MockPriceService extends _i1.Mock implements _i28.PriceService { /// A class which mocks [NotesService]. /// /// See the documentation for Mockito's code generation for more information. -class MockNotesService extends _i1.Mock implements _i30.NotesService { +class MockNotesService extends _i1.Mock implements _i29.NotesService { MockNotesService() { _i1.throwOnMissingStub(this); } @@ -2822,3 +2824,93 @@ class MockNotesService extends _i1.Mock implements _i30.NotesService { returnValueForMissingStub: null, ); } + +/// A class which mocks [ThemeService]. +/// +/// See the documentation for Mockito's code generation for more information. +class MockThemeService extends _i1.Mock implements _i30.ThemeService { + MockThemeService() { + _i1.throwOnMissingStub(this); + } + + @override + _i14.MainDB get db => (super.noSuchMethod( + Invocation.getter(#db), + returnValue: _FakeMainDB_11( + this, + Invocation.getter(#db), + ), + ) as _i14.MainDB); + @override + List<_i31.StackTheme> get installedThemes => (super.noSuchMethod( + Invocation.getter(#installedThemes), + returnValue: <_i31.StackTheme>[], + ) as List<_i31.StackTheme>); + @override + void init(_i14.MainDB? db) => super.noSuchMethod( + Invocation.method( + #init, + [db], + ), + returnValueForMissingStub: null, + ); + @override + _i18.Future install({required _i32.Uint8List? themeArchiveData}) => + (super.noSuchMethod( + Invocation.method( + #install, + [], + {#themeArchiveData: themeArchiveData}, + ), + returnValue: _i18.Future.value(), + returnValueForMissingStub: _i18.Future.value(), + ) as _i18.Future); + @override + _i18.Future remove({required String? themeId}) => (super.noSuchMethod( + Invocation.method( + #remove, + [], + {#themeId: themeId}, + ), + returnValue: _i18.Future.value(), + returnValueForMissingStub: _i18.Future.value(), + ) as _i18.Future); + @override + _i18.Future verifyInstalled({required String? themeId}) => + (super.noSuchMethod( + Invocation.method( + #verifyInstalled, + [], + {#themeId: themeId}, + ), + returnValue: _i18.Future.value(false), + ) as _i18.Future); + @override + _i18.Future> fetchThemes() => + (super.noSuchMethod( + Invocation.method( + #fetchThemes, + [], + ), + returnValue: _i18.Future>.value( + <_i30.StackThemeMetaData>[]), + ) as _i18.Future>); + @override + _i18.Future<_i32.Uint8List> fetchTheme( + {required _i30.StackThemeMetaData? themeMetaData}) => + (super.noSuchMethod( + Invocation.method( + #fetchTheme, + [], + {#themeMetaData: themeMetaData}, + ), + returnValue: _i18.Future<_i32.Uint8List>.value(_i32.Uint8List(0)), + ) as _i18.Future<_i32.Uint8List>); + @override + _i31.StackTheme? getTheme({required String? themeId}) => + (super.noSuchMethod(Invocation.method( + #getTheme, + [], + {#themeId: themeId}, + )) as _i31.StackTheme?); +} diff --git a/test/widget_tests/wallet_card_test.dart b/test/widget_tests/wallet_card_test.dart index 8a5647ae2..8598b382e 100644 --- a/test/widget_tests/wallet_card_test.dart +++ b/test/widget_tests/wallet_card_test.dart @@ -5,18 +5,20 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/annotations.dart'; import 'package:mockito/mockito.dart' as mockito; import 'package:stackwallet/models/balance.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart'; import 'package:stackwallet/services/coins/coin_service.dart'; import 'package:stackwallet/services/coins/manager.dart'; import 'package:stackwallet/services/locale_service.dart'; import 'package:stackwallet/services/wallets.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_service.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/wallet_card.dart'; +import '../sample_data/theme_json.dart'; import 'wallet_card_test.mocks.dart'; /// quick amount constructor wrapper. Using an int is bad practice but for @@ -26,10 +28,23 @@ Amount _a(int i) => Amount.fromDecimal( fractionDigits: 8, ); -@GenerateMocks([Wallets, BitcoinWallet, LocaleService]) +@GenerateMocks([ + Wallets, + BitcoinWallet, + LocaleService, + ThemeService, +]) void main() { testWidgets('test widget loads correctly', (widgetTester) async { final CoinServiceAPI wallet = MockBitcoinWallet(); + final mockThemeService = MockThemeService(); + + mockito.when(mockThemeService.getTheme(themeId: "light")).thenAnswer( + (_) => StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ); mockito.when(wallet.walletId).thenAnswer((realInvocation) => "wallet id"); mockito.when(wallet.coin).thenAnswer((realInvocation) => Coin.bitcoin); mockito @@ -58,11 +73,17 @@ void main() { ProviderScope( overrides: [ walletsChangeNotifierProvider.overrideWithValue(wallets), + pThemeService.overrideWithValue(mockThemeService), ], child: MaterialApp( theme: ThemeData( extensions: [ - StackColors.fromStackColorTheme(LightColors()), + StackColors.fromStackColorTheme( + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ), ], ), home: const Material( diff --git a/test/widget_tests/wallet_card_test.mocks.dart b/test/widget_tests/wallet_card_test.mocks.dart index 908eef0dc..af1d78fdd 100644 --- a/test/widget_tests/wallet_card_test.mocks.dart +++ b/test/widget_tests/wallet_card_test.mocks.dart @@ -18,6 +18,7 @@ import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i10; import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i9; import 'package:stackwallet/models/balance.dart' as _i11; import 'package:stackwallet/models/isar/models/isar_models.dart' as _i17; +import 'package:stackwallet/models/isar/stack_theme.dart' as _i31; import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i8; import 'package:stackwallet/models/signing_data.dart' as _i26; import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i24; @@ -28,6 +29,7 @@ import 'package:stackwallet/services/transaction_notification_tracker.dart' as _i7; import 'package:stackwallet/services/wallets.dart' as _i19; import 'package:stackwallet/services/wallets_service.dart' as _i2; +import 'package:stackwallet/themes/theme_service.dart' as _i30; import 'package:stackwallet/utilities/amount/amount.dart' as _i14; import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i20; import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i25; @@ -1758,3 +1760,93 @@ class MockLocaleService extends _i1.Mock implements _i29.LocaleService { returnValueForMissingStub: null, ); } + +/// A class which mocks [ThemeService]. +/// +/// See the documentation for Mockito's code generation for more information. +class MockThemeService extends _i1.Mock implements _i30.ThemeService { + MockThemeService() { + _i1.throwOnMissingStub(this); + } + + @override + _i12.MainDB get db => (super.noSuchMethod( + Invocation.getter(#db), + returnValue: _FakeMainDB_9( + this, + Invocation.getter(#db), + ), + ) as _i12.MainDB); + @override + List<_i31.StackTheme> get installedThemes => (super.noSuchMethod( + Invocation.getter(#installedThemes), + returnValue: <_i31.StackTheme>[], + ) as List<_i31.StackTheme>); + @override + void init(_i12.MainDB? db) => super.noSuchMethod( + Invocation.method( + #init, + [db], + ), + returnValueForMissingStub: null, + ); + @override + _i21.Future install({required _i28.Uint8List? themeArchiveData}) => + (super.noSuchMethod( + Invocation.method( + #install, + [], + {#themeArchiveData: themeArchiveData}, + ), + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future remove({required String? themeId}) => (super.noSuchMethod( + Invocation.method( + #remove, + [], + {#themeId: themeId}, + ), + returnValue: _i21.Future.value(), + returnValueForMissingStub: _i21.Future.value(), + ) as _i21.Future); + @override + _i21.Future verifyInstalled({required String? themeId}) => + (super.noSuchMethod( + Invocation.method( + #verifyInstalled, + [], + {#themeId: themeId}, + ), + returnValue: _i21.Future.value(false), + ) as _i21.Future); + @override + _i21.Future> fetchThemes() => + (super.noSuchMethod( + Invocation.method( + #fetchThemes, + [], + ), + returnValue: _i21.Future>.value( + <_i30.StackThemeMetaData>[]), + ) as _i21.Future>); + @override + _i21.Future<_i28.Uint8List> fetchTheme( + {required _i30.StackThemeMetaData? themeMetaData}) => + (super.noSuchMethod( + Invocation.method( + #fetchTheme, + [], + {#themeMetaData: themeMetaData}, + ), + returnValue: _i21.Future<_i28.Uint8List>.value(_i28.Uint8List(0)), + ) as _i21.Future<_i28.Uint8List>); + @override + _i31.StackTheme? getTheme({required String? themeId}) => + (super.noSuchMethod(Invocation.method( + #getTheme, + [], + {#themeId: themeId}, + )) as _i31.StackTheme?); +} diff --git a/test/widget_tests/wallet_info_row/sub_widgets/wallet_info_row_balance_future_test.dart b/test/widget_tests/wallet_info_row/sub_widgets/wallet_info_row_balance_future_test.dart index 6f5c628b6..1368e8277 100644 --- a/test/widget_tests/wallet_info_row/sub_widgets/wallet_info_row_balance_future_test.dart +++ b/test/widget_tests/wallet_info_row/sub_widgets/wallet_info_row_balance_future_test.dart @@ -4,6 +4,7 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/annotations.dart'; import 'package:mockito/mockito.dart'; import 'package:stackwallet/models/balance.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart'; import 'package:stackwallet/services/coins/coin_service.dart'; @@ -11,12 +12,12 @@ import 'package:stackwallet/services/coins/manager.dart'; import 'package:stackwallet/services/node_service.dart'; import 'package:stackwallet/services/wallets.dart'; import 'package:stackwallet/services/wallets_service.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/wallet_info_row/sub_widgets/wallet_info_row_balance.dart'; +import '../../../sample_data/theme_json.dart'; import 'wallet_info_row_balance_future_test.mocks.dart'; @GenerateMocks([ @@ -61,7 +62,10 @@ void main() { theme: ThemeData( extensions: [ StackColors.fromStackColorTheme( - LightColors(), + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), ), ], ), diff --git a/test/widget_tests/wallet_info_row/wallet_info_row_test.dart b/test/widget_tests/wallet_info_row/wallet_info_row_test.dart index c6f53db75..ba669e8c0 100644 --- a/test/widget_tests/wallet_info_row/wallet_info_row_test.dart +++ b/test/widget_tests/wallet_info_row/wallet_info_row_test.dart @@ -4,6 +4,7 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/annotations.dart'; import 'package:mockito/mockito.dart'; import 'package:stackwallet/models/balance.dart'; +import 'package:stackwallet/models/isar/stack_theme.dart'; import 'package:stackwallet/providers/providers.dart'; import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart'; import 'package:stackwallet/services/coins/coin_service.dart'; @@ -11,18 +12,20 @@ import 'package:stackwallet/services/coins/manager.dart'; import 'package:stackwallet/services/node_service.dart'; import 'package:stackwallet/services/wallets.dart'; import 'package:stackwallet/services/wallets_service.dart'; +import 'package:stackwallet/themes/stack_colors.dart'; +import 'package:stackwallet/themes/theme_service.dart'; import 'package:stackwallet/utilities/amount/amount.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; -import 'package:stackwallet/utilities/theme/light_colors.dart'; -import 'package:stackwallet/utilities/theme/stack_colors.dart'; import 'package:stackwallet/widgets/wallet_info_row/sub_widgets/wallet_info_row_balance.dart'; import 'package:stackwallet/widgets/wallet_info_row/wallet_info_row.dart'; +import '../../sample_data/theme_json.dart'; import 'wallet_info_row_test.mocks.dart'; @GenerateMocks([ Wallets, WalletsService, + ThemeService, BitcoinWallet ], customMocks: [ MockSpec(returnNullOnMissingStub: true), @@ -33,7 +36,14 @@ import 'wallet_info_row_test.mocks.dart'; void main() { testWidgets("Test wallet info row displays correctly", (widgetTester) async { final wallets = MockWallets(); + final mockThemeService = MockThemeService(); final CoinServiceAPI wallet = MockBitcoinWallet(); + when(mockThemeService.getTheme(themeId: "light")).thenAnswer( + (_) => StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), + ); when(wallet.coin).thenAnswer((_) => Coin.bitcoin); when(wallet.walletName).thenAnswer((_) => "some wallet"); when(wallet.walletId).thenAnswer((_) => "some-wallet-id"); @@ -55,12 +65,16 @@ void main() { ProviderScope( overrides: [ walletsChangeNotifierProvider.overrideWithValue(wallets), + pThemeService.overrideWithValue(mockThemeService), ], child: MaterialApp( theme: ThemeData( extensions: [ StackColors.fromStackColorTheme( - LightColors(), + StackTheme.fromJson( + json: lightThemeJsonMap, + applicationThemesDirectoryPath: "test", + ), ), ], ), diff --git a/test/widget_tests/wallet_info_row/wallet_info_row_test.mocks.dart b/test/widget_tests/wallet_info_row/wallet_info_row_test.mocks.dart index 40f033633..8c8fdc9df 100644 --- a/test/widget_tests/wallet_info_row/wallet_info_row_test.mocks.dart +++ b/test/widget_tests/wallet_info_row/wallet_info_row_test.mocks.dart @@ -4,7 +4,7 @@ // ignore_for_file: no_leading_underscores_for_library_prefixes import 'dart:async' as _i23; -import 'dart:typed_data' as _i29; +import 'dart:typed_data' as _i28; import 'dart:ui' as _i25; import 'package:bip32/bip32.dart' as _i16; @@ -13,25 +13,27 @@ import 'package:bitcoindart/bitcoindart.dart' as _i13; import 'package:flutter/foundation.dart' as _i4; import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5; import 'package:mockito/mockito.dart' as _i1; -import 'package:stackwallet/db/isar/main_db.dart' as _i12; -import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i10; -import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i9; -import 'package:stackwallet/models/balance.dart' as _i11; +import 'package:stackwallet/db/isar/main_db.dart' as _i7; +import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i11; +import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i10; +import 'package:stackwallet/models/balance.dart' as _i12; import 'package:stackwallet/models/isar/models/isar_models.dart' as _i17; -import 'package:stackwallet/models/node_model.dart' as _i30; -import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i8; -import 'package:stackwallet/models/signing_data.dart' as _i28; -import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i26; +import 'package:stackwallet/models/isar/stack_theme.dart' as _i27; +import 'package:stackwallet/models/node_model.dart' as _i32; +import 'package:stackwallet/models/paymint/fee_object_model.dart' as _i9; +import 'package:stackwallet/models/signing_data.dart' as _i31; +import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i29; import 'package:stackwallet/services/coins/coin_service.dart' as _i20; import 'package:stackwallet/services/coins/manager.dart' as _i6; import 'package:stackwallet/services/node_service.dart' as _i3; import 'package:stackwallet/services/transaction_notification_tracker.dart' - as _i7; + as _i8; import 'package:stackwallet/services/wallets.dart' as _i21; import 'package:stackwallet/services/wallets_service.dart' as _i2; +import 'package:stackwallet/themes/theme_service.dart' as _i26; import 'package:stackwallet/utilities/amount/amount.dart' as _i14; import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i22; -import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i27; +import 'package:stackwallet/utilities/enums/derive_path_type_enum.dart' as _i30; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart' as _i19; import 'package:stackwallet/utilities/prefs.dart' as _i24; @@ -90,9 +92,8 @@ class _FakeManager_3 extends _i1.SmartFake implements _i6.Manager { ); } -class _FakeTransactionNotificationTracker_4 extends _i1.SmartFake - implements _i7.TransactionNotificationTracker { - _FakeTransactionNotificationTracker_4( +class _FakeMainDB_4 extends _i1.SmartFake implements _i7.MainDB { + _FakeMainDB_4( Object parent, Invocation parentInvocation, ) : super( @@ -101,8 +102,9 @@ class _FakeTransactionNotificationTracker_4 extends _i1.SmartFake ); } -class _FakeFeeObject_5 extends _i1.SmartFake implements _i8.FeeObject { - _FakeFeeObject_5( +class _FakeTransactionNotificationTracker_5 extends _i1.SmartFake + implements _i8.TransactionNotificationTracker { + _FakeTransactionNotificationTracker_5( Object parent, Invocation parentInvocation, ) : super( @@ -111,8 +113,8 @@ class _FakeFeeObject_5 extends _i1.SmartFake implements _i8.FeeObject { ); } -class _FakeElectrumX_6 extends _i1.SmartFake implements _i9.ElectrumX { - _FakeElectrumX_6( +class _FakeFeeObject_6 extends _i1.SmartFake implements _i9.FeeObject { + _FakeFeeObject_6( Object parent, Invocation parentInvocation, ) : super( @@ -121,9 +123,8 @@ class _FakeElectrumX_6 extends _i1.SmartFake implements _i9.ElectrumX { ); } -class _FakeCachedElectrumX_7 extends _i1.SmartFake - implements _i10.CachedElectrumX { - _FakeCachedElectrumX_7( +class _FakeElectrumX_7 extends _i1.SmartFake implements _i10.ElectrumX { + _FakeElectrumX_7( Object parent, Invocation parentInvocation, ) : super( @@ -132,8 +133,9 @@ class _FakeCachedElectrumX_7 extends _i1.SmartFake ); } -class _FakeBalance_8 extends _i1.SmartFake implements _i11.Balance { - _FakeBalance_8( +class _FakeCachedElectrumX_8 extends _i1.SmartFake + implements _i11.CachedElectrumX { + _FakeCachedElectrumX_8( Object parent, Invocation parentInvocation, ) : super( @@ -142,8 +144,8 @@ class _FakeBalance_8 extends _i1.SmartFake implements _i11.Balance { ); } -class _FakeMainDB_9 extends _i1.SmartFake implements _i12.MainDB { - _FakeMainDB_9( +class _FakeBalance_9 extends _i1.SmartFake implements _i12.Balance { + _FakeBalance_9( Object parent, Invocation parentInvocation, ) : super( @@ -162,7 +164,8 @@ class _FakeNetworkType_10 extends _i1.SmartFake implements _i13.NetworkType { ); } -class _FakeElectrumXNode_11 extends _i1.SmartFake implements _i9.ElectrumXNode { +class _FakeElectrumXNode_11 extends _i1.SmartFake + implements _i10.ElectrumXNode { _FakeElectrumXNode_11( Object parent, Invocation parentInvocation, @@ -687,10 +690,100 @@ class MockWalletsService extends _i1.Mock implements _i2.WalletsService { ); } +/// A class which mocks [ThemeService]. +/// +/// See the documentation for Mockito's code generation for more information. +class MockThemeService extends _i1.Mock implements _i26.ThemeService { + MockThemeService() { + _i1.throwOnMissingStub(this); + } + + @override + _i7.MainDB get db => (super.noSuchMethod( + Invocation.getter(#db), + returnValue: _FakeMainDB_4( + this, + Invocation.getter(#db), + ), + ) as _i7.MainDB); + @override + List<_i27.StackTheme> get installedThemes => (super.noSuchMethod( + Invocation.getter(#installedThemes), + returnValue: <_i27.StackTheme>[], + ) as List<_i27.StackTheme>); + @override + void init(_i7.MainDB? db) => super.noSuchMethod( + Invocation.method( + #init, + [db], + ), + returnValueForMissingStub: null, + ); + @override + _i23.Future install({required _i28.Uint8List? themeArchiveData}) => + (super.noSuchMethod( + Invocation.method( + #install, + [], + {#themeArchiveData: themeArchiveData}, + ), + returnValue: _i23.Future.value(), + returnValueForMissingStub: _i23.Future.value(), + ) as _i23.Future); + @override + _i23.Future remove({required String? themeId}) => (super.noSuchMethod( + Invocation.method( + #remove, + [], + {#themeId: themeId}, + ), + returnValue: _i23.Future.value(), + returnValueForMissingStub: _i23.Future.value(), + ) as _i23.Future); + @override + _i23.Future verifyInstalled({required String? themeId}) => + (super.noSuchMethod( + Invocation.method( + #verifyInstalled, + [], + {#themeId: themeId}, + ), + returnValue: _i23.Future.value(false), + ) as _i23.Future); + @override + _i23.Future> fetchThemes() => + (super.noSuchMethod( + Invocation.method( + #fetchThemes, + [], + ), + returnValue: _i23.Future>.value( + <_i26.StackThemeMetaData>[]), + ) as _i23.Future>); + @override + _i23.Future<_i28.Uint8List> fetchTheme( + {required _i26.StackThemeMetaData? themeMetaData}) => + (super.noSuchMethod( + Invocation.method( + #fetchTheme, + [], + {#themeMetaData: themeMetaData}, + ), + returnValue: _i23.Future<_i28.Uint8List>.value(_i28.Uint8List(0)), + ) as _i23.Future<_i28.Uint8List>); + @override + _i27.StackTheme? getTheme({required String? themeId}) => + (super.noSuchMethod(Invocation.method( + #getTheme, + [], + {#themeId: themeId}, + )) as _i27.StackTheme?); +} + /// A class which mocks [BitcoinWallet]. /// /// See the documentation for Mockito's code generation for more information. -class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { +class MockBitcoinWallet extends _i1.Mock implements _i29.BitcoinWallet { MockBitcoinWallet() { _i1.throwOnMissingStub(this); } @@ -704,15 +797,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i7.TransactionNotificationTracker get txTracker => (super.noSuchMethod( + _i8.TransactionNotificationTracker get txTracker => (super.noSuchMethod( Invocation.getter(#txTracker), - returnValue: _FakeTransactionNotificationTracker_4( + returnValue: _FakeTransactionNotificationTracker_5( this, Invocation.getter(#txTracker), ), - ) as _i7.TransactionNotificationTracker); + ) as _i8.TransactionNotificationTracker); @override - set txTracker(_i7.TransactionNotificationTracker? _txTracker) => + set txTracker(_i8.TransactionNotificationTracker? _txTracker) => super.noSuchMethod( Invocation.setter( #txTracker, @@ -809,13 +902,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { returnValue: false, ) as bool); @override - _i23.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i23.Future<_i9.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i23.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i23.Future<_i9.FeeObject>.value(_FakeFeeObject_6( this, Invocation.getter(#fees), )), - ) as _i23.Future<_i8.FeeObject>); + ) as _i23.Future<_i9.FeeObject>); @override _i23.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), @@ -888,29 +981,29 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i9.ElectrumX get electrumXClient => (super.noSuchMethod( + _i10.ElectrumX get electrumXClient => (super.noSuchMethod( Invocation.getter(#electrumXClient), - returnValue: _FakeElectrumX_6( + returnValue: _FakeElectrumX_7( this, Invocation.getter(#electrumXClient), ), - ) as _i9.ElectrumX); + ) as _i10.ElectrumX); @override - _i10.CachedElectrumX get cachedElectrumXClient => (super.noSuchMethod( + _i11.CachedElectrumX get cachedElectrumXClient => (super.noSuchMethod( Invocation.getter(#cachedElectrumXClient), - returnValue: _FakeCachedElectrumX_7( + returnValue: _FakeCachedElectrumX_8( this, Invocation.getter(#cachedElectrumXClient), ), - ) as _i10.CachedElectrumX); + ) as _i11.CachedElectrumX); @override - _i11.Balance get balance => (super.noSuchMethod( + _i12.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), - returnValue: _FakeBalance_8( + returnValue: _FakeBalance_9( this, Invocation.getter(#balance), ), - ) as _i11.Balance); + ) as _i12.Balance); @override _i23.Future get xpub => (super.noSuchMethod( Invocation.getter(#xpub), @@ -926,13 +1019,13 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { returnValueForMissingStub: null, ); @override - _i12.MainDB get db => (super.noSuchMethod( + _i7.MainDB get db => (super.noSuchMethod( Invocation.getter(#db), - returnValue: _FakeMainDB_9( + returnValue: _FakeMainDB_4( this, Invocation.getter(#db), ), - ) as _i12.MainDB); + ) as _i7.MainDB); @override _i13.NetworkType get networkType => (super.noSuchMethod( Invocation.getter(#networkType), @@ -951,15 +1044,15 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { returnValueForMissingStub: _i23.Future.value(), ) as _i23.Future); @override - _i27.DerivePathType addressType({required String? address}) => + _i30.DerivePathType addressType({required String? address}) => (super.noSuchMethod( Invocation.method( #addressType, [], {#address: address}, ), - returnValue: _i27.DerivePathType.bip44, - ) as _i27.DerivePathType); + returnValue: _i30.DerivePathType.bip44, + ) as _i30.DerivePathType); @override _i23.Future recoverFromMnemonic({ required String? mnemonic, @@ -1118,19 +1211,20 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { returnValueForMissingStub: _i23.Future.value(), ) as _i23.Future); @override - _i23.Future<_i9.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( + _i23.Future<_i10.ElectrumXNode> getCurrentNode() => (super.noSuchMethod( Invocation.method( #getCurrentNode, [], ), - returnValue: _i23.Future<_i9.ElectrumXNode>.value(_FakeElectrumXNode_11( + returnValue: + _i23.Future<_i10.ElectrumXNode>.value(_FakeElectrumXNode_11( this, Invocation.method( #getCurrentNode, [], ), )), - ) as _i23.Future<_i9.ElectrumXNode>); + ) as _i23.Future<_i10.ElectrumXNode>); @override _i23.Future>> fastFetch( List? allTxHashes) => @@ -1212,7 +1306,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { }, )); @override - _i23.Future> fetchBuildTxData( + _i23.Future> fetchBuildTxData( List<_i17.UTXO>? utxosToUse) => (super.noSuchMethod( Invocation.method( @@ -1220,11 +1314,11 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { [utxosToUse], ), returnValue: - _i23.Future>.value(<_i28.SigningData>[]), - ) as _i23.Future>); + _i23.Future>.value(<_i31.SigningData>[]), + ) as _i23.Future>); @override _i23.Future> buildTransaction({ - required List<_i28.SigningData>? utxoSigningData, + required List<_i31.SigningData>? utxoSigningData, required List? recipients, required List? satoshiAmounts, }) => @@ -1391,21 +1485,21 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { returnValueForMissingStub: _i23.Future.value(), ) as _i23.Future); @override - _i11.Balance getCachedBalance() => (super.noSuchMethod( + _i12.Balance getCachedBalance() => (super.noSuchMethod( Invocation.method( #getCachedBalance, [], ), - returnValue: _FakeBalance_8( + returnValue: _FakeBalance_9( this, Invocation.method( #getCachedBalance, [], ), ), - ) as _i11.Balance); + ) as _i12.Balance); @override - _i23.Future updateCachedBalance(_i11.Balance? balance) => + _i23.Future updateCachedBalance(_i12.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalance, @@ -1415,21 +1509,21 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { returnValueForMissingStub: _i23.Future.value(), ) as _i23.Future); @override - _i11.Balance getCachedBalanceSecondary() => (super.noSuchMethod( + _i12.Balance getCachedBalanceSecondary() => (super.noSuchMethod( Invocation.method( #getCachedBalanceSecondary, [], ), - returnValue: _FakeBalance_8( + returnValue: _FakeBalance_9( this, Invocation.method( #getCachedBalanceSecondary, [], ), ), - ) as _i11.Balance); + ) as _i12.Balance); @override - _i23.Future updateCachedBalanceSecondary(_i11.Balance? balance) => + _i23.Future updateCachedBalanceSecondary(_i12.Balance? balance) => (super.noSuchMethod( Invocation.method( #updateCachedBalanceSecondary, @@ -1458,7 +1552,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { returnValueForMissingStub: _i23.Future.value(), ) as _i23.Future); @override - void initWalletDB({_i12.MainDB? mockableOverride}) => super.noSuchMethod( + void initWalletDB({_i7.MainDB? mockableOverride}) => super.noSuchMethod( Invocation.method( #initWalletDB, [], @@ -1510,8 +1604,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { required String? walletName, required _i13.NetworkType? network, required _i22.Coin? coin, - required _i12.MainDB? db, - required _i9.ElectrumX? electrumXClient, + required _i7.MainDB? db, + required _i10.ElectrumX? electrumXClient, required _i19.SecureStorageInterface? secureStorage, required int? dustLimit, required int? dustLimitP2PKH, @@ -1532,7 +1626,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { })? prepareSend, required _i23.Future Function({required String address})? getTxCount, - required _i23.Future> Function(List<_i17.UTXO>)? + required _i23.Future> Function(List<_i17.UTXO>)? fetchBuildTxData, required _i23.Future Function()? refresh, required _i23.Future Function()? checkChangeAddressForTransactions, @@ -1582,7 +1676,7 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { )), ) as _i23.Future<_i16.BIP32>); @override - _i23.Future<_i29.Uint8List> getPrivateKeyForPaynymReceivingAddress({ + _i23.Future<_i28.Uint8List> getPrivateKeyForPaynymReceivingAddress({ required String? paymentCodeString, required int? index, }) => @@ -1595,8 +1689,8 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { #index: index, }, ), - returnValue: _i23.Future<_i29.Uint8List>.value(_i29.Uint8List(0)), - ) as _i23.Future<_i29.Uint8List>); + returnValue: _i23.Future<_i28.Uint8List>.value(_i28.Uint8List(0)), + ) as _i23.Future<_i28.Uint8List>); @override _i23.Future<_i17.Address> currentReceivingPaynymAddress({ required _i18.PaymentCode? sender, @@ -1682,14 +1776,14 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { )), ) as _i23.Future<_i18.PaymentCode>); @override - _i23.Future<_i29.Uint8List> signWithNotificationKey(_i29.Uint8List? data) => + _i23.Future<_i28.Uint8List> signWithNotificationKey(_i28.Uint8List? data) => (super.noSuchMethod( Invocation.method( #signWithNotificationKey, [data], ), - returnValue: _i23.Future<_i29.Uint8List>.value(_i29.Uint8List(0)), - ) as _i23.Future<_i29.Uint8List>); + returnValue: _i23.Future<_i28.Uint8List>.value(_i28.Uint8List(0)), + ) as _i23.Future<_i28.Uint8List>); @override _i23.Future signStringWithNotificationKey(String? data) => (super.noSuchMethod( @@ -1922,9 +2016,9 @@ class MockBitcoinWallet extends _i1.Mock implements _i26.BitcoinWallet { required String? walletId, required String? walletName, required _i22.Coin? coin, - required _i12.MainDB? db, + required _i7.MainDB? db, required _i23.Future Function()? getChainHeight, - required _i23.Future Function(_i11.Balance)? refreshedBalanceCallback, + required _i23.Future Function(_i12.Balance)? refreshedBalanceCallback, }) => super.noSuchMethod( Invocation.method( @@ -1967,15 +2061,15 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { ), ) as _i19.SecureStorageInterface); @override - List<_i30.NodeModel> get primaryNodes => (super.noSuchMethod( + List<_i32.NodeModel> get primaryNodes => (super.noSuchMethod( Invocation.getter(#primaryNodes), - returnValue: <_i30.NodeModel>[], - ) as List<_i30.NodeModel>); + returnValue: <_i32.NodeModel>[], + ) as List<_i32.NodeModel>); @override - List<_i30.NodeModel> get nodes => (super.noSuchMethod( + List<_i32.NodeModel> get nodes => (super.noSuchMethod( Invocation.getter(#nodes), - returnValue: <_i30.NodeModel>[], - ) as List<_i30.NodeModel>); + returnValue: <_i32.NodeModel>[], + ) as List<_i32.NodeModel>); @override bool get hasListeners => (super.noSuchMethod( Invocation.getter(#hasListeners), @@ -1993,7 +2087,7 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { @override _i23.Future setPrimaryNodeFor({ required _i22.Coin? coin, - required _i30.NodeModel? node, + required _i32.NodeModel? node, bool? shouldNotifyListeners = false, }) => (super.noSuchMethod( @@ -2010,40 +2104,40 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { returnValueForMissingStub: _i23.Future.value(), ) as _i23.Future); @override - _i30.NodeModel? getPrimaryNodeFor({required _i22.Coin? coin}) => + _i32.NodeModel? getPrimaryNodeFor({required _i22.Coin? coin}) => (super.noSuchMethod(Invocation.method( #getPrimaryNodeFor, [], {#coin: coin}, - )) as _i30.NodeModel?); + )) as _i32.NodeModel?); @override - List<_i30.NodeModel> getNodesFor(_i22.Coin? coin) => (super.noSuchMethod( + List<_i32.NodeModel> getNodesFor(_i22.Coin? coin) => (super.noSuchMethod( Invocation.method( #getNodesFor, [coin], ), - returnValue: <_i30.NodeModel>[], - ) as List<_i30.NodeModel>); + returnValue: <_i32.NodeModel>[], + ) as List<_i32.NodeModel>); @override - _i30.NodeModel? getNodeById({required String? id}) => + _i32.NodeModel? getNodeById({required String? id}) => (super.noSuchMethod(Invocation.method( #getNodeById, [], {#id: id}, - )) as _i30.NodeModel?); + )) as _i32.NodeModel?); @override - List<_i30.NodeModel> failoverNodesFor({required _i22.Coin? coin}) => + List<_i32.NodeModel> failoverNodesFor({required _i22.Coin? coin}) => (super.noSuchMethod( Invocation.method( #failoverNodesFor, [], {#coin: coin}, ), - returnValue: <_i30.NodeModel>[], - ) as List<_i30.NodeModel>); + returnValue: <_i32.NodeModel>[], + ) as List<_i32.NodeModel>); @override _i23.Future add( - _i30.NodeModel? node, + _i32.NodeModel? node, String? password, bool? shouldNotifyListeners, ) => @@ -2095,7 +2189,7 @@ class MockNodeService extends _i1.Mock implements _i3.NodeService { ) as _i23.Future); @override _i23.Future edit( - _i30.NodeModel? editedNode, + _i32.NodeModel? editedNode, String? password, bool? shouldNotifyListeners, ) => @@ -2221,13 +2315,13 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValueForMissingStub: null, ); @override - _i23.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i23.Future<_i9.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i23.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i23.Future<_i9.FeeObject>.value(_FakeFeeObject_6( this, Invocation.getter(#fees), )), - ) as _i23.Future<_i8.FeeObject>); + ) as _i23.Future<_i9.FeeObject>); @override _i23.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), @@ -2239,13 +2333,13 @@ class MockManager extends _i1.Mock implements _i6.Manager { returnValue: _i23.Future.value(''), ) as _i23.Future); @override - _i11.Balance get balance => (super.noSuchMethod( + _i12.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), - returnValue: _FakeBalance_8( + returnValue: _FakeBalance_9( this, Invocation.getter(#balance), ), - ) as _i11.Balance); + ) as _i12.Balance); @override _i23.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), @@ -2589,13 +2683,13 @@ class MockCoinServiceAPI extends _i1.Mock implements _i20.CoinServiceAPI { returnValueForMissingStub: null, ); @override - _i23.Future<_i8.FeeObject> get fees => (super.noSuchMethod( + _i23.Future<_i9.FeeObject> get fees => (super.noSuchMethod( Invocation.getter(#fees), - returnValue: _i23.Future<_i8.FeeObject>.value(_FakeFeeObject_5( + returnValue: _i23.Future<_i9.FeeObject>.value(_FakeFeeObject_6( this, Invocation.getter(#fees), )), - ) as _i23.Future<_i8.FeeObject>); + ) as _i23.Future<_i9.FeeObject>); @override _i23.Future get maxFee => (super.noSuchMethod( Invocation.getter(#maxFee), @@ -2607,13 +2701,13 @@ class MockCoinServiceAPI extends _i1.Mock implements _i20.CoinServiceAPI { returnValue: _i23.Future.value(''), ) as _i23.Future); @override - _i11.Balance get balance => (super.noSuchMethod( + _i12.Balance get balance => (super.noSuchMethod( Invocation.getter(#balance), - returnValue: _FakeBalance_8( + returnValue: _FakeBalance_9( this, Invocation.getter(#balance), ), - ) as _i11.Balance); + ) as _i12.Balance); @override _i23.Future> get transactions => (super.noSuchMethod( Invocation.getter(#transactions), diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc index e265edffe..53dc112e6 100644 --- a/windows/flutter/generated_plugin_registrant.cc +++ b/windows/flutter/generated_plugin_registrant.cc @@ -7,6 +7,7 @@ #include "generated_plugin_registrant.h" #include +#include #include #include #include @@ -19,6 +20,8 @@ void RegisterPlugins(flutter::PluginRegistry* registry) { ConnectivityPlusWindowsPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("ConnectivityPlusWindowsPlugin")); + DesktopDropPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("DesktopDropPlugin")); FlutterLibepiccashPluginCApiRegisterWithRegistrar( registry->GetRegistrarForPlugin("FlutterLibepiccashPluginCApi")); FlutterSecureStorageWindowsPluginRegisterWithRegistrar( diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index 6a4a3acbf..fb11dd376 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -4,6 +4,7 @@ list(APPEND FLUTTER_PLUGIN_LIST connectivity_plus_windows + desktop_drop flutter_libepiccash flutter_secure_storage_windows isar_flutter_libs