CakeWallet/lib/src/screens/exchange_trade/exchange_confirm_page.dart

149 lines
5.7 KiB
Dart
Raw Normal View History

import 'package:cake_wallet/exchange/exchange_provider_description.dart';
import 'package:cake_wallet/store/dashboard/trades_store.dart';
2020-09-30 21:23:15 +03:00
import 'package:cake_wallet/utils/show_bar.dart';
2020-01-04 21:31:52 +02:00
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/services.dart';
import 'package:cake_wallet/routes.dart';
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/src/widgets/primary_button.dart';
import 'package:cake_wallet/src/screens/base_page.dart';
2020-09-21 14:50:26 +03:00
import 'package:cake_wallet/exchange/trade.dart';
2020-01-04 21:31:52 +02:00
class ExchangeConfirmPage extends BasePage {
2022-10-12 13:09:57 -04:00
ExchangeConfirmPage({required this.tradesStore}) : trade = tradesStore.trade!;
2020-01-04 21:31:52 +02:00
final TradesStore tradesStore;
2020-01-04 21:31:52 +02:00
final Trade trade;
2020-01-08 14:26:34 +02:00
@override
String get title => S.current.copy_id;
2020-01-04 21:31:52 +02:00
@override
Widget body(BuildContext context) {
return Container(
padding: EdgeInsets.fromLTRB(24, 0, 24, 24),
child: Column(
children: <Widget>[
Expanded(
child: Column(
2020-09-30 21:23:15 +03:00
children: <Widget>[
Flexible(
child: Center(
child: Text(
S.of(context).exchange_result_write_down_trade_id,
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 18.0,
fontWeight: FontWeight.w500,
color: Theme.of(context)
.primaryTextTheme!
.titleLarge!
.color!),
2020-09-30 21:23:15 +03:00
),
)),
Container(
height: 178,
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(30)),
border: Border.all(
width: 1,
color: Theme.of(context)
.accentTextTheme!
.bodySmall!
.color!),
color: Theme.of(context)
.accentTextTheme!
.titleLarge!
.color!),
2020-09-30 21:23:15 +03:00
child: Column(
children: <Widget>[
Expanded(
child: Padding(
padding: EdgeInsets.all(24),
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Text(
"${trade.provider.title} ${S.of(context).trade_id}",
2020-09-30 21:23:15 +03:00
style: TextStyle(
fontSize: 12.0,
fontWeight: FontWeight.w500,
color: Theme.of(context)
2022-10-12 13:09:57 -04:00
.primaryTextTheme!
.labelSmall!
2022-10-12 13:09:57 -04:00
.color!),
2020-09-30 21:23:15 +03:00
),
Text(
trade.id,
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: TextStyle(
fontSize: 20,
fontWeight: FontWeight.w600,
color: Theme.of(context)
2022-10-12 13:09:57 -04:00
.primaryTextTheme!
.titleLarge!
2022-10-12 13:09:57 -04:00
.color!),
),
2020-09-30 21:23:15 +03:00
],
),
)),
Padding(
padding: EdgeInsets.fromLTRB(10, 0, 10, 10),
child: Builder(
builder: (context) => PrimaryButton(
onPressed: () {
Clipboard.setData(ClipboardData(text: trade.id));
showBar<void>(
context, S.of(context).copied_to_clipboard);
},
text: S.of(context).copy_id,
color: Theme.of(context)
2022-10-12 13:09:57 -04:00
.accentTextTheme!
.bodySmall!
2022-10-12 13:09:57 -04:00
.backgroundColor!,
textColor: Theme.of(context)
.primaryTextTheme!
.titleLarge!
.color!),
2020-09-30 21:23:15 +03:00
),
)
],
),
),
Flexible(
child: Center(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
(trade.provider.image?.isNotEmpty ?? false)
? Image.asset(trade.provider.image, height: 50)
: const SizedBox(),
if (!trade.provider.horizontalLogo)
Padding(
padding: const EdgeInsets.symmetric(horizontal: 8.0),
child: Text(trade.provider.title),
),
],
),
),
),
2020-09-30 21:23:15 +03:00
],
)),
PrimaryButton(
2020-01-04 21:31:52 +02:00
onPressed: () => Navigator.of(context)
.pushReplacementNamed(Routes.exchangeTrade),
2020-01-04 21:31:52 +02:00
text: S.of(context).saved_the_trade_id,
color: Theme.of(context)
.accentTextTheme!
.bodyLarge!
.color!,
textColor: Colors.white)
],
),
2020-01-04 21:31:52 +02:00
);
}
}