diff --git a/assets/fonts/Poppins-Medium.ttf b/assets/fonts/Poppins-Medium.ttf
deleted file mode 100644
index 6bcdcc2..0000000
Binary files a/assets/fonts/Poppins-Medium.ttf and /dev/null differ
diff --git a/assets/icons/Group 17.png b/assets/icons/Group 17.png
deleted file mode 100644
index 7bb404a..0000000
Binary files a/assets/icons/Group 17.png and /dev/null differ
diff --git a/assets/icons/ic_ads.svg b/assets/icons/ic_ads.svg
deleted file mode 100644
index dad55fd..0000000
--- a/assets/icons/ic_ads.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/assets/icons/ic_appoinments.svg b/assets/icons/ic_appoinments.svg
deleted file mode 100644
index ebf91e9..0000000
--- a/assets/icons/ic_appoinments.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/assets/icons/ic_branches.svg b/assets/icons/ic_branches.svg
deleted file mode 100644
index c0ba51c..0000000
--- a/assets/icons/ic_branches.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-
diff --git a/assets/icons/ic_branchs.svg b/assets/icons/ic_branchs.svg
deleted file mode 100644
index d074656..0000000
--- a/assets/icons/ic_branchs.svg
+++ /dev/null
@@ -1,27 +0,0 @@
-
diff --git a/assets/icons/ic_close_account.svg b/assets/icons/ic_close_account.svg
deleted file mode 100644
index 93adb61..0000000
--- a/assets/icons/ic_close_account.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-
diff --git a/assets/icons/ic_face.svg b/assets/icons/ic_face.svg
deleted file mode 100644
index 5fa9a9c..0000000
--- a/assets/icons/ic_face.svg
+++ /dev/null
@@ -1,18 +0,0 @@
-
diff --git a/assets/icons/ic_face_id.png b/assets/icons/ic_face_id.png
deleted file mode 100644
index 913e850..0000000
Binary files a/assets/icons/ic_face_id.png and /dev/null differ
diff --git a/assets/icons/ic_fingerprint.png b/assets/icons/ic_fingerprint.png
deleted file mode 100644
index bf73197..0000000
Binary files a/assets/icons/ic_fingerprint.png and /dev/null differ
diff --git a/assets/icons/ic_fingerprint.svg b/assets/icons/ic_fingerprint.svg
deleted file mode 100644
index ba45417..0000000
--- a/assets/icons/ic_fingerprint.svg
+++ /dev/null
@@ -1,14 +0,0 @@
-
diff --git a/assets/icons/ic_home.svg b/assets/icons/ic_home.svg
deleted file mode 100644
index 758dd1b..0000000
--- a/assets/icons/ic_home.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/assets/icons/ic_provider.svg b/assets/icons/ic_provider.svg
deleted file mode 100644
index e22c356..0000000
--- a/assets/icons/ic_provider.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/assets/icons/ic_requests.svg b/assets/icons/ic_requests.svg
deleted file mode 100644
index c6fd34a..0000000
--- a/assets/icons/ic_requests.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/assets/icons/ic_services.svg b/assets/icons/ic_services.svg
deleted file mode 100644
index b0d0606..0000000
--- a/assets/icons/ic_services.svg
+++ /dev/null
@@ -1,13 +0,0 @@
-
diff --git a/assets/icons/ic_settings.svg b/assets/icons/ic_settings.svg
deleted file mode 100644
index 6435135..0000000
--- a/assets/icons/ic_settings.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/assets/icons/ic_sms.png b/assets/icons/ic_sms.png
deleted file mode 100644
index aa72e0e..0000000
Binary files a/assets/icons/ic_sms.png and /dev/null differ
diff --git a/assets/icons/ic_sms.svg b/assets/icons/ic_sms.svg
deleted file mode 100644
index 132ab7f..0000000
--- a/assets/icons/ic_sms.svg
+++ /dev/null
@@ -1,13 +0,0 @@
-
diff --git a/assets/icons/ic_whatsapp.png b/assets/icons/ic_whatsapp.png
deleted file mode 100644
index 3f36403..0000000
Binary files a/assets/icons/ic_whatsapp.png and /dev/null differ
diff --git a/assets/icons/ic_whatsapp.svg b/assets/icons/ic_whatsapp.svg
deleted file mode 100644
index 073e581..0000000
--- a/assets/icons/ic_whatsapp.svg
+++ /dev/null
@@ -1,13 +0,0 @@
-
diff --git a/assets/images/bc_Intro.svg b/assets/images/bc_Intro.svg
deleted file mode 100644
index deb4ffa..0000000
--- a/assets/images/bc_Intro.svg
+++ /dev/null
@@ -1,26 +0,0 @@
-
diff --git a/assets/images/bn_Intro.png b/assets/images/bn_Intro.png
deleted file mode 100644
index 8c342d2..0000000
Binary files a/assets/images/bn_Intro.png and /dev/null differ
diff --git a/assets/images/bn_car.jpeg b/assets/images/bn_car.jpeg
deleted file mode 100644
index 5a6bd85..0000000
Binary files a/assets/images/bn_car.jpeg and /dev/null differ
diff --git a/assets/images/bn_logo.svg b/assets/images/bn_logo.svg
deleted file mode 100644
index b0c971d..0000000
--- a/assets/images/bn_logo.svg
+++ /dev/null
@@ -1,560 +0,0 @@
-
diff --git a/assets/images/bn_map.png b/assets/images/bn_map.png
deleted file mode 100644
index b04b5aa..0000000
Binary files a/assets/images/bn_map.png and /dev/null differ
diff --git a/assets/images/ic_car.svg b/assets/images/ic_car.svg
deleted file mode 100644
index 804f607..0000000
--- a/assets/images/ic_car.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-
diff --git a/assets/images/ic_edit.svg b/assets/images/ic_edit.svg
deleted file mode 100644
index c14165f..0000000
--- a/assets/images/ic_edit.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/assets/images/ic_email.svg b/assets/images/ic_email.svg
deleted file mode 100644
index 81c4573..0000000
--- a/assets/images/ic_email.svg
+++ /dev/null
@@ -1,17 +0,0 @@
-
diff --git a/assets/images/ic_engine.png b/assets/images/ic_engine.png
deleted file mode 100644
index 0256ff0..0000000
Binary files a/assets/images/ic_engine.png and /dev/null differ
diff --git a/assets/images/ic_lock.svg b/assets/images/ic_lock.svg
deleted file mode 100644
index 1273157..0000000
--- a/assets/images/ic_lock.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/assets/images/ic_logo_white.png b/assets/images/ic_logo_white.png
deleted file mode 100644
index 779fda4..0000000
Binary files a/assets/images/ic_logo_white.png and /dev/null differ
diff --git a/assets/images/ic_logout.svg b/assets/images/ic_logout.svg
deleted file mode 100644
index 2be107f..0000000
--- a/assets/images/ic_logout.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-
diff --git a/assets/images/ic_mobile.svg b/assets/images/ic_mobile.svg
deleted file mode 100644
index 068cf7a..0000000
--- a/assets/images/ic_mobile.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-
diff --git a/assets/images/ic_notes.svg b/assets/images/ic_notes.svg
deleted file mode 100644
index 009cf17..0000000
--- a/assets/images/ic_notes.svg
+++ /dev/null
@@ -1,12 +0,0 @@
-
diff --git a/assets/images/ic_notification.svg b/assets/images/ic_notification.svg
deleted file mode 100644
index e45bab2..0000000
--- a/assets/images/ic_notification.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/assets/images/ic_settings.svg b/assets/images/ic_settings.svg
deleted file mode 100644
index 83b64c9..0000000
--- a/assets/images/ic_settings.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/assets/images/ic_world.png b/assets/images/ic_world.png
deleted file mode 100644
index 01ea634..0000000
Binary files a/assets/images/ic_world.png and /dev/null differ
diff --git a/assets/images/logo.svg b/assets/images/logo.svg
deleted file mode 100644
index 8552147..0000000
--- a/assets/images/logo.svg
+++ /dev/null
@@ -1,38 +0,0 @@
-
diff --git a/assets/images/splash_logo.svg b/assets/images/splash_logo.svg
deleted file mode 100644
index 481226e..0000000
--- a/assets/images/splash_logo.svg
+++ /dev/null
@@ -1,16 +0,0 @@
-
diff --git a/lib/api/api_client.dart b/lib/api/api_client.dart
deleted file mode 100644
index 19cb719..0000000
--- a/lib/api/api_client.dart
+++ /dev/null
@@ -1,284 +0,0 @@
-import 'dart:async';
-import 'dart:convert';
-import 'dart:io';
-
-import 'package:car_provider_app/api/client/user_api_client.dart';
-import 'package:car_provider_app/classes/app_state.dart';
-import 'package:flutter/foundation.dart';
-import 'package:http/http.dart';
-import 'package:http/io_client.dart';
-import 'package:car_provider_app/exceptions/api_exception.dart';
-
-typedef FactoryConstructor = U Function(dynamic);
-
-class APIError {
- int errorCode;
- String errorMessage;
-
- APIError(this.errorCode, this.errorMessage);
-
- Map toJson() => {'errorCode': errorCode, 'errorMessage': errorMessage};
-
- @override
- String toString() {
- return jsonEncode(this);
- }
-}
-
-APIException _throwAPIException(Response response) {
- switch (response.statusCode) {
- case 400:
- APIError? apiError;
- if (response.body != null && response.body.isNotEmpty) {
- var jsonError = jsonDecode(response.body);
- apiError = APIError(jsonError['errorCode'], jsonError['errorMessage']);
- }
- return APIException(APIException.BAD_REQUEST, error: apiError);
- case 401:
- return APIException(APIException.UNAUTHORIZED);
- case 403:
- return APIException(APIException.FORBIDDEN);
- case 404:
- return APIException(APIException.NOT_FOUND);
- case 500:
- return APIException(APIException.INTERNAL_SERVER_ERROR);
- case 444:
- var downloadUrl = response.headers["location"];
- return APIException(APIException.UPGRADE_REQUIRED, arguments: downloadUrl);
- default:
- return APIException(APIException.OTHER);
- }
-}
-
-class ApiClient {
- static final ApiClient _instance = ApiClient._internal();
-
- ApiClient._internal();
-
- factory ApiClient() => _instance;
-
- Future postJsonForObject(FactoryConstructor factoryConstructor, String url, T jsonObject,
- {String? token, Map? queryParameters, Map? headers, int retryTimes = 0}) async {
- var _headers = {'Accept': 'application/json'};
- if (headers != null && headers.isNotEmpty) {
- _headers.addAll(headers);
- }
- if (!kReleaseMode) {
- print("Url:$url");
- print("body:$jsonObject");
- }
- var response = await postJsonForResponse(url, jsonObject, token: token, queryParameters: queryParameters, headers: _headers, retryTimes: retryTimes);
- try {
- if (!kReleaseMode) {
- print("res121:" + response.body);
- print("res121:" + response.statusCode.toString());
- }
- var jsonData = jsonDecode(response.body);
-
- return factoryConstructor(jsonData);
- } catch (ex) {
- print(ex);
- print("exception121:" + ex.toString());
- throw APIException(APIException.BAD_RESPONSE_FORMAT, arguments: ex);
- }
- }
-
- Future postJsonForResponse(String url, T jsonObject, {String? token, Map? queryParameters, Map? headers, int retryTimes = 0}) async {
- String? requestBody;
- if (jsonObject != null) {
- requestBody = jsonEncode(jsonObject);
- if (headers == null) {
- headers = {'Content-Type': 'application/json'};
- } else {
- headers['Content-Type'] = 'application/json';
- }
- }
-
- return await _postForResponse(url, requestBody, token: token, queryParameters: queryParameters, headers: headers, retryTimes: retryTimes);
- }
-
- Future _postForResponse(
- String url,
- requestBody, {
- String? token,
- Map? queryParameters,
- Map? headers,
- int retryTimes = 0,
- }) async {
- try {
- var _headers = {};
- if (token != null) {
- _headers['Authorization'] = 'Bearer $token';
- }
-
- if (headers != null && headers.isNotEmpty) {
- _headers.addAll(headers);
- }
-
- if (queryParameters != null) {
- var queryString = new Uri(queryParameters: queryParameters).query;
- url = url + '?' + queryString;
- }
-
- var response;
-
- response = await _post(Uri.parse(url), body: requestBody, headers: _headers).timeout(Duration(seconds: 100));
-
- if (!kReleaseMode) {
- print("Url:$url");
- print("body:$requestBody");
- print("res: " + response.body);
- }
- if (response.statusCode >= 200 && response.statusCode < 500) {
- var jsonData = jsonDecode(response.body);
- if (jsonData["StatusMessage"] != null && jsonData["StatusMessage"] == "Unauthorized user attempt to access API") {
- String mToken = await UserApiClent().UpdateUserToken();
- return await _postForResponse(url, requestBody, token: mToken, queryParameters: queryParameters, headers: headers, retryTimes: retryTimes);
- }
-
- return response;
- } else {
- throw _throwAPIException(response);
- }
- } on SocketException catch (e) {
- if (retryTimes > 0) {
- print('will retry after 3 seconds...');
- await Future.delayed(Duration(seconds: 3));
- return await _postForResponse(url, requestBody, token: token, queryParameters: queryParameters, headers: headers, retryTimes: retryTimes - 1);
- } else {
- throw APIException(APIException.OTHER, arguments: e);
- }
- } on HttpException catch (e) {
- if (retryTimes > 0) {
- print('will retry after 3 seconds...');
- await Future.delayed(Duration(seconds: 3));
- return await _postForResponse(url, requestBody, token: token, queryParameters: queryParameters, headers: headers, retryTimes: retryTimes - 1);
- } else {
- throw APIException(APIException.OTHER, arguments: e);
- }
- } on TimeoutException catch (e) {
- throw APIException(APIException.TIMEOUT, arguments: e);
- } on ClientException catch (e) {
- if (retryTimes > 0) {
- print('will retry after 3 seconds...');
- await Future.delayed(Duration(seconds: 3));
- return await _postForResponse(url, requestBody, token: token, queryParameters: queryParameters, headers: headers, retryTimes: retryTimes - 1);
- } else {
- throw APIException(APIException.OTHER, arguments: e);
- }
- } catch (ex) {
- print("exception1:" + ex.toString());
- throw APIException(APIException.BAD_RESPONSE_FORMAT, arguments: ex);
- }
- }
-
- bool _certificateCheck(X509Certificate cert, String host, int port) => true;
-
- Future _withClient(Future Function(Client) fn) async {
- var httpClient = HttpClient()..badCertificateCallback = _certificateCheck;
- var client = IOClient(httpClient);
- try {
- return await fn(client);
- } finally {
- client.close();
- }
- }
-
- Future _post(url, {Map? headers, body, Encoding? encoding}) => _withClient((client) => client.post(url, headers: headers, body: body, encoding: encoding));
-
- Future getJsonForObject(FactoryConstructor factoryConstructor, String url,
- {String? token, Map? queryParameters, Map? headers, int retryTimes = 0}) async {
- var _headers = {'Accept': 'application/json'};
- if (headers != null && headers.isNotEmpty) {
- _headers.addAll(headers);
- }
- var response = await getJsonForResponse(url, token: token, queryParameters: queryParameters, headers: _headers, retryTimes: retryTimes);
- try {
- if (!kReleaseMode) {
- print("res:" + response.body);
- }
- var jsonData = jsonDecode(response.body);
- return factoryConstructor(jsonData);
- } catch (ex) {
- print("exception:" + response.body);
- throw APIException(APIException.BAD_RESPONSE_FORMAT, arguments: ex);
- }
- }
-
- Future getJsonForResponse(String url, {String? token, Map? queryParameters, Map? headers, int retryTimes = 0}) async {
- if (headers == null) {
- headers = {'Content-Type': 'application/json'};
- } else {
- headers['Content-Type'] = 'application/json';
- }
- return await _getForResponse(url, token: token, queryParameters: queryParameters, headers: headers, retryTimes: retryTimes);
- }
-
- Future _getForResponse(String url, {String? token, Map? queryParameters, Map? headers, int retryTimes = 0}) async {
- try {
- var _headers = {};
- if (token != null) {
- _headers['Authorization'] = 'Bearer $token';
- }
-
- if (headers != null && headers.isNotEmpty) {
- _headers.addAll(headers);
- }
- if (queryParameters != null) {
- String queryString = new Uri(queryParameters: queryParameters).query;
- if (!url.contains(queryString.toString())) {
- url = url + '?' + queryString.toString();
- }
- // if (isFirstCall) url = url + '?' + queryString.toString();
- }
-
- if (!kReleaseMode) {
- print("Url:$url");
- print("queryParameters:$queryParameters");
- }
- var response = await _get(Uri.parse(url), headers: _headers).timeout(Duration(seconds: 60));
- if (!kReleaseMode) {
- print("res: " + response.body.toString());
- }
- if (response.statusCode >= 200 && response.statusCode < 500) {
- var jsonData = jsonDecode(response.body);
- if (jsonData["StatusMessage"] != null && jsonData["StatusMessage"] == "Unauthorized user attempt to access API") {
- String mToken = await UserApiClent().UpdateUserToken();
- return await _getForResponse(url, token: mToken, queryParameters: queryParameters, headers: headers, retryTimes: retryTimes);
- }
- return response;
- } else {
- throw _throwAPIException(response);
- }
- } on SocketException catch (e) {
- if (retryTimes > 0) {
- print('will retry after 3 seconds...');
- await Future.delayed(Duration(seconds: 3));
- return await _getForResponse(url, token: token, queryParameters: queryParameters, headers: headers, retryTimes: retryTimes - 1);
- } else {
- throw APIException(APIException.OTHER, arguments: e);
- }
- } on HttpException catch (e) {
- if (retryTimes > 0) {
- print('will retry after 3 seconds...');
- await Future.delayed(Duration(seconds: 3));
- return await _getForResponse(url, token: token, queryParameters: queryParameters, headers: headers, retryTimes: retryTimes - 1);
- } else {
- throw APIException(APIException.OTHER, arguments: e);
- }
- } on TimeoutException catch (e) {
- throw APIException(APIException.TIMEOUT, arguments: e);
- } on ClientException catch (e) {
- if (retryTimes > 0) {
- await Future.delayed(Duration(seconds: 3));
- return await _getForResponse(url, token: token, queryParameters: queryParameters, headers: headers, retryTimes: retryTimes - 1);
- } else {
- throw APIException(APIException.OTHER, arguments: e);
- }
- } catch (e) {
- throw APIException(APIException.OTHER, arguments: e);
- }
- }
-
- Future _get(url, {Map? headers}) => _withClient((client) => client.get(url, headers: headers));
-}
diff --git a/lib/api/client/branch_api_client.dart b/lib/api/client/branch_api_client.dart
deleted file mode 100644
index 48d79ce..0000000
--- a/lib/api/client/branch_api_client.dart
+++ /dev/null
@@ -1,131 +0,0 @@
-import 'dart:async';
-import 'package:car_provider_app/classes/app_state.dart';
-import 'package:car_provider_app/models/m_response.dart';
-import 'package:car_provider_app/models/profile/branch.dart';
-import 'package:car_provider_app/models/profile/branch2.dart';
-import 'package:car_provider_app/models/profile/categroy.dart';
-import 'package:car_provider_app/models/profile/document.dart';
-import 'package:car_provider_app/models/profile/services.dart';
-import 'package:car_provider_app/models/user/country.dart';
-import 'package:car_provider_app/models/user/role.dart';
-import 'package:http/http.dart';
-import 'package:car_provider_app/classes/consts.dart';
-import 'package:car_provider_app/models/content_info_model.dart';
-import 'package:car_provider_app/models/member_model.dart';
-import 'package:car_provider_app/models/surah_model.dart';
-import 'package:car_provider_app/models/user/basic_otp.dart';
-import 'package:car_provider_app/models/user/register_user.dart';
-
-import '../api_client.dart';
-
-class BranchApiClent {
- static final BranchApiClent _instance = BranchApiClent._internal();
-
- BranchApiClent._internal();
-
- factory BranchApiClent() => _instance;
-
- Future fetchBranch() async {
- var postParams = {
- "serviceProviderID": AppState().getUser.data?.userInfo?.providerId.toString() ?? "",
- };
- String t = AppState().getUser.data!.accessToken ?? "";
- return await ApiClient().getJsonForObject((json) => Branch.fromJson(json), ApiConsts.getProviderBranch, queryParameters: postParams, token: t);
- }
-
- Future createBranch(String branchName, String branchDescription, String cityId, String address, String latitude, String longitude) async {
- String lat = "0", long = "0";
- try {
- lat = latitude.substring(0, 9);
- long = longitude.substring(0, 9);
- } catch (e) {}
- var postParams = {
- // "id": 0,
- "serviceProviderID": AppState().getUser.data?.userInfo?.providerId ?? "",
- "branchName": branchName,
- "branchDescription": branchDescription,
- "cityID": cityId,
- "address": address,
- "latitude": lat,
- "longitude": long,
- "isActive": true
- };
- String t = AppState().getUser.data!.accessToken ?? "";
- print("tokeen " + t);
- return await ApiClient().postJsonForObject((json) => MResponse.fromJson(json), ApiConsts.createProviderBranch, postParams, token: t);
- }
-
- Future updateBranch(int id, String branchName, String branchDescription, String cityId, String address, String latitude, String longitude, {bool isNeedToDelete = true}) async {
- String lat = "0", long = "0";
- try {
- lat = latitude.substring(0, 9);
- long = longitude.substring(0, 9);
- } catch (e) {}
- var postParams = {
- "id": id,
- "serviceProviderID": AppState().getUser.data?.userInfo?.providerId ?? "",
- "branchName": branchName,
- "branchDescription": branchDescription,
- "cityID": cityId,
- "address": address,
- "latitude": lat,
- "longitude": long,
- "isActive": isNeedToDelete
- };
- String t = AppState().getUser.data!.accessToken ?? "";
- print("tokeen " + t);
- return await ApiClient().postJsonForObject((json) => MResponse.fromJson(json), ApiConsts.updateProviderBranch, postParams, token: t);
- }
-
- Future deleteBranch(int id) async {
- var postParams = {"id": id, "serviceProviderID": AppState().getUser.data?.userInfo?.providerId ?? "", "isActive": false};
- String t = AppState().getUser.data!.accessToken ?? "";
- print("tokeen " + t);
- return await ApiClient().postJsonForObject((json) => MResponse.fromJson(json), ApiConsts.updateProviderBranch, postParams, token: t);
- }
-
- Future fetchAllBranches() async {
- var postParams = {"ServiceProviderID": AppState().getUser.data?.userInfo?.providerId.toString() ?? ""};
- String t = AppState().getUser.data!.accessToken ?? "";
- print("tokeen " + t);
- return await ApiClient().getJsonForObject((json) => Branch.fromJson(json), ApiConsts.ServiceProviderBranchGet, queryParameters: postParams, token: t);
- }
-
- Future fetchBranchCategory() async {
- var postParams = {"ServiceProviderID": AppState().getUser.data?.userInfo?.providerId.toString() ?? ""};
- String t = AppState().getUser.data!.accessToken ?? "";
- print("tokeen " + t);
- return await ApiClient().getJsonForObject((json) => Category.fromJson(json), ApiConsts.ServiceCategory_Get, queryParameters: postParams, token: t);
- }
-
- Future fetchServices(String serviceCategoryId) async {
- var postParams = {"ServiceCategoryID": serviceCategoryId};
- String t = AppState().getUser.data!.accessToken ?? "";
- print("tokeen " + t);
- return await ApiClient().getJsonForObject((json) => Services.fromJson(json), ApiConsts.Services_Get, queryParameters: postParams, token: t);
- }
-
- Future createService(List