remove multi layer list with list of homeTile grids

This commit is contained in:
2024-08-24 05:10:38 +02:00
parent 2039948731
commit d1f61200fc

View File

@@ -30,84 +30,126 @@ class HomeTileGrid extends StatefulWidget {
} }
class _HomeTileGridState extends State<HomeTileGrid> { class _HomeTileGridState extends State<HomeTileGrid> {
late List<List<dynamic>> personalTileList = []; late List<HomeTile> persHTList = [];
late List<List<dynamic>> businessTileList = []; late List<HomeTile> busHTList = [];
late List<List<dynamic>> devTileList = []; late List<List<HomeTile>> pbswitch;
late List<List<List<dynamic>>> pbswitch;
late bool businessUserSwitch; late bool businessUserSwitch;
int _selectedIndex = 0; int _selectedIndex = 0;
final baseAPI = AppEnviroment.baseApiUrl; final baseAPI = AppEnviroment.baseApiUrl;
void setAppsNewPersonal(List<List<dynamic>> tileList) { void setAppsNewPersonal(List<HomeTile> tileList) {
if (widget.signedInUser.fname == "") { if (widget.signedInUser.fname == "") {
tileList.add( tileList.add(HomeTile(
[ onTap: () {
Icons.perm_identity,
"Setup Profie",
() {
Navigator.of(context) Navigator.of(context)
.popAndPushNamed('/profile', arguments: widget.signedInUser); .popAndPushNamed('/profile', arguments: widget.signedInUser);
// Navigator.popAndPushNamed(context, '/patient-manager', },
// arguments: widget.userEmail); tileName: "Setup Profie",
} tileIcon: Icons.perm_identity,
], p: getPrim(),
); s: getSec(),
));
// tileList.add(
// [
// home
// Icons.perm_identity,
// "Setup Profie",
// () {
// Navigator.of(context)
// .popAndPushNamed('/profile', arguments: widget.signedInUser);
// // Navigator.popAndPushNamed(context, '/patient-manager',
// // arguments: widget.userEmail);
// }
// ],
// );
} }
} }
void setAppsNewBusiness(List<List<dynamic>> tileList) { void setAppsNewBusiness(List<HomeTile> tileList) {
tileList.add( tileList.add(HomeTile(
[ onTap: () {
Icons.add_business_outlined,
"Setup Business",
() {
Navigator.of(context).popAndPushNamed( Navigator.of(context).popAndPushNamed(
'/business/add', '/business/add',
arguments: widget.signedInUser, arguments: widget.signedInUser,
); );
} },
], tileName: "Setup Business",
); tileIcon: Icons.add_business_outlined,
p: getPrim(),
s: getSec(),
));
// tileList.add(
// [
// Icons.add_business_outlined,
// "Setup Business",
// () {
// Navigator.of(context).popAndPushNamed(
// '/business/add',
// arguments: widget.signedInUser,
// );
// }
// ],
// );
} }
void setAppsPersonal(List<List<dynamic>> tileList) { void setAppsPersonal(List<HomeTile> tileList) {
tileList.add( tileList.add(HomeTile(
[ onTap: () {
Icons.medication,
"Patient Profile",
() {
//comeback here
Navigator.of(context).popAndPushNamed('/patient-profile', Navigator.of(context).popAndPushNamed('/patient-profile',
arguments: PatientViewArguments( arguments: PatientViewArguments(
widget.signedInUser, null, null, null, "personal")); widget.signedInUser, null, null, null, "personal"));
// Navigator.popAndPushNamed(context, '/patient-manager', },
// arguments: widget.userEmail); tileName: "Patient Profile",
} tileIcon: Icons.medication,
], p: getPrim(),
); s: getSec(),
tileList.add( ));
[ tileList.add(HomeTile(
Icons.check_box_outlined, onTap: () {
"Access Review",
() {
Navigator.of(context).popAndPushNamed( Navigator.of(context).popAndPushNamed(
'/patient-access-review', '/patient-access-review',
arguments: widget.signedInUser, arguments: widget.signedInUser,
); );
// Navigator.popAndPushNamed(context, '/patient-manager', },
// arguments: widget.userEmail); tileName: "Access Review",
} tileIcon: Icons.check_box_outlined,
], p: getPrim(),
); s: getSec(),
));
// tileList.add(
// [
// Icons.medication,
// "Patient Profile",
// () {
// //comeback here
// Navigator.of(context).popAndPushNamed('/patient-profile',
// arguments: PatientViewArguments(
// widget.signedInUser, null, null, null, "personal"));
// // Navigator.popAndPushNamed(context, '/patient-manager',
// // arguments: widget.userEmail);
// }
// ],
// );
// tileList.add(
// [
// Icons.check_box_outlined,
// "Access Review",
// () {
// Navigator.of(context).popAndPushNamed(
// '/patient-access-review',
// arguments: widget.signedInUser,
// );
// // Navigator.popAndPushNamed(context, '/patient-manager',
// // arguments: widget.userEmail);
// }
// ],
// );
} }
void setAppsBusiness(List<List<dynamic>> tileList) { void setAppsBusiness(List<HomeTile> tileList) {
if (widget.businessUser!.access == "Full") { if (widget.businessUser!.access == "Full") {
tileList.add( tileList.add(HomeTile(
[ onTap: () {
Icons.business,
"Business Profile",
() {
Navigator.of(context).popAndPushNamed( Navigator.of(context).popAndPushNamed(
'/business-profile', '/business-profile',
arguments: BusinessArguments( arguments: BusinessArguments(
@@ -116,18 +158,35 @@ class _HomeTileGridState extends State<HomeTileGrid> {
widget.business, widget.business,
), ),
); );
// Navigator.popAndPushNamed(context, '/patient-manager', },
// arguments: widget.userEmail); tileName: "Business Profile",
} tileIcon: Icons.business,
], p: getPrim(),
); s: getSec(),
));
// tileList.add(
// [
// Icons.business,
// "Business Profile",
// () {
// Navigator.of(context).popAndPushNamed(
// '/business-profile',
// arguments: BusinessArguments(
// widget.signedInUser,
// widget.businessUser,
// widget.business,
// ),
// );
// // Navigator.popAndPushNamed(context, '/patient-manager',
// // arguments: widget.userEmail);
// }
// ],
// );
} }
if (widget.business!.type == "Doctors Office") { if (widget.business!.type == "Doctors Office") {
tileList.add( tileList.add(HomeTile(
[ onTap: () {
Icons.medication,
"Manage Patient",
() {
Navigator.of(context).popAndPushNamed( Navigator.of(context).popAndPushNamed(
'/patient-manager', '/patient-manager',
arguments: BusinessArguments( arguments: BusinessArguments(
@@ -136,90 +195,181 @@ class _HomeTileGridState extends State<HomeTileGrid> {
widget.business, widget.business,
), ),
); );
// Navigator.popAndPushNamed(context, '/patient-manager', },
// arguments: widget.userEmail); tileName: "Manage Patient",
} tileIcon: Icons.medication,
], p: getPrim(),
); s: getSec(),
));
// tileList.add(
// [
// Icons.medication,
// "Manage Patient",
// () {
// Navigator.of(context).popAndPushNamed(
// '/patient-manager',
// arguments: BusinessArguments(
// widget.signedInUser,
// widget.businessUser,
// widget.business,
// ),
// );
// // Navigator.popAndPushNamed(context, '/patient-manager',
// // arguments: widget.userEmail);
// }
// ],
// );
} }
} }
void setAppsDev(List<List<dynamic>> tileList) { void setAppsDev(List<HomeTile> tileList) {
if (AppEnviroment.getEnv() == "Dev") { if (AppEnviroment.getEnv() == "Dev") {
tileList.add( tileList.add(HomeTile(
[ onTap: () {
Icons.change_circle,
"Loading - Dev",
() {
showDialog( showDialog(
context: context, context: context,
builder: (context) { builder: (context) {
return const Mihloadingcircle(); return const Mihloadingcircle();
}, },
); );
} },
], tileName: "Loading - Dev",
); tileIcon: Icons.change_circle,
tileList.add( p: getPrim(),
[ s: getSec(),
Icons.add_business_outlined, ));
"Setup Bus - Dev", // tileList.add(
() { // [
// Icons.change_circle,
// "Loading - Dev",
// () {
// showDialog(
// context: context,
// builder: (context) {
// return const Mihloadingcircle();
// },
// );
// }
// ],
// );
tileList.add(HomeTile(
onTap: () {
Navigator.of(context).popAndPushNamed( Navigator.of(context).popAndPushNamed(
'/business/add', '/business/add',
arguments: widget.signedInUser, arguments: widget.signedInUser,
); );
} },
], tileName: "Setup Bus - Dev",
); tileIcon: Icons.add_business_outlined,
tileList.add([ p: getPrim(),
Icons.add_circle_outline, s: getSec(),
"Add Pat - Dev", ));
() { // tileList.add(
// [
// Icons.add_business_outlined,
// "Setup Bus - Dev",
// () {
// Navigator.of(context).popAndPushNamed(
// '/business/add',
// arguments: widget.signedInUser,
// );
// }
// ],
// );
tileList.add(HomeTile(
onTap: () {
Navigator.of(context).popAndPushNamed('/patient-manager/add', Navigator.of(context).popAndPushNamed('/patient-manager/add',
arguments: widget.signedInUser); arguments: widget.signedInUser);
} },
]); tileName: "Add Pat - Dev",
tileList.add( tileIcon: Icons.add_circle_outline,
[ p: getPrim(),
Icons.perm_identity, s: getSec(),
"Upd Prof - Dev", ));
() { // tileList.add([
// Icons.add_circle_outline,
// "Add Pat - Dev",
// () {
// Navigator.of(context).popAndPushNamed('/patient-manager/add',
// arguments: widget.signedInUser);
// }
// ]);
tileList.add(HomeTile(
onTap: () {
Navigator.of(context) Navigator.of(context)
.popAndPushNamed('/profile', arguments: widget.signedInUser); .popAndPushNamed('/profile', arguments: widget.signedInUser);
// Navigator.popAndPushNamed(context, '/patient-manager', },
// arguments: widget.userEmail); tileName: "Upd Prof - Dev",
} tileIcon: Icons.perm_identity,
], p: getPrim(),
); s: getSec(),
tileList.add([ ));
Icons.warning_amber_rounded, // tileList.add(
"Warn - Dev", // [
() { // Icons.perm_identity,
// "Upd Prof - Dev",
// () {
// Navigator.of(context)
// .popAndPushNamed('/profile', arguments: widget.signedInUser);
// // Navigator.popAndPushNamed(context, '/patient-manager',
// // arguments: widget.userEmail);
// }
// ],
// );
tileList.add(HomeTile(
onTap: () {
showDialog( showDialog(
context: context, context: context,
builder: (context) { builder: (context) {
return const MIHWarningMessage(warningType: "No Access"); return const MIHWarningMessage(warningType: "No Access");
}, },
); );
} },
]); tileName: "Warn - Dev",
tileList.add([ tileIcon: Icons.warning_amber_rounded,
Icons.error_outline_outlined, p: getPrim(),
"Error - Dev", s: getSec(),
() { ));
// tileList.add([
// Icons.warning_amber_rounded,
// "Warn - Dev",
// () {
// showDialog(
// context: context,
// builder: (context) {
// return const MIHWarningMessage(warningType: "No Access");
// },
// );
// }
// ]);
tileList.add(HomeTile(
onTap: () {
showDialog( showDialog(
context: context, context: context,
builder: (context) { builder: (context) {
return const MIHErrorMessage(errorType: "Invalid Username"); return const MIHErrorMessage(errorType: "Invalid Username");
}, },
); );
} },
]); tileName: "Error - Dev",
tileList.add([ tileIcon: Icons.error_outline_outlined,
Icons.check_circle_outline_outlined, p: getPrim(),
"Success - Dev", s: getSec(),
() { ));
// tileList.add([
// Icons.error_outline_outlined,
// "Error - Dev",
// () {
// showDialog(
// context: context,
// builder: (context) {
// return const MIHErrorMessage(errorType: "Invalid Username");
// },
// );
// }
// ]);
tileList.add(HomeTile(
onTap: () {
showDialog( showDialog(
context: context, context: context,
builder: (context) { builder: (context) {
@@ -229,50 +379,74 @@ class _HomeTileGridState extends State<HomeTileGrid> {
"Congratulations! Your account has been created successfully. You are log in and can start exploring.\n\nPlease note: more apps will appear once you update your profile."); "Congratulations! Your account has been created successfully. You are log in and can start exploring.\n\nPlease note: more apps will appear once you update your profile.");
}, },
); );
} },
]); tileName: "Success - Dev",
tileList.add([ tileIcon: Icons.check_circle_outline_outlined,
Icons.delete_forever_outlined, p: getPrim(),
"Delete - Dev", s: getSec(),
() { ));
// tileList.add([
// Icons.check_circle_outline_outlined,
// "Success - Dev",
// () {
// showDialog(
// context: context,
// builder: (context) {
// return const MIHSuccessMessage(
// successType: "Success",
// successMessage:
// "Congratulations! Your account has been created successfully. You are log in and can start exploring.\n\nPlease note: more apps will appear once you update your profile.");
// },
// );
// }
// ]);
tileList.add(HomeTile(
onTap: () {
showDialog( showDialog(
context: context, context: context,
builder: (context) { builder: (context) {
return MIHDeleteMessage(deleteType: "File", onTap: () {}); return MIHDeleteMessage(deleteType: "File", onTap: () {});
}, },
); );
} },
]); tileName: "Delete - Dev",
tileIcon: Icons.delete_forever_outlined,
p: getPrim(),
s: getSec(),
));
// tileList.add([
// Icons.delete_forever_outlined,
// "Delete - Dev",
// () {
// showDialog(
// context: context,
// builder: (context) {
// return MIHDeleteMessage(deleteType: "File", onTap: () {});
// },
// );
// }
// ]);
} }
} }
List<List<List<dynamic>>> setApps(List<List<dynamic>> personalTileList, List<List<HomeTile>> setApps(
List<List<dynamic>> businessTileList) { List<HomeTile> personalTileList, List<HomeTile> businessTileList) {
//print(widget.businessUser);
if (widget.signedInUser.fname == "") { if (widget.signedInUser.fname == "") {
//print("New personal user");
setAppsNewPersonal(personalTileList); setAppsNewPersonal(personalTileList);
} else if (widget.signedInUser.type == "personal") { } else if (widget.signedInUser.type == "personal") {
//print("existing personal user");
setAppsPersonal(personalTileList); setAppsPersonal(personalTileList);
} else if (widget.businessUser == null) { } else if (widget.businessUser == null) {
//print("new business user");
setAppsPersonal(personalTileList); setAppsPersonal(personalTileList);
setAppsNewBusiness(businessTileList); setAppsNewBusiness(businessTileList);
} else { } else {
//business
//print("existing business user");
setAppsPersonal(personalTileList); setAppsPersonal(personalTileList);
setAppsBusiness(businessTileList); setAppsBusiness(businessTileList);
} }
if (AppEnviroment.getEnv() == "Dev") { if (AppEnviroment.getEnv() == "Dev") {
//print("Dev Enviroment");
setAppsDev(personalTileList); setAppsDev(personalTileList);
setAppsDev(businessTileList); setAppsDev(businessTileList);
} }
return [personalTileList, businessTileList]; return [personalTileList, businessTileList];
// pbswitch.add(personalTileList);
// pbswitch.add(businessTileList);
} }
Color getPrim() { Color getPrim() {
@@ -321,8 +495,11 @@ class _HomeTileGridState extends State<HomeTileGrid> {
@override @override
void initState() { void initState() {
pbswitch = setApps(personalTileList, businessTileList); setState(() {
pbswitch = setApps(persHTList, busHTList);
businessUserSwitch = false; businessUserSwitch = false;
});
super.initState(); super.initState();
} }
@@ -375,11 +552,8 @@ class _HomeTileGridState extends State<HomeTileGrid> {
itemCount: pbswitch[_selectedIndex].length, itemCount: pbswitch[_selectedIndex].length,
gridDelegate: const SliverGridDelegateWithMaxCrossAxisExtent( gridDelegate: const SliverGridDelegateWithMaxCrossAxisExtent(
maxCrossAxisExtent: 200), maxCrossAxisExtent: 200),
//const SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 3),
itemBuilder: (context, index) { itemBuilder: (context, index) {
var tile = pbswitch[_selectedIndex][index]; return pbswitch[_selectedIndex][index];
//setState(() {});
return buildtile(tile);
}, },
), ),
), ),