import 'package:fcs/domain/constants.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_icons_null_safety/flutter_icons_null_safety.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; class Privilege { String id; String? name; String? desc; bool? sysAdminOnly = true; bool? isChecked = false; IconData? iconData; Privilege( {required this.id, this.name, this.desc, this.isChecked, this.sysAdminOnly}) { if (this.id == privilege_admin) { iconData = MaterialCommunityIcons.account_tie; } else if (this.id == privilege_support) { iconData = SimpleLineIcons.support; } else if (this.id == privilege_package) { iconData = Octicons.package; } else if (this.id == privilege_shipment) { iconData = SimpleLineIcons.direction; } else if (this.id == privilege_fcs_shipment) { iconData = Ionicons.ios_airplane; } else if (this.id == privilege_staff) { iconData = MaterialCommunityIcons.worker; } else if (this.id == privilege_carton) { iconData = MaterialCommunityIcons.package; } else if (this.id == privilege_customer) { iconData = Feather.users; } else if (this.id == privilege_delivery) { iconData = MaterialCommunityIcons.truck_fast; } else if (this.id == privilege_invoice) { iconData = FontAwesomeIcons.fileInvoice; } else if (this.id == privilege_processing) { iconData = FontAwesome.dropbox; } else if (this.id == privilege_receiving) { iconData = MaterialCommunityIcons.inbox_arrow_down; } else { iconData = MaterialCommunityIcons.account_question; } } factory Privilege.fromMap(Map map, String docID) { return Privilege( id: docID, name: map['name'], desc: map['desc'], sysAdminOnly: map['sys_admin_only']); } }