import 'package:flutter/material.dart'; class ModernLoadingIndicator extends StatelessWidget { final String? message; const ModernLoadingIndicator({super.key, this.message}); @override Widget build(BuildContext context) { return Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Container( padding: EdgeInsets.all(24), decoration: BoxDecoration( gradient: LinearGradient( begin: Alignment.topLeft, end: Alignment.bottomRight, colors: [Colors.blue.shade50, Colors.purple.shade50], ), shape: BoxShape.circle, boxShadow: [ BoxShadow( color: Colors.black.withAlpha(15), blurRadius: 20, offset: Offset(0, 10), ), ], ), child: CircularProgressIndicator( strokeWidth: 3, valueColor: AlwaysStoppedAnimation( Colors.deepPurple.shade600, ), ), ), if (message != null) ...[ SizedBox(height: 24), Text( message!, style: TextStyle( fontSize: 16, color: Colors.grey.shade600, fontWeight: FontWeight.w500, ), ), ], ], ), ); } }