buildFullWidthButton static method

Widget buildFullWidthButton({
  1. required BuildContext context,
  2. required SolidFileUploadState state,
  3. required VoidCallback? onPressed,
  4. required IconData icon,
  5. required String label,
  6. required String tooltip,
})

Builds a full-width button with accent background.

Implementation

static Widget buildFullWidthButton({
  required BuildContext context,
  required SolidFileUploadState state,
  required VoidCallback? onPressed,
  required IconData icon,
  required String label,
  required String tooltip,
}) {
  final textButton = TextButton.icon(
    onPressed: state.uploadInProgress ? null : onPressed,
    icon: Icon(icon),
    label: Text(label),
    style: TextButton.styleFrom(
      padding: const EdgeInsets.symmetric(vertical: 12),
      shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)),
      backgroundColor: Theme.of(
        context,
      ).colorScheme.primary.withValues(alpha: 0.1),
    ),
  );

  return SizedBox(
    width: double.infinity,
    child: MarkdownTooltip(message: tooltip, child: textButton),
  );
}