show static method

void show(
  1. BuildContext context,
  2. String message, {
  3. String? title,
  4. IconData? icon,
  5. Duration? duration,
  6. Alignment? alignment,
  7. Color? color,
  8. TVariant? type,
})

Implementation

static void show(
  BuildContext context,
  String message, {
  String? title,
  IconData? icon,
  Duration? duration,
  Alignment? alignment,
  Color? color,
  TVariant? type,
}) {
  final theme = context.theme;
  final mColor = color ?? theme.primary;
  final wTheme = context.getWidgetTheme(type ?? theme.toastType, mColor);
  final isMobile = context.isMobile;

  toastification.showCustom(
    context: context,
    autoCloseDuration: duration ?? const Duration(seconds: 3),
    alignment: alignment ?? (isMobile ? Alignment.topCenter : Alignment.topRight),
    direction: TextDirection.ltr,
    animationDuration: const Duration(milliseconds: 300),
    animationBuilder: (context, animation, alignment, child) {
      return FadeTransition(opacity: animation, child: child);
    },
    builder: (context, holder) {
      return Container(
        margin: isMobile ? null : const EdgeInsets.fromLTRB(5, 5, 35, 2),
        padding: EdgeInsets.symmetric(horizontal: 12, vertical: title != null ? 6 : 10),
        decoration: BoxDecoration(
            color: wTheme.container, borderRadius: BorderRadius.circular(8), border: wTheme.boxBorder, boxShadow: wTheme.boxShadow),
        child: MouseRegion(
          onEnter: (_) => holder.pause(),
          onExit: (_) => holder.start(),
          child: Row(
            children: [
              if (icon != null) Icon(icon, color: wTheme.onContainer, size: 20),
              const SizedBox(width: 10),
              Expanded(
                child: Column(
                  crossAxisAlignment: CrossAxisAlignment.start,
                  children: [
                    if (title != null)
                      Text(title, style: TextStyle(color: wTheme.onContainer, fontWeight: FontWeight.w400, fontSize: 14)),
                    Text(message, style: TextStyle(color: wTheme.onContainer, fontWeight: FontWeight.w300, fontSize: 13)),
                  ],
                ),
              ),
              TButton(
                type: TButtonType.text,
                size: TButtonSize.xxs,
                icon: Icons.close_rounded,
                color: color,
                onPressed: (_) {
                  toastification.dismissById(holder.id);
                },
              ),
            ],
          ),
        ),
      );
    },
  );
}