Untitled
unknown
dart
a year ago
8.7 kB
7
Indexable
import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:takamol_user/app/app_ui.dart'; import 'package:takamol_user/app/modules/hospitality/model/location_model.dart'; import 'package:takamol_user/app/modules/hospitality/restaurant/cart/controllers/cart_controller.dart'; import 'package:takamol_user/app/server/models/restaurants_orders_items.dart'; import 'package:takamol_user/app/widgets/takamol/main_taxt.dart'; import 'package:takamol_user/app/widgets/takamol/takamol_button.dart'; import 'package:takamol_user/main.dart'; import 'package:takamol_user/resources/assets_generated.dart'; import 'package:takamol_user/resources/assets_svg_generated.dart'; import 'package:takamol_user/resources/strings_generated.dart'; class OrderDetailsPopup extends GetView<CartController> { final List<RestaurantOrderItem> restaurantOrderItems; final int restaurantOrderId; final LocationModel? orderLocation; const OrderDetailsPopup({ required this.restaurantOrderItems, required this.restaurantOrderId, required this.orderLocation, super.key, }); @override Widget build(BuildContext context) { return Column( crossAxisAlignment: CrossAxisAlignment.center, children: [ Container( decoration: BoxDecoration( color: appColors.whiteColor, boxShadow: [ BoxShadow( color: Colors.black.withOpacity(0.03), offset: const Offset(0, 4), spreadRadius: 10, blurRadius: 10, ), ], borderRadius: BorderRadius.circular(14)), child: Column( crossAxisAlignment: CrossAxisAlignment.center, children: [ SizedBox(height: 10.h), Container( padding: const EdgeInsets.all(20), decoration: const BoxDecoration( shape: BoxShape.circle, border: Border( top: BorderSide(color: Color(0xff2CCBB3), width: 0.5), right: BorderSide(color: Color(0xff2CCBB3), width: 0.5), left: BorderSide(color: Color(0xff2CCBB3), width: 0.5), ), ), child: AppSVGAssets.getWidget( 'assets/svgs/icons/check_circle.svg', ), ), Align( alignment: Alignment.center, child: MainText( text: AppStrings.orderSentSuccessfully, fontWeight: FontWeight.w600, ).paddingSymmetric(vertical: 20.h), ), SizedBox(height: 10.h), Container( width: Get.width, margin: EdgeInsets.all(15.h), padding: EdgeInsets.symmetric(vertical: 16.h, horizontal: 10.w), decoration: BoxDecoration( color: Theme.of(context).colorScheme.secondary, borderRadius: BorderRadius.circular(14)), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ MainText( text: AppStrings.orderDetails, fontWeight: FontWeight.w600, ), MainText( text: '#${restaurantOrderId.toString()}', fontWeight: FontWeight.w600, ), ], )), ListView.builder( shrinkWrap: true, physics: const NeverScrollableScrollPhysics(), itemCount: restaurantOrderItems.length, itemBuilder: (context, index) { return ListTile( leading: ClipRRect( borderRadius: BorderRadius.circular(15), child: restaurantOrderItems[index].item!.image == null ? const Image( image: AppAssets.coffee, ) : Image.network( restaurantOrderItems[index].item!.image!, ), ), trailing: Container( decoration: BoxDecoration( color: appColors.takamolColor.withOpacity(0.05), shape: BoxShape.circle), padding: const EdgeInsets.all(12), child: MainText( text: restaurantOrderItems[index].count.toString(), fontWeight: FontWeight.w600, ), ), title: MainText( text: restaurantOrderItems[index].item?.name ?? ''), subtitle: Row( children: [ if (restaurantOrderItems[index].itemSize != null) ...[ MainText( text: AppStrings.size, color: appColors.takamolFont2, ), const SizedBox(width: 4), MainText( text: controller.getSize( restaurantOrderItems[index].itemSize!), ), ], if (restaurantOrderItems[index].item?.allowSugar == true) ...[ if (restaurantOrderItems[index].itemSize != null) MainText( text: " - ", color: appColors.takamolFont2, ), const SizedBox(width: 4), MainText( text: AppStrings.sugar, color: appColors.takamolFont2, ), const SizedBox(width: 4), MainText( text: restaurantOrderItems[index] .sugarSpoons .toString(), ), ], ], ).paddingOnly(top: 6)); }, ), SizedBox(height: 15.h) ], ), ), SizedBox(height: 20.h), Container( decoration: BoxDecoration( color: appColors.whiteColor, borderRadius: BorderRadius.circular(22.r), boxShadow: [ BoxShadow( color: Colors.black.withOpacity(0.03), offset: const Offset(0, 4), spreadRadius: 10, blurRadius: 10, ), ], ), padding: EdgeInsets.symmetric(horizontal: 10.w, vertical: 10.h), child: Container( padding: EdgeInsets.symmetric(horizontal: 4.w, vertical: 2.h), decoration: BoxDecoration( borderRadius: BorderRadius.circular(22.r), border: Border.all( color: appColors.borderGreyColor, ), ), child: ListTile( leading: CircleAvatar( backgroundColor: Theme.of(context).colorScheme.secondary, child: Icon( Icons.location_on_outlined, color: appColors.mediumGreyColor, )), title: Text( orderLocation?.locationId == 1 ? 'مكتبي' : 'غرفة الاجتماعات', style: Theme.of(context).textTheme.labelSmall, ), subtitle: Text( orderLocation?.locationSubTitle ?? '', style: Theme.of(context) .textTheme .titleSmall ?.copyWith(fontWeight: FontWeight.w400), ), ), ), ), SizedBox(height: 20.h), ], ); } }
Editor is loading...
Leave a Comment