import 'package:cheminova/models/product_model.dart'; import 'package:cheminova/widgets/my_drawer.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 OrderConfermationScreen extends StatefulWidget { const OrderConfermationScreen({super.key}); @override State createState() => _OrderConfermationScreenState(); } class _OrderConfermationScreenState extends State { final List _checkoutList = [ ProductModel( id: "1", image: 'assets/images/product.png', name: "Product 1", category: ProductCategory.food, description: 'Product 1 description', price: 100.00, ), ]; @override Widget build(BuildContext context) { return Scaffold( extendBodyBehindAppBar: true, appBar: AppBar( backgroundColor: Colors.transparent, elevation: 0, leading: Builder( builder: (context) { return GestureDetector( onTap: () => Scaffold.of(context).openDrawer(), 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 Confirmation", ), ), drawer: const MyDrawer(), body: Stack( fit: StackFit.expand, children: [ Image.asset( 'assets/images/image_1.png', fit: BoxFit.cover, ), SafeArea( child: Column( 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: EdgeInsets.all(Get.width * 0.04), child: Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ Card( child: SizedBox( width: Get.width, height: Get.height * 0.05, child: Padding( padding: const EdgeInsets.all(8.0), child: Text( "Order Number: 123456", style: GoogleFonts.roboto( fontSize: Get.width * 0.04, fontWeight: FontWeight.w400, ), ), ), ), ), Padding( padding: EdgeInsets.all(Get.width * 0.02), child: Text( 'Order Summary', style: GoogleFonts.roboto( fontSize: Get.width * 0.04, fontWeight: FontWeight.w500, color: Colors.black, ), ), ), Card( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ SizedBox( height: Get.height * 0.22, 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, ), ), ), ), Padding( padding: EdgeInsets.all(Get.width * 0.04), child: Text( 'Total Price: ₹ 1000.00', style: GoogleFonts.roboto( fontSize: Get.width * 0.05, fontWeight: FontWeight.w700, color: Colors.black, ), ), ), ], ), ), Padding( padding: EdgeInsets.all(Get.width * 0.02), child: Text( 'Shipping Information', style: GoogleFonts.roboto( fontSize: Get.width * 0.04, fontWeight: FontWeight.w500, color: Colors.black, ), ), ), Card( child: SizedBox( width: Get.width, height: Get.height * 0.2, child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Padding( padding: const EdgeInsets.all(8.0), child: Text( "Address: Lorem Ipsum is simply dummy text of the printing and typesetting industry", style: GoogleFonts.roboto( fontSize: Get.width * 0.04, fontWeight: FontWeight.w400, ), ), ), Padding( padding: const EdgeInsets.all(8.0), child: Text( "Contact: +91 9123456789", style: GoogleFonts.roboto( fontSize: Get.width * 0.04, fontWeight: FontWeight.w400, ), ), ), ], ), ), ), Card( child: SizedBox( width: Get.width, height: Get.height * 0.05, child: Padding( padding: const EdgeInsets.all(8.0), child: Text( "Estimated Delivery Date: [Date]", style: GoogleFonts.roboto( fontSize: Get.width * 0.04, fontWeight: FontWeight.w400, ), ), ), ), ), ], ), ), ), ], ), ), ], ), ); } }