refactor: update color definitions and improve UI component structure; handle null safety in repository data fetching

This commit is contained in:
Achintha Isuru
2026-03-17 13:20:04 -04:00
parent a0d5a18e6f
commit e83b8fff1c
13 changed files with 49 additions and 43 deletions

View File

@@ -28,7 +28,7 @@ class AttireRepositoryImpl implements AttireRepository {
@override
Future<List<AttireChecklist>> getAttireOptions() async {
final ApiResponse response = await _api.get(StaffEndpoints.attire);
final List<dynamic> items = response.data['items'] as List<dynamic>;
final List<dynamic> items = response.data['items'] as List<dynamic>? ?? <dynamic>[];
return items
.map((dynamic json) =>
AttireChecklist.fromJson(json as Map<String, dynamic>))

View File

@@ -18,7 +18,7 @@ class EmergencyContactRepositoryImpl
Future<List<EmergencyContact>> getContacts() async {
final ApiResponse response =
await _api.get(StaffEndpoints.emergencyContacts);
final List<dynamic> items = response.data['contacts'] as List<dynamic>;
final List<dynamic> items = response.data['contacts'] as List<dynamic>? ?? <dynamic>[];
return items
.map((dynamic json) =>
EmergencyContact.fromJson(json as Map<String, dynamic>))

View File

@@ -17,14 +17,14 @@ class ExperienceRepositoryImpl implements ExperienceRepositoryInterface {
Future<List<String>> getIndustries() async {
final ApiResponse response =
await _api.get(StaffEndpoints.industries);
final List<dynamic> items = response.data['industries'] as List<dynamic>;
final List<dynamic> items = response.data['industries'] as List<dynamic>? ?? <dynamic>[];
return items.map((dynamic e) => e.toString()).toList();
}
@override
Future<List<String>> getSkills() async {
final ApiResponse response = await _api.get(StaffEndpoints.skills);
final List<dynamic> items = response.data['skills'] as List<dynamic>;
final List<dynamic> items = response.data['skills'] as List<dynamic>? ?? <dynamic>[];
return items.map((dynamic e) => e.toString()).toList();
}