diff --git a/assets/icons/active_fram.svg b/assets/icons/active_fram.svg
new file mode 100644
index 0000000..6ce9f47
--- /dev/null
+++ b/assets/icons/active_fram.svg
@@ -0,0 +1,6 @@
+
diff --git a/assets/icons/chicken_inspection.svg b/assets/icons/chicken_inspection.svg
new file mode 100644
index 0000000..4807d12
--- /dev/null
+++ b/assets/icons/chicken_inspection.svg
@@ -0,0 +1,10 @@
+
diff --git a/assets/icons/farms.svg b/assets/icons/farms.svg
new file mode 100644
index 0000000..0c98468
--- /dev/null
+++ b/assets/icons/farms.svg
@@ -0,0 +1,9 @@
+
diff --git a/assets/icons/registerKill.svg b/assets/icons/registerKill.svg
new file mode 100644
index 0000000..deb6c49
--- /dev/null
+++ b/assets/icons/registerKill.svg
@@ -0,0 +1,14 @@
+
diff --git a/assets/vec/active_fram.svg.vec b/assets/vec/active_fram.svg.vec
new file mode 100644
index 0000000..d420f34
Binary files /dev/null and b/assets/vec/active_fram.svg.vec differ
diff --git a/assets/vec/farms.svg.vec b/assets/vec/farms.svg.vec
new file mode 100644
index 0000000..b7054c2
Binary files /dev/null and b/assets/vec/farms.svg.vec differ
diff --git a/assets/vec/registerKill.svg.vec b/assets/vec/registerKill.svg.vec
new file mode 100644
index 0000000..db8807f
Binary files /dev/null and b/assets/vec/registerKill.svg.vec differ
diff --git a/integration_test/app_test.dart b/integration_test/app_test.dart
new file mode 100644
index 0000000..66f821d
--- /dev/null
+++ b/integration_test/app_test.dart
@@ -0,0 +1,76 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_test/flutter_test.dart';
+import 'package:integration_test/integration_test.dart';
+import 'package:get/get.dart';
+import 'package:mocktail/mocktail.dart';
+import 'package:rasadyar_app/main.dart' as app;
+import 'package:rasadyar_core/core.dart';
+
+class MockGService extends Mock implements GService {}
+class MockTokenStorageService extends Mock implements TokenStorageService {}
+
+void main() {
+ IntegrationTestWidgetsFlutterBinding.ensureInitialized();
+
+ group('App Integration Tests', () {
+ late MockGService mockGService;
+ late MockTokenStorageService mockTokenService;
+
+ setUp(() {
+ mockGService = MockGService();
+ mockTokenService = MockTokenStorageService();
+
+ // Setup mock behaviors
+ when(() => mockGService.init()).thenAnswer((_) async {});
+ when(() => mockGService.isFirstTime()).thenReturn(false);
+ when(() => mockGService.setIsNotFirstTime()).thenAnswer((_) async {});
+ when(() => mockTokenService.init()).thenAnswer((_) async {});
+
+ // Put mocks in GetX
+ Get.put(mockGService);
+ Get.put(mockTokenService);
+ });
+
+ tearDown(() {
+ Get.reset();
+ });
+
+ testWidgets('should navigate through splash to modules page', (WidgetTester tester) async {
+ // Start the app
+ app.main();
+ await tester.pumpAndSettle();
+
+ // Verify splash screen is displayed
+ expect(find.byType(Scaffold), findsOneWidget);
+
+ // Wait for splash screen animations and navigation
+ await tester.pumpAndSettle(const Duration(seconds: 3));
+
+ // Should navigate to modules page or auth page based on authentication state
+ expect(find.byType(Scaffold), findsOneWidget);
+ });
+
+ testWidgets('should display correct app title and theme', (WidgetTester tester) async {
+ // Start the app
+ app.main();
+ await tester.pumpAndSettle();
+
+ // Verify app structure
+ final materialApp = tester.widget(find.byType(GetMaterialApp));
+ expect(materialApp.title, 'رصدیار');
+ expect(materialApp.locale, const Locale("fa", "IR"));
+ });
+
+ testWidgets('should handle navigation between pages', (WidgetTester tester) async {
+ // Start the app
+ app.main();
+ await tester.pumpAndSettle();
+
+ // Wait for initial navigation
+ await tester.pumpAndSettle(const Duration(seconds: 2));
+
+ // Verify that navigation works
+ expect(find.byType(Scaffold), findsOneWidget);
+ });
+ });
+}
diff --git a/packages/chicken/lib/presentation/pages/poultry_science/farm/logic.dart b/packages/chicken/lib/presentation/pages/poultry_science/farm/logic.dart
index 3f7c0d4..3c62afa 100644
--- a/packages/chicken/lib/presentation/pages/poultry_science/farm/logic.dart
+++ b/packages/chicken/lib/presentation/pages/poultry_science/farm/logic.dart
@@ -1,6 +1,5 @@
import 'package:flutter/material.dart';
import 'package:rasadyar_chicken/data/models/response/poultry_farm/poultry_farm.dart';
-
import 'package:rasadyar_chicken/presentation/pages/poultry_science/home/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/root/logic.dart';
import 'package:rasadyar_core/core.dart';
@@ -14,7 +13,7 @@ class FarmLogic extends GetxController {
labelTitle: 'کل فارم ها',
isLoading: true,
labelVecIcon: Assets.vec.cubeScanSvg.path,
- blendMode: BlendMode.dst,
+ iconColor: AppColor.blueNormalOld,
valueBgColor: Colors.white,
labelGradient: LinearGradient(
begin: Alignment.topCenter,
@@ -90,10 +89,7 @@ class FarmLogic extends GetxController {
count: res?.count ?? 0,
next: res?.next,
previous: res?.previous,
- results: [
- ...(farmList.value.data?.results ?? []),
- ...?res?.results,
- ],
+ results: [...(farmList.value.data?.results ?? []), ...?res?.results],
),
);
}
@@ -101,6 +97,7 @@ class FarmLogic extends GetxController {
onError: (error, stackTrace) {},
);
}
+
void toggleExpanded(int index) {
expandedIndex.value = expandedIndex.value == index ? -1 : index;
}
diff --git a/packages/chicken/lib/presentation/pages/poultry_science/home/view.dart b/packages/chicken/lib/presentation/pages/poultry_science/home/view.dart
index 83509c4..d77aed0 100644
--- a/packages/chicken/lib/presentation/pages/poultry_science/home/view.dart
+++ b/packages/chicken/lib/presentation/pages/poultry_science/home/view.dart
@@ -68,7 +68,7 @@ class PoultryScienceHomePage extends GetView {
colorFilter: ColorFilter.mode(AppColor.iconColor, BlendMode.srcIn),
),
Text(
- 'فارم های مرغ گوشتی',
+ 'اطلاعات فارمها',
textAlign: TextAlign.right,
style: AppFonts.yekan16.copyWith(color: AppColor.iconColor),
),
@@ -173,7 +173,7 @@ class PoultryScienceHomePage extends GetView {
firstTagInformation(),
Row(
children: [
- Text('اطلاعات جوجه ریزی', textAlign: TextAlign.right, style: AppFonts.yekan16),
+ Text('اطلاعات جوجهریزی', textAlign: TextAlign.right, style: AppFonts.yekan16),
],
),
secondTagInformation(),
@@ -303,7 +303,7 @@ class PoultryScienceHomePage extends GetView {
),
widelyUsed(
- title: 'جوجه ریزی فعال',
+ title: 'جوجهریزی فعال',
iconPath: Assets.vec.boxTickSvg.path,
isOnEdit: false,
cardColor: Color(0xFFD9BEFF),
@@ -322,7 +322,7 @@ class PoultryScienceHomePage extends GetView {
right: 11,
child: Container(
color: Colors.white,
- child: Text('پر کاربرد ها', textAlign: TextAlign.right, style: AppFonts.yekan16),
+ child: Text('پر کاربردها', textAlign: TextAlign.right, style: AppFonts.yekan16),
),
),
],
diff --git a/packages/chicken/lib/presentation/pages/poultry_science/killing_registration/logic.dart b/packages/chicken/lib/presentation/pages/poultry_science/killing_registration/logic.dart
index 161a0af..82290c5 100644
--- a/packages/chicken/lib/presentation/pages/poultry_science/killing_registration/logic.dart
+++ b/packages/chicken/lib/presentation/pages/poultry_science/killing_registration/logic.dart
@@ -8,7 +8,6 @@ import 'package:rasadyar_chicken/data/models/response/kill_request_poultry/kill_
import 'package:rasadyar_chicken/data/models/response/poultry_hatching/poultry_hatching.dart';
import 'package:rasadyar_chicken/data/models/response/sell_for_freezing/sell_for_freezing.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/root/logic.dart';
-import 'package:rasadyar_chicken/presentation/utils/nested_keys_utils.dart';
import 'package:rasadyar_core/core.dart';
class KillingRegistrationLogic extends GetxController {
@@ -89,7 +88,6 @@ class KillingRegistrationLogic extends GetxController {
);
}
-
@override
void onClose() {
super.onClose();
@@ -107,7 +105,8 @@ class KillingRegistrationLogic extends GetxController {
quantityKillsController.addListener(() {
quantityKillsIsCompleted.value = quantityKillsController.text.trim().isNotEmpty;
- if (averageWeightKillsController.text.isNotEmpty && quantityKillsController.text.trim().isNotEmpty) {
+ if (averageWeightKillsController.text.isNotEmpty &&
+ quantityKillsController.text.trim().isNotEmpty) {
generatedApprovedPrice.value = calculateApprovedPrice().toInt();
priceFreeSaleController.text = generatedApprovedPrice.value.separatedByComma;
@@ -120,10 +119,10 @@ class KillingRegistrationLogic extends GetxController {
});
averageWeightKillsController.addListener(() {
-
averageWeightKillsIsCompleted.value = averageWeightKillsController.text.trim().isNotEmpty;
- if (averageWeightKillsController.text.trim().isNotEmpty && quantityKillsController.text.trim().isNotEmpty) {
+ if (averageWeightKillsController.text.trim().isNotEmpty &&
+ quantityKillsController.text.trim().isNotEmpty) {
generatedApprovedPrice.value = calculateApprovedPrice().toInt();
priceFreeSaleController.text = generatedApprovedPrice.value.separatedByComma;
checkSubmitButton();
@@ -359,9 +358,8 @@ class KillingRegistrationLogic extends GetxController {
'ثبت با موفقیت انجام شد',
durationInSeconds: 2,
onDismissed: () async {
- fLog('Kill Registration onDismissed');
Future.delayed(Duration(milliseconds: 300), () {
- Get.back(id: poultryFirstKey);
+ Get.back();
});
},
);
@@ -408,6 +406,4 @@ class KillingRegistrationLogic extends GetxController {
poultryHatchingList.value = Resource>.success([]);
killHouseList.value = Resource>.success([]);
}
-
-
}
diff --git a/packages/chicken/lib/presentation/pages/poultry_science/killing_registration/view.dart b/packages/chicken/lib/presentation/pages/poultry_science/killing_registration/view.dart
index 6a158e0..1a6067d 100644
--- a/packages/chicken/lib/presentation/pages/poultry_science/killing_registration/view.dart
+++ b/packages/chicken/lib/presentation/pages/poultry_science/killing_registration/view.dart
@@ -40,13 +40,7 @@ class KillingRegistrationPage extends GetView {
ObxValue((data) {
return Visibility(
visible: data.value,
- child: Column(
- children: [
-
- averageWeightKillsWidget(),
-
- ],
- ),
+ child: Column(children: [averageWeightKillsWidget()]),
);
}, controller.quantityKillsIsCompleted),
@@ -55,19 +49,15 @@ class KillingRegistrationPage extends GetView {
visible: data.value,
child: Column(
children: [
-
saleTypeWidget(),
priceWidget(),
buyerListWidget(),
slaughterhouseSelectedWidget(),
submitButtonWidget(),
-
],
),
);
}, controller.averageWeightKillsIsCompleted),
-
-
],
),
);
@@ -107,10 +97,7 @@ class KillingRegistrationPage extends GetView {
],
);
} else {
- return Text(
- '${item.unitName} (${item.address?.city?.name})',
- maxLines: 2,
- );
+ return Text('${item.unitName} (${item.address?.city?.name})', maxLines: 2);
}
}
@@ -236,7 +223,7 @@ class KillingRegistrationPage extends GetView {
),
buildUnitRow(
- title: 'جمع تلفات ثبت شده دامپزشک و مرغدار',
+ title: 'تلفات',
value: data.value?.losses.separatedByCommaFa,
unit: 'قطعه',
padding: EdgeInsetsGeometry.symmetric(horizontal: 4),
@@ -248,7 +235,7 @@ class KillingRegistrationPage extends GetView {
padding: EdgeInsetsGeometry.symmetric(horizontal: 4),
),
buildUnitRow(
- title: 'سن مرغ',
+ title: 'سن جوجه',
value: data.value?.chickenAge.separatedByCommaFa,
unit: 'روز',
padding: EdgeInsetsGeometry.symmetric(horizontal: 4),
@@ -386,6 +373,7 @@ class KillingRegistrationPage extends GetView {
},
filledColor: Colors.white,
keyboardType: TextInputType.number,
+ inputFormatters: [FirstDigitDecimalFormatter()],
controller: controller.averageWeightKillsController,
),
);
diff --git a/packages/chicken/lib/presentation/pages/poultry_science/poultry_action/logic.dart b/packages/chicken/lib/presentation/pages/poultry_science/poultry_action/logic.dart
index 6b8e332..cb84a89 100644
--- a/packages/chicken/lib/presentation/pages/poultry_science/poultry_action/logic.dart
+++ b/packages/chicken/lib/presentation/pages/poultry_science/poultry_action/logic.dart
@@ -14,22 +14,22 @@ class PoultryActionLogic extends GetxController {
PoultryActionItem(
title: "بازرسی",
route: ChickenRoutes.inspectionPoultryScience,
- icon: Assets.vec.cubeSearchSvg.path,
+ icon: Assets.vec.chickenInspectionSvg.path,
),
PoultryActionItem(
title: "ثبت کشتار",
route: ChickenRoutes.genocidePoultryScience,
- icon: Assets.vec.noteRemoveSvg.path,
+ icon: Assets.vec.registerKillSvg.path,
),
PoultryActionItem(
title: "فارم ها",
route: ChickenRoutes.farmPoultryScience,
- icon: Assets.vec.cubeScanSvg.path,
+ icon: Assets.vec.farmsSvg.path,
),
PoultryActionItem(
title: "جوجه ریزی فعال",
route: ChickenRoutes.activeHatchingPoultryScience,
- icon: Assets.vec.boxTickSvg.path,
+ icon: Assets.vec.activeFramSvg.path,
),
].obs;
}
diff --git a/packages/chicken/lib/presentation/routes/pages.dart b/packages/chicken/lib/presentation/routes/pages.dart
index a66efa2..88af388 100644
--- a/packages/chicken/lib/presentation/routes/pages.dart
+++ b/packages/chicken/lib/presentation/routes/pages.dart
@@ -216,7 +216,7 @@ sealed class ChickenPages {
binding: BindingsBuilder(() {
Get.lazyPut(() => GenocideLogic());
Get.lazyPut(() => PoultryScienceRootLogic());
- Get.put( KillingRegistrationLogic());
+ Get.lazyPut(() => KillingRegistrationLogic(),fenix: true);
}),
),
GetPage(
diff --git a/packages/chicken/pubspec.yaml b/packages/chicken/pubspec.yaml
index 683ba53..afbc30c 100644
--- a/packages/chicken/pubspec.yaml
+++ b/packages/chicken/pubspec.yaml
@@ -1,6 +1,6 @@
name: rasadyar_chicken
description: A starting point for Dart libraries or applications.
-version: 1.2.1+2
+version: 1.3.2+3
environment:
sdk: ^3.9.0
diff --git a/packages/core/lib/presentation/common/assets.gen.dart b/packages/core/lib/presentation/common/assets.gen.dart
index dc116dc..512eff0 100644
--- a/packages/core/lib/presentation/common/assets.gen.dart
+++ b/packages/core/lib/presentation/common/assets.gen.dart
@@ -32,6 +32,9 @@ class $AssetsAnimGen {
class $AssetsIconsGen {
const $AssetsIconsGen();
+ /// File path: assets/icons/active_fram.svg
+ SvgGenImage get activeFram => const SvgGenImage('assets/icons/active_fram.svg');
+
/// File path: assets/icons/add.svg
SvgGenImage get add => const SvgGenImage('assets/icons/add.svg');
@@ -89,6 +92,9 @@ class $AssetsIconsGen {
/// File path: assets/icons/chicken_house.svg
SvgGenImage get chickenHouse => const SvgGenImage('assets/icons/chicken_house.svg');
+ /// File path: assets/icons/chicken_inspection.svg
+ SvgGenImage get chickenInspection => const SvgGenImage('assets/icons/chicken_inspection.svg');
+
/// File path: assets/icons/chicken_map_marker.svg
SvgGenImage get chickenMapMarker => const SvgGenImage('assets/icons/chicken_map_marker.svg');
@@ -164,6 +170,9 @@ class $AssetsIconsGen {
/// File path: assets/icons/farm.svg
SvgGenImage get farm => const SvgGenImage('assets/icons/farm.svg');
+ /// File path: assets/icons/farms.svg
+ SvgGenImage get farms => const SvgGenImage('assets/icons/farms.svg');
+
/// File path: assets/icons/filter.svg
SvgGenImage get filter => const SvgGenImage('assets/icons/filter.svg');
@@ -272,6 +281,9 @@ class $AssetsIconsGen {
/// File path: assets/icons/receipt_discount.svg
SvgGenImage get receiptDiscount => const SvgGenImage('assets/icons/receipt_discount.svg');
+ /// File path: assets/icons/registerKill.svg
+ SvgGenImage get registerKill => const SvgGenImage('assets/icons/registerKill.svg');
+
/// File path: assets/icons/sale.svg
SvgGenImage get sale => const SvgGenImage('assets/icons/sale.svg');
@@ -337,6 +349,7 @@ class $AssetsIconsGen {
/// List of all assets
List get values => [
+ activeFram,
add,
appBarInspection,
arrowLeft,
@@ -356,6 +369,7 @@ class $AssetsIconsGen {
chicken,
chicken2,
chickenHouse,
+ chickenInspection,
chickenMapMarker,
chickenPattern,
clipboardEye,
@@ -381,6 +395,7 @@ class $AssetsIconsGen {
empty,
excelDownload,
farm,
+ farms,
filter,
filterOutline,
gps,
@@ -417,6 +432,7 @@ class $AssetsIconsGen {
rasadNan,
rasadToyor,
receiptDiscount,
+ registerKill,
sale,
scan,
scanBarcode,
@@ -500,6 +516,9 @@ class $AssetsRiveGen {
class $AssetsVecGen {
const $AssetsVecGen();
+ /// File path: assets/vec/active_fram.svg.vec
+ SvgGenImage get activeFramSvg => const SvgGenImage.vec('assets/vec/active_fram.svg.vec');
+
/// File path: assets/vec/add.svg.vec
SvgGenImage get addSvg => const SvgGenImage.vec('assets/vec/add.svg.vec');
@@ -557,6 +576,9 @@ class $AssetsVecGen {
/// File path: assets/vec/chicken_house.svg.vec
SvgGenImage get chickenHouseSvg => const SvgGenImage.vec('assets/vec/chicken_house.svg.vec');
+ /// File path: assets/vec/chicken_inspection.svg.vec
+ SvgGenImage get chickenInspectionSvg => const SvgGenImage.vec('assets/vec/chicken_inspection.svg.vec');
+
/// File path: assets/vec/chicken_map_marker.svg.vec
SvgGenImage get chickenMapMarkerSvg => const SvgGenImage.vec('assets/vec/chicken_map_marker.svg.vec');
@@ -632,6 +654,9 @@ class $AssetsVecGen {
/// File path: assets/vec/farm.svg.vec
SvgGenImage get farmSvg => const SvgGenImage.vec('assets/vec/farm.svg.vec');
+ /// File path: assets/vec/farms.svg.vec
+ SvgGenImage get farmsSvg => const SvgGenImage.vec('assets/vec/farms.svg.vec');
+
/// File path: assets/vec/filter.svg.vec
SvgGenImage get filterSvg => const SvgGenImage.vec('assets/vec/filter.svg.vec');
@@ -740,6 +765,9 @@ class $AssetsVecGen {
/// File path: assets/vec/receipt_discount.svg.vec
SvgGenImage get receiptDiscountSvg => const SvgGenImage.vec('assets/vec/receipt_discount.svg.vec');
+ /// File path: assets/vec/registerKill.svg.vec
+ SvgGenImage get registerKillSvg => const SvgGenImage.vec('assets/vec/registerKill.svg.vec');
+
/// File path: assets/vec/sale.svg.vec
SvgGenImage get saleSvg => const SvgGenImage.vec('assets/vec/sale.svg.vec');
@@ -805,6 +833,7 @@ class $AssetsVecGen {
/// List of all assets
List get values => [
+ activeFramSvg,
addSvg,
appBarInspectionSvg,
arrowLeftSvg,
@@ -824,6 +853,7 @@ class $AssetsVecGen {
chickenSvg,
chicken2Svg,
chickenHouseSvg,
+ chickenInspectionSvg,
chickenMapMarkerSvg,
chickenPatternSvg,
clipboardEyeSvg,
@@ -849,6 +879,7 @@ class $AssetsVecGen {
emptySvg,
excelDownloadSvg,
farmSvg,
+ farmsSvg,
filterSvg,
filterOutlineSvg,
gpsSvg,
@@ -885,6 +916,7 @@ class $AssetsVecGen {
rasadNanSvg,
rasadToyorSvg,
receiptDiscountSvg,
+ registerKillSvg,
saleSvg,
scanSvg,
scanBarcodeSvg,
diff --git a/packages/core/lib/utils/first_digit_decimal_formatter.dart b/packages/core/lib/utils/first_digit_decimal_formatter.dart
new file mode 100644
index 0000000..0816a8f
--- /dev/null
+++ b/packages/core/lib/utils/first_digit_decimal_formatter.dart
@@ -0,0 +1,24 @@
+import 'package:flutter/services.dart';
+
+class FirstDigitDecimalFormatter extends TextInputFormatter {
+ @override
+ TextEditingValue formatEditUpdate(TextEditingValue oldValue, TextEditingValue newValue) {
+ String digit = newValue.text.replaceAll(RegExp(r'[^0-9]'), "");
+ late String res;
+
+ if (digit.isEmpty) {
+ return newValue.copyWith(text: '');
+ }
+
+ if (digit.length == 1) {
+ res = digit;
+ } else {
+ res = '${digit[0]}.${digit.substring(1)}';
+ }
+
+ return TextEditingValue(
+ text: res,
+ selection: TextSelection.collapsed(offset: res.length),
+ );
+ }
+}
diff --git a/packages/core/lib/utils/utils.dart b/packages/core/lib/utils/utils.dart
index cda3077..4ceb568 100644
--- a/packages/core/lib/utils/utils.dart
+++ b/packages/core/lib/utils/utils.dart
@@ -14,3 +14,4 @@ export 'number_utils.dart';
export 'parser.dart';
export 'route_utils.dart';
export 'separator_input_formatter.dart';
+export 'first_digit_decimal_formatter.dart';
diff --git a/packages/core/pubspec.lock b/packages/core/pubspec.lock
index a7ff537..1c0ff80 100644
--- a/packages/core/pubspec.lock
+++ b/packages/core/pubspec.lock
@@ -953,10 +953,10 @@ packages:
dependency: "direct dev"
description:
name: json_serializable
- sha256: "3f2913b7c2430afe8ac5afe6fb15c1de4a60af4f630625e6e238f80ba4b80cbd"
+ sha256: "33a040668b31b320aafa4822b7b1e177e163fc3c1e835c6750319d4ab23aa6fe"
url: "https://pub.dev"
source: hosted
- version: "6.11.0"
+ version: "6.11.1"
latlong2:
dependency: "direct main"
description:
diff --git a/pubspec.lock b/pubspec.lock
index e6e5b31..c433104 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -5,18 +5,18 @@ packages:
dependency: transitive
description:
name: _fe_analyzer_shared
- sha256: da0d9209ca76bde579f2da330aeb9df62b6319c834fa7baae052021b0462401f
+ sha256: dd3d2ad434b9510001d089e8de7556d50c834481b9abc2891a0184a8493a19dc
url: "https://pub.dev"
source: hosted
- version: "85.0.0"
+ version: "89.0.0"
analyzer:
dependency: transitive
description:
name: analyzer
- sha256: "974859dc0ff5f37bc4313244b3218c791810d03ab3470a579580279ba971a48d"
+ sha256: c22b6e7726d1f9e5db58c7251606076a71ca0dbcf76116675edfadbec0c9e875
url: "https://pub.dev"
source: hosted
- version: "7.7.1"
+ version: "8.2.0"
android_intent_plus:
dependency: transitive
description:
@@ -77,10 +77,10 @@ packages:
dependency: transitive
description:
name: build
- sha256: "6439a9c71a4e6eca8d9490c1b380a25b02675aa688137dfbe66d2062884a23ac"
+ sha256: "5b887c55a0f734b433b3b2d89f9cd1f99eb636b17e268a5b4259258bc916504b"
url: "https://pub.dev"
source: hosted
- version: "3.0.2"
+ version: "4.0.0"
build_config:
dependency: transitive
description:
@@ -97,30 +97,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "4.0.4"
- build_resolvers:
- dependency: transitive
- description:
- name: build_resolvers
- sha256: "2b21a125d66a86b9511cc3fb6c668c42e9a1185083922bf60e46d483a81a9712"
- url: "https://pub.dev"
- source: hosted
- version: "3.0.2"
build_runner:
dependency: "direct dev"
description:
name: build_runner
- sha256: fd3c09f4bbff7fa6e8d8ef688a0b2e8a6384e6483a25af0dac75fef362bcfe6f
+ sha256: "804c47c936df75e1911c19a4fb8c46fa8ff2b3099b9f2b2aa4726af3774f734b"
url: "https://pub.dev"
source: hosted
- version: "2.7.0"
- build_runner_core:
- dependency: transitive
- description:
- name: build_runner_core
- sha256: ab27e46c8aa233e610cf6084ee6d8a22c6f873a0a9929241d8855b7a72978ae7
- url: "https://pub.dev"
- source: hosted
- version: "9.3.0"
+ version: "2.8.0"
built_collection:
dependency: transitive
description:
@@ -285,10 +269,10 @@ packages:
dependency: transitive
description:
name: dart_style
- sha256: "8a0e5fba27e8ee025d2ffb4ee820b4e6e2cf5e4246a6b1a477eb66866947e0bb"
+ sha256: c87dfe3d56f183ffe9106a18aebc6db431fc7c98c31a54b952a77f3d54a85697
url: "https://pub.dev"
source: hosted
- version: "3.1.1"
+ version: "3.1.2"
dartx:
dependency: transitive
description:
@@ -446,22 +430,27 @@ packages:
url: "https://pub.dev"
source: hosted
version: "3.4.1"
+ flutter_driver:
+ dependency: transitive
+ description: flutter
+ source: sdk
+ version: "0.0.0"
flutter_gen_core:
dependency: transitive
description:
name: flutter_gen_core
- sha256: eda54fdc5de08e7eeea663eb8442aafc8660b5a13fda4e0c9e572c64e50195fb
+ sha256: b6bafbbd981da2f964eb45bcb8b8a7676a281084f8922c0c75de4cfbaa849311
url: "https://pub.dev"
source: hosted
- version: "5.11.0"
+ version: "5.12.0"
flutter_gen_runner:
dependency: "direct dev"
description:
name: flutter_gen_runner
- sha256: "669bf8b7a9b4acbdcb7fcc5e12bf638aca19acedf43341714cbca3bf3a219521"
+ sha256: c99b10af9d404e3f46fd1927e7d90099779e935e86022674c4c2a9e6c2a93b29
url: "https://pub.dev"
source: hosted
- version: "5.11.0"
+ version: "5.12.0"
flutter_launcher_icons:
dependency: "direct main"
description:
@@ -625,10 +614,10 @@ packages:
dependency: "direct dev"
description:
name: freezed
- sha256: da32f8ba8cfcd4ec71d9decc8cbf28bd2c31b5283d9887eb51eb4a0659d8110c
+ sha256: "13065f10e135263a4f5a4391b79a8efc5fb8106f8dd555a9e49b750b45393d77"
url: "https://pub.dev"
source: hosted
- version: "3.2.0"
+ version: "3.2.3"
freezed_annotation:
dependency: "direct main"
description:
@@ -645,6 +634,11 @@ packages:
url: "https://pub.dev"
source: hosted
version: "4.0.0"
+ fuchsia_remote_debug_protocol:
+ dependency: transitive
+ description: flutter
+ source: sdk
+ version: "0.0.0"
geoclue:
dependency: transitive
description:
@@ -785,10 +779,10 @@ packages:
dependency: "direct dev"
description:
name: hive_ce_generator
- sha256: a169feeff2da9cc2c417ce5ae9bcebf7c8a95d7a700492b276909016ad70a786
+ sha256: "8c677690c8ead43778ddf7ed8ff17e852dd5d22d082c75182b072842c0dc5055"
url: "https://pub.dev"
source: hosted
- version: "1.9.3"
+ version: "1.9.5"
http:
dependency: transitive
description:
@@ -917,6 +911,11 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.4.0"
+ integration_test:
+ dependency: "direct dev"
+ description: flutter
+ source: sdk
+ version: "0.0.0"
intl:
dependency: transitive
description:
@@ -961,10 +960,10 @@ packages:
dependency: "direct dev"
description:
name: json_serializable
- sha256: "3f2913b7c2430afe8ac5afe6fb15c1de4a60af4f630625e6e238f80ba4b80cbd"
+ sha256: "33a040668b31b320aafa4822b7b1e177e163fc3c1e835c6750319d4ab23aa6fe"
url: "https://pub.dev"
source: hosted
- version: "6.11.0"
+ version: "6.11.1"
latlong2:
dependency: transitive
description:
@@ -1081,10 +1080,10 @@ packages:
dependency: transitive
description:
name: mockito
- sha256: "2314cbe9165bcd16106513df9cf3c3224713087f09723b128928dc11a4379f99"
+ sha256: "4feb43bc4eb6c03e832f5fcd637d1abb44b98f9cfa245c58e27382f58859f8f6"
url: "https://pub.dev"
source: hosted
- version: "5.5.0"
+ version: "5.5.1"
mocktail:
dependency: "direct dev"
description:
@@ -1341,6 +1340,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.4.0"
+ process:
+ dependency: transitive
+ description:
+ name: process
+ sha256: c6248e4526673988586e8c00bb22a49210c258dc91df5227d5da9748ecf79744
+ url: "https://pub.dev"
+ source: hosted
+ version: "5.0.5"
proj4dart:
dependency: transitive
description:
@@ -1379,7 +1386,7 @@ packages:
path: "packages/chicken"
relative: true
source: path
- version: "1.2.1+2"
+ version: "1.3.2+3"
rasadyar_core:
dependency: "direct main"
description:
@@ -1530,18 +1537,18 @@ packages:
dependency: transitive
description:
name: source_gen
- sha256: "7b19d6ba131c6eb98bfcbf8d56c1a7002eba438af2e7ae6f8398b2b0f4f381e3"
+ sha256: ccf30b0c9fbcd79d8b6f5bfac23199fb354938436f62475e14aea0f29ee0f800
url: "https://pub.dev"
source: hosted
- version: "3.1.0"
+ version: "4.0.1"
source_helper:
dependency: transitive
description:
name: source_helper
- sha256: "4f81479fe5194a622cdd1713fe1ecb683a6e6c85cd8cec8e2e35ee5ab3fdf2a1"
+ sha256: "6a3c6cc82073a8797f8c4dc4572146114a39652851c157db37e964d9c7038723"
url: "https://pub.dev"
source: hosted
- version: "1.3.6"
+ version: "1.3.8"
source_span:
dependency: transitive
description:
@@ -1630,6 +1637,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.4.1"
+ sync_http:
+ dependency: transitive
+ description:
+ name: sync_http
+ sha256: "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.3.1"
synchronized:
dependency: transitive
description:
@@ -1662,14 +1677,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.5"
- timing:
- dependency: transitive
- description:
- name: timing
- sha256: "62ee18aca144e4a9f29d212f5a4c6a053be252b895ab14b5821996cff4ed90fe"
- url: "https://pub.dev"
- source: hosted
- version: "1.0.2"
typed_data:
dependency: transitive
description:
@@ -1766,6 +1773,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "3.0.3"
+ webdriver:
+ dependency: transitive
+ description:
+ name: webdriver
+ sha256: "2f3a14ca026957870cfd9c635b83507e0e51d8091568e90129fbf805aba7cade"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.1.0"
win32:
dependency: transitive
description:
diff --git a/pubspec.yaml b/pubspec.yaml
index a616485..400931f 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,7 +1,7 @@
name: rasadyar_app
description: "A new Flutter project."
publish_to: 'none'
-version: 1.3.7+5
+version: 1.3.8+6
environment:
sdk: ^3.9.0
@@ -34,13 +34,15 @@ dependencies:
dev_dependencies:
flutter_test:
sdk: flutter
+ integration_test:
+ sdk: flutter
flutter_lints: ^6.0.0
##code generation
- build_runner: ^2.7.0
- hive_ce_generator: ^1.9.3
- freezed: ^3.2.0
- json_serializable: ^6.11.0
- flutter_gen_runner: ^5.11.0
+ build_runner: ^2.8.0
+ hive_ce_generator: ^1.9.5
+ freezed: ^3.2.3
+ json_serializable: ^6.11.1
+ flutter_gen_runner: ^5.12.0
change_app_package_name: ^1.5.0
##test