import 'package:flutter/material.dart'; import 'package:shimmer/shimmer.dart'; class ShimmerLoading extends StatelessWidget { final double width; final double height; final double borderRadius; const ShimmerLoading({ super.key, required this.width, required this.height, this.borderRadius = 8.0, }); @override Widget build(BuildContext context) { final isDark = Theme.of(context).brightness == Brightness.dark; return Shimmer.fromColors( baseColor: isDark ? Colors.grey.shade800 : Colors.grey.shade300, highlightColor: isDark ? Colors.grey.shade700 : Colors.grey.shade100, child: Container( width: width, height: height, decoration: BoxDecoration( color: Colors.white, borderRadius: BorderRadius.circular(borderRadius), ), ), ); } } class ShimmerCard extends StatelessWidget { const ShimmerCard({super.key}); @override Widget build(BuildContext context) { return Card( child: Padding( padding: const EdgeInsets.all(16.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ const ShimmerLoading(width: 120, height: 16), const SizedBox(height: 16), const ShimmerLoading(width: double.infinity, height: 24), const SizedBox(height: 8), const ShimmerLoading(width: double.infinity, height: 24), const SizedBox(height: 16), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: const [ ShimmerLoading(width: 60, height: 16), ShimmerLoading(width: 60, height: 16), ], ) ], ), ), ); } }