feat: Add experience management feature with UI, BLoC integration, and repository implementation

This commit is contained in:
Achintha Isuru
2026-01-24 21:04:59 -05:00
parent c124111f46
commit f81e1949d1
23 changed files with 901 additions and 1 deletions

View File

@@ -3,6 +3,7 @@ import 'mocks/auth_repository_mock.dart';
import 'mocks/business_repository_mock.dart';
import 'mocks/home_repository_mock.dart';
import 'mocks/order_repository_mock.dart';
import 'mocks/profile_repository_mock.dart';
/// A module that provides Data Connect dependencies, including mocks.
class DataConnectModule extends Module {
@@ -10,6 +11,7 @@ class DataConnectModule extends Module {
void exportedBinds(Injector i) {
// Make these mocks available to any module that imports this one.
i.addLazySingleton(AuthRepositoryMock.new);
i.addLazySingleton(ProfileRepositoryMock.new);
i.addLazySingleton(HomeRepositoryMock.new);
i.addLazySingleton(BusinessRepositoryMock.new);
i.addLazySingleton(OrderRepositoryMock.new);

View File

@@ -65,4 +65,26 @@ class ProfileRepositoryMock {
await Future.delayed(const Duration(seconds: 1));
// Simulate save
}
/// Fetches selected industries for the given staff ID.
Future<List<String>> getStaffIndustries(String staffId) async {
await Future.delayed(const Duration(milliseconds: 500));
return ['hospitality', 'events'];
}
/// Fetches selected skills for the given staff ID.
Future<List<String>> getStaffSkills(String staffId) async {
await Future.delayed(const Duration(milliseconds: 500));
return ['Bartending', 'Server'];
}
/// Saves experience (industries and skills) for the given staff ID.
Future<void> saveExperience(
String staffId,
List<String> industries,
List<String> skills,
) async {
await Future.delayed(const Duration(seconds: 1));
// Simulate save
}
}