import 'package:cheminova/screens/report/sales_data_screen.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 ReportingAnalyticsScreen extends StatefulWidget { const ReportingAnalyticsScreen({super.key}); @override State createState() => _ReportingAnalyticsScreenState(); } class _ReportingAnalyticsScreenState extends State { final _searchController = TextEditingController(); final List _filterList = [ "Report Type", "Date Range", ]; @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( "Reporting & Analytics", ), ), 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: [ InputField( hintText: "Search Order", labelText: "Search Order", controller: _searchController, ), SizedBox(height: Get.height * 0.035), 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: [ SizedBox( height: Get.height * 0.05, child: ListView.builder( shrinkWrap: true, scrollDirection: Axis.horizontal, itemCount: _filterList.length, itemBuilder: (context, index) => Padding( padding: const EdgeInsets.symmetric(horizontal: 4), child: Chip( label: Text( _filterList[index], style: GoogleFonts.roboto( fontSize: 14, fontWeight: FontWeight.w500, ), ), ), ), ), ), SizedBox( height: Get.height * 0.6, child: ListView.builder( padding: EdgeInsets.zero, shrinkWrap: true, itemCount: 2, itemBuilder: (context, index) => Padding( padding: const EdgeInsets.symmetric(vertical: 8), child: Card( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Padding( padding: const EdgeInsets.fromLTRB( 16, 8, 8, 0), child: Text( "Report Title: Sales Data Report", style: GoogleFonts.roboto( fontSize: 14, fontWeight: FontWeight.w400, ), ), ), Padding( padding: const EdgeInsets.fromLTRB( 16, 8, 8, 8), child: Text( "Description: Overview of sales data", style: GoogleFonts.roboto( fontSize: 14, fontWeight: FontWeight.w400, ), ), ), SizedBox( width: Get.width * 0.5, child: Padding( padding: const EdgeInsets.all(8.0), child: ElevatedButton( onPressed: () => Get.to( () => const SalesDataScreen(), ), style: ElevatedButton.styleFrom( foregroundColor: Colors.white, backgroundColor: const Color(0xFF004791), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(10), ), ), child: Text( "Generate Report", style: GoogleFonts.roboto( fontSize: 14, fontWeight: FontWeight.w400, ), ), ), ), ) ], ), ), ), ), ) ], ), ), ), ], ), ), ], ), ); } }