import 'package:cheminova/models/product_model.dart'; import 'package:cheminova/widgets/input_field.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 UpdateStockScreen extends StatefulWidget { final ProductModel product; const UpdateStockScreen({ super.key, required this.product, }); @override State createState() => _UpdateStockScreenState(); } class _UpdateStockScreenState extends State { final _textController = TextEditingController(); @override Widget build(BuildContext context) { return Scaffold( extendBodyBehindAppBar: true, appBar: AppBar( centerTitle: true, 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( "Product Detail", ), ), 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: [ SizedBox( width: Get.width, child: 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( widget.product.image, fit: BoxFit.cover, ), ), ), ), ), Card( child: SizedBox( width: Get.width, child: Padding( padding: const EdgeInsets.all(12), child: Text( "Product Name: ${widget.product.name}", style: GoogleFonts.roboto( fontSize: Get.width * 0.04, fontWeight: FontWeight.w700, ), ), ), ), ), Card( child: SizedBox( width: Get.width, child: Padding( padding: const EdgeInsets.all(12), child: Text( "Current Stock: ${widget.product.quantity}", style: GoogleFonts.roboto( fontSize: Get.width * 0.04, fontWeight: FontWeight.w700, ), ), ), ), ), InputField( hintText: "Enter New Stock Quantity:", labelText: "Enter New Stock Quantity:", controller: _textController, ), InputField( hintText: "Reason for Update: Restock", labelText: "Reason for Update: Restock", controller: _textController, ) ], ), ), ), SizedBox(height: Get.height * 0.04), SizedBox( width: Get.width * 0.9, height: Get.height * 0.06, child: ElevatedButton( onPressed: () {}, style: ElevatedButton.styleFrom( foregroundColor: Colors.white, backgroundColor: const Color(0xFF00784C), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(10), ), ), child: Text( "Save Stock Update", style: GoogleFonts.roboto( fontSize: Get.width * 0.05, fontWeight: FontWeight.w600, ), ), ), ), ], ), ), ], ), ); } }