diff --git a/packages/flutter_availability/lib/src/config/availability_options.dart b/packages/flutter_availability/lib/src/config/availability_options.dart index d5ea120..0748e82 100644 --- a/packages/flutter_availability/lib/src/config/availability_options.dart +++ b/packages/flutter_availability/lib/src/config/availability_options.dart @@ -14,6 +14,7 @@ class AvailabilityOptions { this.translations = const AvailabilityTranslations.empty(), this.baseScreenBuilder = DefaultBaseScreen.builder, this.primaryButtonBuilder = DefaultPrimaryButton.builder, + this.secondaryButtonBuilder = DefaultSecondaryButton.builder, this.textButtonBuilder = DefaultTextButton.builder, this.spacing = const AvailabilitySpacing(), this.textStyles = const AvailabilityTextStyles(), @@ -39,6 +40,9 @@ class AvailabilityOptions { /// A way to provide your own primary button implementation final ButtonBuilder primaryButtonBuilder; + /// A way to provide your own secondary button implementation + final ButtonBuilder secondaryButtonBuilder; + /// A way to provide your own text button implementation final ButtonBuilder textButtonBuilder; diff --git a/packages/flutter_availability/lib/src/ui/widgets/default_buttons.dart b/packages/flutter_availability/lib/src/ui/widgets/default_buttons.dart index daa43cd..04ac80b 100644 --- a/packages/flutter_availability/lib/src/ui/widgets/default_buttons.dart +++ b/packages/flutter_availability/lib/src/ui/widgets/default_buttons.dart @@ -33,6 +33,37 @@ class DefaultPrimaryButton extends StatelessWidget { FilledButton(onPressed: onPressed, child: child); } +/// a secondary button with a an outlined border +class DefaultSecondaryButton extends StatelessWidget { + /// + const DefaultSecondaryButton({ + required this.child, + required this.onPressed, + super.key, + }); + + /// + static Widget builder( + BuildContext context, + FutureOr Function()? onPressed, + Widget child, + ) => + DefaultSecondaryButton( + onPressed: onPressed, + child: child, + ); + + /// + final Widget child; + + /// + final FutureOr Function()? onPressed; + + @override + Widget build(BuildContext context) => + OutlinedButton(onPressed: onPressed, child: child); +} + /// class DefaultTextButton extends StatelessWidget { ///