diff --git a/assets/icons/virtual_tag.svg b/assets/icons/virtual_tag.svg
new file mode 100644
index 0000000..1f8b8aa
--- /dev/null
+++ b/assets/icons/virtual_tag.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/vec/place_holder.svg.vec b/assets/vec/place_holder.svg.vec
new file mode 100644
index 0000000..caeb6bf
Binary files /dev/null and b/assets/vec/place_holder.svg.vec differ
diff --git a/assets/vec/virtual_tag.svg.vec b/assets/vec/virtual_tag.svg.vec
new file mode 100644
index 0000000..3d6d199
Binary files /dev/null and b/assets/vec/virtual_tag.svg.vec differ
diff --git a/lib/presentation/common/assets.dart b/lib/presentation/common/assets.dart
index 295cf2d..e199492 100644
--- a/lib/presentation/common/assets.dart
+++ b/lib/presentation/common/assets.dart
@@ -38,43 +38,9 @@ class Assets {
static const String iconsTrash = 'assets/icons/trash.svg';
static const String iconsUser = 'assets/icons/user.svg';
static const String iconsUserSquare = 'assets/icons/user_square.svg';
+ static const String iconsVirtualTag = 'assets/icons/virtual_tag.svg';
static const String imagesInnerSplash = 'assets/images/inner_splash.webp';
static const String imagesOutterSplash = 'assets/images/outter_splash.webp';
static const String imagesPlaceHolder = 'assets/images/place_holder.png';
- static const String vecAddSvg = 'assets/vec/add.svg.vec';
- static const String vecArrowLeftSvg = 'assets/vec/arrow_left.svg.vec';
- static const String vecArrowRightSvg = 'assets/vec/arrow_right.svg.vec';
- static const String vecBgHeaderUserProfileSvg = 'assets/vec/bg_header_user_profile.svg.vec';
- static const String vecCalendarSearchSvg = 'assets/vec/calendar_search.svg.vec';
- static const String vecCalendarSvg = 'assets/vec/calendar.svg.vec';
- static const String vecCallSvg = 'assets/vec/call.svg.vec';
- static const String vecDiagramSvg = 'assets/vec/diagram.svg.vec';
- static const String vecDownloadSvg = 'assets/vec/download.svg.vec';
- static const String vecEditSvg = 'assets/vec/edit.svg.vec';
- static const String vecExcelDownloadSvg = 'assets/vec/excel_download.svg.vec';
- static const String vecFilterSvg = 'assets/vec/filter.svg.vec';
- static const String vecGpsSvg = 'assets/vec/gps.svg.vec';
- static const String vecInformationSvg = 'assets/vec/information.svg.vec';
- static const String vecInspectionSvg = 'assets/vec/inspection.svg.vec';
- static const String vecKeySvg = 'assets/vec/key.svg.vec';
- static const String vecLiveStockSvg = 'assets/vec/liveStock.svg.vec';
- static const String vecLogoutSvg = 'assets/vec/logout.svg.vec';
- static const String vecMapMarkerSvg = 'assets/vec/map_marker.svg.vec';
- static const String vecMapSvg = 'assets/vec/map.svg.vec';
- static const String vecMessageAddSvg = 'assets/vec/message_add.svg.vec';
- static const String vecPdfDownloadSvg = 'assets/vec/pdf_download.svg.vec';
- static const String vecPictureFrameSvg = 'assets/vec/picture_frame.svg.vec';
- static const String vecProfileCircleSvg = 'assets/vec/profile_circle.svg.vec';
- static const String vecProfileUserSvg = 'assets/vec/profile_user.svg.vec';
- static const String vecReceiptDiscountSvg = 'assets/vec/receipt_discount.svg.vec';
- static const String vecScanBarcodeSvg = 'assets/vec/scan_barcode.svg.vec';
- static const String vecScanSvg = 'assets/vec/scan.svg.vec';
- static const String vecSearchSvg = 'assets/vec/search.svg.vec';
- static const String vecSecurityTimeSvg = 'assets/vec/security_time.svg.vec';
- static const String vecSettingSvg = 'assets/vec/setting.svg.vec';
- static const String vecTagUserSvg = 'assets/vec/tag_user.svg.vec';
- static const String vecTrashSvg = 'assets/vec/trash.svg.vec';
- static const String vecUserSquareSvg = 'assets/vec/user_square.svg.vec';
- static const String vecUserSvg = 'assets/vec/user.svg.vec';
}
diff --git a/packages/core/lib/presentation/common/assets.gen.dart b/packages/core/lib/presentation/common/assets.gen.dart
index 7604588..aeec0dd 100644
--- a/packages/core/lib/presentation/common/assets.gen.dart
+++ b/packages/core/lib/presentation/common/assets.gen.dart
@@ -123,6 +123,9 @@ class $AssetsIconsGen {
/// File path: assets/icons/user_square.svg
SvgGenImage get userSquare => const SvgGenImage('assets/icons/user_square.svg');
+ /// File path: assets/icons/virtual_tag.svg
+ SvgGenImage get virtualTag => const SvgGenImage('assets/icons/virtual_tag.svg');
+
/// List of all assets
List get values => [
add,
@@ -161,6 +164,7 @@ class $AssetsIconsGen {
trash,
user,
userSquare,
+ virtualTag,
];
}
@@ -252,6 +256,9 @@ class $AssetsVecGen {
/// File path: assets/vec/picture_frame.svg.vec
SvgGenImage get pictureFrameSvg => const SvgGenImage.vec('assets/vec/picture_frame.svg.vec');
+ /// File path: assets/vec/place_holder.svg.vec
+ SvgGenImage get placeHolderSvg => const SvgGenImage.vec('assets/vec/place_holder.svg.vec');
+
/// File path: assets/vec/profile_circle.svg.vec
SvgGenImage get profileCircleSvg => const SvgGenImage.vec('assets/vec/profile_circle.svg.vec');
@@ -288,6 +295,9 @@ class $AssetsVecGen {
/// File path: assets/vec/user_square.svg.vec
SvgGenImage get userSquareSvg => const SvgGenImage.vec('assets/vec/user_square.svg.vec');
+ /// File path: assets/vec/virtual_tag.svg.vec
+ SvgGenImage get virtualTagSvg => const SvgGenImage.vec('assets/vec/virtual_tag.svg.vec');
+
/// List of all assets
List get values => [
addSvg,
@@ -313,6 +323,7 @@ class $AssetsVecGen {
messageAddSvg,
pdfDownloadSvg,
pictureFrameSvg,
+ placeHolderSvg,
profileCircleSvg,
profileUserSvg,
receiptDiscountSvg,
@@ -325,6 +336,7 @@ class $AssetsVecGen {
trashSvg,
userSvg,
userSquareSvg,
+ virtualTagSvg,
];
}
diff --git a/packages/livestock/lib/presentation/page/tagging/view.dart b/packages/livestock/lib/presentation/page/tagging/view.dart
index 235d4c0..8623a91 100644
--- a/packages/livestock/lib/presentation/page/tagging/view.dart
+++ b/packages/livestock/lib/presentation/page/tagging/view.dart
@@ -37,10 +37,7 @@ class TaggingPage extends GetView {
SizedBox(width: 4),
IconButton(
onPressed: () {
- Get.bottomSheet(
- _buildBottomSheet(),
- isScrollControlled: true,
- );
+ Get.bottomSheet(_buildBottomSheet(), isScrollControlled: true);
},
style: IconButton.styleFrom(
backgroundColor: AppColor.blueNormal,
@@ -53,78 +50,139 @@ class TaggingPage extends GetView {
),
Expanded(
- child: Card(
- clipBehavior: Clip.hardEdge,
- color: Colors.white,
- child: GridView.builder(
- padding: EdgeInsets.symmetric(horizontal: 20, vertical: 10),
- itemCount: 20,
- gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
- crossAxisCount: 2,
- crossAxisSpacing: 12,
- mainAxisSpacing: 8,
- ),
- itemBuilder: (context, index) {
- return Container(
- decoration: ShapeDecoration(
- color: AppColor.lightGreyLightHover,
- shape: RoundedRectangleBorder(
- side: BorderSide(width: 1, color: AppColor.blackLightHover),
- borderRadius: BorderRadius.circular(8),
- ),
- ),
- child: Padding(
- padding: const EdgeInsets.all(8.0),
- child: Column(
- mainAxisAlignment: MainAxisAlignment.spaceAround,
- children: [
- Row(
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ child: ListView.separated(
+ padding: EdgeInsets.symmetric(horizontal: 10, vertical: 10),
+ itemCount: 20,
+ itemBuilder: (context, index) {
+ return Container(
+ width: Get.width,
+ height: 85,
+ decoration: BoxDecoration(
+ color:
+ index < 5
+ ? AppColor.yellowNormal
+ : index < 12
+ ? AppColor.greenLightActive
+ : AppColor.blueLight,
+ borderRadius: BorderRadius.circular(8),
+ ),
+ child: Row(
+ children: [
+ SizedBox(width: 5),
+ Expanded(
+ child: Container(
+ decoration: BoxDecoration(
+ color: Colors.white,
+ borderRadius: BorderRadius.only(
+ topRight: Radius.circular(8),
+ bottomRight: Radius.circular(8),
+ ),
+ border: Border.all(
+ color:
+ index < 5
+ ? AppColor.yellowNormal
+ : index < 12
+ ? AppColor.greenLightActive
+ : AppColor.blueLight,
+ width: 2,
+ ),
+ ),
+ child: Column(
children: [
- Assets.vec.editSvg.svg(
- width: 16,
- height: 16,
- colorFilter: ColorFilter.mode(AppColor.blueNormal, BlendMode.srcIn),
- ),
- Assets.vec.trashSvg.svg(
- width: 16,
- height: 16,
- colorFilter: ColorFilter.mode(AppColor.error, BlendMode.srcIn),
- ),
+ SizedBox(height: 10),
+ Expanded(child: Row(
+ children: [
+ SizedBox(width: 10,),
+ Container(
+ padding: EdgeInsets.all(8),
+ alignment: AlignmentDirectional.center,
+ decoration: BoxDecoration(
+ shape: BoxShape.circle,
+ color: Colors.black54,),
+ child: Text((index+1).toString(),style: AppFonts.yekan18.copyWith(color: Colors.white),),
+ ),
+
+ Expanded(
+ child: Row(
+ mainAxisAlignment: MainAxisAlignment.spaceAround,
+ children: [
+ Container(
+ padding: EdgeInsets.all(8),
+ alignment: AlignmentDirectional.center,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(12),
+ color: Colors.black26,),
+ child: Text('ماده',style: AppFonts.yekan14.copyWith(color: AppColor.darkGreyDark),),
+ ),
+ Container(
+ padding: EdgeInsets.all(8),
+ alignment: AlignmentDirectional.center,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(12),
+ color: Colors.black26,),
+ child: Text('18 ماه',style: AppFonts.yekan14.copyWith(color: AppColor.darkGreyDark),),
+ ),
+ Container(
+ padding: EdgeInsets.all(8),
+ alignment: AlignmentDirectional.center,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(12),
+ color: Colors.black26,),
+ child: Text('سرابی',style: AppFonts.yekan14.copyWith(color: AppColor.darkGreyDark),),
+ ),
+ ],
+ ),
+ ),
+ ],
+ )),
+ SizedBox(height: 10),
+ Expanded(child:
+ Row(
+ children: [
+ SizedBox(width: 10,),
+ Text('پلاک : 1212115112512', style: AppFonts.yekan14.copyWith(color: AppColor.darkGreyDark)),
+ Spacer(),
+ Assets.vec.editSvg.svg(
+ width: 24,
+ height: 24,
+ colorFilter: ColorFilter.mode(AppColor.blueNormal, BlendMode.srcIn),
+ ),
+ SizedBox(width: 10),
+ Assets.vec.trashSvg.svg(
+ width: 24,
+ height: 24,
+ colorFilter: ColorFilter.mode(AppColor.error, BlendMode.srcIn)),
+ SizedBox(width: 10,),
+ ],
+
+ )),
+
],
),
- Text(
- 'گوسفند ماده',
- textAlign: TextAlign.center,
- style: AppFonts.yekan14.copyWith(color: AppColor.blueNormal),
- ),
- SizedBox(height: 10),
- Text(
- 'سن : 18 ماه',
- textAlign: TextAlign.center,
- style: AppFonts.yekan12.copyWith(color: AppColor.darkGreyNormal),
- ),
- Text(
- 'نوع نژاد',
- textAlign: TextAlign.center,
- style: AppFonts.yekan14.copyWith(color: AppColor.bgDark),
- ),
- Text(
- '1212115112512',
- textAlign: TextAlign.center,
- style: AppFonts.yekan14.copyWith(color: AppColor.blueNormal),
- ),
- Text(
- 'نوع پلاک',
- textAlign: TextAlign.center,
- style: AppFonts.yekan14.copyWith(color: AppColor.bgDark),
- ),
- ],
+ ),
),
- ),
- );
- },
- ),
+
+ Container(
+ width: 20,
+ child: Center(
+ child: RotatedBox(
+ quarterTurns: 3,
+ child: Text(
+ index < 5
+ ? 'گاو'
+ : index < 12
+ ? 'گوسفند'
+ : 'مرغ',
+ style: AppFonts.yekan8,
+ textAlign: TextAlign.center,
+ ),
+ ),
+ ),
+ ),
+ ],
+ ),
+ );
+ }, separatorBuilder: (BuildContext context, int index) =>SizedBox(height: 4,)
),
),
@@ -144,6 +202,85 @@ class TaggingPage extends GetView {
);
}
+ Widget _buildOldPage() {
+ return Expanded(
+ child: Card(
+ clipBehavior: Clip.hardEdge,
+ color: Colors.white,
+ child: GridView.builder(
+ padding: EdgeInsets.symmetric(horizontal: 20, vertical: 10),
+ itemCount: 20,
+ gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
+ crossAxisCount: 2,
+ crossAxisSpacing: 12,
+ mainAxisSpacing: 8,
+ ),
+ itemBuilder: (context, index) {
+ return Container(
+ decoration: ShapeDecoration(
+ color: AppColor.lightGreyLightHover,
+ shape: RoundedRectangleBorder(
+ side: BorderSide(width: 1, color: AppColor.blackLightHover),
+ borderRadius: BorderRadius.circular(8),
+ ),
+ ),
+ child: Padding(
+ padding: const EdgeInsets.all(8.0),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.spaceAround,
+ children: [
+ Row(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ children: [
+ Assets.vec.editSvg.svg(
+ width: 16,
+ height: 16,
+ colorFilter: ColorFilter.mode(AppColor.blueNormal, BlendMode.srcIn),
+ ),
+ Assets.vec.trashSvg.svg(
+ width: 16,
+ height: 16,
+ colorFilter: ColorFilter.mode(AppColor.error, BlendMode.srcIn),
+ ),
+ ],
+ ),
+ Text(
+ 'گوسفند ماده',
+ textAlign: TextAlign.center,
+ style: AppFonts.yekan14.copyWith(color: AppColor.blueNormal),
+ ),
+ SizedBox(height: 10),
+ Text(
+ 'سن : 18 ماه',
+ textAlign: TextAlign.center,
+ style: AppFonts.yekan12.copyWith(color: AppColor.darkGreyNormal),
+ ),
+ Text(
+ 'نوع نژاد',
+ textAlign: TextAlign.center,
+ style: AppFonts.yekan14.copyWith(color: AppColor.bgDark),
+ ),
+ Text(
+ '1212115112512',
+ textAlign: TextAlign.center,
+ style: AppFonts.yekan14.copyWith(color: AppColor.blueNormal),
+ ),
+ Text(
+ 'نوع پلاک',
+ textAlign: TextAlign.center,
+ style: AppFonts.yekan14.copyWith(color: AppColor.bgDark),
+ ),
+ ],
+ ),
+ ),
+ );
+ },
+ ),
+ ),
+ );
+
+ }
+
Widget _buildBottomSheet() {
return BaseBottomSheet(
child: Column(