feat: Refactor code structure and optimize performance across multiple modules

This commit is contained in:
Achintha Isuru
2025-11-17 23:29:28 -05:00
parent 831570f2e0
commit a64cbd9edf
1508 changed files with 105319 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
import 'package:flutter/foundation.dart';
import 'package:krow/features/profile/benefits/domain/entities/benefit_record_entity.dart';
@immutable
class BenefitEntity {
const BenefitEntity({
required this.name,
required this.requirement,
required this.requiredHours,
required this.currentHours,
required this.isClaimed,
required this.info,
required this.history,
});
final String name;
final String requirement;
final int requiredHours;
final int currentHours;
final bool isClaimed;
final String info;
final List<BenefitRecordEntity> history;
double get progress {
final progress = currentHours / requiredHours;
return progress > 1 ? 1 : progress;
}
BenefitEntity copyWith({
String? name,
String? requirement,
int? requiredHours,
int? currentHours,
bool? isClaimed,
String? info,
List<BenefitRecordEntity>? history,
}) {
return BenefitEntity(
name: name ?? this.name,
requirement: requirement ?? this.requirement,
requiredHours: requiredHours ?? this.requiredHours,
currentHours: currentHours ?? this.currentHours,
isClaimed: isClaimed ?? this.isClaimed,
info: info ?? this.info,
history: history ?? this.history,
);
}
}

View File

@@ -0,0 +1,11 @@
import 'package:flutter/foundation.dart';
@immutable
class BenefitRecordEntity {
const BenefitRecordEntity({required this.createdAt, required this.status});
final DateTime createdAt;
final RecordStatus status;
}
enum RecordStatus { pending, submitted }