drawerRowOption method

ListTile drawerRowOption(
  1. AppDrawerMenu selectedMenu,
  2. Icon icon,
  3. BuildContext context, {
  4. bool isEnabled = true,
})

Implementation

ListTile drawerRowOption(AppDrawerMenu selectedMenu, Icon icon, BuildContext context, {bool isEnabled = true}) {
  return ListTile(
    onTap: () {
      if(isEnabled) {
        switch(selectedMenu) {
          case AppDrawerMenu.profile:
            Get.toNamed(AppRouteConstants.profile);
            break;
          case AppDrawerMenu.instruments:
            Get.toNamed(AppRouteConstants.instrumentsFav);
            break;
          case AppDrawerMenu.genres:
            if (isEnabled) Get.toNamed(AppRouteConstants.genresFav);
            break;
          case AppDrawerMenu.bands:
            Get.toNamed(AppRouteConstants.bands);
            break;
          case AppDrawerMenu.events:
            Get.toNamed(AppRouteConstants.events);
            break;
          case AppDrawerMenu.inbox:
            Get.toNamed(AppRouteConstants.inbox);
            break;
          case AppDrawerMenu.calendar:
            Get.toNamed(AppRouteConstants.calendar);
            break;
          case AppDrawerMenu.services:
            Get.toNamed(AppRouteConstants.services);
            break;
          case AppDrawerMenu.requests:
            Get.toNamed(AppRouteConstants.request);
            break;
          case AppDrawerMenu.booking:
            Get.toNamed(AppRouteConstants.booking);
            break;
          case AppDrawerMenu.directory:
            Get.toNamed(AppRouteConstants.directory);
            break;
          case AppDrawerMenu.wallet:
            Get.toNamed(AppRouteConstants.wallet);
            break;
          case AppDrawerMenu.settings:
            Get.toNamed(AppRouteConstants.settingsPrivacy);
            break;
          case AppDrawerMenu.crowdfunding:
            ExternalUtilities.launchURL(AppProperties.getCrowdfundingUrl());
            break;
          case AppDrawerMenu.appItemQuotation:
            Get.toNamed(AppRouteConstants.quotation);
            break;
          case AppDrawerMenu.logout:
            Get.toNamed(AppRouteConstants.logout,
                arguments: [AppRouteConstants.logout]
            );
            break;
          case AppDrawerMenu.releaseUpload:
            Get.toNamed(AppRouteConstants.releaseUpload);
            break;
          case AppDrawerMenu.digitalLibrary:
            // TODO: Handle this case.
            break;
          case AppDrawerMenu.frequencies:
            Get.toNamed(AppRouteConstants.frequencyFav);
            break;
          case AppDrawerMenu.presets:
            Get.toNamed(AppRouteConstants.chamber);
            break;
          case AppDrawerMenu.inspiration:
            Get.toNamed(AppRouteConstants.blog);
          case AppDrawerMenu.nupale:
            Get.toNamed(AppRouteConstants.nupaleHome);
          case AppDrawerMenu.casete:
            Get.toNamed(AppRouteConstants.nupaleStats2);
            // Get.toNamed(AppRouteConstants.caseteStats);
            // TODO: Handle this case.
        }
      }
    },
    leading: Padding(
        padding: const EdgeInsets.only(top: 5),
        child: icon
    ),
    title: customText(
      selectedMenu.name.tr.capitalize,
      textAlign: TextAlign.start,
      style: TextStyle(
        fontSize: 20,
        color: isEnabled ? AppColor.lightGrey : AppColor.secondary,
      ), context: context,
    ),
  );
}