BankTransferReviewCard class
Confirm-before-send summary card shown to the user before they authorise a transfer.
Displays the beneficiary, amount, fee, exchange rate (for international transfers), estimated arrival time, and an optional additionalInfo slot.
Hierarchy
The card carries three tiers, because a review screen has exactly one question to answer — am I sending the right money to the right place?
- The amount is the hero: a BankThemeData.numeralLarge figure under a caps micro-label, not one more label/value row. Set at the same optical weight as "Arrives", it forces the customer to read the whole card to find the number they came to check.
- The destination mask is a verification affordance, so it is set in tabular numerals at body size in the full BankThemeData.onSurface ink. A masked account nobody can read verifies nothing; this is the one caption-sized string on the card that must never be caption-sized.
- Everything else — fee, rate, arrival — recedes to small muted labels against body-size values.
BankTransferReviewCard(
amount: Money.fromDouble(500, 'GBP'),
beneficiary: selected,
fee: Money.fromDouble(0, 'GBP'),
estimatedArrival: 'Within 2 hours',
)
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatelessWidget
- BankTransferReviewCard
Constructors
-
BankTransferReviewCard({required Money amount, required BankBeneficiary beneficiary, Key? key, Money? fee, ExchangeRate? exchangeRate, String? estimatedArrival, bool isScheduled = false, DateTime? scheduledDate, Widget? additionalInfo, EdgeInsetsGeometry? padding, BorderRadius? radius, Color? backgroundColor, double? elevation, List<
BoxShadow> ? shadow, BoxBorder? border, Widget? header, TextStyle? titleStyle, TextStyle? subtitleStyle, TextStyle? maskStyle, TextStyle? labelStyle, TextStyle? valueStyle, TextStyle? amountStyle, String amountLabel = 'Amount', String feeLabel = 'Fee', String freeLabel = 'Free', String exchangeRateLabel = 'Exchange Rate', String youSendLabel = 'You send', String theyReceiveLabel = 'They receive', String arrivesLabel = 'Arrives', String scheduledPrefix = 'Scheduled:', String noArrivalLabel = '-', IconData? verifiedIcon, Color? accentColor, Color? freeColor, String? semanticLabel}) -
const
Properties
- accentColor → Color?
-
Overrides the accent of the avatar fallback and verified badge.
Defaults to the theme primary.
final
- additionalInfo → Widget?
-
Optional widget rendered below the summary rows: use for disclaimers,
T&C links, or exchange-rate freshness notes.
final
- amount → Money
-
The amount being sent.
final
- amountLabel → String
-
Label of the hero amount block, rendered as an ALL-CAPS micro-label.
Defaults to
'Amount'.final - amountStyle → TextStyle?
-
Merged over the highlighted money styles of the hero amount (theme
numeralLarge) and the "They receive" row (theme numeralMedium).
final
- arrivesLabel → String
-
Label of the arrival row. Defaults to
'Arrives'.final - backgroundColor → Color?
-
Overrides the card background color. Defaults to the theme surface.
final
- beneficiary → BankBeneficiary
-
The beneficiary receiving the transfer.
final
- border → BoxBorder?
-
Overrides the card outline. Defaults on dark surfaces to a
BankTokens.hairlineWidth hairline in BankTokens.hairlineColor;
light surfaces keep an invisible border of the same width. Pass
const Border()to remove it.final - elevation → double?
-
Legacy depth opt-out. The card renders the kit shadow language
(BankTokens.shadowCardFor of the theme background brightness) instead
of Material elevation; pass
0— or use a theme whoseelevationLowis0, such as Voltage — to flatten the card to hairline-only depth.final - estimatedArrival → String?
-
Human-readable estimated arrival string, e.g.
'Within 2 hours'. Ignored when isScheduled istrue.final - exchangeRate → ExchangeRate?
-
Exchange rate for international transfers. When non-null, additional
"You send" and "They receive" rows are rendered below the rate row.
final
- exchangeRateLabel → String
-
Label of the exchange-rate row. Defaults to
'Exchange Rate'.final - fee → Money?
-
Transfer fee. Pass
nullor a zero Money to show "Free".final - feeLabel → String
-
Label of the fee row. Defaults to
'Fee'.final - freeColor → Color?
-
Overrides the color of the free fee value. Defaults to the theme's
BankThemeData.positiveBalance, which is brightness-corrected per
preset — the raw token is a light-surface green.
final
- freeLabel → String
-
Value shown when the fee is zero or null. Defaults to
'Free'.final - hashCode → int
-
The hash code for this object.
no setterinherited
- header → Widget?
-
Replaces the beneficiary header row. Defaults to the built-in
avatar-name-account header.
final
- isScheduled → bool
-
When
true, the arrival row displays the scheduled date instead of estimatedArrival.final - key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- labelStyle → TextStyle?
-
Merged over each supporting row's label style
(BankTokens.bodySmall in onSurfaceVariant).
final
- maskStyle → TextStyle?
-
Merged over the account-mask line (theme numeralSmall in onSurface).
final
- noArrivalLabel → String
-
Arrival value when no arrival information is available. Defaults to
'-'.final - padding → EdgeInsetsGeometry?
-
Overrides the card content padding. Defaults to
EdgeInsets.all(BankTokens.space4).final - radius → BorderRadius?
-
Overrides the card corner radius. Defaults to the theme cardRadius.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- scheduledDate → DateTime?
-
The date the transfer is scheduled for. Only used when isScheduled is
true.final - scheduledPrefix → String
-
Prefix of the scheduled arrival value. Defaults to
'Scheduled:'.final - semanticLabel → String?
-
When non-null, wraps the card in a Semantics label. Defaults to no
extra semantics node.
final
-
shadow
→ List<
BoxShadow> ? -
Overrides the card shadow. Defaults to BankTokens.shadowCardFor of
the theme background brightness; pass
const []to flatten.final - subtitleStyle → TextStyle?
-
Merged over the bank-name line under the account mask
(BankTokens.bodySmall in onSurfaceVariant).
final
- theyReceiveLabel → String
-
Label of the converted-amount row. Defaults to
'They receive'.final - titleStyle → TextStyle?
-
Merged over the beneficiary name style
(BankTokens.headlineSmall in onSurface).
final
- valueStyle → TextStyle?
-
Merged over each plain row value style
(BankTokens.bodyMedium, w500).
final
- verifiedIcon → IconData?
-
Overrides the verified-beneficiary glyph. Defaults to
Icons.verified_outlined.
final
- youSendLabel → String
-
Label of the sent-amount row. Defaults to
'You send'.final
Methods
-
build(
BuildContext context) → Widget -
Describes the part of the user interface represented by this widget.
override
-
createElement(
) → StatelessElement -
Creates a StatelessElement to manage this widget's location in the tree.
inherited
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited