feat : chicken root page , inventory , sale in province

This commit is contained in:
MrM
2025-06-05 23:26:44 +03:30
parent 5849466e3b
commit 1cfcf9fa8f
68 changed files with 16615 additions and 126 deletions

View File

@@ -1,6 +1,4 @@
import 'package:dio/dio.dart';
import 'package:flutter/foundation.dart';
import 'package:pretty_dio_logger/pretty_dio_logger.dart';
import 'package:rasadyar_core/core.dart';
import 'package:rasadyar_core/infrastructure/remote/interfaces/i_form_data.dart';
@@ -14,30 +12,42 @@ class DioRemote implements IHttpClient {
@override
Future<void> init() async {
final dio = Dio(BaseOptions(baseUrl: baseUrl??''));
final dio = Dio(BaseOptions(baseUrl: baseUrl ?? ''));
if (kDebugMode) {
dio.interceptors.add(PrettyDioLogger(
requestHeader: true,
responseHeader: true,
requestBody: true
));
dio.interceptors.add(
PrettyDioLogger(
requestHeader: true,
responseHeader: true,
requestBody: true,
),
);
}
_dio = dio;
}
@override
Future<DioResponse<T>> get<T>(
String path, {
Map<String, dynamic>? queryParameters,
Map<String, String>? headers,
ProgressCallback? onReceiveProgress,
}) async {
String path, {
Map<String, dynamic>? queryParameters,
Map<String, String>? headers,
ProgressCallback? onReceiveProgress,
T Function(Map<String, dynamic> json)? fromJson,
T Function(List<dynamic> json)? fromJsonList,
}) async {
final response = await _dio.get(
path,
queryParameters: queryParameters,
options: Options(headers: headers),
onReceiveProgress: onReceiveProgress,
);
if (fromJsonList != null && response.data is List) {
response.data = fromJsonList(response.data);
return DioResponse<T>(response);
}
if (fromJson != null && response.data is Map<String, dynamic>) {
response.data = fromJson(response.data);
return DioResponse<T>(response);
}
return DioResponse<T>(response);
}
@@ -62,13 +72,14 @@ class DioRemote implements IHttpClient {
if (fromJson != null) {
final rawData = response.data;
final parsedData =
rawData is Map<String, dynamic> ? fromJson(rawData) : null;
final parsedData = rawData is Map<String, dynamic>
? fromJson(rawData)
: null;
response.data = parsedData;
return DioResponse<T>(response);
}
return DioResponse<T>(response );
return DioResponse<T>(response);
}
@override