bharat_erp/lib/shared/widgets/api_feedback.dart
SurendarSuri30 8f852ac4f6 Initial commit: Bharat ERP Flutter application.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-19 15:04:06 +05:30

47 lines
1.2 KiB
Dart

import 'package:flutter/material.dart';
import '../../core/errors/failure.dart';
import '../../core/network/api_handler.dart';
void showAccessDeniedSnackBar(BuildContext context, {String? message}) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Row(
children: [
const Icon(Icons.block, color: Colors.white, size: 18),
const SizedBox(width: 8),
Expanded(
child: Text(message ?? 'Access denied'),
),
],
),
backgroundColor: const Color(0xFFDC2626),
behavior: SnackBarBehavior.floating,
),
);
}
void showApiFailureSnackBar(BuildContext context, Failure failure) {
if (isForbiddenFailure(failure)) {
showAccessDeniedSnackBar(context, message: failure.message);
return;
}
if (isConflictFailure(failure)) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text(failure.message)),
);
return;
}
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text(
failure is ValidationFailure
? validationErrorMessage(failure)
: failure.message,
),
),
);
}