FxCountdownAction class

A tappable action widget with a countdown timer.

Shows a tappable actionText that becomes disabled for duration after each press. While disabled, displays a live countdown alongside countdownPrefixText. Supports a full builder override for custom UI.

To restart the countdown externally, use a GlobalKey<FxCountdownActionState> and call FxCountdownActionState.restart.

Example:

FxCountdownAction(
  prefixText: "Didn't receive a code?",
  actionText: 'Resend',
  countdownPrefixText: 'Resend in',
  onPressed: () async => await resendOtp(),
)
Inheritance

Constructors

FxCountdownAction({Key? key, Widget builder(String countdown, bool isEnabled)?, TextAlign? textAlign, Duration duration = const Duration(seconds: 30), TextStyle? textStyle, String prefixText = '', Color? enabledColor, Color? disabledColor, String countdownPrefixText = '', required String actionText, required Future<void> onPressed()})
const

Properties

actionText → String
final
builder → Widget Function(String countdown, bool isEnabled)?
final
countdownPrefixText → String
final
disabledColor → Color?
final
duration → Duration
final
enabledColor → Color?
final
hashCode → int
The hash code for this object.
no setterinherited
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
onPressed → Future<void> Function()
final
prefixText → String
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
textAlign → TextAlign?
final
textStyle → TextStyle?
final

Methods

createElement() → StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() → State<FxCountdownAction>
Creates the mutable state for this widget at a given location in the tree.
override
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