feat : content list
This commit is contained in:
1
assets/icons/virtual_tag.svg
Normal file
1
assets/icons/virtual_tag.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg id="flat" height="512" viewBox="0 0 512 512" width="512" xmlns="http://www.w3.org/2000/svg"><circle cx="256" cy="256" fill="#a1dcff" r="232"/><path d="m437.25 265.48-11.1 22.2a43.994 43.994 0 0 1 -39.35 24.32h-73.31a43.5 43.5 0 0 0 -43.5 43.5v132.08q-6.945.42-13.99.42c-128.13 0-232-103.87-232-232a232.241 232.241 0 0 1 6.81-56h191.18a68.43 68.43 0 0 1 -32.33-70.01l.33-1.99 80 24h54.3a45.277 45.277 0 0 1 30.71 12.01l76.63 70.74a25.985 25.985 0 0 1 5.62 30.73z" fill="#a1dcff"/><path d="m437.25 265.48-11.1 22.2a43.994 43.994 0 0 1 -39.35 24.32h-73.31a43.5 43.5 0 0 0 -43.5 43.5v132.08q-6.945.42-13.99.42c-128.13 0-232-103.87-232-232a232.241 232.241 0 0 1 6.81-56h191.18a68.43 68.43 0 0 1 -32.33-70.01l.33-1.99 80 24h54.3a45.277 45.277 0 0 1 30.71 12.01l76.63 70.74a25.985 25.985 0 0 1 5.62 30.73z" fill="#7a4922"/><path d="m222.193 186.844-46.678 15.799-30.878 62.479 62.478 30.878 30.878-62.478z" fill="#ecab2c"/><g fill="#b5cf7f"><path d="m182.562 360a55.637 55.637 0 0 1 -39.6-16.4 8 8 0 0 1 11.312-11.315 39.994 39.994 0 0 0 53.888 2.444 8 8 0 1 1 10.248 12.287 56.064 56.064 0 0 1 -35.848 12.984z"/><path d="m182.562 392a87.424 87.424 0 0 1 -62.226-25.774 8 8 0 1 1 11.314-11.315 71.985 71.985 0 0 0 97 4.4 8 8 0 1 1 10.25 12.289 88.1 88.1 0 0 1 -56.338 20.4z"/><path d="m182.562 328a23.843 23.843 0 0 1 -16.971-7.029 8 8 0 1 1 11.314-11.315 7.992 7.992 0 0 0 10.773.49 8 8 0 0 1 10.25 12.286 24.034 24.034 0 0 1 -15.366 5.568z"/></g><circle cx="325.993" cy="200" fill="#5b3719" r="16"/><path d="m277.993 152 9.373-9.373a77.254 77.254 0 0 1 54.627-22.627l-4.031 2.687a44.847 44.847 0 0 0 -19.25 29.313z" fill="#e6e5e0"/></svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
BIN
assets/vec/place_holder.svg.vec
Normal file
BIN
assets/vec/place_holder.svg.vec
Normal file
Binary file not shown.
BIN
assets/vec/virtual_tag.svg.vec
Normal file
BIN
assets/vec/virtual_tag.svg.vec
Normal file
Binary file not shown.
@@ -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';
|
||||
|
||||
}
|
||||
|
||||
@@ -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<SvgGenImage> 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<SvgGenImage> 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,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -37,10 +37,7 @@ class TaggingPage extends GetView<TaggingLogic> {
|
||||
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<TaggingLogic> {
|
||||
),
|
||||
|
||||
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<TaggingLogic> {
|
||||
);
|
||||
}
|
||||
|
||||
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(
|
||||
|
||||
Reference in New Issue
Block a user