refactor: update payments feature to use StaffPayment model and clean up unused code
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
/// Locales: 2
|
||||
/// Strings: 1004 (502 per locale)
|
||||
///
|
||||
/// Built on 2026-01-25 at 22:00 UTC
|
||||
/// Built on 2026-01-25 at 22:04 UTC
|
||||
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: type=lint, unused_import
|
||||
|
||||
@@ -1,18 +1,6 @@
|
||||
<<<<<<< Updated upstream
|
||||
import '../entities/payment_summary.dart';
|
||||
import '../entities/payment_transaction.dart';
|
||||
|
||||
abstract class PaymentsRepository {
|
||||
/// Fetches the summary of earnings (weekly, monthly, total, pending).
|
||||
Future<PaymentSummary> getPaymentSummary();
|
||||
|
||||
/// Fetches the list of recent payment transactions (history).
|
||||
Future<List<PaymentTransaction>> getPaymentHistory(String period);
|
||||
=======
|
||||
import 'package:krow_domain/krow_domain.dart';
|
||||
|
||||
abstract class PaymentsRepository {
|
||||
/// Fetches the list of payments.
|
||||
Future<List<StaffPayment>> getPayments();
|
||||
>>>>>>> Stashed changes
|
||||
}
|
||||
|
||||
@@ -1,27 +1,15 @@
|
||||
<<<<<<< Updated upstream
|
||||
import '../entities/payment_transaction.dart';
|
||||
import '../repositories/payments_repository.dart';
|
||||
|
||||
class GetPaymentHistoryUseCase {
|
||||
=======
|
||||
import 'package:krow_core/core.dart';
|
||||
import 'package:krow_domain/krow_domain.dart';
|
||||
import '../repositories/payments_repository.dart';
|
||||
|
||||
class GetPaymentHistoryUseCase extends UseCase<String, List<StaffPayment>> {
|
||||
>>>>>>> Stashed changes
|
||||
final PaymentsRepository repository;
|
||||
|
||||
GetPaymentHistoryUseCase(this.repository);
|
||||
|
||||
<<<<<<< Updated upstream
|
||||
Future<List<PaymentTransaction>> call({String period = 'week'}) async {
|
||||
return await repository.getPaymentHistory(period);
|
||||
=======
|
||||
@override
|
||||
Future<List<StaffPayment>> call(String period) async {
|
||||
// TODO: Implement filtering by period
|
||||
return await repository.getPayments();
|
||||
>>>>>>> Stashed changes
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,26 +1,14 @@
|
||||
<<<<<<< Updated upstream
|
||||
import '../entities/payment_summary.dart';
|
||||
import '../repositories/payments_repository.dart';
|
||||
|
||||
class GetPaymentSummaryUseCase {
|
||||
=======
|
||||
import 'package:krow_core/core.dart';
|
||||
import 'package:krow_domain/krow_domain.dart';
|
||||
import '../repositories/payments_repository.dart';
|
||||
|
||||
class GetPaymentSummaryUseCase extends NoInputUseCase<List<StaffPayment>> {
|
||||
>>>>>>> Stashed changes
|
||||
final PaymentsRepository repository;
|
||||
|
||||
GetPaymentSummaryUseCase(this.repository);
|
||||
|
||||
<<<<<<< Updated upstream
|
||||
Future<PaymentSummary> call() async {
|
||||
return await repository.getPaymentSummary();
|
||||
=======
|
||||
@override
|
||||
Future<List<StaffPayment>> call() async {
|
||||
return await repository.getPayments();
|
||||
>>>>>>> Stashed changes
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,31 +1,17 @@
|
||||
import 'package:flutter_modular/flutter_modular.dart';
|
||||
<<<<<<< Updated upstream
|
||||
import 'domain/repositories/payments_repository.dart';
|
||||
import 'domain/usecases/get_payment_summary_usecase.dart';
|
||||
import 'domain/usecases/get_payment_history_usecase.dart';
|
||||
import 'data/datasources/payments_remote_datasource.dart';
|
||||
import 'data/datasources/payments_mock_datasource.dart';
|
||||
import 'data/repositories/payments_repository_impl.dart';
|
||||
=======
|
||||
import 'package:krow_data_connect/krow_data_connect.dart';
|
||||
import 'domain/repositories/payments_repository.dart';
|
||||
import 'domain/usecases/get_payment_summary_usecase.dart';
|
||||
import 'domain/usecases/get_payment_history_usecase.dart';
|
||||
import 'data/repositories_impl/payments_repository_impl.dart';
|
||||
>>>>>>> Stashed changes
|
||||
import 'presentation/blocs/payments/payments_bloc.dart';
|
||||
import 'presentation/pages/payments_page.dart';
|
||||
|
||||
class StaffPaymentsModule extends Module {
|
||||
@override
|
||||
void binds(Injector i) {
|
||||
<<<<<<< Updated upstream
|
||||
// Data Sources
|
||||
i.add<PaymentsRemoteDataSource>(PaymentsMockDataSource.new);
|
||||
=======
|
||||
// Data Connect Mocks
|
||||
i.add<FinancialRepositoryMock>(FinancialRepositoryMock.new);
|
||||
>>>>>>> Stashed changes
|
||||
|
||||
// Repositories
|
||||
i.add<PaymentsRepository>(PaymentsRepositoryImpl.new);
|
||||
|
||||
@@ -1,15 +1,8 @@
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
<<<<<<< Updated upstream
|
||||
import '../../../domain/entities/payment_summary.dart';
|
||||
import '../../../domain/entities/payment_transaction.dart';
|
||||
import '../../../domain/usecases/get_payment_summary_usecase.dart';
|
||||
import '../../../domain/usecases/get_payment_history_usecase.dart';
|
||||
=======
|
||||
import 'package:krow_domain/krow_domain.dart';
|
||||
import '../../../domain/usecases/get_payment_summary_usecase.dart';
|
||||
import '../../../domain/usecases/get_payment_history_usecase.dart';
|
||||
import '../../models/payment_stats.dart';
|
||||
>>>>>>> Stashed changes
|
||||
import 'payments_event.dart';
|
||||
import 'payments_state.dart';
|
||||
|
||||
@@ -31,19 +24,12 @@ class PaymentsBloc extends Bloc<PaymentsEvent, PaymentsState> {
|
||||
) async {
|
||||
emit(PaymentsLoading());
|
||||
try {
|
||||
<<<<<<< Updated upstream
|
||||
final PaymentSummary summary = await getPaymentSummary();
|
||||
final List<PaymentTransaction> history = await getPaymentHistory(period: 'week');
|
||||
emit(PaymentsLoaded(
|
||||
summary: summary,
|
||||
=======
|
||||
final List<StaffPayment> allPayments = await getPaymentSummary();
|
||||
final PaymentStats stats = _calculateStats(allPayments);
|
||||
|
||||
final List<StaffPayment> history = await getPaymentHistory('week');
|
||||
emit(PaymentsLoaded(
|
||||
summary: stats,
|
||||
>>>>>>> Stashed changes
|
||||
history: history,
|
||||
activePeriod: 'week',
|
||||
));
|
||||
@@ -60,15 +46,8 @@ class PaymentsBloc extends Bloc<PaymentsEvent, PaymentsState> {
|
||||
if (currentState is PaymentsLoaded) {
|
||||
if (currentState.activePeriod == event.period) return;
|
||||
|
||||
<<<<<<< Updated upstream
|
||||
// Optimistic update or set loading state if expecting delay
|
||||
// For now, we'll keep the current data and fetch new history
|
||||
try {
|
||||
final List<PaymentTransaction> newHistory = await getPaymentHistory(period: event.period);
|
||||
=======
|
||||
try {
|
||||
final List<StaffPayment> newHistory = await getPaymentHistory(event.period);
|
||||
>>>>>>> Stashed changes
|
||||
emit(currentState.copyWith(
|
||||
history: newHistory,
|
||||
activePeriod: event.period,
|
||||
@@ -78,8 +57,6 @@ class PaymentsBloc extends Bloc<PaymentsEvent, PaymentsState> {
|
||||
}
|
||||
}
|
||||
}
|
||||
<<<<<<< Updated upstream
|
||||
=======
|
||||
|
||||
PaymentStats _calculateStats(List<StaffPayment> payments) {
|
||||
double total = 0;
|
||||
@@ -114,5 +91,4 @@ class PaymentsBloc extends Bloc<PaymentsEvent, PaymentsState> {
|
||||
monthlyEarnings: monthly,
|
||||
);
|
||||
}
|
||||
>>>>>>> Stashed changes
|
||||
}
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
<<<<<<< Updated upstream
|
||||
import '../../../domain/entities/payment_summary.dart';
|
||||
import '../../../domain/entities/payment_transaction.dart';
|
||||
=======
|
||||
import 'package:krow_domain/krow_domain.dart';
|
||||
import '../../models/payment_stats.dart';
|
||||
>>>>>>> Stashed changes
|
||||
|
||||
abstract class PaymentsState extends Equatable {
|
||||
const PaymentsState();
|
||||
@@ -19,13 +14,8 @@ class PaymentsInitial extends PaymentsState {}
|
||||
class PaymentsLoading extends PaymentsState {}
|
||||
|
||||
class PaymentsLoaded extends PaymentsState {
|
||||
<<<<<<< Updated upstream
|
||||
final PaymentSummary summary;
|
||||
final List<PaymentTransaction> history;
|
||||
=======
|
||||
final PaymentStats summary;
|
||||
final List<StaffPayment> history;
|
||||
>>>>>>> Stashed changes
|
||||
final String activePeriod;
|
||||
|
||||
const PaymentsLoaded({
|
||||
@@ -35,13 +25,8 @@ class PaymentsLoaded extends PaymentsState {
|
||||
});
|
||||
|
||||
PaymentsLoaded copyWith({
|
||||
<<<<<<< Updated upstream
|
||||
PaymentSummary? summary,
|
||||
List<PaymentTransaction>? history,
|
||||
=======
|
||||
PaymentStats? summary,
|
||||
List<StaffPayment>? history,
|
||||
>>>>>>> Stashed changes
|
||||
String? activePeriod,
|
||||
}) {
|
||||
return PaymentsLoaded(
|
||||
|
||||
@@ -3,11 +3,7 @@ import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:flutter_modular/flutter_modular.dart';
|
||||
import 'package:lucide_icons/lucide_icons.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
<<<<<<< Updated upstream
|
||||
import '../../domain/entities/payment_transaction.dart';
|
||||
=======
|
||||
import 'package:krow_domain/krow_domain.dart';
|
||||
>>>>>>> Stashed changes
|
||||
import '../blocs/payments/payments_bloc.dart';
|
||||
import '../blocs/payments/payments_event.dart';
|
||||
import '../blocs/payments/payments_state.dart';
|
||||
@@ -181,25 +177,11 @@ class _PaymentsPageState extends State<PaymentsPage> {
|
||||
),
|
||||
const SizedBox(height: 12),
|
||||
Column(
|
||||
<<<<<<< Updated upstream
|
||||
children: state.history.map((PaymentTransaction payment) {
|
||||
=======
|
||||
children: state.history.map((StaffPayment payment) {
|
||||
>>>>>>> Stashed changes
|
||||
return Padding(
|
||||
padding: const EdgeInsets.only(bottom: 8),
|
||||
child: PaymentHistoryItem(
|
||||
amount: payment.amount,
|
||||
<<<<<<< Updated upstream
|
||||
title: payment.title,
|
||||
location: payment.location,
|
||||
address: payment.address,
|
||||
date: DateFormat('E, MMM d').format(payment.date),
|
||||
workedTime: payment.workedTime,
|
||||
hours: payment.hours,
|
||||
rate: payment.rate,
|
||||
status: payment.status,
|
||||
=======
|
||||
title: 'Assignment ${payment.assignmentId}',
|
||||
location: 'Location', // TODO: Fetch from assignment
|
||||
address: '',
|
||||
@@ -208,7 +190,6 @@ class _PaymentsPageState extends State<PaymentsPage> {
|
||||
hours: 0,
|
||||
rate: 0,
|
||||
status: payment.status.toString().split('.').last,
|
||||
>>>>>>> Stashed changes
|
||||
),
|
||||
);
|
||||
}).toList(),
|
||||
|
||||
@@ -2,16 +2,10 @@ name: staff_payments
|
||||
description: Staff Payments feature
|
||||
version: 0.0.1
|
||||
publish_to: 'none'
|
||||
<<<<<<< Updated upstream
|
||||
|
||||
environment:
|
||||
sdk: '>=3.0.0 <4.0.0'
|
||||
=======
|
||||
resolution: workspace
|
||||
|
||||
environment:
|
||||
sdk: '>=3.10.0 <4.0.0'
|
||||
>>>>>>> Stashed changes
|
||||
flutter: ">=3.0.0"
|
||||
|
||||
dependencies:
|
||||
@@ -28,11 +22,10 @@ dependencies:
|
||||
path: ../../../core_localization
|
||||
krow_domain:
|
||||
path: ../../../domain
|
||||
<<<<<<< Updated upstream
|
||||
=======
|
||||
krow_core:
|
||||
path: ../../../core
|
||||
>>>>>>> Stashed changes
|
||||
krow_data_connect:
|
||||
path: ../../../data_connect
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
|
||||
Reference in New Issue
Block a user