More fixes
This commit is contained in:
@@ -6,8 +6,8 @@ import 'package:fbla_ui/shared/global_vars.dart';
|
||||
import 'package:fbla_ui/shared/utils.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
|
||||
var apiAddress = 'https://homelab.marinodev.com/fbla-api';
|
||||
// var apiAddress = 'http://192.168.0.114:8000/fbla-api';
|
||||
// var apiAddress = 'https://homelab.marinodev.com/fbla-api';
|
||||
var apiAddress = 'http://192.168.0.114:8000/fbla-api';
|
||||
|
||||
var client = http.Client();
|
||||
|
||||
@@ -67,21 +67,40 @@ Future fetchBusinessDataOverviewJobs(
|
||||
|
||||
var response = await http.get(uri).timeout(const Duration(seconds: 20));
|
||||
if (response.statusCode == 200) {
|
||||
var decodedResponse = json.decode(response.body);
|
||||
List<Map<String, dynamic>> decodedResponse =
|
||||
json.decode(response.body).cast<Map<String, dynamic>>();
|
||||
|
||||
List<Business> initialBusinesses =
|
||||
decodedResponse.map((element) => Business.fromJson(element)).toList();
|
||||
|
||||
Map<JobType, List<Business>> groupedBusinesses = {};
|
||||
|
||||
for (String stringType in decodedResponse.keys) {
|
||||
List<Business> businesses = [];
|
||||
|
||||
for (Map<String, dynamic> map in decodedResponse[stringType]) {
|
||||
Business business = Business.fromJson(map);
|
||||
businesses.add(business);
|
||||
for (Business business in initialBusinesses) {
|
||||
for (JobListing job in business.listings!) {
|
||||
List<Business> newBusinesses = groupedBusinesses[job.type!] ?? [];
|
||||
Business newBusiness = Business.copy(business);
|
||||
newBusiness.listings =
|
||||
newBusiness.listings!.where((element) => element == job).toList();
|
||||
newBusinesses.add(newBusiness);
|
||||
groupedBusinesses.addAll({job.type!: newBusinesses});
|
||||
}
|
||||
|
||||
groupedBusinesses
|
||||
.addAll({JobType.values.byName(stringType): businesses});
|
||||
}
|
||||
|
||||
return groupedBusinesses;
|
||||
// Map<JobType, List<Business>> groupedBusinesses = {};
|
||||
//
|
||||
// for (String stringType in decodedResponse.keys) {
|
||||
// List<Business> businesses = [];
|
||||
//
|
||||
// for (Map<String, dynamic> map in decodedResponse[stringType]) {
|
||||
// Business business = Business.fromJson(map);
|
||||
// businesses.add(business);
|
||||
// }
|
||||
//
|
||||
// groupedBusinesses
|
||||
// .addAll({JobType.values.byName(stringType): businesses});
|
||||
// }
|
||||
// return groupedBusinesses;
|
||||
} else {
|
||||
return 'Error ${response.statusCode}! Please try again later!';
|
||||
}
|
||||
@@ -89,6 +108,8 @@ Future fetchBusinessDataOverviewJobs(
|
||||
return 'Unable to connect to server (timeout).\nPlease try again later.';
|
||||
} on SocketException {
|
||||
return 'Unable to connect to server (socket exception).\nPlease check your internet connection.\n';
|
||||
} catch (e) {
|
||||
print(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -32,7 +32,17 @@ enum BusinessType {
|
||||
other,
|
||||
}
|
||||
|
||||
enum JobType { cashier, server, mechanic, other }
|
||||
enum JobType {
|
||||
retail,
|
||||
customerService,
|
||||
foodService,
|
||||
finance,
|
||||
healthcare,
|
||||
education,
|
||||
maintenance,
|
||||
manufacturing,
|
||||
other,
|
||||
}
|
||||
|
||||
enum OfferType { job, internship, apprenticeship }
|
||||
|
||||
@@ -169,12 +179,22 @@ IconData getIconFromBusinessType(BusinessType type) {
|
||||
|
||||
IconData getIconFromJobType(JobType type) {
|
||||
switch (type) {
|
||||
case JobType.cashier:
|
||||
case JobType.retail:
|
||||
return Icons.shopping_bag;
|
||||
case JobType.server:
|
||||
case JobType.customerService:
|
||||
return Icons.support_agent;
|
||||
case JobType.foodService:
|
||||
return Icons.restaurant;
|
||||
case JobType.mechanic:
|
||||
return Icons.construction;
|
||||
case JobType.finance:
|
||||
return Icons.paid;
|
||||
case JobType.healthcare:
|
||||
return Icons.medical_services;
|
||||
case JobType.education:
|
||||
return Icons.school;
|
||||
case JobType.maintenance:
|
||||
return Icons.handyman;
|
||||
case JobType.manufacturing:
|
||||
return Icons.factory;
|
||||
case JobType.other:
|
||||
return Icons.work;
|
||||
}
|
||||
@@ -199,12 +219,22 @@ pw.IconData getPwIconFromBusinessType(BusinessType type) {
|
||||
|
||||
pw.IconData getPwIconFromJobType(JobType type) {
|
||||
switch (type) {
|
||||
case JobType.cashier:
|
||||
case JobType.retail:
|
||||
return const pw.IconData(0xf1cc);
|
||||
case JobType.server:
|
||||
case JobType.customerService:
|
||||
return const pw.IconData(0xf0e2);
|
||||
case JobType.foodService:
|
||||
return const pw.IconData(0xe56c);
|
||||
case JobType.mechanic:
|
||||
return const pw.IconData(0xea3c);
|
||||
case JobType.finance:
|
||||
return const pw.IconData(0xf041);
|
||||
case JobType.healthcare:
|
||||
return const pw.IconData(0xf109);
|
||||
case JobType.education:
|
||||
return const pw.IconData(0xe80c);
|
||||
case JobType.maintenance:
|
||||
return const pw.IconData(0xf10b);
|
||||
case JobType.manufacturing:
|
||||
return const pw.IconData(0xebbc);
|
||||
case JobType.other:
|
||||
return const pw.IconData(0xe8f9);
|
||||
}
|
||||
@@ -229,12 +259,22 @@ String getNameFromBusinessType(BusinessType type) {
|
||||
|
||||
String getNameFromJobType(JobType type) {
|
||||
switch (type) {
|
||||
case JobType.cashier:
|
||||
return 'Cashier';
|
||||
case JobType.server:
|
||||
return 'Server';
|
||||
case JobType.mechanic:
|
||||
return 'Mechanic';
|
||||
case JobType.retail:
|
||||
return 'Retail';
|
||||
case JobType.customerService:
|
||||
return 'Customer Service';
|
||||
case JobType.foodService:
|
||||
return 'Food Service';
|
||||
case JobType.finance:
|
||||
return 'Finance';
|
||||
case JobType.healthcare:
|
||||
return 'Healthcare';
|
||||
case JobType.education:
|
||||
return 'Education';
|
||||
case JobType.maintenance:
|
||||
return 'Maintenance';
|
||||
case JobType.manufacturing:
|
||||
return 'Manufacturing';
|
||||
case JobType.other:
|
||||
return 'Other';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user