refactor: introduce HomeDashboardData entity, convert ClientHomePage to StatelessWidget, and update deprecated color methods in the client home feature.

This commit is contained in:
Achintha Isuru
2026-01-21 16:33:55 -05:00
parent eb10254757
commit 7d5a40b7e3
18 changed files with 379 additions and 168 deletions

View File

@@ -14,4 +14,5 @@ export 'src/mocks/skill_repository_mock.dart';
export 'src/mocks/financial_repository_mock.dart';
export 'src/mocks/rating_repository_mock.dart';
export 'src/mocks/support_repository_mock.dart';
export 'src/mocks/home_repository_mock.dart';
export 'src/data_connect_module.dart';

View File

@@ -1,5 +1,6 @@
import 'package:flutter_modular/flutter_modular.dart';
import 'mocks/auth_repository_mock.dart';
import 'mocks/home_repository_mock.dart';
/// A module that provides Data Connect dependencies, including mocks.
class DataConnectModule extends Module {
@@ -7,5 +8,6 @@ class DataConnectModule extends Module {
void exportedBinds(Injector i) {
// Make the AuthRepositoryMock available to any module that imports this one.
i.addLazySingleton(AuthRepositoryMock.new);
i.addLazySingleton(HomeRepositoryMock.new);
}
}

View File

@@ -0,0 +1,21 @@
import 'package:krow_domain/krow_domain.dart';
/// Mock implementation of data source for Home dashboard data.
///
/// This mock simulates backend responses for dashboard-related queries.
class HomeRepositoryMock {
/// Returns a mock [HomeDashboardData].
Future<HomeDashboardData> getDashboardData() async {
// Simulate network delay
await Future.delayed(const Duration(milliseconds: 500));
return const HomeDashboardData(
weeklySpending: 4250.0,
next7DaysSpending: 6100.0,
weeklyShifts: 12,
next7DaysScheduled: 18,
totalNeeded: 10,
totalFilled: 8,
);
}
}