import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:generp/Notifiers/commonProvider/commonPagesProvider.dart'; import 'package:generp/screens/screensExports.dart'; import 'package:provider/provider.dart'; import '../../Utils/app_colors.dart'; import '../../Utils/commonWidgets.dart'; class Commondashboard extends StatefulWidget { const Commondashboard({super.key}); @override State createState() => _CommondashboardState(); } class _CommondashboardState extends State { @override void initState() { // TODO: implement initState super.initState(); WidgetsBinding.instance.addPostFrameCallback((timeStamp) { var prov = Provider.of(context,listen: false); prov.commonAccessPagesAPIFunction(context); },); } @override Widget build(BuildContext context) { return Consumer( builder: (context,provider,child) { final gridPages = provider.accessPages .where((page) => page.id != 292 ) .toList(); return WillPopScope( onWillPop: () => onBackPressed(context), child: Scaffold( resizeToAvoidBottomInset: true, backgroundColor: AppColors.scaffold_bg_color, appBar: appbar(context, "Common"), body: SafeArea( child: GridView.builder( padding: EdgeInsets.symmetric(vertical: 10, horizontal: 10), itemCount: gridPages.length, gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 2, crossAxisSpacing: 10, mainAxisSpacing: 10, ), itemBuilder: (context, index) { final icons = ["comm_ic_1", "comm_ic_2"]; return InkResponse( onTap: () { switch (gridPages[index].pageName!) { case "Account List": Navigator.push( context, MaterialPageRoute(builder: (context) => Accountslist()), ); break; case "Account Ledger": Navigator.push( context, MaterialPageRoute(builder: (context) => Accountledger()), ); break; default: print("111"); break; } }, child: Container( decoration: BoxDecoration( color: Colors.white, borderRadius: BorderRadius.circular(30), ), child: Column( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center, children: [ SvgPicture.asset("assets/svg/${icons[index]}.svg"), SizedBox(height: 10), Text(gridPages[index].pageName!), ], ), ), ); }, ), ), floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat, floatingActionButton:provider.accessPages .any((page) => page.id==292)? InkResponse( onTap: () { Navigator.push( context, MaterialPageRoute(builder: (context) => Addcommonpayment()), ); }, child: Container( height: 45, alignment: Alignment.center, margin: EdgeInsets.symmetric(horizontal: 10), padding: EdgeInsets.symmetric(horizontal: 10, vertical: 5), decoration: BoxDecoration( color: AppColors.app_blue, borderRadius: BorderRadius.circular(15), ), child: Text( "Add Common Account", style: TextStyle( fontSize: 15, fontFamily: "JakartaMedium", color: Colors.white, ), ), ), ):SizedBox(height: 0,), ), ); } ); } }