diff --git a/lib/ui/views/farm_deposit/layouts/components/farm_deposit_textfield_amount.dart b/lib/ui/views/farm_deposit/layouts/components/farm_deposit_textfield_amount.dart index 3b92d27c..8015a9ff 100644 --- a/lib/ui/views/farm_deposit/layouts/components/farm_deposit_textfield_amount.dart +++ b/lib/ui/views/farm_deposit/layouts/components/farm_deposit_textfield_amount.dart @@ -33,8 +33,11 @@ class _FarmDepositToken1AmountState extends ConsumerState { void _updateAmountTextController() { final farmDeposit = ref.read(FarmDepositFormProvider.farmDepositForm); tokenAmountController = TextEditingController(); - tokenAmountController.value = - aedappfm.AmountTextInputFormatter(precision: 8).formatEditUpdate( + tokenAmountController.value = aedappfm.AmountTextInputFormatter( + precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false, + ).formatEditUpdate( TextEditingValue.empty, TextEditingValue( text: farmDeposit.amount == 0 @@ -120,7 +123,7 @@ class _FarmDepositToken1AmountState extends ConsumerState { controller: tokenAmountController, onChanged: (text) async { farmDepositNotifier.setAmount( - double.tryParse(text.replaceAll(' ', '')) ?? 0, + double.tryParse(text.replaceAll(',', '')) ?? 0, ); }, focusNode: tokenAmountFocusNode, @@ -130,7 +133,11 @@ class _FarmDepositToken1AmountState extends ConsumerState { decimal: true, ), inputFormatters: [ - aedappfm.AmountTextInputFormatter(precision: 8), + aedappfm.AmountTextInputFormatter( + precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false, + ), LengthLimitingTextInputFormatter( farmDeposit.lpTokenBalance .formatNumber( diff --git a/lib/ui/views/farm_withdraw/layouts/components/farm_withdraw_textfield_amount.dart b/lib/ui/views/farm_withdraw/layouts/components/farm_withdraw_textfield_amount.dart index 4a8eebd8..c0017fe9 100644 --- a/lib/ui/views/farm_withdraw/layouts/components/farm_withdraw_textfield_amount.dart +++ b/lib/ui/views/farm_withdraw/layouts/components/farm_withdraw_textfield_amount.dart @@ -33,8 +33,11 @@ class _FarmWithdrawToken1AmountState extends ConsumerState { void _updateAmountTextController() { final farmWithdraw = ref.read(FarmWithdrawFormProvider.farmWithdrawForm); tokenAmountController = TextEditingController(); - tokenAmountController.value = - aedappfm.AmountTextInputFormatter(precision: 8).formatEditUpdate( + tokenAmountController.value = aedappfm.AmountTextInputFormatter( + precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false, + ).formatEditUpdate( TextEditingValue.empty, TextEditingValue( text: farmWithdraw.amount == 0 @@ -123,7 +126,7 @@ class _FarmWithdrawToken1AmountState extends ConsumerState { onChanged: (text) async { farmWithdrawNotifier.setAmount( context, - double.tryParse(text.replaceAll(' ', '')) ?? 0, + double.tryParse(text.replaceAll(',', '')) ?? 0, ); }, focusNode: tokenAmountFocusNode, @@ -133,7 +136,11 @@ class _FarmWithdrawToken1AmountState extends ConsumerState { decimal: true, ), inputFormatters: [ - aedappfm.AmountTextInputFormatter(precision: 8), + aedappfm.AmountTextInputFormatter( + precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false, + ), LengthLimitingTextInputFormatter(10), ], decoration: const InputDecoration( diff --git a/lib/ui/views/liquidity_add/layouts/components/liquidity_add_confirm_infos.dart b/lib/ui/views/liquidity_add/layouts/components/liquidity_add_confirm_infos.dart index 39a6cbb8..06e593bd 100755 --- a/lib/ui/views/liquidity_add/layouts/components/liquidity_add_confirm_infos.dart +++ b/lib/ui/views/liquidity_add/layouts/components/liquidity_add_confirm_infos.dart @@ -59,25 +59,15 @@ class LiquidityAddConfirmInfos extends ConsumerWidget { children: [ Row( children: [ + SelectableText( + liquidityAdd.token1Amount.formatNumber(precision: 8), + style: AppTextStyles.bodyLargeSecondaryColor(context), + ), Tooltip( message: liquidityAdd.token1!.symbol, - child: Text.rich( - TextSpan( - children: [ - TextSpan( - text: liquidityAdd.token1Amount - .formatNumber(precision: 8), - style: AppTextStyles.bodyLargeSecondaryColor( - context, - ), - ), - TextSpan( - text: - ' ${liquidityAdd.token1!.symbol.reduceSymbol()}', - style: AppTextStyles.bodyLarge(context), - ), - ], - ), + child: SelectableText( + ' ${liquidityAdd.token1!.symbol.reduceSymbol()}', + style: AppTextStyles.bodyLarge(context), ), ), ], @@ -85,7 +75,7 @@ class LiquidityAddConfirmInfos extends ConsumerWidget { Tooltip( message: liquidityAdd.token1!.symbol, child: SelectableText( - '${liquidityAdd.token1minAmount.formatNumber()} ${liquidityAdd.token1!.symbol.reduceSymbol()}', + '+${liquidityAdd.token1minAmount.formatNumber()} ${liquidityAdd.token1!.symbol.reduceSymbol()}', style: AppTextStyles.bodyLarge(context), ), ), @@ -97,7 +87,7 @@ class LiquidityAddConfirmInfos extends ConsumerWidget { Row( children: [ SelectableText( - '${liquidityAdd.token2Amount}', + liquidityAdd.token2Amount.formatNumber(precision: 8), style: AppTextStyles.bodyLargeSecondaryColor(context), ), Tooltip( diff --git a/lib/ui/views/liquidity_add/layouts/components/liquidity_add_textfield_token_1_amount.dart b/lib/ui/views/liquidity_add/layouts/components/liquidity_add_textfield_token_1_amount.dart index 380c1e5d..196c042e 100644 --- a/lib/ui/views/liquidity_add/layouts/components/liquidity_add_textfield_token_1_amount.dart +++ b/lib/ui/views/liquidity_add/layouts/components/liquidity_add_textfield_token_1_amount.dart @@ -30,8 +30,11 @@ class _LiquidityAddToken1AmountState void _updateAmountTextController() { final liquidityAdd = ref.read(LiquidityAddFormProvider.liquidityAddForm); tokenAmountController = TextEditingController(); - tokenAmountController.value = - aedappfm.AmountTextInputFormatter(precision: 8).formatEditUpdate( + tokenAmountController.value = aedappfm.AmountTextInputFormatter( + precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false, + ).formatEditUpdate( TextEditingValue.empty, TextEditingValue( text: liquidityAdd.token1Amount == 0 @@ -139,7 +142,7 @@ class _LiquidityAddToken1AmountState await liquidityAddNotifier.setToken1Amount( context, double.tryParse( - text.replaceAll(' ', ''), + text.replaceAll(',', ''), ) ?? 0, ); @@ -157,6 +160,8 @@ class _LiquidityAddToken1AmountState inputFormatters: [ aedappfm.AmountTextInputFormatter( precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false, ), LengthLimitingTextInputFormatter( liquidityAdd.token1Balance @@ -198,8 +203,11 @@ class _LiquidityAddToken1AmountState balanceAmount: liquidityAdd.token1Balance, onTap: () async { tokenAmountController.value = - aedappfm.AmountTextInputFormatter(precision: 8) - .formatEditUpdate( + aedappfm.AmountTextInputFormatter( + precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false, + ).formatEditUpdate( TextEditingValue.empty, TextEditingValue( text: (Decimal.parse( @@ -228,8 +236,11 @@ class _LiquidityAddToken1AmountState balanceAmount: liquidityAdd.token1Balance, onTap: () async { tokenAmountController.value = - aedappfm.AmountTextInputFormatter(precision: 8) - .formatEditUpdate( + aedappfm.AmountTextInputFormatter( + precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false, + ).formatEditUpdate( TextEditingValue.empty, TextEditingValue( text: liquidityAdd.token1Balance.toString(), diff --git a/lib/ui/views/liquidity_add/layouts/components/liquidity_add_textfield_token_2_amount.dart b/lib/ui/views/liquidity_add/layouts/components/liquidity_add_textfield_token_2_amount.dart index 36c9c418..c70ebf49 100644 --- a/lib/ui/views/liquidity_add/layouts/components/liquidity_add_textfield_token_2_amount.dart +++ b/lib/ui/views/liquidity_add/layouts/components/liquidity_add_textfield_token_2_amount.dart @@ -31,8 +31,11 @@ class _LiquidityAddToken2AmountState void _updateAmountTextController() { final liquidityAdd = ref.read(LiquidityAddFormProvider.liquidityAddForm); tokenAmountController = TextEditingController(); - tokenAmountController.value = - aedappfm.AmountTextInputFormatter(precision: 8).formatEditUpdate( + tokenAmountController.value = aedappfm.AmountTextInputFormatter( + precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false, + ).formatEditUpdate( TextEditingValue.empty, TextEditingValue( text: liquidityAdd.token2Amount == 0 @@ -140,7 +143,7 @@ class _LiquidityAddToken2AmountState await liquidityAddNotifier.setToken2Amount( context, double.tryParse( - text.replaceAll(' ', ''), + text.replaceAll(',', ''), ) ?? 0, ); @@ -158,6 +161,8 @@ class _LiquidityAddToken2AmountState inputFormatters: [ aedappfm.AmountTextInputFormatter( precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false, ), LengthLimitingTextInputFormatter( liquidityAdd.token2Balance @@ -199,8 +204,11 @@ class _LiquidityAddToken2AmountState balanceAmount: liquidityAdd.token2Balance, onTap: () async { tokenAmountController.value = - aedappfm.AmountTextInputFormatter(precision: 8) - .formatEditUpdate( + aedappfm.AmountTextInputFormatter( + precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false, + ).formatEditUpdate( TextEditingValue.empty, TextEditingValue( text: (Decimal.parse( @@ -229,8 +237,11 @@ class _LiquidityAddToken2AmountState balanceAmount: liquidityAdd.token2Balance, onTap: () async { tokenAmountController.value = - aedappfm.AmountTextInputFormatter(precision: 8) - .formatEditUpdate( + aedappfm.AmountTextInputFormatter( + precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false, + ).formatEditUpdate( TextEditingValue.empty, TextEditingValue( text: liquidityAdd.token2Balance.toString(), diff --git a/lib/ui/views/liquidity_remove/layouts/components/liquidity_remove_textfield_lp_token_amount.dart b/lib/ui/views/liquidity_remove/layouts/components/liquidity_remove_textfield_lp_token_amount.dart index 239cf57c..99f6c2e5 100644 --- a/lib/ui/views/liquidity_remove/layouts/components/liquidity_remove_textfield_lp_token_amount.dart +++ b/lib/ui/views/liquidity_remove/layouts/components/liquidity_remove_textfield_lp_token_amount.dart @@ -33,8 +33,11 @@ class _LiquidityRemoveLPTokenAmountState final liquidityRemove = ref.read(LiquidityRemoveFormProvider.liquidityRemoveForm); tokenAmountController = TextEditingController(); - tokenAmountController.value = - aedappfm.AmountTextInputFormatter(precision: 8).formatEditUpdate( + tokenAmountController.value = aedappfm.AmountTextInputFormatter( + precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false, + ).formatEditUpdate( TextEditingValue.empty, TextEditingValue( text: liquidityRemove.lpTokenAmount == 0 @@ -123,7 +126,7 @@ class _LiquidityRemoveLPTokenAmountState controller: tokenAmountController, onChanged: (text) async { await liquidityRemoveNotifier.setLPTokenAmount( - double.tryParse(text.replaceAll(' ', '')) ?? 0, + double.tryParse(text.replaceAll(',', '')) ?? 0, ); }, focusNode: tokenAmountFocusNode, @@ -133,7 +136,11 @@ class _LiquidityRemoveLPTokenAmountState decimal: true, ), inputFormatters: [ - aedappfm.AmountTextInputFormatter(precision: 8), + aedappfm.AmountTextInputFormatter( + precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false, + ), LengthLimitingTextInputFormatter(10), ], decoration: const InputDecoration( diff --git a/lib/ui/views/pool_add/layouts/components/pool_add_textfield_token_1_amount.dart b/lib/ui/views/pool_add/layouts/components/pool_add_textfield_token_1_amount.dart index dd45a890..07fbce47 100644 --- a/lib/ui/views/pool_add/layouts/components/pool_add_textfield_token_1_amount.dart +++ b/lib/ui/views/pool_add/layouts/components/pool_add_textfield_token_1_amount.dart @@ -31,8 +31,11 @@ class _PoolAddToken1AmountState extends ConsumerState { void _updateAmountTextController() { final poolAdd = ref.read(PoolAddFormProvider.poolAddForm); tokenAmountController = TextEditingController(); - tokenAmountController.value = - aedappfm.AmountTextInputFormatter(precision: 8).formatEditUpdate( + tokenAmountController.value = aedappfm.AmountTextInputFormatter( + precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false, + ).formatEditUpdate( TextEditingValue.empty, TextEditingValue( text: poolAdd.token1Amount == 0 @@ -130,7 +133,7 @@ class _PoolAddToken1AmountState extends ConsumerState { poolAddNotifier.setToken1Amount( context, double.tryParse( - text.replaceAll(' ', ''), + text.replaceAll(',', ''), ) ?? 0, ); @@ -152,6 +155,8 @@ class _PoolAddToken1AmountState extends ConsumerState { inputFormatters: [ aedappfm.AmountTextInputFormatter( precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false, ), ], decoration: const InputDecoration( diff --git a/lib/ui/views/pool_add/layouts/components/pool_add_textfield_token_2_amount.dart b/lib/ui/views/pool_add/layouts/components/pool_add_textfield_token_2_amount.dart index 23676628..d78f6f74 100644 --- a/lib/ui/views/pool_add/layouts/components/pool_add_textfield_token_2_amount.dart +++ b/lib/ui/views/pool_add/layouts/components/pool_add_textfield_token_2_amount.dart @@ -30,8 +30,11 @@ class _PoolAddToken2AmountState extends ConsumerState { void _updateAmountTextController() { final poolAdd = ref.read(PoolAddFormProvider.poolAddForm); tokenAmountController = TextEditingController(); - tokenAmountController.value = - aedappfm.AmountTextInputFormatter(precision: 8).formatEditUpdate( + tokenAmountController.value = aedappfm.AmountTextInputFormatter( + precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false, + ).formatEditUpdate( TextEditingValue.empty, TextEditingValue( text: poolAdd.token2Amount == 0 @@ -130,7 +133,7 @@ class _PoolAddToken2AmountState extends ConsumerState { poolAddNotifier.setToken2Amount( context, double.tryParse( - text.replaceAll(' ', ''), + text.replaceAll(',', ''), ) ?? 0, ); @@ -152,6 +155,8 @@ class _PoolAddToken2AmountState extends ConsumerState { inputFormatters: [ aedappfm.AmountTextInputFormatter( precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false, ), ], decoration: const InputDecoration( diff --git a/lib/ui/views/swap/layouts/components/swap_textfield_token_swapped_amount.dart b/lib/ui/views/swap/layouts/components/swap_textfield_token_swapped_amount.dart index 50a1c95a..519a1e7d 100644 --- a/lib/ui/views/swap/layouts/components/swap_textfield_token_swapped_amount.dart +++ b/lib/ui/views/swap/layouts/components/swap_textfield_token_swapped_amount.dart @@ -35,8 +35,11 @@ class _SwapTokenSwappedAmountState final swap = ref.read(SwapFormProvider.swapForm); tokenAmountController = TextEditingController(); - tokenAmountController.value = - aedappfm.AmountTextInputFormatter(precision: 8).formatEditUpdate( + tokenAmountController.value = aedappfm.AmountTextInputFormatter( + precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false, + ).formatEditUpdate( TextEditingValue.empty, TextEditingValue( text: swap.tokenSwappedAmount == 0 @@ -152,7 +155,7 @@ class _SwapTokenSwappedAmountState await swapNotifier .setTokenSwappedAmount( double.tryParse( - text.replaceAll(' ', ''), + text.replaceAll(',', ''), ) ?? 0, ); @@ -171,6 +174,8 @@ class _SwapTokenSwappedAmountState inputFormatters: [ aedappfm.AmountTextInputFormatter( precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false, ), LengthLimitingTextInputFormatter( swap.tokenSwappedBalance @@ -285,7 +290,9 @@ class _SwapTokenSwappedAmountState balanceAmount: swap.tokenSwappedBalance, onTap: () async { tokenAmountController.value = - aedappfm.AmountTextInputFormatter(precision: 8) + aedappfm.AmountTextInputFormatter(precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false,) .formatEditUpdate( TextEditingValue.empty, TextEditingValue( @@ -312,7 +319,9 @@ class _SwapTokenSwappedAmountState balanceAmount: swap.tokenSwappedBalance, onTap: () async { tokenAmountController.value = - aedappfm.AmountTextInputFormatter(precision: 8) + aedappfm.AmountTextInputFormatter(precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false,) .formatEditUpdate( TextEditingValue.empty, TextEditingValue( diff --git a/lib/ui/views/swap/layouts/components/swap_textfield_token_to_swap_amount.dart b/lib/ui/views/swap/layouts/components/swap_textfield_token_to_swap_amount.dart index 16a5390b..edb6e17f 100644 --- a/lib/ui/views/swap/layouts/components/swap_textfield_token_to_swap_amount.dart +++ b/lib/ui/views/swap/layouts/components/swap_textfield_token_to_swap_amount.dart @@ -39,8 +39,11 @@ class _SwapTokenToSwapAmountState extends ConsumerState { final swap = ref.read(SwapFormProvider.swapForm); tokenAmountController = TextEditingController(); - tokenAmountController.value = - aedappfm.AmountTextInputFormatter(precision: 8).formatEditUpdate( + tokenAmountController.value = aedappfm.AmountTextInputFormatter( + precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false, + ).formatEditUpdate( TextEditingValue.empty, TextEditingValue( text: swap.tokenToSwapAmount == 0 @@ -193,7 +196,7 @@ class _SwapTokenToSwapAmountState extends ConsumerState { await swapNotifier .setTokenToSwapAmount( double.tryParse( - text.replaceAll(' ', ''), + text.replaceAll(',', ''), ) ?? 0, ); @@ -212,6 +215,8 @@ class _SwapTokenToSwapAmountState extends ConsumerState { inputFormatters: [ aedappfm.AmountTextInputFormatter( precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false, ), LengthLimitingTextInputFormatter( swap.tokenToSwapBalance @@ -330,8 +335,11 @@ class _SwapTokenToSwapAmountState extends ConsumerState { balanceAmount: swap.tokenToSwapBalance, onTap: () async { tokenAmountController.value = - aedappfm.AmountTextInputFormatter(precision: 8) - .formatEditUpdate( + aedappfm.AmountTextInputFormatter( + precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false, + ).formatEditUpdate( TextEditingValue.empty, TextEditingValue( text: (Decimal.parse( @@ -357,8 +365,11 @@ class _SwapTokenToSwapAmountState extends ConsumerState { balanceAmount: swap.tokenToSwapBalance, onTap: () async { tokenAmountController.value = - aedappfm.AmountTextInputFormatter(precision: 8) - .formatEditUpdate( + aedappfm.AmountTextInputFormatter( + precision: 8, + thousandsSeparator: ',', + useUnifyDecimalSeparator: false, + ).formatEditUpdate( TextEditingValue.empty, TextEditingValue( text: swap.tokenToSwapBalance.toString(), diff --git a/pubspec.lock b/pubspec.lock index 2c5a6d28..be27ca34 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -45,10 +45,10 @@ packages: dependency: "direct main" description: name: archethic_dapp_framework_flutter - sha256: e9417daecf993dbbb9d048cfcef27a0b06d4cbd24ea23386b08bd79acbb5cb0f + sha256: "743aa3ee1e3d8b0c3d644529d7727b1c8963c4c1c86cc5741412c17d21842acc" url: "https://pub.dev" source: hosted - version: "1.1.16" + version: "1.1.18" archethic_lib_dart: dependency: transitive description: @@ -69,10 +69,10 @@ packages: dependency: transitive description: name: archive - sha256: ecf4273855368121b1caed0d10d4513c7241dfc813f7d3c8933b36622ae9b265 + sha256: "6bd38d335f0954f5fad9c79e614604fbf03a0e5b975923dd001b6ea965ef5b4b" url: "https://pub.dev" source: hosted - version: "3.5.1" + version: "3.6.0" args: dependency: transitive description: @@ -476,10 +476,10 @@ packages: dependency: transitive description: name: gql - sha256: "5877b9e6537eb69431df7a45959d3f137ba5b7eba73208a631c404f36600e259" + sha256: "5b011ec89d08eede5a33518b7195b1b0fa1be543f82e16848d185e9042513504" url: "https://pub.dev" source: hosted - version: "1.0.1-alpha+1715521079501" + version: "1.0.1-alpha+1715931674451" gql_dedupe_link: dependency: transitive description: @@ -532,10 +532,10 @@ packages: dependency: "direct main" description: name: gradient_borders - sha256: "69eeaff519d145a4c6c213ada1abae386bcc8981a4970d923e478ce7ba19e309" + sha256: b1cd969552c83f458ff755aa68e13a0327d09f06c3f42f471b423b01427f21f8 url: "https://pub.dev" source: hosted - version: "1.0.0" + version: "1.0.1" graphql: dependency: transitive description: @@ -612,10 +612,10 @@ packages: dependency: transitive description: name: image - sha256: "4c68bfd5ae83e700b5204c1e74451e7bf3cf750e6843c6e158289cf56bda018e" + sha256: "2237616a36c0d69aef7549ab439b833fb7f9fb9fc861af2cc9ac3eedddd69ca8" url: "https://pub.dev" source: hosted - version: "4.1.7" + version: "4.2.0" intl: dependency: "direct main" description: @@ -1169,10 +1169,10 @@ packages: dependency: transitive description: name: url_launcher_android - sha256: "360a6ed2027f18b73c8d98e159dda67a61b7f2e0f6ec26e86c3ada33b0621775" + sha256: "17cd5e205ea615e2c6ea7a77323a11712dffa0720a8a90540db57a01347f9ad9" url: "https://pub.dev" source: hosted - version: "6.3.1" + version: "6.3.2" url_launcher_ios: dependency: transitive description: