import 'package:cheminova/models/product_model.dart'; import 'package:cheminova/screens/order_management/order_status_update_screen.dart'; import 'package:cheminova/widgets/product_card.dart'; import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:get/get.dart'; import 'package:google_fonts/google_fonts.dart'; class OrderFullfilmentScreen extends StatefulWidget { const OrderFullfilmentScreen({super.key}); @override State createState() => _OrderFullfilmentScreenState(); } class _OrderFullfilmentScreenState extends State { final List _checkoutList = [ ProductModel( id: "1", image: 'assets/images/image_1.png', name: "Product 1", category: ProductCategory.food, description: 'Product 1 description', price: 100, ), ]; @override Widget build(BuildContext context) { return Scaffold( extendBodyBehindAppBar: true, appBar: AppBar( backgroundColor: Colors.transparent, elevation: 0, leading: GestureDetector( onTap: () {}, child: Padding( padding: const EdgeInsets.all(16.0), child: SvgPicture.asset( 'assets/svg/menu.svg', ), ), ), actions: [ GestureDetector( onTap: () => Get.back(), child: Padding( padding: const EdgeInsets.all(8.0), child: SvgPicture.asset( 'assets/svg/back_arrow.svg', ), ), ), ], title: const Text( "Order Fulfillment", ), ), body: Stack( fit: StackFit.expand, children: [ Image.asset( 'assets/images/image_1.png', fit: BoxFit.cover, ), SafeArea( child: Column( mainAxisSize: MainAxisSize.min, mainAxisAlignment: MainAxisAlignment.start, children: [ SizedBox( height: Get.height * 0.02, ), Card( margin: const EdgeInsets.symmetric(horizontal: 18), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(19), side: const BorderSide(color: Color(0xFFFDFDFD)), ), color: const Color(0xFFB4D1E5).withOpacity(0.9), child: Padding( padding: const EdgeInsets.all(12.0), child: Column( mainAxisSize: MainAxisSize.min, children: [ Card( child: Column( children: [ SizedBox( width: Get.width, child: Padding( padding: const EdgeInsets.fromLTRB(8, 8, 8, 0), child: Text( "Order Summary", style: GoogleFonts.roboto( fontSize: Get.width * 0.04, fontWeight: FontWeight.w400, ), ), ), ), SizedBox( width: Get.width, child: Padding( padding: const EdgeInsets.fromLTRB(8, 8, 8, 0), child: Text( "Order ID: 123456", style: GoogleFonts.roboto( fontSize: Get.width * 0.04, fontWeight: FontWeight.w400, ), ), ), ), SizedBox( width: Get.width, child: Padding( padding: const EdgeInsets.fromLTRB(8, 8, 8, 0), child: Text( "Order Date: MM/DD/YYYY", style: GoogleFonts.roboto( fontSize: Get.width * 0.04, fontWeight: FontWeight.w400, ), ), ), ), SizedBox( width: Get.width, child: Padding( padding: const EdgeInsets.all(8.0), child: Text( "Total Price: ₹ Total", style: GoogleFonts.roboto( fontSize: Get.width * 0.04, fontWeight: FontWeight.w400, ), ), ), ), ], ), ), const SizedBox(height: 8), Card( child: SizedBox( height: Get.height * 0.4, child: Padding( padding: EdgeInsets.all(Get.width * 0.02), child: ListView.builder( padding: EdgeInsets.zero, itemCount: 10, itemBuilder: (context, index) => ProductCard( product: _checkoutList[0], isCheckout: true, ), ), ), ), ), ], ), ), ), SizedBox(height: Get.height * 0.04), SizedBox( width: Get.width * 0.9, height: Get.height * 0.06, child: ElevatedButton( onPressed: () => Get.to( () => const OrderStatusUpdateScreen(), ), style: ElevatedButton.styleFrom( foregroundColor: Colors.white, backgroundColor: const Color(0xFF00784C), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(10), ), ), child: Text( "Track Shipment", style: GoogleFonts.roboto( fontSize: Get.width * 0.04, fontWeight: FontWeight.w600, ), ), ), ), ], ), ), ], ), ); } }