import 'package:cheminova/models/product_model.dart'; import 'package:cheminova/screens/order/checkout_screen.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'; import 'cart_screen.dart'; class ProductDetailScreen extends StatefulWidget { final Map? productModel; ProductModel? product; ProductDetailScreen({super.key, this.product, this.productModel}); @override State createState() => _ProductDetailScreenState(); } class _ProductDetailScreenState extends State { @override Widget build(BuildContext context) { return Scaffold( extendBodyBehindAppBar: true, appBar: AppBar( centerTitle: true, 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( "Product Detail", ), ), drawer: const MyDrawer(), body: Stack( fit: StackFit.expand, children: [ Image.asset( 'assets/images/image_1.png', fit: BoxFit.cover, ), SafeArea( child: Column( mainAxisAlignment: MainAxisAlignment.start, children: [ SizedBox( height: Get.height * 0.02, ), Card( margin: const EdgeInsets.symmetric(horizontal: 16), 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, crossAxisAlignment: CrossAxisAlignment.start, children: [ Padding( padding: const EdgeInsets.all(8.0), child: Container( height: Get.height * 0.4, width: Get.width * 0.7, decoration: BoxDecoration( border: Border.all( width: 4, color: Colors.white, ), borderRadius: BorderRadius.circular(15), ), child: ClipRRect( borderRadius: BorderRadius.circular(10), child: Image.asset("assets/images/product.png", fit: BoxFit.cover,), // Image.asset( // widget.product.image, // fit: BoxFit.cover, // ), ), ), ), Padding( padding: const EdgeInsets.symmetric(horizontal: 8), child: Text( widget.productModel!['name'], style: GoogleFonts.roboto( fontSize: 20, fontWeight: FontWeight.w600, color: Colors.white, ), ), ), Padding( padding: const EdgeInsets.symmetric(horizontal: 8), child: Text( "₹ ${widget.productModel!['price'].toString()}", style: GoogleFonts.roboto( fontSize: 24, fontWeight: FontWeight.w800, color: Colors.white, ), ), ), Padding( padding: const EdgeInsets.symmetric(horizontal: 8), child: Text( widget.productModel!['category']['categoryName'], style: GoogleFonts.roboto( fontSize: 16, fontWeight: FontWeight.w400, color: Colors.white, ), ), ), const SizedBox(height: 8), Padding( padding: const EdgeInsets.symmetric(horizontal: 8), child: Text( widget.productModel!['description'], style: GoogleFonts.roboto( fontSize: 16, fontWeight: FontWeight.w400, color: Colors.white, ), ), ), ], ), ), ), SizedBox(height: Get.height * 0.04), SizedBox( width: Get.width * 0.9, height: Get.height * 0.06, child: ElevatedButton( onPressed: () { // Pass the product data to the CartScreen Get.to(() => CartScreen( // Pass the product in a list )); }, style: ElevatedButton.styleFrom( foregroundColor: Colors.white, backgroundColor: const Color(0xFF00784C), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(10), ), ), child: Text( "Add To Cart", style: GoogleFonts.roboto( fontSize: 16, fontWeight: FontWeight.w600, ), ), ), ), ], ), ), ], ), ); } }