67 lines
2.1 KiB
Dart
Raw Permalink Normal View History

2025-08-13 00:19:17 +07:00
import 'package:another_flushbar/flushbar.dart';
import 'package:flutter/material.dart';
import '../../../common/theme/theme.dart';
2025-08-16 17:27:57 +07:00
import '../../../domain/auth/auth.dart';
2025-08-19 15:05:08 +07:00
import '../../../domain/user/user.dart';
2025-08-13 00:19:17 +07:00
class AppFlushbar {
static void showSuccess(BuildContext context, String message) {
Flushbar(
messageText: Text(
message,
style: AppStyle.lg.copyWith(
color: Colors.white,
fontWeight: FontWeight.bold,
),
),
icon: const Icon(Icons.check_circle, color: Colors.white),
duration: const Duration(seconds: 2),
flushbarPosition: FlushbarPosition.BOTTOM,
backgroundColor: AppColor.secondary,
borderRadius: BorderRadius.circular(12),
margin: const EdgeInsets.all(12),
).show(context);
}
static void showError(BuildContext context, String message) {
Flushbar(
messageText: Text(
message,
style: AppStyle.lg.copyWith(
color: Colors.white,
fontWeight: FontWeight.bold,
fontSize: 16,
),
),
icon: const Icon(Icons.error, color: Colors.white),
duration: const Duration(seconds: 3),
flushbarPosition: FlushbarPosition.BOTTOM,
backgroundColor: AppColor.error,
borderRadius: BorderRadius.circular(12),
margin: const EdgeInsets.all(12),
).show(context);
}
2025-08-16 17:27:57 +07:00
static void showAuthFailureToast(BuildContext context, AuthFailure failure) =>
showError(
context,
failure.map(
serverError: (value) => value.failure.toStringFormatted(context),
dynamicErrorMessage: (value) => value.erroMessage,
unexpectedError: (value) => 'Error has eccoured',
),
);
2025-08-19 15:05:08 +07:00
static void showUserFailureToast(BuildContext context, UserFailure failure) =>
showError(
context,
failure.map(
serverError: (value) => value.failure.toStringFormatted(context),
dynamicErrorMessage: (value) => value.erroMessage,
unexpectedError: (value) => 'Error has eccoured',
empty: (value) => 'Data not found',
),
);
2025-08-13 00:19:17 +07:00
}