35 lines
857 B
Dart
35 lines
857 B
Dart
import 'package:flutter/material.dart';
|
|
|
|
import '../theme/app_theme.dart';
|
|
|
|
enum ZahlungsStatus {
|
|
offen,
|
|
bezahlt,
|
|
ueberfaellig,
|
|
}
|
|
|
|
extension ZahlungsStatusX on ZahlungsStatus {
|
|
String get storageValue => name;
|
|
|
|
String get labelDe => switch (this) {
|
|
ZahlungsStatus.offen => 'Offen',
|
|
ZahlungsStatus.bezahlt => 'Bezahlt',
|
|
ZahlungsStatus.ueberfaellig => 'Überfällig',
|
|
};
|
|
|
|
Color get badgeColor => switch (this) {
|
|
ZahlungsStatus.offen => AppTheme.statusOffen,
|
|
ZahlungsStatus.bezahlt => AppTheme.statusFertig,
|
|
ZahlungsStatus.ueberfaellig => const Color(0xFFE53935),
|
|
};
|
|
}
|
|
|
|
ZahlungsStatus zahlungsStatusFromStorage(String? raw) {
|
|
if (raw != null && raw.isNotEmpty) {
|
|
for (final v in ZahlungsStatus.values) {
|
|
if (v.name == raw) return v;
|
|
}
|
|
}
|
|
return ZahlungsStatus.offen;
|
|
}
|