showErrorSnackbar function

void showErrorSnackbar(
  1. String text
)

Implementation

void showErrorSnackbar(String text) {
  final Color backgroundColor =
      MyStyles.pupauTheme(!Get.isDarkMode).redAlarm;

  // Prefer original GetX snackbar when overlay is available (host app uses
  // GetMaterialApp), so behavior matches exactly.
  if (Get.overlayContext != null) {
    Get.snackbar(
      '',
      '',
      duration: const Duration(seconds: 5),
      backgroundColor: backgroundColor,
      padding:
          const EdgeInsets.only(right: 20, left: 20, top: 6, bottom: 12),
      barBlur: 5,
      messageText: SnackbarErrorContainer(text: text),
      titleText: const SizedBox(),
      onTap: (snack) {
        Get.closeCurrentSnackbar();
      },
      snackPosition: SnackPosition.TOP,
    );
    return;
  }

  // Fallback for host apps that do not use GetX navigation / GetMaterialApp.
  BuildContext? context;
  if (Get.isRegistered<PupauChatController>()) {
    context = Get.find<PupauChatController>().safeContext;
  }
  context ??= Get.context;
  if (context == null) return;

  final double bottomMargin = MediaQuery.of(context).size.height - 150;

  final snackBar = SnackBar(
    behavior: SnackBarBehavior.floating,
    backgroundColor: backgroundColor,
    elevation: 6,
    margin: EdgeInsets.only(
      left: 16,
      right: 16,
      top: 16,
      bottom: bottomMargin,
    ),
    duration: const Duration(seconds: 5),
    content: SnackbarErrorContainer(text: text),
  );

  ScaffoldMessenger.of(context).showSnackBar(snackBar);
}