import 'package:flutter/material.dart'; import 'package:hexcolor/hexcolor.dart'; import 'package:idrocap/private/notifiche.dart'; import 'package:idrocap/utility/utility.dart'; import '../constant/globals.dart' as globals; class Menu extends StatelessWidget { @override Widget build(BuildContext context) { return Drawer( backgroundColor: Colors.white, child: ListView( padding: EdgeInsets.zero, children: [ Container( height: 40, color: HexColor(globals.colorAppbar), ), Container( color: HexColor(globals.colorAppbar), child: ListTile( leading: Icon( Icons.account_circle_outlined, color: Colors.white, size: 50, ), title: Column( children: [ Wrap( children: [ Align( alignment: Alignment.topLeft, child: Text( globals.titolo, style: TextStyle(color: Colors.white), ), ) ], ), Wrap( children: [ Align( alignment: Alignment.topLeft, child: Text( globals.userAccess.user.name + " " + globals.userAccess.user.surname, style: TextStyle(color: Colors.white), ), ) ], ) ], ), // subtitle: Text(" "), onTap: () {}, ), ), for (int i = 0; i < globals.userAccess.user.mobile_menu.length; i++) Column( children: [ if (globals.userAccess.user.mobile_menu[i]['menu_item'] == "water_drawing_paperworks") ListTile( leading: Icon( Icons.description, size: 30, ), title: Text('Pratiche di Attingimento'), // subtitle: Text(" "), onTap: () { print(ModalRoute.of(context)?.settings.name.toString()); if (ModalRoute.of(context)?.settings.name.toString() != "pratiche") { if (Navigator.canPop(context)) { Navigator.pop(context); } Navigator.of(context).pushNamedAndRemoveUntil('pratiche', (Route route) => false); } }, ), if (globals.userAccess.user.mobile_menu[i]['menu_item'] == "users") ListTile( leading: Icon( Icons.person, size: 30, ), title: Text("Utenti"), onTap: () { if (ModalRoute.of(context)?.settings.name.toString() != "userList") { if (Navigator.canPop(context)) { Navigator.pop(context); } Navigator.of(context).pushNamedAndRemoveUntil('userList', (Route route) => false); } }, ), if (globals.userAccess.user.mobile_menu[i]['menu_item'] == "organisations") ListTile( leading: Icon( Icons.supervisor_account, size: 30, ), title: Text("Organizzazioni"), onTap: () { if (ModalRoute.of(context)?.settings.name.toString() != "organizzazioni") { if (Navigator.canPop(context)) { Navigator.pop(context); } Navigator.of(context).pushNamedAndRemoveUntil('organizzazioni', (Route route) => false); } }, ), ], ), ListTile( leading: Icon( Icons.notifications, size: 30, ), title: Text("Notifiche"), onTap: () { Navigator.push(context, MaterialPageRoute(builder: (context) => Notifiche())); }, ), Container( child: Align( alignment: FractionalOffset.bottomLeft, child: Container( child: Column( children: [ Divider(), ListTile( leading: Icon( Icons.logout, size: 30, ), title: Text("Disconetti"), onTap: () { Utility.logout(context); }, ), ], ), ), ), ), ], ), ); } }