upcoming firo functionality assets and some linter warning clean up

This commit is contained in:
julian 2022-09-06 15:51:22 -06:00
parent 97e2f60c85
commit d84cde3db6
10 changed files with 87 additions and 23 deletions

View file

@ -0,0 +1,13 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M23.0154 16.7681C23.6489 15.3066 24 13.6943 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24C13.6943 24 15.3066 23.6489 16.7681 23.0154C16.2832 22.2973 16 21.4317 16 20.5C16 18.0147 18.0147 16 20.5 16C21.4317 16 22.2973 16.2832 23.0154 16.7681Z" fill="#E0E3E3"/>
<g clip-path="url(#clip0_5035_57298)">
<path d="M10.0169 11.6619C10.1425 12.2062 9.54581 12.6328 9.0721 12.3345L8.43612 11.9367L7.10397 14.0678C6.7551 14.6258 7.15642 15.3497 7.81454 15.3497H8.65256C9.11423 15.3497 9.48954 15.7245 9.48954 16.1862C9.48954 16.6479 9.11423 17.025 8.65256 17.025H7.81716C5.84484 17.025 4.64251 14.8569 5.68493 13.183L7.01525 11.0521L6.3777 10.6516C5.90373 10.3533 6.02464 9.63093 6.56954 9.5053L8.96244 8.95177C9.18725 8.90335 9.41495 9.03944 9.46729 9.26714L10.0169 11.6619ZM12.71 7.36601L13.7896 9.09702L13.1549 9.49169C12.6796 9.7877 12.7998 10.5108 13.3454 10.6372L15.7375 11.1908C15.9632 11.243 16.1884 11.1021 16.2403 10.8764L16.7909 8.48355C16.9163 7.93892 16.3211 7.51389 15.8469 7.80937L15.2093 8.20718L14.1311 6.48088C13.1476 4.90691 10.8544 4.90586 9.87034 6.47927L9.67667 6.78866C9.43327 7.17732 9.55366 7.6963 9.941 7.94023C10.3315 8.18517 10.851 8.0681 11.0954 7.67746L11.2902 7.36628C11.6239 6.83263 12.3907 6.85226 12.71 7.36601ZM18.316 13.1851L17.8713 12.4716C17.627 12.0796 17.1108 11.9597 16.7187 12.2044C16.3277 12.4483 16.2079 12.9673 16.4523 13.3581L16.897 14.0686C17.2464 14.6266 16.845 15.3511 16.1867 15.3511H13.6744L13.675 14.5989C13.675 14.0393 12.9985 13.759 12.6028 14.1547L10.8647 15.8933C10.7019 16.0562 10.7019 16.3228 10.8648 16.4856L12.6031 18.2218C12.9989 18.617 13.6749 18.3366 13.6749 17.7774L13.6743 17.0268H16.1831C18.1564 17.0271 19.3603 14.8575 18.316 13.1851Z" fill="#494949"/>
</g>
<circle cx="20.5" cy="20.5" r="3.5" fill="#C00205"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M19.1465 21.2072C18.9512 21.4025 18.9512 21.7191 19.1465 21.9143C19.3418 22.1096 19.6583 22.1096 19.8536 21.9143L20.5293 21.2386L21.2054 21.9146C21.4007 22.1099 21.7172 22.1099 21.9125 21.9146C22.1078 21.7194 22.1078 21.4028 21.9125 21.2075L21.2365 20.5315L21.9749 19.793C22.1702 19.5977 22.1702 19.2812 21.9749 19.0859C21.7797 18.8906 21.4631 18.8906 21.2678 19.0859L20.5293 19.8244L19.7912 19.0862C19.5959 18.8909 19.2793 18.8909 19.0841 19.0862C18.8888 19.2815 18.8888 19.598 19.0841 19.7933L19.8222 20.5315L19.1465 21.2072Z" fill="white"/>
<defs>
<clipPath id="clip0_5035_57298">
<rect width="13.4" height="13.4" fill="white" transform="translate(5.30078 5.2998)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View file

@ -0,0 +1,13 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M23.0154 16.7681C23.6489 15.3066 24 13.6943 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24C13.6943 24 15.3066 23.6489 16.7681 23.0154C16.2832 22.2973 16 21.4317 16 20.5C16 18.0147 18.0147 16 20.5 16C21.4317 16 22.2973 16.2832 23.0154 16.7681Z" fill="#E0E3E3"/>
<circle cx="20.5" cy="20.5" r="3.5" fill="#F4C517"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M20.5 18.5C20.7761 18.5 21 18.7239 21 19V20H21.5C21.7761 20 22 20.2239 22 20.5C22 20.7761 21.7761 21 21.5 21H20.5C20.2239 21 20 20.7761 20 20.5V19C20 18.7239 20.2239 18.5 20.5 18.5Z" fill="white"/>
<g clip-path="url(#clip0_5035_57297)">
<path d="M10.0169 11.6619C10.1425 12.2062 9.54581 12.6328 9.0721 12.3345L8.43612 11.9367L7.10397 14.0678C6.7551 14.6258 7.15642 15.3497 7.81454 15.3497H8.65256C9.11423 15.3497 9.48954 15.7245 9.48954 16.1862C9.48954 16.6479 9.11423 17.025 8.65256 17.025H7.81716C5.84484 17.025 4.64251 14.8569 5.68493 13.183L7.01525 11.0521L6.3777 10.6516C5.90373 10.3533 6.02464 9.63093 6.56954 9.5053L8.96244 8.95177C9.18725 8.90335 9.41495 9.03944 9.46729 9.26714L10.0169 11.6619ZM12.71 7.36601L13.7896 9.09702L13.1549 9.49169C12.6796 9.7877 12.7998 10.5108 13.3454 10.6372L15.7375 11.1908C15.9632 11.243 16.1884 11.1021 16.2403 10.8764L16.7909 8.48355C16.9163 7.93892 16.3211 7.51389 15.8469 7.80937L15.2093 8.20718L14.1311 6.48088C13.1476 4.90691 10.8544 4.90586 9.87034 6.47927L9.67667 6.78866C9.43327 7.17732 9.55366 7.6963 9.941 7.94023C10.3315 8.18517 10.851 8.0681 11.0954 7.67746L11.2902 7.36628C11.6239 6.83263 12.3907 6.85226 12.71 7.36601ZM18.316 13.1851L17.8713 12.4716C17.627 12.0796 17.1108 11.9597 16.7187 12.2044C16.3277 12.4483 16.2079 12.9673 16.4523 13.3581L16.897 14.0686C17.2464 14.6266 16.845 15.3511 16.1867 15.3511H13.6744L13.675 14.5989C13.675 14.0393 12.9985 13.759 12.6028 14.1547L10.8647 15.8933C10.7019 16.0562 10.7019 16.3228 10.8648 16.4856L12.6031 18.2218C12.9989 18.617 13.6749 18.3366 13.6749 17.7774L13.6743 17.0268H16.1831C18.1564 17.0271 19.3603 14.8575 18.316 13.1851Z" fill="#494949"/>
</g>
<defs>
<clipPath id="clip0_5035_57297">
<rect width="13.4" height="13.4" fill="white" transform="translate(5.30078 5.2998)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

@ -0,0 +1,16 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_5035_57299)">
<circle cx="12" cy="12" r="12" fill="#E0E3E3"/>
<g clip-path="url(#clip1_5035_57299)">
<path d="M9.92728 11.6469C10.0585 12.2157 9.4351 12.6614 8.94018 12.3497L8.27572 11.934L6.88393 14.1606C6.51943 14.7436 6.93872 15.4999 7.62631 15.4999H8.50185C8.9842 15.4999 9.37631 15.8915 9.37631 16.3738C9.37631 16.8562 8.9842 17.2502 8.50185 17.2502H7.62904C5.56842 17.2502 4.31225 14.9851 5.40135 13.2361L6.79123 11.0098L6.12514 10.5915C5.62994 10.2797 5.75627 9.52505 6.32557 9.3938L8.8256 8.81548C9.06049 8.7649 9.29838 8.90709 9.35307 9.14498L9.92728 11.6469ZM12.741 7.15873L13.8689 8.96724L13.2058 9.37959C12.7092 9.68884 12.8347 10.4444 13.4048 10.5764L15.904 11.1547C16.1398 11.2093 16.3752 11.0621 16.4293 10.8263L17.0046 8.32631C17.1356 7.75728 16.5138 7.31322 16.0183 7.62193L15.3522 8.03755L14.2257 6.23396C13.1981 4.58951 10.8023 4.58841 9.77416 6.23227L9.57182 6.55552C9.31752 6.96158 9.4433 7.50381 9.84799 7.75865C10.256 8.01456 10.7987 7.89225 11.0541 7.48412L11.2576 7.159C11.6062 6.60146 12.4074 6.62197 12.741 7.15873ZM18.598 13.2383L18.1334 12.4929C17.8781 12.0833 17.3388 11.9581 16.9292 12.2138C16.5207 12.4686 16.3954 13.0108 16.6508 13.4191L17.1154 14.1615C17.4804 14.7444 17.0612 15.5013 16.3733 15.5013H13.7486L13.7492 14.7154C13.7492 14.1308 13.0424 13.838 12.6289 14.2514L10.813 16.0679C10.6429 16.238 10.6429 16.5166 10.8132 16.6867L12.6293 18.5006C13.0428 18.9135 13.7491 18.6206 13.7491 18.0363L13.7484 17.2521H16.3696C18.4312 17.2524 19.689 14.9856 18.598 13.2383Z" fill="#494949"/>
</g>
</g>
<defs>
<clipPath id="clip0_5035_57299">
<rect width="24" height="24" fill="white"/>
</clipPath>
<clipPath id="clip1_5035_57299">
<rect width="14" height="14" fill="white" transform="translate(5 5)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

@ -1,3 +1,5 @@
import 'dart:async';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:stackwallet/models/paymint/transactions_model.dart'; import 'package:stackwallet/models/paymint/transactions_model.dart';
@ -110,7 +112,7 @@ class _TransactionsListState extends ConsumerState<TransactionsList> {
.read(walletsChangeNotifierProvider) .read(walletsChangeNotifierProvider)
.getManagerProvider(widget.walletId); .getManagerProvider(widget.walletId);
if (!ref.read(managerProvider).isRefreshing) { if (!ref.read(managerProvider).isRefreshing) {
ref.read(managerProvider).refresh(); unawaited(ref.read(managerProvider).refresh());
} }
}, },
child: ListView.builder( child: ListView.builder(

View file

@ -10,6 +10,16 @@ class TxIcon extends StatelessWidget {
static const Size size = Size(32, 32); static const Size size = Size(32, 32);
String _getAssetName(bool isCancelled, bool isReceived, bool isPending) { String _getAssetName(bool isCancelled, bool isReceived, bool isPending) {
if (transaction.subType == "mint") {
if (isCancelled) {
return Assets.svg.anonymizeFailed;
}
if (isPending) {
return Assets.svg.anonymizePending;
}
return Assets.svg.anonymize;
}
if (isReceived) { if (isReceived) {
if (isCancelled) { if (isCancelled) {
return Assets.svg.receiveCancelled; return Assets.svg.receiveCancelled;

View file

@ -1,3 +1,5 @@
import 'dart:async';
import 'package:decimal/decimal.dart'; import 'package:decimal/decimal.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
@ -480,14 +482,14 @@ class _TransactionDetailsViewState
mode: LaunchMode.externalApplication, mode: LaunchMode.externalApplication,
); );
} catch (_) { } catch (_) {
showDialog<void>( unawaited(showDialog<void>(
context: context, context: context,
builder: (_) => StackOkDialog( builder: (_) => StackOkDialog(
title: "Could not open in block explorer", title: "Could not open in block explorer",
message: message:
"Failed to open \"${uri.toString()}\"", "Failed to open \"${uri.toString()}\"",
), ),
); ));
} finally { } finally {
// Future<void>.delayed( // Future<void>.delayed(
// const Duration(seconds: 1), // const Duration(seconds: 1),
@ -637,20 +639,20 @@ class _TransactionDetailsViewState
if (manager.wallet is EpicCashWallet) { if (manager.wallet is EpicCashWallet) {
final String? id = _transaction.slateId; final String? id = _transaction.slateId;
if (id == null) { if (id == null) {
showFloatingFlushBar( unawaited(showFloatingFlushBar(
type: FlushBarType.warning, type: FlushBarType.warning,
message: "Could not find Epic transaction ID", message: "Could not find Epic transaction ID",
context: context, context: context,
); ));
return; return;
} }
showDialog<dynamic>( unawaited(showDialog<dynamic>(
barrierDismissible: false, barrierDismissible: false,
context: context, context: context,
builder: (_) => builder: (_) =>
const CancellingTransactionProgressDialog(), const CancellingTransactionProgressDialog(),
); ));
final result = await (manager.wallet as EpicCashWallet) final result = await (manager.wallet as EpicCashWallet)
.cancelPendingTransactionAndPost(id); .cancelPendingTransactionAndPost(id);
@ -681,11 +683,11 @@ class _TransactionDetailsViewState
} }
} }
} else { } else {
showFloatingFlushBar( unawaited(showFloatingFlushBar(
type: FlushBarType.warning, type: FlushBarType.warning,
message: "ERROR: Wallet type is not Epic Cash", message: "ERROR: Wallet type is not Epic Cash",
context: context, context: context,
); ));
return; return;
} }
}, },

View file

@ -155,7 +155,7 @@ class _WalletViewState extends ConsumerState<WalletView> {
const timeout = Duration(milliseconds: 1500); const timeout = Duration(milliseconds: 1500);
if (_cachedTime == null || now.difference(_cachedTime!) > timeout) { if (_cachedTime == null || now.difference(_cachedTime!) > timeout) {
_cachedTime = now; _cachedTime = now;
showDialog<dynamic>( unawaited(showDialog<dynamic>(
context: context, context: context,
barrierDismissible: false, barrierDismissible: false,
builder: (_) => WillPopScope( builder: (_) => WillPopScope(
@ -173,7 +173,7 @@ class _WalletViewState extends ConsumerState<WalletView> {
onTimeout: () => Navigator.of(context).popUntil( onTimeout: () => Navigator.of(context).popUntil(
ModalRoute.withName(WalletView.routeName), ModalRoute.withName(WalletView.routeName),
), ),
); ));
} }
return false; return false;
} }
@ -222,14 +222,14 @@ class _WalletViewState extends ConsumerState<WalletView> {
final coin = ref.read(managerProvider).coin; final coin = ref.read(managerProvider).coin;
if (coin == Coin.epicCash) { if (coin == Coin.epicCash) {
showDialog<void>( await showDialog<void>(
context: context, context: context,
builder: (_) => const StackOkDialog( builder: (_) => const StackOkDialog(
title: "ChangeNOW not available for Epic Cash", title: "ChangeNOW not available for Epic Cash",
), ),
); );
} else if (coin.name.endsWith("TestNet")) { } else if (coin.name.endsWith("TestNet")) {
showDialog<void>( await showDialog<void>(
context: context, context: context,
builder: (_) => const StackOkDialog( builder: (_) => const StackOkDialog(
title: "ChangeNOW not available for test net coins", title: "ChangeNOW not available for test net coins",
@ -247,10 +247,10 @@ class _WalletViewState extends ConsumerState<WalletView> {
element.ticker.toLowerCase() == coin.ticker.toLowerCase()); element.ticker.toLowerCase() == coin.ticker.toLowerCase());
if (currencies.isNotEmpty) { if (currencies.isNotEmpty) {
ref unawaited(ref
.read(estimatedRateExchangeFormProvider) .read(estimatedRateExchangeFormProvider)
.updateFrom(currencies.first, false); .updateFrom(currencies.first, false));
ref.read(estimatedRateExchangeFormProvider).updateTo( unawaited(ref.read(estimatedRateExchangeFormProvider).updateTo(
ref ref
.read(availableChangeNowCurrenciesStateProvider.state) .read(availableChangeNowCurrenciesStateProvider.state)
.state .state
@ -258,16 +258,16 @@ class _WalletViewState extends ConsumerState<WalletView> {
(element) => (element) =>
element.ticker.toLowerCase() != coin.ticker.toLowerCase(), element.ticker.toLowerCase() != coin.ticker.toLowerCase(),
), ),
false); false));
} }
Navigator.of(context).pushNamed( unawaited(Navigator.of(context).pushNamed(
WalletInitiatedExchangeView.routeName, WalletInitiatedExchangeView.routeName,
arguments: Tuple2( arguments: Tuple2(
walletId, walletId,
coin, coin,
), ),
); ));
} }
} }

View file

@ -85,6 +85,9 @@ class _SVG {
String get questionMessage => "assets/svg/message-question.svg"; String get questionMessage => "assets/svg/message-question.svg";
String get envelope => "assets/svg/envelope.svg"; String get envelope => "assets/svg/envelope.svg";
String get share => "assets/svg/share-2.svg"; String get share => "assets/svg/share-2.svg";
String get anonymize => "assets/svg/tx-icon-anonymize.svg";
String get anonymizePending => "assets/svg/tx-icon-anonymize-pending.svg";
String get anonymizeFailed => "assets/svg/tx-icon-anonymize-failed.svg";
String get receive => "assets/svg/tx-icon-receive.svg"; String get receive => "assets/svg/tx-icon-receive.svg";
String get receivePending => "assets/svg/tx-icon-receive-pending.svg"; String get receivePending => "assets/svg/tx-icon-receive-pending.svg";

View file

@ -1,3 +1,5 @@
import 'dart:async';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:stackwallet/models/paymint/transactions_model.dart'; import 'package:stackwallet/models/paymint/transactions_model.dart';
@ -95,23 +97,23 @@ class _TransactionCardState extends ConsumerState<TransactionCard> {
), ),
onPressed: () async { onPressed: () async {
if (coin == Coin.epicCash && _transaction.slateId == null) { if (coin == Coin.epicCash && _transaction.slateId == null) {
showFloatingFlushBar( unawaited(showFloatingFlushBar(
context: context, context: context,
message: message:
"Restored Epic funds from your Seed have no Data.\nUse Stack Backup to keep your transaction history.", "Restored Epic funds from your Seed have no Data.\nUse Stack Backup to keep your transaction history.",
type: FlushBarType.warning, type: FlushBarType.warning,
duration: const Duration(seconds: 5), duration: const Duration(seconds: 5),
); ));
return; return;
} }
Navigator.of(context).pushNamed( unawaited(Navigator.of(context).pushNamed(
TransactionDetailsView.routeName, TransactionDetailsView.routeName,
arguments: Tuple3( arguments: Tuple3(
_transaction, _transaction,
coin, coin,
walletId, walletId,
), ),
); ));
}, },
child: Padding( child: Padding(
padding: const EdgeInsets.all(8), padding: const EdgeInsets.all(8),

View file

@ -256,6 +256,9 @@ flutter:
- assets/svg/message-question.svg - assets/svg/message-question.svg
- assets/svg/envelope.svg - assets/svg/envelope.svg
- assets/svg/share-2.svg - assets/svg/share-2.svg
- assets/svg/tx-icon-anonymize.svg
- assets/svg/tx-icon-anonymize-pending.svg
- assets/svg/tx-icon-anonymize-failed.svg
# coin icons # coin icons
- assets/svg/coin_icons/Bitcoin.svg - assets/svg/coin_icons/Bitcoin.svg
- assets/svg/coin_icons/Dogecoin.svg - assets/svg/coin_icons/Dogecoin.svg