Initial commit

This commit is contained in:
jahongireshonqulov
2025-10-17 19:42:02 +05:00
commit 9fbdabafb4
1420 changed files with 28021 additions and 0 deletions

View File

@@ -0,0 +1,84 @@
import 'package:flutter/material.dart';
import 'package:grostore/configs/style_config.dart';
import 'package:grostore/configs/theme_config.dart';
import 'package:shimmer/shimmer.dart';
class Shimmers extends StatelessWidget {
late double width, height;
double? radius;
Shimmers(
{Key? key, required this.width, required this.height, this.radius = 0})
: super(key: key);
@override
Widget build(BuildContext context) {
return Container(
width: width,
height: height,
child: Shimmer.fromColors(
baseColor: ThemeConfig.xlightGrey,
highlightColor: ThemeConfig.lightGrey,
child: Container(
decoration: BoxDecoration(
color: ThemeConfig.mediumGrey,
borderRadius:
radius != null ? BorderRadius.circular(radius!) : null,
),
width: width,
height: height),
),
);
}
static list(int items, double width, double height) {
return ListView.separated(
physics: const NeverScrollableScrollPhysics(),
shrinkWrap: true,
itemBuilder: (context, index) {
return Shimmers(width: width, height: height);
},
separatorBuilder: (context, index) {
return const SizedBox(
height: 10,
);
},
itemCount: items);
}
static horizontalList(int items, double width, double height) {
return ListView.separated(
padding: EdgeInsets.symmetric(horizontal: StyleConfig.padding),
scrollDirection: Axis.horizontal,
itemBuilder: (context, index) {
return Shimmers(width: width, height: height);
},
separatorBuilder: (context, index) {
return const SizedBox(
width: 10,
);
},
itemCount: items);
}
static gridShimmer(int crossAxisCount, int items,
{double width = 160, double height = 186, double radius = 8}) {
return GridView.builder(
padding: EdgeInsets.symmetric(horizontal: StyleConfig.padding),
shrinkWrap: true,
physics: const NeverScrollableScrollPhysics(),
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: crossAxisCount,
crossAxisSpacing: 16,
mainAxisSpacing: 16,
childAspectRatio: 0.8),
itemCount: items,
itemBuilder: (context, index) {
return Shimmers(
width: double.parse(width.toString()),
height: double.parse(height.toString()),
radius: double.parse(radius.toString()),
);
});
}
}