Files
sendico/frontend/pweb/lib/pages/report/table/badge.dart
2026-03-04 17:43:18 +03:00

50 lines
1.3 KiB
Dart

import 'package:flutter/material.dart';
import 'package:badges/badges.dart' as badges;
import 'package:pshared/models/payment/status.dart';
import 'package:pweb/utils/payment/status_view.dart';
import 'package:pweb/generated/i18n/app_localizations.dart';
class OperationStatusBadge extends StatelessWidget {
final OperationStatus status;
const OperationStatusBadge({super.key, required this.status});
@override
Widget build(BuildContext context) {
final l10n = AppLocalizations.of(context)!;
final view = operationStatusView(
l10n,
Theme.of(context).colorScheme,
status,
);
final label = view.label;
final bg = view.backgroundColor;
final fg = view.foregroundColor;
return badges.Badge(
badgeStyle: badges.BadgeStyle(
shape: badges.BadgeShape.square,
badgeColor: bg,
borderRadius: BorderRadius.circular(12), // fully rounded
padding: const EdgeInsets.symmetric(
horizontal: 6,
vertical: 2, // tighter padding
),
),
badgeContent: Text(
label.toUpperCase(), // or keep sentence case
style: TextStyle(
color: fg,
fontSize: 11, // smaller text
fontWeight: FontWeight.w500, // medium weight
),
),
);
}
}