buildUploadButton static method
Widget
buildUploadButton({
- required BuildContext context,
- required SolidFileUploadConfig config,
- required SolidFileUploadState state,
- required VoidCallback? onPressed,
Builds the main upload button.
Implementation
static Widget buildUploadButton({
required BuildContext context,
required SolidFileUploadConfig config,
required SolidFileUploadState state,
required VoidCallback? onPressed,
}) {
final uploadButton = ElevatedButton.icon(
onPressed: state.uploadInProgress ? null : onPressed,
icon: state.uploadInProgress
? const SizedBox(
width: 16,
height: 16,
child: CircularProgressIndicator(strokeWidth: 2),
)
: const Icon(Icons.file_upload),
label: Text(config.uploadButtonText),
style: ElevatedButton.styleFrom(
padding: const EdgeInsets.symmetric(vertical: 16),
backgroundColor: Theme.of(context).colorScheme.primaryContainer,
foregroundColor: Theme.of(context).colorScheme.onPrimaryContainer,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)),
),
);
if (config.uploadTooltip != null) {
return MarkdownTooltip(
message: config.uploadTooltip!,
child: uploadButton,
);
}
return uploadButton;
}