Files
AutoJudge-Flutter/lib/widgets/loading_indicator.dart
2025-11-13 09:14:49 +08:00

39 lines
1.0 KiB
Dart

import 'package:flutter/material.dart';
/// Loading indicator widget
///
/// Displays a circular progress indicator with optional message
class LoadingIndicator extends StatelessWidget {
final String? message;
final double size;
const LoadingIndicator({super.key, this.message, this.size = 40});
@override
Widget build(BuildContext context) {
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
mainAxisSize: MainAxisSize.min,
children: [
SizedBox(
width: size,
height: size,
child: CircularProgressIndicator(strokeWidth: size / 10),
),
if (message != null) ...[
const SizedBox(height: 16),
Text(
message!,
style: Theme.of(context).textTheme.bodyMedium?.copyWith(
color: Theme.of(context).colorScheme.onSurfaceVariant,
),
textAlign: TextAlign.center,
),
],
],
),
);
}
}