diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 3a49a4e..aed2f1e 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,70 +1,69 @@ - - - - - - - - + + + + + + + android:name="android.permission.READ_EXTERNAL_STORAGE" + android:maxSdkVersion="32"/> + android:name="android.permission.WRITE_EXTERNAL_STORAGE" + android:maxSdkVersion="28"/> + + android:largeHeap="true" + android:name="${applicationName}" + android:icon="@mipmap/launcher_icon" + android:label="رصــدیـار"> + android:name=".MainActivity" + android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" + android:enableOnBackInvokedCallback="true" + android:exported="true" + android:hardwareAccelerated="true" + android:launchMode="singleTop" + android:requestLegacyExternalStorage="true" + android:taskAffinity="" + android:theme="@style/LaunchTheme" + android:windowSoftInputMode="adjustResize"> + android:name="io.flutter.embedding.android.NormalTheme" + android:resource="@style/NormalTheme"/> - - + + + android:name="com.yalantis.ucrop.UCropActivity" + android:screenOrientation="fullSensor" + android:theme="@style/Ucrop.CropTheme"/> + android:name="flutterEmbedding" + android:value="2"/> + android:name="androidx.core.content.FileProvider" + android:authorities="${applicationId}.fileprovider" + android:exported="false" + android:grantUriPermissions="true"> + android:name="android.support.FILE_PROVIDER_PATHS" + android:resource="@xml/file_paths"/> - - + + diff --git a/android/local.properties b/android/local.properties index d7bc8de..08236be 100644 --- a/android/local.properties +++ b/android/local.properties @@ -1,5 +1,5 @@ sdk.dir=C:/Users/Housh11/AppData/Local/Android/Sdk flutter.sdk=C:\\src\\flutter -flutter.buildMode=release +flutter.buildMode=debug flutter.versionName=1.3.13 flutter.versionCode=10 \ No newline at end of file diff --git a/packages/chicken/lib/presentation/pages/steward/sales_out_of_province/view.dart b/packages/chicken/lib/presentation/pages/steward/sales_out_of_province/view.dart index acad4f6..8b19ff0 100644 --- a/packages/chicken/lib/presentation/pages/steward/sales_out_of_province/view.dart +++ b/packages/chicken/lib/presentation/pages/steward/sales_out_of_province/view.dart @@ -9,8 +9,6 @@ import 'package:rasadyar_chicken/presentation/utils/nested_keys_utils.dart'; import 'package:rasadyar_chicken/presentation/widget/base_page/view.dart'; import 'package:rasadyar_chicken/presentation/widget/filter_bottom_sheet.dart'; import 'package:rasadyar_chicken/presentation/widget/steward/inventory_widget.dart'; - -import 'package:rasadyar_chicken/presentation/widget/page_route.dart'; import 'package:rasadyar_core/core.dart'; import 'logic.dart'; @@ -27,59 +25,69 @@ class SalesOutOfProvincePage extends GetView { onFilterTap: () { Get.bottomSheet(filterBottomSheet()); }, - widgets: [ - inventoryWidget(controller.rootLogic), - Expanded( - child: ObxValue((data) { - return RPaginatedListView( - onLoadMore: () async => controller.getOutProvinceSales(true), - onRefresh: () async { - controller.currentPage.value = 1; - await controller.getOutProvinceSales(); - }, - hasMore: data.value.data?.next != null, - listType: ListType.separated, - resource: data.value, - padding: EdgeInsets.fromLTRB(8, 8, 8, 80), - itemBuilder: (context, index) { - var item = data.value.data!.results![index]; - return ObxValue((val) { - return ExpandableListItem2( - selected: val.contains(index), - onTap: () => controller.isExpandedList.toggle(index), - index: index, - child: itemListWidget(item), - secondChild: itemListExpandedWidget(item, index), - labelColor: AppColor.blueLight, - labelIcon: Assets.vec.timerSvg.path, - ); - }, controller.isExpandedList); - }, - itemCount: data.value.data?.results?.length ?? 0, - separatorBuilder: (context, index) => SizedBox(height: 8.h), - ); - }, controller.salesList), - ), - ], - floatingActionButton: Row( + child: Stack( children: [ - RFab.add( - onPressed: () { - Get.bottomSheet(addOrEditSaleBottomSheet(), isScrollControlled: true); - }, + Positioned.fill( + child: Column( + children: [ + inventoryWidget(controller.rootLogic), + ObxValue((data) { + return RPaginatedListView( + onLoadMore: () async => controller.getOutProvinceSales(true), + onRefresh: () async { + controller.currentPage.value = 1; + await controller.getOutProvinceSales(); + }, + hasMore: data.value.data?.next != null, + listType: ListType.separated, + resource: data.value, + padding: EdgeInsets.fromLTRB(8, 8, 8, 80), + itemBuilder: (context, index) { + var item = data.value.data!.results![index]; + return ObxValue((val) { + return ExpandableListItem2( + selected: val.contains(index), + onTap: () => controller.isExpandedList.toggle(index), + index: index, + child: itemListWidget(item), + secondChild: itemListExpandedWidget(item, index), + labelColor: AppColor.blueLight, + labelIcon: Assets.vec.timerSvg.path, + ); + }, controller.isExpandedList); + }, + itemCount: data.value.data?.results?.length ?? 0, + separatorBuilder: (context, index) => SizedBox(height: 8.h), + ); + }, controller.salesList), + ], + ), ), - Spacer(), - RFab( - icon: Icon(CupertinoIcons.person_add_solid, color: Colors.white, size: 35.w), - backgroundColor: AppColor.blueNormal, - onPressed: () { - Get.toNamed(ChickenRoutes.salesOutOfProvinceBuyerSteward, id: 1); - }, + Positioned( + right: 5, + left: 0, + bottom: 95, + child: Row( + children: [ + RFab.add( + onPressed: () { + Get.bottomSheet(addOrEditSaleBottomSheet(), isScrollControlled: true); + }, + ), + Spacer(), + RFab( + icon: Icon(CupertinoIcons.person_add_solid, color: Colors.white, size: 35.w), + backgroundColor: AppColor.blueNormal, + onPressed: () { + Get.toNamed(ChickenRoutes.salesOutOfProvinceBuyerSteward, id: stewardSecondKey); + }, + ), + SizedBox(width: 25), + ], + ), ), - SizedBox(width: 25), ], ), - floatingActionButtonLocation: FloatingActionButtonLocation.startFloat, ); } diff --git a/packages/chicken/lib/presentation/pages/steward/sales_out_of_province_buyers/view.dart b/packages/chicken/lib/presentation/pages/steward/sales_out_of_province_buyers/view.dart index bb46417..499b45c 100644 --- a/packages/chicken/lib/presentation/pages/steward/sales_out_of_province_buyers/view.dart +++ b/packages/chicken/lib/presentation/pages/steward/sales_out_of_province_buyers/view.dart @@ -1,11 +1,9 @@ import 'package:flutter/material.dart'; import 'package:rasadyar_chicken/data/models/response/iran_province_city/iran_province_city_model.dart'; import 'package:rasadyar_chicken/data/models/response/out_province_carcasses_buyer/out_province_carcasses_buyer.dart'; +import 'package:rasadyar_chicken/presentation/utils/nested_keys_utils.dart'; import 'package:rasadyar_chicken/presentation/widget/base_page/view.dart'; import 'package:rasadyar_chicken/presentation/widget/filter_bottom_sheet.dart'; - - -import 'package:rasadyar_chicken/presentation/widget/page_route.dart'; import 'package:rasadyar_core/core.dart'; import 'logic.dart'; @@ -17,52 +15,56 @@ class SalesOutOfProvinceBuyersPage extends GetView controller.setSearchValue(data), filteringWidget: filterBottomSheet(), - widgets: [ - Expanded( - child: ObxValue((data) { - return RPaginatedListView( - onLoadMore: () async => controller.getOutProvinceCarcassesBuyer(true), - onRefresh: () async { - controller.currentPage.value = 1; - await controller.getOutProvinceCarcassesBuyer(); + child: Stack( + children: [ + Positioned.fill( + child: ObxValue((data) { + return RPaginatedListView( + onLoadMore: () async => controller.getOutProvinceCarcassesBuyer(true), + onRefresh: () async { + controller.currentPage.value = 1; + await controller.getOutProvinceCarcassesBuyer(); + }, + hasMore: data.value.data?.next != null, + listType: ListType.separated, + resource: data.value, + padding: EdgeInsets.fromLTRB(8, 8, 8, 80), + itemBuilder: (context, index) { + var item = data.value.data!.results![index]; + return ObxValue((val) { + return ExpandableListItem2( + selected: val.contains(index), + onTap: () => controller.isExpandedList.toggle(index), + index: index, + child: itemListWidget(item), + secondChild: itemListExpandedWidget(item), + labelColor: AppColor.blueLight, + labelIcon: Assets.vec.userRaduisSvg.path, + ); + }, controller.isExpandedList); + }, + itemCount: data.value.data?.results?.length ?? 0, + separatorBuilder: (context, index) => SizedBox(height: 8.h), + ); + }, controller.buyerList), + ), + Positioned( + bottom: 100, + child: RFab.add( + onPressed: () { + Get.bottomSheet( + addOrEditBuyerBottomSheet(), + isScrollControlled: true, + ignoreSafeArea: false, + ).whenComplete(() => controller.resetSubmitForm()); }, - hasMore: data.value.data?.next != null, - listType: ListType.separated, - resource: data.value, - padding: EdgeInsets.fromLTRB(8, 8, 8, 80), - itemBuilder: (context, index) { - var item = data.value.data!.results![index]; - return ObxValue((val) { - return ExpandableListItem2( - selected: val.contains(index), - onTap: () => controller.isExpandedList.toggle(index), - index: index, - child: itemListWidget(item), - secondChild: itemListExpandedWidget(item), - labelColor: AppColor.blueLight, - labelIcon: Assets.vec.userRaduisSvg.path, - ); - }, controller.isExpandedList); - }, - itemCount: data.value.data?.results?.length ?? 0, - separatorBuilder: (context, index) => SizedBox(height: 8.h), - ); - }, controller.buyerList), - ), - ], - floatingActionButton: RFab.add( - onPressed: () { - Get.bottomSheet( - addOrEditBuyerBottomSheet(), - isScrollControlled: true, - ignoreSafeArea: false, - ).whenComplete(() => controller.resetSubmitForm()); - }, + ), + ), + ], ), - floatingActionButtonLocation: FloatingActionButtonLocation.startFloat, ); } @@ -206,7 +208,7 @@ class SalesOutOfProvinceBuyersPage extends GetView { Get.bottomSheet(filterBottomSheet()); }, hasBack: false, - widgets: [ - Expanded( - child: ObxValue((data) { + child: Stack( + children: [ + Positioned.fill(child: ObxValue((data) { return RPaginatedListView( onLoadMore: () async => controller.getAllSegmentation(true), onRefresh: () async { @@ -52,21 +52,24 @@ class SegmentationPage extends GetView { itemCount: data.value.data?.results?.length ?? 0, separatorBuilder: (context, index) => SizedBox(height: 8.h), ); - }, controller.segmentationList), - ), - ], - floatingActionButtonLocation: FloatingActionButtonLocation.startFloat, - floatingActionButton: RFab.add( - onPressed: () { - Get.bottomSheet( - addOrEditBottomSheet(), - isScrollControlled: true, - ignoreSafeArea: false, - ).whenComplete(() { - controller.clearForm(); - }); - }, + }, controller.segmentationList)), + Positioned( + right: 10, + bottom: 90.h, + child: RFab.add( + onPressed: () { + Get.bottomSheet( + addOrEditBottomSheet(), + isScrollControlled: true, + ignoreSafeArea: false, + ).whenComplete(() { + controller.clearForm(); + }); + }, + )) + ], ), + ); }