V1 - Personal Account and Budgeting Done

Personal Account and Budgeting
This commit is contained in:
2026-08-16 20:13:21 +05:30
commit 17c0526ed6
247 changed files with 19002 additions and 0 deletions

View File

@@ -0,0 +1,64 @@
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),
],
)
],
),
),
);
}
}