cartui fixed

This commit is contained in:
2025-02-13 17:26:07 +05:30
parent 50cf2c588b
commit 9874c094a9
10 changed files with 397 additions and 315 deletions

View File

@@ -992,7 +992,7 @@
"languageVersion": "3.4" "languageVersion": "3.4"
} }
], ],
"generated": "2025-02-13T05:46:18.147720Z", "generated": "2025-02-13T11:54:46.039722Z",
"generator": "pub", "generator": "pub",
"generatorVersion": "3.4.4", "generatorVersion": "3.4.4",
"flutterRoot": "file:///Users/rajeevsingh/Documents/allSoftwares/flutter", "flutterRoot": "file:///Users/rajeevsingh/Documents/allSoftwares/flutter",

File diff suppressed because one or more lines are too long

View File

@@ -56,14 +56,14 @@ class AddtocartProvider extends ChangeNotifier {
// Now check if this pin code is deliverable // Now check if this pin code is deliverable
await checkPin(context, _pinCode); await checkPin(context, _pinCode);
} else { } else {
_pinCode = "unable to current pi code"; _pinCode = "";
print("Error: No placemarks found."); print("Error: No placemarks found.");
} }
} catch (e) { } catch (e) {
_pinCode = "unable to current pi code"; _pinCode = "";
print("Error: ${e.toString()}"); print("Error: ${e.toString()}");
} }
_pinCode = "unable to current pi code"; _pinCode = "";
_isLoading = false; _isLoading = false;
notifyListeners(); notifyListeners();
} }

View File

@@ -294,7 +294,7 @@ class _BestDealScreenState extends State<BestDealScreen> {
Row( Row(
children: [ children: [
Text( Text(
"\$${bestdealproduct.discountPrice ?? ""} ", "${bestdealproduct.discountPrice ?? ""} ",
textAlign: TextAlign.left, textAlign: TextAlign.left,
maxLines: 1, maxLines: 1,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
@@ -302,7 +302,7 @@ class _BestDealScreenState extends State<BestDealScreen> {
context.customSemiBold(Colors.black, 12), context.customSemiBold(Colors.black, 12),
), ),
Text( Text(
"\$${bestdealproduct.basePrice ?? ""}", "${bestdealproduct.basePrice ?? ""}",
textAlign: TextAlign.left, textAlign: TextAlign.left,
maxLines: 1, maxLines: 1,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,

View File

@@ -57,7 +57,7 @@ class _MycartState extends State<Mycart> {
centerTitle: true, centerTitle: true,
title: Center( title: Center(
child: const Text( child: const Text(
'Cart 🛒', 'My Cart 🛒',
style: TextStyle( style: TextStyle(
fontSize: 20, fontSize: 20,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
@@ -84,7 +84,6 @@ class _MycartState extends State<Mycart> {
const SizedBox( const SizedBox(
height: 15, height: 15,
), ),
Divider(),
cartPlace(), cartPlace(),
], ],
), ),
@@ -95,24 +94,16 @@ class _MycartState extends State<Mycart> {
Widget relatedProduct() { Widget relatedProduct() {
return Consumer<ProductProvider>(builder: (context, provider, child) { return Consumer<ProductProvider>(builder: (context, provider, child) {
if (provider.isBestdealingloading) { if (provider.isBestdealingloading) {
return Center(child: CircularProgressIndicator()); return Center(child: CircularProgressIndicator());
} else if (provider.bestdeal.isEmpty) { } else if (provider.bestdeal.isEmpty) {
return Center(child: Text('No products available')); return Center(child: Text('No products available'));
} else { } else {
return GridView.builder( return SizedBox(
itemCount: height: MediaQuery.of(context).size.height * 0.28,
provider.bestdeal.length < 8 ? provider.bestdeal.length : 6, child: ListView.builder(
physics: NeverScrollableScrollPhysics(), scrollDirection: Axis.horizontal,
shrinkWrap: true, itemCount: provider.bestdeal.length,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
crossAxisSpacing: 5,
mainAxisSpacing: 5,
childAspectRatio: MediaQuery.of(context).size.width /
(MediaQuery.of(context).size.height / 1.8),
),
itemBuilder: (context, index) { itemBuilder: (context, index) {
var bestdealproduct = provider.bestdeal[index]; var bestdealproduct = provider.bestdeal[index];
double cardWidth = double cardWidth =
@@ -124,7 +115,7 @@ class _MycartState extends State<Mycart> {
extra: bestdealproduct.id); extra: bestdealproduct.id);
}, },
child: Padding( child: Padding(
padding: const EdgeInsets.only(right: 10, bottom: 5, top: 5), padding: const EdgeInsets.only(right: 5, bottom: 5, top: 5),
child: Container( child: Container(
width: cardWidth, width: cardWidth,
decoration: BoxDecoration( decoration: BoxDecoration(
@@ -155,8 +146,8 @@ class _MycartState extends State<Mycart> {
alignment: Alignment.center, alignment: Alignment.center,
children: [ children: [
AppNetworkImage( AppNetworkImage(
height: height: MediaQuery.of(context).size.height *
MediaQuery.of(context).size.height * 0.08, 0.08,
width: cardWidth * 0.7, width: cardWidth * 0.7,
imageUrl: bestdealproduct imageUrl: bestdealproduct
.productImages?.first?.url ?? .productImages?.first?.url ??
@@ -194,7 +185,8 @@ class _MycartState extends State<Mycart> {
textAlign: TextAlign.left, textAlign: TextAlign.left,
maxLines: 2, maxLines: 2,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
style: context.customMedium(APPCOLOR.balck1A1A1A, 14), style:
context.customMedium(APPCOLOR.balck1A1A1A, 14),
), ),
SizedBox( SizedBox(
height: MediaQuery.of(context).size.height * 0.005, height: MediaQuery.of(context).size.height * 0.005,
@@ -218,16 +210,15 @@ class _MycartState extends State<Mycart> {
Row( Row(
children: [ children: [
Text( Text(
"\$${bestdealproduct.discountPrice ?? ""} ", "${bestdealproduct.discountPrice ?? ""} ",
textAlign: TextAlign.left, textAlign: TextAlign.left,
maxLines: 1, maxLines: 1,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
style: style: context.customSemiBold(
context.customSemiBold(Colors.black, 12), Colors.black, 12),
), ),
Text( Text(
"\$${bestdealproduct.basePrice ?? ""}", "${bestdealproduct.basePrice ?? ""}",
textAlign: TextAlign.left,
maxLines: 1, maxLines: 1,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
style: context style: context
@@ -236,7 +227,8 @@ class _MycartState extends State<Mycart> {
12, 12,
) )
.copyWith( .copyWith(
decoration: TextDecoration.lineThrough, decoration:
TextDecoration.lineThrough,
), ),
), ),
], ],
@@ -260,9 +252,9 @@ class _MycartState extends State<Mycart> {
}, },
child: Container( child: Container(
height: MediaQuery.of(context).size.height * height: MediaQuery.of(context).size.height *
0.035, 0.028,
width: // width:
MediaQuery.of(context).size.width * 0.1, // MediaQuery.of(context).size.width * 0.1,
decoration: BoxDecoration( decoration: BoxDecoration(
color: APPCOLOR.lightGreen, color: APPCOLOR.lightGreen,
borderRadius: BorderRadius.circular(5), borderRadius: BorderRadius.circular(5),
@@ -272,11 +264,13 @@ class _MycartState extends State<Mycart> {
bestdealproduct.id] ?? bestdealproduct.id] ??
false false
? Padding( ? Padding(
padding: const EdgeInsets.all(8.0), padding:
const EdgeInsets.all(8.0),
child: Container( child: Container(
height: 10, height: 10,
width: 10, width: 10,
child: CircularProgressIndicator( child:
CircularProgressIndicator(
color: Colors.white, color: Colors.white,
strokeWidth: 2), strokeWidth: 2),
), ),
@@ -299,6 +293,7 @@ class _MycartState extends State<Mycart> {
), ),
); );
}, },
),
); );
} }
}); });
@@ -433,8 +428,8 @@ class _MycartState extends State<Mycart> {
shrinkWrap: true, shrinkWrap: true,
physics: NeverScrollableScrollPhysics(), physics: NeverScrollableScrollPhysics(),
separatorBuilder: (_, index) => Padding( separatorBuilder: (_, index) => Padding(
padding: EdgeInsets.only(top: 12.h, bottom: 24.h), padding: EdgeInsets.only(top: 8.h, bottom: 8.h),
child: const Divider(thickness: 1), // child: const Divider(thickness: 1),
), ),
itemCount: provider.allitem.items!.length, itemCount: provider.allitem.items!.length,
itemBuilder: (context, index) { itemBuilder: (context, index) {
@@ -470,7 +465,7 @@ class _MycartState extends State<Mycart> {
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
style: context.customMedium(APPCOLOR.balck1A1A1A, 14), style: context.customMedium(APPCOLOR.balck1A1A1A, 14),
), ),
5.verticalSpace, 2.verticalSpace,
Text( Text(
items.product!.unit ?? "", items.product!.unit ?? "",
style: context.customMedium(APPCOLOR.balck1A1A1A, 14), style: context.customMedium(APPCOLOR.balck1A1A1A, 14),
@@ -478,14 +473,14 @@ class _MycartState extends State<Mycart> {
Row( Row(
children: [ children: [
Text( Text(
"\$${items.product!.discountPrice ?? ""} ", "${items.product!.discountPrice ?? ""} ",
textAlign: TextAlign.left, textAlign: TextAlign.left,
maxLines: 1, maxLines: 1,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
style: context.customSemiBold(Colors.black, 12), style: context.customSemiBold(Colors.black, 12),
), ),
Text( Text(
"\$${items.product!.basePrice ?? ""}", "${items.product!.basePrice ?? ""}",
textAlign: TextAlign.left, textAlign: TextAlign.left,
maxLines: 1, maxLines: 1,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
@@ -528,65 +523,90 @@ class _MycartState extends State<Mycart> {
const Spacer(), const Spacer(),
Column( Column(
children: [ children: [
Row( Container(
height: 25,
width: 70,
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(7)),
shape: BoxShape.rectangle,
border: Border.all(
color: APPCOLOR.lightGreen,
width: 1,
),
),
child: Center(
child: Row(
// crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
CustomIconButton( InkWell(
width: 14.w, onTap: () async {
height: 14.h,
onPressed: () async {
if (items.quantity! > 1) { if (items.quantity! > 1) {
await provider.decreaseCartQuantity( await provider.decreaseCartQuantity(
context, context,
items.id!, items.id!,
int.parse(items.quantity.toString()) - 1); int.parse(items.quantity.toString()) -
1);
} }
}, },
icon: SvgPicture.asset( child: Icon(
APPASSETS.removeIcon, Icons.remove,
fit: BoxFit.none, size: 15,
color: APPCOLOR.lightGreen,
), ),
backgroundColor: APPCOLOR.appGreen,
), ),
5.horizontalSpace, // IconButton(
// // width: 14.w,
// // height: 14.h,
// onPressed: () async {
// if (items.quantity! > 1) {
// await provider.decreaseCartQuantity(
// context,
// items.id!,
// int.parse(items.quantity.toString()) -
// 1);
// }
// },
// icon: Icon(Icons.minimize_rounded),
// iconSize: 10,
// ),
Gap(10),
Text( Text(
items.quantity.toString(), items.quantity.toString(),
style: style: context.customMedium(
context.customMedium(APPCOLOR.balck1A1A1A, 14), APPCOLOR.balck1A1A1A, 14),
), ),
5.horizontalSpace, Gap(10),
CustomIconButton( InkWell(
width: 14.w, onTap: () async {
height: 14.h,
onPressed: () async {
await provider.addToCart( await provider.addToCart(
context, items.productId!, 1); context, items.productId!, 1);
// await provider.getItemCards(context);
}, },
icon: SvgPicture.asset( child: Icon(
APPASSETS.addIcon, Icons.add,
fit: BoxFit.none, size: 15,
color: APPCOLOR.lightGreen,
), ),
backgroundColor: APPCOLOR.appGreen,
), ),
// IconButton(
// onPressed: () async {
// await provider.addToCart(
// context, items.productId!, 1);
// // await provider.getItemCards(context);
// },
// icon: Icon(Icons.add),
// iconSize: 10,
// ),
], ],
), ),
),
),
Gap(20), Gap(20),
InkWell( InkWell(
onTap: () async { onTap: () async {
provider.deleteItem(context, items.id); provider.deleteItem(context, items.id);
}, },
child: Container(
height: 25,
width: 70,
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(10)),
shape: BoxShape.rectangle,
border: Border.all(
color: Colors.blue,
width: 2,
),
),
child: provider.isRemoveItem[items.id] ?? false child: provider.isRemoveItem[items.id] ?? false
? Center( ? Center(
child: Padding( child: Padding(
@@ -600,7 +620,6 @@ class _MycartState extends State<Mycart> {
), ),
) )
: Center(child: Text("Delete")), : Center(child: Text("Delete")),
),
) )
], ],
) )
@@ -734,9 +753,11 @@ class _MycartState extends State<Mycart> {
children: [ children: [
ListTile( ListTile(
leading: Icon(Icons.local_offer, color: Colors.green), leading: Icon(Icons.local_offer, color: Colors.green),
title: Text('APPLY COUPON', title: Text('APPLY COUPON', style: TextStyle(fontSize: 15)),
style: TextStyle(fontWeight: FontWeight.bold)), trailing: Icon(
trailing: Icon(Icons.arrow_forward_ios), Icons.arrow_forward_ios,
size: 15,
),
onTap: () { onTap: () {
if (provider.couponDataModel.data!.isNotEmpty) { if (provider.couponDataModel.data!.isNotEmpty) {
context.push(MyRoutes.COUPONSSCREEN, context.push(MyRoutes.COUPONSSCREEN,
@@ -753,33 +774,59 @@ class _MycartState extends State<Mycart> {
} }
}, },
), ),
Divider(
thickness: 0.2,
),
SummaryRow( SummaryRow(
label: 'Item Total Price', value: '\$${provider.totalPrice}'), label: 'Item Total Price', value: '${provider.totalPrice}'),
SummaryRow(label: 'Discount', value: "${provider.discount}"), SummaryRow(label: 'Discount Price', value: "${provider.discount}"),
SummaryRow(label: 'Delivery Free', value: 'Free', isGreen: true), SummaryRow(label: 'Delivery Free', value: 'Free', isGreen: true),
Divider(), Divider(
thickness: 0.2,
),
SummaryRow( SummaryRow(
label: 'Grand Total', label: 'Grand Total',
value: '\$${provider.grandPrice}', value: '${provider.grandPrice}',
isBold: true), isBold: true),
ListTile( ListTile(
leading: Icon(Icons.home, color: Colors.green), leading: Container(
decoration: BoxDecoration(
color: Colors.lightGreen.withOpacity(0.2),
borderRadius: BorderRadius.all(Radius.circular(8))),
child: Padding(
padding: const EdgeInsets.all(5.0),
child: Icon(Icons.home_outlined,
size: 15, color: Colors.green),
)),
title: provider.isDeliverable title: provider.isDeliverable
? Text('Delivering to : ${provider.pinCode}') ? Text('Delivering to : ${provider.pinCode}')
: Text( : Text(
'Out Of Stock : ${provider.pinCode}', 'Out Of Stock ${provider.pinCode}',
style: TextStyle(color: Colors.red), style: TextStyle(color: Colors.red),
), ),
trailing: Text('Change', style: TextStyle(color: Colors.blue)), trailing: Text('Change', style: TextStyle(color: Colors.green)),
onTap: () { onTap: () {
_showBottomSheet(context); _showBottomSheet(context);
}, },
), ),
SizedBox(height: 10), SizedBox(height: 10),
ElevatedButton( Padding(
style: ElevatedButton.styleFrom( padding: EdgeInsets.only(left: 20, right: 20),
backgroundColor: APPCOLOR.lightGreen), child: Container(
onPressed: () { height: 40,
decoration: BoxDecoration(
color: APPCOLOR.lightGreen,
borderRadius: BorderRadius.circular(5),
),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Text("${provider.grandPrice}",
style: TextStyle(fontSize: 16, color: Colors.white)),
Container(
width: 1, height: 30, color: APPCOLOR.whiteFBFEFB),
InkWell(
onTap: () {
if (provider.isDeliverable) { if (provider.isDeliverable) {
_showAddressBottomSheet(context); _showAddressBottomSheet(context);
} else { } else {
@@ -795,10 +842,45 @@ class _MycartState extends State<Mycart> {
} }
}, },
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.center, children: [
children: [Text('Place Order', style: TextStyle(fontSize: 16))], Text('Place Order ',
style:
TextStyle(fontSize: 16, color: Colors.white)),
Icon(
Icons.arrow_forward,
color: Colors.white,
size: 20,
)
],
),
)
],
), ),
), ),
),
// ElevatedButton(
// style: ElevatedButton.styleFrom(
// backgroundColor: APPCOLOR.lightGreen),
// onPressed: () {
// if (provider.isDeliverable) {
// _showAddressBottomSheet(context);
// } else {
// Fluttertoast.showToast(
// msg:
// "Delivery is not available for this pincode. Please try another pincode!",
// toastLength: Toast.LENGTH_SHORT,
// gravity: ToastGravity.BOTTOM,
// backgroundColor: Colors.red,
// textColor: Colors.white,
// fontSize: 14.0,
// );
// }
// },
// child: Row(
// mainAxisAlignment: MainAxisAlignment.center,
// children: [Text('Place Order', style: TextStyle(fontSize: 16))],
// ),
// ),
], ],
); );
} }
@@ -1172,11 +1254,11 @@ class SummaryRow extends StatelessWidget {
children: [ children: [
Text(label, Text(label,
style: TextStyle( style: TextStyle(
fontSize: 16, fontSize: 14,
fontWeight: isBold ? FontWeight.bold : FontWeight.normal)), fontWeight: isBold ? FontWeight.bold : FontWeight.normal)),
Text(value, Text(value,
style: TextStyle( style: TextStyle(
fontSize: 16, fontSize: 14,
fontWeight: isBold ? FontWeight.bold : FontWeight.normal, fontWeight: isBold ? FontWeight.bold : FontWeight.normal,
color: isGreen ? Colors.green : Colors.black)), color: isGreen ? Colors.green : Colors.black)),
], ],

View File

@@ -220,13 +220,13 @@ class _FavouriteScreenState extends State<FavouriteScreen>
Row( Row(
children: [ children: [
Text( Text(
"\$${product.discountPrice}", "${product.discountPrice}",
style: context.customSemiBold( style: context.customSemiBold(
Colors.black, 14), Colors.black, 14),
), ),
SizedBox(width: 5), SizedBox(width: 5),
Text( Text(
"\$${product.basePrice ?? ""}", "${product.basePrice ?? ""}",
style: context style: context
.customMedium( .customMedium(
Colors.grey.withOpacity(0.8), 12) Colors.grey.withOpacity(0.8), 12)

View File

@@ -279,7 +279,7 @@ class _FruitVeggieDetailState extends State<FruitVeggieDetail> {
CrossAxisAlignment.start, CrossAxisAlignment.start,
children: [ children: [
Text( Text(
"\$${product.discountPrice ?? " "}", "${product.discountPrice ?? " "}",
textAlign: TextAlign.left, textAlign: TextAlign.left,
maxLines: 1, maxLines: 1,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
@@ -288,7 +288,7 @@ class _FruitVeggieDetailState extends State<FruitVeggieDetail> {
), ),
const SizedBox(width: 5), const SizedBox(width: 5),
Text( Text(
"\$${product.basePrice ?? " "}", "${product.basePrice ?? " "}",
textAlign: TextAlign.left, textAlign: TextAlign.left,
maxLines: 1, maxLines: 1,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,

View File

@@ -387,7 +387,7 @@ class _HomeScreenState extends State<HomeScreen> {
Row( Row(
children: [ children: [
Text( Text(
"\$${bestdealproduct.discountPrice ?? ""} ", "${bestdealproduct.discountPrice ?? ""} ",
textAlign: TextAlign.left, textAlign: TextAlign.left,
maxLines: 1, maxLines: 1,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
@@ -395,7 +395,7 @@ class _HomeScreenState extends State<HomeScreen> {
Colors.black, 11), Colors.black, 11),
), ),
Text( Text(
"\$${bestdealproduct.basePrice ?? ""}", "${bestdealproduct.basePrice ?? ""}",
textAlign: TextAlign.left, textAlign: TextAlign.left,
maxLines: 1, maxLines: 1,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,

View File

@@ -179,7 +179,7 @@ class _OrderDetailsScreenState extends State<OrderDetailsScreen> {
), ),
title: Text(orderitem.productName ?? ""), title: Text(orderitem.productName ?? ""),
subtitle: Text("Qty: ${orderitem.quantity.toString()}"), subtitle: Text("Qty: ${orderitem.quantity.toString()}"),
trailing: Text("\$${orderitem.totalOrderItemPrice ?? ""}", trailing: Text("${orderitem.totalOrderItemPrice ?? ""}",
style: TextStyle(fontWeight: FontWeight.bold)), style: TextStyle(fontWeight: FontWeight.bold)),
), ),
); );

View File

@@ -240,7 +240,7 @@ class _ProductDetailsState extends State<ProductDetails> {
Row( Row(
children: [ children: [
Text( Text(
"\$${provider.productDetails.data!.discountPrice}", "${provider.productDetails.data!.discountPrice}",
style: TextStyle( style: TextStyle(
fontSize: 20, fontSize: 20,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
@@ -248,7 +248,7 @@ class _ProductDetailsState extends State<ProductDetails> {
), ),
SizedBox(width: 10), SizedBox(width: 10),
Text( Text(
"\$${provider.productDetails.data!.basePrice}", "${provider.productDetails.data!.basePrice}",
style: TextStyle( style: TextStyle(
fontSize: 20, fontSize: 20,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
@@ -1058,7 +1058,7 @@ class _ProductDetailsState extends State<ProductDetails> {
Row( Row(
children: [ children: [
Text( Text(
"\$${bestdealproduct.discountPrice ?? ""} ", "${bestdealproduct.discountPrice ?? ""} ",
textAlign: TextAlign.left, textAlign: TextAlign.left,
maxLines: 1, maxLines: 1,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
@@ -1066,7 +1066,7 @@ class _ProductDetailsState extends State<ProductDetails> {
Colors.black, 12), Colors.black, 12),
), ),
Text( Text(
"\$${bestdealproduct.basePrice ?? ""}", "${bestdealproduct.basePrice ?? ""}",
textAlign: TextAlign.left, textAlign: TextAlign.left,
maxLines: 1, maxLines: 1,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
@@ -1254,7 +1254,7 @@ class _ProductDetailsState extends State<ProductDetails> {
width: 2, height: 50, color: APPCOLOR.whiteFBFEFB), width: 2, height: 50, color: APPCOLOR.whiteFBFEFB),
SizedBox(width: 10), SizedBox(width: 10),
Text( Text(
"\$${cartProvider.totalPrice}", "${cartProvider.totalPrice}",
style: TextStyle( style: TextStyle(
fontSize: 25, fontSize: 25,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,