diff --git a/assets/images/wo/loan_wo.svg b/assets/images/wo/loan_wo.svg
new file mode 100644
index 00000000..86f1bcae
--- /dev/null
+++ b/assets/images/wo/loan_wo.svg
@@ -0,0 +1,6 @@
+
diff --git a/lib/modules/asset_inventory_module/pages/asset_inventory_form_view.dart b/lib/modules/asset_inventory_module/pages/asset_inventory_form_view.dart
index 52c7cfa2..f60d5332 100644
--- a/lib/modules/asset_inventory_module/pages/asset_inventory_form_view.dart
+++ b/lib/modules/asset_inventory_module/pages/asset_inventory_form_view.dart
@@ -303,7 +303,7 @@ class _AssetInventoryFormViewState extends State {
attachment: attachments,
buttonColor: AppColor.black10,
onlyImages: false,
- buttonIcon: 'image-plus'.toSvgAsset(color: AppColor.neutral120),
+ buttonIcon: 'image-plus'.toSvgAsset(color: AppColor.primary10),
),
12.height,
AppTextFormField(
diff --git a/lib/modules/cm_module/create_cm_request.dart b/lib/modules/cm_module/create_cm_request.dart
index 95c74d29..e9d38414 100644
--- a/lib/modules/cm_module/create_cm_request.dart
+++ b/lib/modules/cm_module/create_cm_request.dart
@@ -158,13 +158,12 @@ class _CreateCMRequestState extends State with TickerProviderSt
AttachmentPicker(
label: context.translation.attachImage,
attachment: _deviceImages,
- buttonColor: AppColor.black10,
onlyImages: false,
- buttonIcon: 'image-plus'.toSvgAsset(color: AppColor.neutral120),
+ buttonIcon: 'image-plus'.toSvgAsset(color: AppColor.primary10),
),
],
).paddingAll(0).toShadowContainer(context),
- 16.height,
+ 12.height,
commentWidget(serviceRequest: _serviceRequest),
],
),
@@ -202,7 +201,7 @@ class _CreateCMRequestState extends State with TickerProviderSt
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
- context.translation.assetStatus.bodyText(context).custom(color: AppColor.black20),
+ context.translation.assetStatus.bodyText(context).custom(color: AppColor.textStyleColor(context)),
8.height,
Wrap(
runSpacing: 8,
@@ -222,7 +221,7 @@ class _CreateCMRequestState extends State with TickerProviderSt
if (states.contains(WidgetState.selected)) {
return AppColor.primary10; // Thumb color when selected
}
- return Colors.grey; // Thumb color when unselected (grey)
+ return AppColor.icon2Color(context); // Thumb color when unselected (grey)
}),
groupValue: _serviceRequest.defectType,
onChanged: (state) {
@@ -232,7 +231,7 @@ class _CreateCMRequestState extends State with TickerProviderSt
}),
),
8.width,
- Text(element.name ?? '', style: AppTextStyles.tinyFont.copyWith(color: AppColor.neutral120)),
+ Text(element.name ?? '', style: AppTextStyles.tinyFont.copyWith(color: AppColor.icon2Color(context))),
],
)
],
@@ -246,7 +245,7 @@ class _CreateCMRequestState extends State with TickerProviderSt
return AssetPicker(
device: _serviceRequest.device,
showLoading: checkPendingRequest,
- borderColor: AppColor.black20,
+ // borderColor: AppColor.black20,
onPick: (asset) async {
pendingAssetServiceRequest = null;
_serviceRequest.device = asset;
@@ -262,7 +261,7 @@ class _CreateCMRequestState extends State with TickerProviderSt
return Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
- context.translation.highPriority.bodyText(context).custom(color: AppColor.black20),
+ context.translation.highPriority.bodyText(context).custom(color: AppColor.textStyleColor(context)),
Consumer(builder: (cxt, snapshot, _) {
if (snapshot.items.isNotEmpty) {
_serviceRequest.priority ??= snapshot.items.firstWhere((element) => element.value == 0, orElse: () => Lookup());
diff --git a/lib/modules/cm_module/views/components/bottom_sheets/service_request_bottomsheet.dart b/lib/modules/cm_module/views/components/bottom_sheets/service_request_bottomsheet.dart
index d15e2a81..90060402 100644
--- a/lib/modules/cm_module/views/components/bottom_sheets/service_request_bottomsheet.dart
+++ b/lib/modules/cm_module/views/components/bottom_sheets/service_request_bottomsheet.dart
@@ -40,7 +40,7 @@ class ServiceRequestBottomSheet {
useSafeArea: true,
isScrollControlled: true,
isDismissible: isDismissible ?? true,
- backgroundColor: Colors.transparent,
+ backgroundColor: AppColor.bottomSheetColor(context),
builder: (context) => SingleChildScrollView(
child: SafeArea(child: childWidget),
).bottomSheetContainer(context),
diff --git a/lib/modules/cm_module/views/forms/asset_retired/asset_retired.dart b/lib/modules/cm_module/views/forms/asset_retired/asset_retired.dart
index fe8760eb..d31dbf94 100644
--- a/lib/modules/cm_module/views/forms/asset_retired/asset_retired.dart
+++ b/lib/modules/cm_module/views/forms/asset_retired/asset_retired.dart
@@ -107,7 +107,7 @@ class _AssetRetiredState extends State with TickerProviderStateMix
label: context.translation.attachFiles,
attachment: _attachments,
onlyImages: false,
- buttonIcon: 'image-plus'.toSvgAsset(color: AppColor.neutral120),
+ buttonIcon: 'image-plus'.toSvgAsset(color: AppColor.primary10),
buttonColor: AppColor.black10,
),
],
diff --git a/lib/modules/cm_module/views/forms/spare_part/spare_part_request.dart b/lib/modules/cm_module/views/forms/spare_part/spare_part_request.dart
index 1821a20b..de312a41 100644
--- a/lib/modules/cm_module/views/forms/spare_part/spare_part_request.dart
+++ b/lib/modules/cm_module/views/forms/spare_part/spare_part_request.dart
@@ -296,7 +296,7 @@ class _SparePartRequestState extends State with TickerProvider
AttachmentPicker(
label: context.translation.attachQuotation,
attachment: attachments,
- buttonIcon: 'quotation_icon'.toSvgAsset(),
+ buttonIcon: 'quotation_icon'.toSvgAsset(color: AppColor.primary10),
buttonColor: AppColor.primary10,
),
],
diff --git a/lib/modules/cx_module/chat/helper/chat_file_picker.dart b/lib/modules/cx_module/chat/helper/chat_file_picker.dart
index f080cd20..514e4a7c 100644
--- a/lib/modules/cx_module/chat/helper/chat_file_picker.dart
+++ b/lib/modules/cx_module/chat/helper/chat_file_picker.dart
@@ -27,13 +27,13 @@ class ChatFilePicker extends StatelessWidget {
physics: const NeverScrollableScrollPhysics(),
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 3, childAspectRatio: 1, crossAxisSpacing: 12, mainAxisSpacing: 12),
children: [
- gridItem(Icons.camera_enhance_rounded, context.translation.pickFromCamera).onPress(() async {
+ gridItem(context, Icons.camera_enhance_rounded, context.translation.pickFromCamera).onPress(() async {
await fromMediaPicker(context, ImageSource.camera);
}),
- gridItem(Icons.image_rounded, context.translation.pickFromGallery).onPress(() async {
+ gridItem(context, Icons.image_rounded, context.translation.pickFromGallery).onPress(() async {
await fromMediaPicker(context, ImageSource.gallery);
}),
- gridItem(Icons.file_present_rounded, context.translation.pickFromFiles).onPress(() async {
+ gridItem(context, Icons.file_present_rounded, context.translation.pickFromFiles).onPress(() async {
await fromFilePicker(context);
}),
],
@@ -81,23 +81,20 @@ class ChatFilePicker extends StatelessWidget {
}
}
- Widget gridItem(IconData iconData, String title) {
+ Widget gridItem(BuildContext context, IconData iconData, String title) {
return Container(
padding: const EdgeInsets.all(12),
decoration: BoxDecoration(
- color: Colors.white,
- borderRadius: BorderRadius.circular(12),
- border: Border.all(color: const Color(0xffF1F1F1), width: 1),
+ color: AppColor.background(context),
+ borderRadius: BorderRadius.circular(16),
+ border: Border.all(color: AppColor.borderColor(context), width: 2),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
- Icon(iconData, color: const Color(0xff7D859A), size: 36),
- Text(
- title,
- style: const TextStyle(fontSize: 12, fontWeight: FontWeight.w500),
- ),
+ Icon(iconData, color: AppColor.icon2Color(context), size: 36),
+ title.bodyText2(context).custom(color: AppColor.labelTextStyleColor(context), fontSize: context.isTablet() ? 10.toScreenWidth : null),
],
),
);
diff --git a/lib/modules/demo_module/create_demo_request_page.dart b/lib/modules/demo_module/create_demo_request_page.dart
index b8cce18d..a921ed91 100644
--- a/lib/modules/demo_module/create_demo_request_page.dart
+++ b/lib/modules/demo_module/create_demo_request_page.dart
@@ -148,7 +148,7 @@ class _CreateDemoRequestPageState extends State with Tick
enabled: demoDocumentLookup != null,
documentType: demoDocumentLookup,
showAsListView: true,
- buttonIcon: 'image-plus'.toSvgAsset(color: (context.isDark ? AppColor.primary10 : AppColor.neutral120).withOpacity(demoDocumentLookup != null ? 1 : .4)),
+ buttonIcon: 'image-plus'.toSvgAsset(color: (AppColor.primary10).withOpacity(demoDocumentLookup != null ? 1 : .4)),
onChange: (attachments) {
_attachments = attachments;
setState(() {});
diff --git a/lib/modules/demo_module/update_demo-request_view.dart b/lib/modules/demo_module/update_demo-request_view.dart
index d7b1ffe9..02dae2d2 100644
--- a/lib/modules/demo_module/update_demo-request_view.dart
+++ b/lib/modules/demo_module/update_demo-request_view.dart
@@ -227,7 +227,7 @@ class _UpdateDemoRequestViewState extends State with Tick
documentType: demoDocumentLookup,
enabled: demoDocumentLookup != null,
showAsListView: true,
- buttonIcon: 'image-plus'.toSvgAsset(color: (context.isDark ? AppColor.primary10 : AppColor.neutral120).withOpacity(demoDocumentLookup != null ? 1 : .4)),
+ buttonIcon: 'image-plus'.toSvgAsset(color: (AppColor.primary10).withOpacity(demoDocumentLookup != null ? 1 : .4)),
),
],
).toShadowContainer(context, borderRadius: 20),
diff --git a/lib/modules/incident_module/create_incident_request_page.dart b/lib/modules/incident_module/create_incident_request_page.dart
index dc33c3e2..3085dc26 100644
--- a/lib/modules/incident_module/create_incident_request_page.dart
+++ b/lib/modules/incident_module/create_incident_request_page.dart
@@ -156,7 +156,7 @@ class _CreateIncidentRequestPageState extends State {
buttonColor: AppColor.black10,
onlyImages: false,
showAsListView: true,
- buttonIcon: 'image-plus'.toSvgAsset(color: context.isDark ? AppColor.primary10 : AppColor.neutral120),
+ buttonIcon: 'image-plus'.toSvgAsset(color: AppColor.primary10),
onChange: (_attachments) {
attachments = _attachments;
setState(() {});
diff --git a/lib/modules/internal_audit_module/pages/equipment_internal_audit/update_equipment_internal_audit_page.dart b/lib/modules/internal_audit_module/pages/equipment_internal_audit/update_equipment_internal_audit_page.dart
index fb317f1e..9c5be1d2 100644
--- a/lib/modules/internal_audit_module/pages/equipment_internal_audit/update_equipment_internal_audit_page.dart
+++ b/lib/modules/internal_audit_module/pages/equipment_internal_audit/update_equipment_internal_audit_page.dart
@@ -223,9 +223,7 @@ class _UpdateEquipmentInternalAuditPageState extends State(context, listen: false);
- if ( formModel.startTime == null) {
+ if (formModel.startTime == null) {
Fluttertoast.showToast(msg: "Working Hours Required");
return;
}
@@ -162,9 +162,7 @@ class _UpdateSystemInternalAuditPageState extends State with Tick
attachment: attachments,
onlyImages: false,
showAsListView: true,
- buttonIcon: 'image-plus'.toSvgAsset(color: context.isDark ? AppColor.primary10 : AppColor.neutral120),
+ buttonIcon: 'image-plus'.toSvgAsset(color: AppColor.primary10),
onChange: (attachments) {
attachments = attachments;
setState(() {});
diff --git a/lib/modules/medical_gas_inspection/update_delivery_notes_page.dart b/lib/modules/medical_gas_inspection/update_delivery_notes_page.dart
index 86cebf54..1a0dfae5 100644
--- a/lib/modules/medical_gas_inspection/update_delivery_notes_page.dart
+++ b/lib/modules/medical_gas_inspection/update_delivery_notes_page.dart
@@ -206,9 +206,7 @@ class _UpdateDeliveryNotesState extends State {
buttonColor: AppColor.primary10,
// showAsListView: true,
onlyImages: false,
- buttonIcon: 'attachment_icon'.toSvgAsset(
- color: AppColor.primary10,
- ),
+ buttonIcon: 'attachment_icon'.toSvgAsset(color: AppColor.primary10),
),
16.height,
//should create a reusable widget.
diff --git a/lib/modules/medical_gas_inspection/update_medical_gas_inspection_page.dart b/lib/modules/medical_gas_inspection/update_medical_gas_inspection_page.dart
index 7175b7e1..b11a0a92 100644
--- a/lib/modules/medical_gas_inspection/update_medical_gas_inspection_page.dart
+++ b/lib/modules/medical_gas_inspection/update_medical_gas_inspection_page.dart
@@ -203,9 +203,7 @@ class _UpdateMedicalGasInspectionPageState extends State {
attachment: ppmProvider.ppmPlanAttachments,
buttonColor: AppColor.black10,
onlyImages: false,
- buttonIcon: 'image-plus'.toSvgAsset(color: AppColor.neutral120),
+ buttonIcon: 'image-plus'.toSvgAsset(color: AppColor.primary10),
),
],
).toShadowContainer(context),
diff --git a/lib/modules/tm_module/device_transfer/create_device_transfer_request.dart b/lib/modules/tm_module/device_transfer/create_device_transfer_request.dart
index 6b9ed8aa..5c44d4c3 100644
--- a/lib/modules/tm_module/device_transfer/create_device_transfer_request.dart
+++ b/lib/modules/tm_module/device_transfer/create_device_transfer_request.dart
@@ -126,8 +126,8 @@ class _CreateDeviceTransferRequestState extends State {
style: TextButton.styleFrom(padding: EdgeInsets.zero, tapTargetSize: MaterialTapTargetSize.shrinkWrap),
child: Text(
'Clear Filters',
- style: AppTextStyles.bodyText2.copyWith(color: AppColor.primary10),
+ style: AppTextStyles.bodyText2.copyWith(color: AppColor.red30),
),
).paddingOnly(start: 16, end: 16)
],
diff --git a/lib/modules/tm_module/device_transfer/device_search_screen.dart b/lib/modules/tm_module/device_transfer/device_search_screen.dart
index d9f99f8d..74cdeeb6 100644
--- a/lib/modules/tm_module/device_transfer/device_search_screen.dart
+++ b/lib/modules/tm_module/device_transfer/device_search_screen.dart
@@ -80,7 +80,7 @@ class _DeviceSearchScreenState extends State {
style: TextButton.styleFrom(padding: EdgeInsets.zero, tapTargetSize: MaterialTapTargetSize.shrinkWrap),
child: Text(
'Clear Filters',
- style: AppTextStyles.bodyText2.copyWith(color: AppColor.primary10),
+ style: AppTextStyles.bodyText2.copyWith(color: AppColor.red30),
),
).paddingOnly(start: 16, end: 16),
],
diff --git a/lib/modules/tm_module/device_transfer/search_device_page.dart b/lib/modules/tm_module/device_transfer/search_device_page.dart
index cc76e370..be0eec14 100644
--- a/lib/modules/tm_module/device_transfer/search_device_page.dart
+++ b/lib/modules/tm_module/device_transfer/search_device_page.dart
@@ -8,6 +8,7 @@ import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/modules/cm_module/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart';
+import 'package:test_sa/new_views/common_widgets/default_app_bar.dart';
import 'package:test_sa/views/widgets/equipment/asset_item_listview.dart';
import 'package:test_sa/views/widgets/horizontal_list_widget.dart';
import 'package:test_sa/views/widgets/loaders/lazy_loading.dart';
@@ -67,27 +68,7 @@ class _SearchDevicePageState extends State {
return Scaffold(
resizeToAvoidBottomInset: false,
- appBar: CustomAppBar(
- title: context.translation.searchAsset,
-
- /// comment reset button because it isn't exist in new design
- // actions: [
- // if (_showResetButton())
- // Row(
- // crossAxisAlignment: CrossAxisAlignment.center,
- // children: [
- // Text(
- // context.translation.reset,
- // style: AppTextStyles.bodyText2.copyWith(color: const Color(0xFF4A8DB7)),
- // ).paddingAll(8).onPress(() {
- // setState(() {
- // _searchController.text = "";
- // });
- // }),
- // ],
- // )
- // ],
- ),
+ appBar: DefaultAppBar(title: context.translation.searchAsset),
body: Column(
children: [
HorizontalListWidget(
@@ -117,10 +98,10 @@ class _SearchDevicePageState extends State {
_setValue(value);
},
suffixIcon: IconButton(
- icon: const Icon(Icons.search),
+ icon: Icon(Icons.search, color: AppColor.icon2Color(context)),
splashColor: Colors.transparent,
onPressed: _searchController.text.isNotEmpty ? _search : null,
- color: AppColor.neutral20,
+ color: AppColor.icon2Color(context),
).paddingOnly(end: 0),
).paddingOnly(top: 16, start: 16, end: 16, bottom: 8),
),
@@ -165,74 +146,73 @@ class _SearchDevicePageState extends State {
Navigator.of(context).pop(device);
}
},
- selectButton: Text(title, style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context))),
+ selectButton: Text(title, style: AppTextStyles.bodyText.copyWith(color: AppColor.primary10)),
);
},
).expanded,
if (widget.multiSelection && selectedAssets.isNotEmpty)
FooterActionButton.footerContainer(
- context: context,
- child: Row(
- mainAxisSize: MainAxisSize.min,
- children: [
- Expanded(
- child: AppFilledButton(
- label: "Clear",
- buttonColor: AppColor.white60,
- textColor: AppColor.black10,
- loading: false,
- onPressed: () async {
- selectedAssets.clear();
- setState(() {});
- },
+ context: context,
+ child: Row(
+ mainAxisSize: MainAxisSize.min,
+ children: [
+ Expanded(
+ child: AppFilledButton(
+ label: "Clear",
+ buttonColor: AppColor.white60,
+ textColor: AppColor.black10,
+ loading: false,
+ onPressed: () async {
+ selectedAssets.clear();
+ setState(() {});
+ },
+ ),
),
- ),
- 12.width,
- Expanded(
- child: AppFilledButton(
- label: context.translation.select,
- buttonColor: AppColor.primary10,
- loading: false,
- onPressed: () async {
- Navigator.of(context).pop();
- List assets = _searchableList.where((asset) => selectedAssets.contains(asset.id)).toList();
- Navigator.of(context).pop(assets);
- },
+ 12.width,
+ Expanded(
+ child: AppFilledButton(
+ label: context.translation.select,
+ buttonColor: AppColor.primary10,
+ loading: false,
+ onPressed: () async {
+ Navigator.of(context).pop();
+ List assets = _searchableList.where((asset) => selectedAssets.contains(asset.id)).toList();
+ Navigator.of(context).pop(assets);
+ },
+ ),
),
- ),
- ],
- )
- ),
- // Row(
- // mainAxisSize: MainAxisSize.min,
- // children: [
- // Expanded(
- // child: AppFilledButton(
- // label: "Clear",
- // buttonColor: AppColor.white60,
- // textColor: AppColor.black10,
- // loading: false,
- // onPressed: () async {
- // selectedAssets.clear();
- // setState(() {});
- // },
- // ),
- // ),
- // 12.width,
- // Expanded(
- // child: AppFilledButton(
- // label: context.translation.select,
- // buttonColor: AppColor.primary10,
- // loading: false,
- // onPressed: () async {
- // Navigator.of(context).pop();
- // List assets = _searchableList.where((asset) => selectedAssets.contains(asset.id)).toList();
- // Navigator.of(context).pop(assets);
- // },
- // ),
- // ),
- // ],
- // ).toShadowContainer(context),
+ ],
+ )),
+ // Row(
+ // mainAxisSize: MainAxisSize.min,
+ // children: [
+ // Expanded(
+ // child: AppFilledButton(
+ // label: "Clear",
+ // buttonColor: AppColor.white60,
+ // textColor: AppColor.black10,
+ // loading: false,
+ // onPressed: () async {
+ // selectedAssets.clear();
+ // setState(() {});
+ // },
+ // ),
+ // ),
+ // 12.width,
+ // Expanded(
+ // child: AppFilledButton(
+ // label: context.translation.select,
+ // buttonColor: AppColor.primary10,
+ // loading: false,
+ // onPressed: () async {
+ // Navigator.of(context).pop();
+ // List assets = _searchableList.where((asset) => selectedAssets.contains(asset.id)).toList();
+ // Navigator.of(context).pop(assets);
+ // },
+ // ),
+ // ),
+ // ],
+ // ).toShadowContainer(context),
],
),
),
diff --git a/lib/modules/tm_module/device_transfer/update_device_transfer.dart b/lib/modules/tm_module/device_transfer/update_device_transfer.dart
index ec88bc59..902844c7 100644
--- a/lib/modules/tm_module/device_transfer/update_device_transfer.dart
+++ b/lib/modules/tm_module/device_transfer/update_device_transfer.dart
@@ -295,7 +295,7 @@ class _UpdateDeviceTransferState extends State {
attachment: attachments,
buttonColor: AppColor.black10,
onlyImages: false,
- buttonIcon: 'image-plus'.toSvgAsset(color: AppColor.neutral120),
+ buttonIcon: 'image-plus'.toSvgAsset(color: AppColor.primary10),
),
8.height,
],
diff --git a/lib/modules/tm_module/gas_refill/gas_refill_request_form.dart b/lib/modules/tm_module/gas_refill/gas_refill_request_form.dart
index 8b6814c8..6e6e46d3 100644
--- a/lib/modules/tm_module/gas_refill/gas_refill_request_form.dart
+++ b/lib/modules/tm_module/gas_refill/gas_refill_request_form.dart
@@ -219,7 +219,7 @@ class _GasRefillRequestFormState extends State {
attachment: attachments,
buttonColor: AppColor.black10,
onlyImages: false,
- buttonIcon: 'image-plus'.toSvgAsset(color: AppColor.neutral120),
+ buttonIcon: 'image-plus'.toSvgAsset(color: AppColor.primary10),
),
],
).toShadowContainer(context, padding: 10).paddingOnly(start: 16, end: 16, top: 16),
diff --git a/lib/modules/tm_module/gas_refill/update_gas_refill_request.dart b/lib/modules/tm_module/gas_refill/update_gas_refill_request.dart
index 643766ec..b254dd79 100644
--- a/lib/modules/tm_module/gas_refill/update_gas_refill_request.dart
+++ b/lib/modules/tm_module/gas_refill/update_gas_refill_request.dart
@@ -294,7 +294,7 @@ class _UpdateGasRefillRequestState extends State {
attachment: _attachments,
buttonColor: AppColor.black10,
onlyImages: false,
- buttonIcon: 'image-plus'.toSvgAsset(color: AppColor.neutral120),
+ buttonIcon: 'image-plus'.toSvgAsset(color: AppColor.primary10),
),
8.height,
],
diff --git a/lib/modules/tm_module/tasks/create_task_view.dart b/lib/modules/tm_module/tasks/create_task_view.dart
index ef88a1af..fe088868 100644
--- a/lib/modules/tm_module/tasks/create_task_view.dart
+++ b/lib/modules/tm_module/tasks/create_task_view.dart
@@ -111,13 +111,13 @@ class _CreateTaskViewState extends State with TickerProviderStat
_addTaskModel?.callComment = value;
},
),
- 23.height,
+ 24.height,
AttachmentPicker(
label: context.translation.attachImage,
attachment: attachments,
buttonColor: AppColor.black10,
onlyImages: false,
- buttonIcon: 'image-plus'.toSvgAsset(color: context.isDark ? AppColor.primary10 : AppColor.neutral120),
+ buttonIcon: 'image-plus'.toSvgAsset(color: AppColor.primary10),
//verify this if not required delete this ..
onChange: (attachments) {
attachments = attachments;
diff --git a/lib/modules/tm_module/tasks/update_task_request_view.dart b/lib/modules/tm_module/tasks/update_task_request_view.dart
index 141ac7c0..f7c94d60 100644
--- a/lib/modules/tm_module/tasks/update_task_request_view.dart
+++ b/lib/modules/tm_module/tasks/update_task_request_view.dart
@@ -193,7 +193,7 @@ class _UpdateTaskRequestState extends State {
attachment: attachments,
buttonColor: AppColor.black10,
onlyImages: false,
- buttonIcon: 'image-plus'.toSvgAsset(color: AppColor.neutral120),
+ buttonIcon: 'image-plus'.toSvgAsset(color: AppColor.primary10),
),
],
).toShadowContainer(context),
diff --git a/lib/modules/traf_module/update_traf_request_page.dart b/lib/modules/traf_module/update_traf_request_page.dart
index 5567dd31..21297656 100644
--- a/lib/modules/traf_module/update_traf_request_page.dart
+++ b/lib/modules/traf_module/update_traf_request_page.dart
@@ -213,7 +213,7 @@ class _UpdateTrafRequestPageState extends State {
attachment: attachments,
buttonColor: AppColor.black10,
onlyImages: false,
- buttonIcon: 'image-plus'.toSvgAsset(color: AppColor.neutral120),
+ buttonIcon: 'image-plus'.toSvgAsset(color: AppColor.primary10),
onChange: (attachment) {
attachments = attachment;
},
diff --git a/lib/new_views/common_widgets/app_dashed_button.dart b/lib/new_views/common_widgets/app_dashed_button.dart
index 2e733ef9..e1c94621 100644
--- a/lib/new_views/common_widgets/app_dashed_button.dart
+++ b/lib/new_views/common_widgets/app_dashed_button.dart
@@ -28,7 +28,7 @@ class AppDashedButton extends StatelessWidget {
child: DottedBorder(
strokeWidth: 1,
padding: padding ?? EdgeInsets.symmetric(vertical: 16.toScreenHeight, horizontal: 16.toScreenWidth),
- color: context.isDark ? AppColor.primary40 : buttonColor ?? AppColor.black20,
+ color: AppColor.primary10,
dashPattern: const [4, 3],
radius: const Radius.circular(10),
borderType: BorderType.RRect,
@@ -38,10 +38,10 @@ class AppDashedButton extends StatelessWidget {
children: [
icon!,
7.width,
- title.heading6(context).custom(color: context.isDark ? AppColor.primary40 : buttonColor ?? AppColor.black10).center,
+ title.heading6(context).custom(color: AppColor.primary10).center,
],
)
- : title.heading6(context).custom(color: context.isDark ? AppColor.primary40 : buttonColor ?? AppColor.primary10).center,
+ : title.heading6(context).custom(color: AppColor.primary10).center,
),
).onPress(onPressed);
}
diff --git a/lib/new_views/common_widgets/app_filled_button.dart b/lib/new_views/common_widgets/app_filled_button.dart
index 905516fc..9756872b 100644
--- a/lib/new_views/common_widgets/app_filled_button.dart
+++ b/lib/new_views/common_widgets/app_filled_button.dart
@@ -47,7 +47,7 @@ class AppFilledButton extends StatelessWidget {
alignment: Alignment.center,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
- color: disableButton ?context.isDark ?AppColor.neutral20 :AppColor.neutral140 : (buttonColor ?? AppColor.primary10),
+ color: disableButton ? context.isDark ?AppColor.neutral20 :AppColor.neutral140 : (buttonColor ?? AppColor.primary10),
border: showBorder ? Border.all(color: textColor ?? AppColor.background(context)) : null,
),
child: loading
diff --git a/lib/new_views/common_widgets/app_text_form_field.dart b/lib/new_views/common_widgets/app_text_form_field.dart
index 360272ae..5b485df7 100644
--- a/lib/new_views/common_widgets/app_text_form_field.dart
+++ b/lib/new_views/common_widgets/app_text_form_field.dart
@@ -46,6 +46,7 @@ class AppTextFormField extends StatefulWidget {
final bool showSpeechToText;
final Color? enableColor;
final bool makeMultiLinesNull;
+ final bool isBackgroundTransparent;
const AppTextFormField({
Key? key,
@@ -81,6 +82,7 @@ class AppTextFormField extends StatefulWidget {
this.alignLabelWithHint = false, // Provide default value
this.makeMultiLinesNull = false,
this.onTap,
+ this.isBackgroundTransparent = false,
this.enableColor,
}) : super(key: key);
@@ -209,12 +211,14 @@ class _AppTextFormFieldState extends State {
contentPadding: widget.contentPadding ?? EdgeInsets.symmetric(vertical: 12.toScreenHeight, horizontal: 16.toScreenWidth),
constraints: const BoxConstraints(),
suffixIconConstraints: const BoxConstraints(minWidth: 0),
- filled: true,
- fillColor: (context.isDark && !widget.enable
- ? AppColor.neutral50
- : !widget.enable
- ? (widget.enableColor ?? AppColor.disableDark)
- : AppColor.dropDownBackground(context)),
+ filled: !widget.isBackgroundTransparent,
+ fillColor: widget.isBackgroundTransparent
+ ? null
+ : (context.isDark && !widget.enable
+ ? AppColor.neutral50
+ : !widget.enable
+ ? (widget.enableColor ?? AppColor.disableDark)
+ : AppColor.dropDownBackground(context)),
errorStyle: AppTextStyle.tiny.copyWith(color: context.isDark ? AppColor.red50 : AppColor.red30),
// floatingLabelStyle: widget.floatingLabelStyle ?? AppTextStyle.body1.copyWith(fontWeight: FontWeight.w500, color: context.isDark ? AppColor.white10 : AppColor.neutral20),
diff --git a/lib/new_views/pages/land_page/create_request_type_bottom_sheet.dart b/lib/new_views/pages/land_page/create_request_type_bottom_sheet.dart
index 7c1bdb87..0f6a103f 100644
--- a/lib/new_views/pages/land_page/create_request_type_bottom_sheet.dart
+++ b/lib/new_views/pages/land_page/create_request_type_bottom_sheet.dart
@@ -142,7 +142,7 @@ class CreateRequestModel {
// });
if (context.settingProvider.isUserFlowMedical) {
- list.add(CreateRequestModel('Loan Equipment Request'.addTranslation, "add_icon", CreateLoanRequestPage.id));
+ list.add(CreateRequestModel('Loan Equipment Request'.addTranslation, "wo/loan_wo", CreateLoanRequestPage.id));
// list.add(CreateRequestModel('Demo Request'.addTranslation, "add_icon", CreateDemoRequestPage.id));
}
}
diff --git a/lib/new_views/pages/land_page/my_request/all_requests_filter_page.dart b/lib/new_views/pages/land_page/my_request/all_requests_filter_page.dart
index 61e4e63a..1fbba0ee 100644
--- a/lib/new_views/pages/land_page/my_request/all_requests_filter_page.dart
+++ b/lib/new_views/pages/land_page/my_request/all_requests_filter_page.dart
@@ -154,7 +154,7 @@ class _AllRequestsFilterPageState extends State {
style: TextButton.styleFrom(padding: EdgeInsets.zero, tapTargetSize: MaterialTapTargetSize.shrinkWrap),
child: Text(
'Clear Filters',
- style: AppTextStyles.bodyText2.copyWith(color: AppColor.primary10),
+ style: AppTextStyles.bodyText2.copyWith(color: AppColor.red30),
),
).paddingOnly(start: 16, end: 16)
],
diff --git a/lib/new_views/pages/land_page/my_request/my_requests_page.dart b/lib/new_views/pages/land_page/my_request/my_requests_page.dart
index 596a3103..355335cb 100644
--- a/lib/new_views/pages/land_page/my_request/my_requests_page.dart
+++ b/lib/new_views/pages/land_page/my_request/my_requests_page.dart
@@ -300,7 +300,7 @@ class _MyRequestsPageState extends State {
style: TextButton.styleFrom(padding: EdgeInsets.zero, tapTargetSize: MaterialTapTargetSize.shrinkWrap),
child: Text(
'Clear Filters',
- style: AppTextStyles.tinyFont.copyWith(color: AppColor.primary10, fontWeight: FontWeight.w500),
+ style: AppTextStyles.tinyFont.copyWith(color: AppColor.red30),
),
),
],
diff --git a/lib/new_views/pages/settings_page.dart b/lib/new_views/pages/settings_page.dart
index 790785b3..8fb51e3e 100644
--- a/lib/new_views/pages/settings_page.dart
+++ b/lib/new_views/pages/settings_page.dart
@@ -108,9 +108,10 @@ class _SettingsPageState extends State {
context.translation.arabic.heading5(context).custom(color: AppColor.textStyleColor(context)),
AdvancedSwitch(
controller: langController,
+ initialValue: langController!.value,
activeColor: AppColor.green50.withOpacity(0.5),
inactiveColor: AppColor.neutral10,
- thumb: CircleAvatar(backgroundColor: _settingProvider!.language == "ar" ? AppColor.green50 : AppColor.neutral20),
+ thumb: CircleAvatar(backgroundColor: langController!.value ? AppColor.green50 : AppColor.neutral20),
borderRadius: const BorderRadius.all(Radius.circular(30)),
width: 42.toScreenWidth,
height: 24.toScreenHeight,
@@ -130,9 +131,10 @@ class _SettingsPageState extends State {
context.translation.lightTheme.heading5(context).custom(color: AppColor.textStyleColor(context)),
AdvancedSwitch(
controller: themeController,
+ initialValue: themeController!.value,
activeColor: AppColor.green50.withOpacity(0.5),
inactiveColor: AppColor.neutral10,
- thumb: CircleAvatar(backgroundColor: _settingProvider!.theme == "light" ? AppColor.green50 : AppColor.neutral20),
+ thumb: CircleAvatar(backgroundColor: themeController!.value ? AppColor.green50 : AppColor.neutral20),
borderRadius: const BorderRadius.all(Radius.circular(30)),
width: 42.toScreenWidth,
height: 24.toScreenHeight,
diff --git a/lib/new_views/swipe_module/dialoge/single_btn_dialog.dart b/lib/new_views/swipe_module/dialoge/single_btn_dialog.dart
index 9561f318..ceee4a06 100644
--- a/lib/new_views/swipe_module/dialoge/single_btn_dialog.dart
+++ b/lib/new_views/swipe_module/dialoge/single_btn_dialog.dart
@@ -16,7 +16,7 @@ class SingleBtnDialog extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Dialog(
- backgroundColor: Colors.white,
+ backgroundColor: AppColor.background(context),
shape: const RoundedRectangleBorder(),
insetPadding: const EdgeInsets.only(left: 21, right: 21),
child: Padding(
@@ -27,9 +27,9 @@ class SingleBtnDialog extends StatelessWidget {
children: [
Text(
title ?? "Confirm",
- style: const TextStyle(fontSize: 24, fontWeight: FontWeight.w600, color: Colors.black87, height: 35 / 24, letterSpacing: -0.96),
+ style: TextStyle(fontSize: 24, fontWeight: FontWeight.w600, color: AppColor.headingTextColor(context), height: 35 / 24, letterSpacing: -0.96),
).paddingOnly(top: 16),
- message != null ? message!.heading5(context).custom(color: AppColor.neutral70) : const SizedBox(),
+ message != null ? message!.heading5(context).custom(color: AppColor.headingTextColor(context)) : const SizedBox(),
28.height,
AppFilledButton(
label: okTitle ?? "OK",
diff --git a/lib/views/pages/user/requests/create_service_request_page.dart b/lib/views/pages/user/requests/create_service_request_page.dart
deleted file mode 100644
index 3c94b7de..00000000
--- a/lib/views/pages/user/requests/create_service_request_page.dart
+++ /dev/null
@@ -1,407 +0,0 @@
-// import 'dart:convert';
-// import 'dart:io';
-//
-// import 'package:flutter/cupertino.dart';
-// import 'package:flutter/material.dart';
-// import 'package:provider/provider.dart';
-// import 'package:test_sa/controllers/providers/api/service_requests_provider.dart';
-// import 'package:test_sa/controllers/providers/api/user_provider.dart';
-// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
-// import 'package:test_sa/extensions/context_extension.dart';
-// import 'package:test_sa/extensions/int_extensions.dart';
-// import 'package:test_sa/extensions/widget_extensions.dart';
-// import 'package:test_sa/models/generic_attachment_model.dart';
-// import 'package:test_sa/models/service_request/pending_service_request_model.dart';
-// import 'package:test_sa/models/service_request/service_request.dart';
-// import 'package:test_sa/modules/cm_module/utilities/cm_request_utils.dart';
-// import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
-// import 'package:test_sa/providers/service_request_providers/equipment_status_provider.dart';
-// import 'package:test_sa/providers/service_request_providers/requested_through_provider.dart';
-// import 'package:test_sa/views/pages/user/requests/pending_requests_screen.dart';
-// import 'package:test_sa/views/widgets/bottom_sheets/pending_request_bottom_sheet.dart';
-// import 'package:test_sa/views/widgets/equipment/asset_picker.dart';
-// import 'package:test_sa/views/widgets/images/multi_image_picker.dart';
-// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
-// import 'package:test_sa/views/widgets/sound/TextSpeechRecordWidget.dart';
-//
-// import '../../../../new_views/app_style/app_color.dart';
-// import '../../../../new_views/common_widgets/default_app_bar.dart';
-// import '../../../../providers/service_request_providers/priority_provider.dart';
-// import '../../../../providers/service_request_providers/type_of_request_provider.dart';
-//
-// class CreateServiceRequestPage extends StatefulWidget {
-// static const String id = "/create-request";
-// final ServiceRequest? serviceRequest;
-//
-// const CreateServiceRequestPage({this.serviceRequest, Key? key}) : super(key: key);
-//
-// @override
-// CreateServiceRequestPageState createState() => CreateServiceRequestPageState();
-// }
-//
-// class CreateServiceRequestPageState extends State {
-// late TextEditingController _commentController;
-//
-// late double _height;
-// late UserProvider _userProvider;
-// late SettingProvider _settingProvider;
-// late ServiceRequestsProvider _serviceRequestsProvider;
-// late ServiceRequest _serviceRequest;
-// final List attachments = [];
-// final bool _isLoading = false;
-// bool _showDatePicker = false;
-// final GlobalKey _formKey = GlobalKey();
-// final GlobalKey _scaffoldKey = GlobalKey();
-// DateTime? _dateTime;
-//
-// bool isFirstActionSubmitted = false;
-//
-// @override
-// void initState() {
-// _commentController = TextEditingController();
-// if (widget.serviceRequest != null) {
-// _serviceRequest = widget.serviceRequest!;
-// attachments.addAll(_serviceRequest.devicePhotos!.map((e) => GenericAttachmentModel(name: e)).toList());
-// _showDatePicker = _serviceRequest.firstAction != null && _serviceRequest.firstAction?.name == "Need a visit";
-// if (_showDatePicker && _serviceRequest.visitDate != null) {
-// _dateTime = DateTime.tryParse(_serviceRequest.visitDate!);
-// }
-// } else {
-// _serviceRequest = ServiceRequest();
-// }
-// isFirstActionSubmitted = _serviceRequest.firstAction != null;
-// super.initState();
-// }
-//
-// //
-// // getServiceRequestById(String id) async {
-// // try {
-// // ServiceRequest request = await _serviceRequestsProvider.getServiceRequestObjectById(requestId: id) ?? "";
-// // _serviceRequest = request;
-// // _device = _serviceRequest.device;
-// // attachments.addAll(_serviceRequest.devicePhotos.map((e) {
-// // return File(e);
-// // }).toList());
-// // _showDatePicker = _serviceRequest.firstAction != null && _serviceRequest.firstAction.name == "Need a visit";
-// // if (_showDatePicker && _serviceRequest.visitDate != null) {
-// // _dateTime = DateTime.tryParse(_serviceRequest.visitDate);
-// // }
-// // _isLoading = false;
-// // } catch (ex) {
-// // _isLoading = false;
-// // }
-// // setState(() {});
-// // }
-//
-// @override
-// void dispose() {
-// _commentController.dispose();
-// super.dispose();
-// }
-//
-// bool _isLocalUrl(String url) {
-// if (url.isEmpty != false) return false;
-// return url.startsWith("/") || url.startsWith("file://") || url.substring(1).startsWith(':\\');
-// }
-//
-// // bool priority;
-//
-// void getData() {
-// Provider.of(context).getDate();
-// Provider.of(context).getDate();
-// Provider.of(context).getDate();
-// Provider.of(context).getDate();
-// }
-//
-// PendingAssetServiceRequest? pendingAssetServiceRequest;
-//
-// @override
-// Widget build(BuildContext context) {
-// _height = MediaQuery.of(context).size.height;
-// _userProvider = Provider.of(context);
-//
-// _serviceRequestsProvider = Provider.of(context);
-//
-// return Scaffold(
-// key: _scaffoldKey,
-// appBar: DefaultAppBar(title: context.translation.newServiceRequest),
-// body: SafeArea(
-// child: LoadingManager(
-// isLoading: _isLoading,
-// isFailedLoading: false,
-// stateCode: 200,
-// onRefresh: () async {},
-// child: Form(
-// key: _formKey,
-// child: Column(
-// children: [
-// SingleChildScrollView(
-// child: Column(
-// crossAxisAlignment: CrossAxisAlignment.start,
-// children: [
-// Column(
-// crossAxisAlignment: CrossAxisAlignment.start,
-// mainAxisSize: MainAxisSize.min,
-// children: [
-// AssetPicker(
-// device: _serviceRequest.device,
-// showLoading: checkPendingRequest,
-// onPick: (asset) async {
-// pendingAssetServiceRequest = null;
-// _serviceRequest.device = asset;
-// await checkAssetForPendingServiceRequest(asset.id!.toInt());
-//
-// if (pendingAssetServiceRequest != null && pendingAssetServiceRequest!.details!.isNotEmpty) {
-// showPendingRequestBottomSheet();
-// }
-// },
-// ),
-// if (pendingAssetServiceRequest != null && pendingAssetServiceRequest!.details!.isNotEmpty) ...[
-// 8.height,
-// Row(
-// children: [
-// const Icon(Icons.warning, color: Color(0xffEE404C), size: 14),
-// 8.width,
-// Text(
-// "This asset already have ${pendingAssetServiceRequest!.details!.length} request pending",
-// style: const TextStyle(fontSize: 12, fontWeight: FontWeight.w500, color: Color(0xff7D859A), decoration: TextDecoration.underline),
-// ).expanded,
-// ],
-// ).onPress(() {
-// showPendingRequests();
-// }),
-// ],
-// 16.height,
-// Row(
-// mainAxisAlignment: MainAxisAlignment.spaceBetween,
-// children: [
-// Text(context.translation.priority, style: Theme.of(context).textTheme.bodyLarge),
-// Consumer(builder: (cxt, snapshot, _) {
-// _serviceRequest.priority ??= snapshot.items.firstWhere((element) => element.value == 0, orElse: null);
-//
-// return Transform.scale(
-// scale: 0.8,
-// child: CupertinoSwitch(
-// thumbColor: _serviceRequest.priority?.value != 0 ? const Color(0xffF63939) : Colors.blueGrey.withOpacity(.5),
-// activeColor: AppColor.blueStatus(context).withOpacity(.25),
-// value: _serviceRequest.priority?.value != 0,
-// onChanged: (state) {
-// if (state) {
-// _serviceRequest.priority = snapshot.items.firstWhere((element) => element.value == 1, orElse: null);
-// } else {
-// _serviceRequest.priority = snapshot.items.firstWhere((element) => element.value == 0, orElse: null);
-// }
-// setState(() {});
-// }).toShimmer(isShow: snapshot.loading,context: context),
-// );
-// }),
-// ],
-// ),
-// 16.height,
-// Consumer(builder: (cxt, snapshot, _) {
-// try {
-// _serviceRequest.defectType ??= snapshot.items.first;
-// } catch (ex) {
-// print("snapshot.items:${snapshot.items.length}");
-// }
-//
-// return Column(
-// crossAxisAlignment: CrossAxisAlignment.start,
-// mainAxisSize: MainAxisSize.min,
-// children: [
-// Text(context.translation.equipmentStatus, style: Theme.of(context).textTheme.bodyLarge),
-// 8.height,
-// Wrap(
-// runSpacing: 8,
-// spacing: 8,
-// children: [
-// for (var element in snapshot.items)
-// Row(
-// mainAxisSize: MainAxisSize.min,
-// children: [
-// SizedBox(
-// width: 24,
-// height: 24,
-// child: Radio(
-// value: element,
-// activeColor: Colors.red,
-// fillColor: WidgetStateColor.resolveWith((states) {
-// if (states.contains(WidgetState.selected)) return const Color(0xff3DA5E5);
-// return const Color(0xffE0E0E0);
-// }),
-// groupValue: _serviceRequest.defectType,
-// onChanged: (state) {
-// setState(() {
-// _serviceRequest.defectType = element;
-// });
-// }),
-// ),
-// 8.width,
-// Text(element.name!, style: Theme.of(context).textTheme.bodySmall),
-// ],
-// )
-// ],
-// ).toShimmer(isShow: snapshot.loading,context: context),
-// ],
-// );
-// }),
-// 16.height,
-// AttachmentPicker(label: context.translation.attachImage, attachment: attachments, showAsGrid: true),
-// ],
-// ).toShadowContainer(context),
-//
-// // SingleItemDropDownMenu(
-// // context: context,
-// // title: context.translation.priority,
-// // initialValue: _serviceRequest?.priority,
-// // onSelect: (value) {
-// // _serviceRequest.priority = value;
-// // },
-// // ),
-// // 8.height,
-// // SingleItemDropDownMenu(
-// // context: context,
-// // title: context.translation.equipmentStatus,
-// // initialValue: _serviceRequest?.defectType,
-// // onSelect: (value) {
-// // _serviceRequest.defectType = value;
-// // },
-// // ),
-//
-// // Consumer(builder: (context, snapshot, _) {
-// // return SingleItemDropDownMenu(
-// // context: context,
-// // enabled: false,
-// // title: context.translation.source,
-// // initialValue: snapshot.items?.firstWhere((element) => element.value == 3, orElse: null),
-// // );
-// // }),
-// // 8.height,
-// // Consumer(builder: (context, snapshot, _) {
-// // return SingleItemDropDownMenu(
-// // context: context,
-// // title: context.translation.requestType,
-// // enabled: false,
-// // initialValue: snapshot.items?.firstWhere((element) => element.value == 1, orElse: null),
-// // // onSelect: (value) {
-// // // _serviceRequest.type = value;
-// // // },
-// // );
-// // }),
-//
-// // Align(
-// // alignment: AlignmentDirectional.centerStart,
-// // child: context.translation.callComments.heading5(context).custom(color: AppColor.textStyleColor(context)),
-// // ),
-// 8.height,
-// // SpeechToTextButton(
-// // controller: _commentController,
-// // ),
-// // 8.height,
-// // AppTextFormField(
-// // controller: _commentController,
-// // labelText: context.translation.problemDesc,
-// // suffixIcon: "warning".toSvgAsset(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20, width: 24).paddingOnly(end: 16),
-// // initialValue: _serviceRequest.callComments,
-// // onSaved: (text) {
-// // _serviceRequest.callComments = text;
-// // },
-// // ),
-// // 8.height,
-// // RecordSound(
-// // onRecord: (audio) {
-// // _serviceRequest.audio = audio;
-// // },
-// // enabled: widget.serviceRequest == null ? true : false,
-// // ),
-// 8.height,
-// TextSpeechRecordWidget(
-// initialMessage: _serviceRequest.callComments!,
-// onMessageChange: (message) {
-// _serviceRequest.callComments = message;
-// },
-// onRecord: (audio) {
-// _serviceRequest.audio = audio;
-// },
-// enabled: widget.serviceRequest == null ? true : false,
-// ),
-// 16.height,
-// ],
-// ),
-// ).expanded,
-// AppFilledButton(
-// onPressed: checkPendingRequest ? null : _submit,
-// loading: checkPendingRequest,
-// label: (pendingAssetServiceRequest != null && (pendingAssetServiceRequest!.details?.isNotEmpty ?? false)) ? "Submit Duplicate Request" : "Submit New Request",
-// ),
-// ],
-// ),
-// ).paddingOnly(start: 16, end: 16, bottom: 24, top: 16),
-// ),
-// ),
-// );
-// }
-//
-// bool checkPendingRequest = false;
-//
-// void showPendingRequests() {
-// Navigator.of(context).push(MaterialPageRoute(builder: (_) => PendingServiceRequestScreen(pendingAssetServiceRequest!)));
-// }
-//
-// void showPendingRequestBottomSheet() async {
-// bool view = (await showModalBottomSheet(
-// context: context,
-// isDismissible: false,
-// shape: const RoundedRectangleBorder(
-// borderRadius: BorderRadius.vertical(
-// top: Radius.circular(20),
-// ),
-// ),
-// clipBehavior: Clip.antiAliasWithSaveLayer,
-// builder: (BuildContext context) => PendingRequestBottomSheet(pendingAssetServiceRequest!, _serviceRequest.device!),
-// )) as bool;
-// if (view) {
-// showPendingRequests();
-// }
-// }
-//
-// Future checkAssetForPendingServiceRequest(int assetId) async {
-// checkPendingRequest = true;
-// setState(() {});
-//
-// pendingAssetServiceRequest = await _serviceRequestsProvider.checkAssetPendingRequest(assetId);
-// await Future.delayed(const Duration(milliseconds: 250));
-//
-// checkPendingRequest = false;
-// setState(() {});
-// }
-//
-// Future _submit() async {
-// _serviceRequest.requestedThrough = Provider.of(context, listen: false).items.firstWhere((element) => element.value == 3, orElse: null);
-// _serviceRequest.type = Provider.of(context, listen: false).items.firstWhere((element) => element.value == 1, orElse: null);
-//
-// if (_formKey.currentState!.validate() && await _serviceRequest.validateNewRequest(context)) {
-// _formKey.currentState!.save();
-//
-// // bool canSubmitRequest = await checkAssetForPendingServiceRequest(_serviceRequest.device.id);
-// // if (!canSubmitRequest) {
-// // return;
-// // }
-//
-//
-// _serviceRequest.devicePhotos = attachments.map((item) => ServiceRequestUtils.isLocalUrl(item.name??'') ? "${item.name?.split("/").last}|${base64Encode(File(item.name??'').readAsBytesSync())}" : item.name??'').toList();
-// if (_serviceRequest.audio != null) {
-// if (_isLocalUrl(_serviceRequest.audio!)) {
-// final File file = File(_serviceRequest.audio!);
-// _serviceRequest.audio = "${file.path.split("/").last}|${base64Encode(file.readAsBytesSync())}";
-// }
-// }
-// await _serviceRequestsProvider.createRequest(
-// context: context,
-// user: _userProvider.user!,
-// host: _settingProvider.host!,
-// serviceRequest: _serviceRequest,
-// );
-// }
-// }
-// }
diff --git a/lib/views/widgets/bottom_sheets/asset_detail_bottom_sheet.dart b/lib/views/widgets/bottom_sheets/asset_detail_bottom_sheet.dart
index fd203840..b255ab52 100644
--- a/lib/views/widgets/bottom_sheets/asset_detail_bottom_sheet.dart
+++ b/lib/views/widgets/bottom_sheets/asset_detail_bottom_sheet.dart
@@ -6,6 +6,8 @@ import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/device/asset.dart';
import 'package:test_sa/new_views/app_style/app_color.dart';
+import 'package:test_sa/views/widgets/item_views/info_header_widget.dart';
+import 'package:test_sa/views/widgets/item_views/info_text_widget.dart';
class AssetDetailBottomSheet extends StatelessWidget {
Asset? asset;
@@ -16,14 +18,14 @@ class AssetDetailBottomSheet extends StatelessWidget {
Widget build(BuildContext context) {
return Padding(
padding: EdgeInsets.only(
- bottom: MediaQuery.of(context).viewInsets.bottom +
- MediaQuery.of(context).padding.bottom,
+ bottom: MediaQuery.of(context).viewInsets.bottom + MediaQuery.of(context).padding.bottom,
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
- (asset?.modelDefinition?.assetName?.cleanupWhitespace.capitalizeFirstOfEach ?? "-").heading5(context).custom(color: AppColor.textStyleColor(context)),
+ // (asset?.modelDefinition?.assetName?.cleanupWhitespace.capitalizeFirstOfEach ?? "-").heading5(context).custom(color: AppColor.textStyleColor(context)),
+ InfoHeader16Widget(asset?.modelDefinition?.assetName?.cleanupWhitespace.capitalizeFirstOfEach ?? "-"),
16.height,
AspectRatio(
aspectRatio: 358 / 136,
@@ -52,33 +54,70 @@ class AssetDetailBottomSheet extends StatelessWidget {
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
- "${context.translation.assetNo}: ${asset!.assetNumber}".bodyText(context),
- "${context.translation.modelName}: ${asset!.modelDefinition?.modelName}".bodyText(context),
- "${context.translation.supplier}: ${asset!.supplier?.suppliername?.cleanupWhitespace.capitalizeFirstOfEach ?? "-"}".bodyText(context),
- "${context.translation.manufacture}: ${asset!.modelDefinition?.manufacturerName?.cleanupWhitespace.capitalizeFirstOfEach}".bodyText(context),
- //"${context.translation.location}: ${assetModel.site.custName?.cleanupWhitespace?.capitalizeFirstOfEach}".bodyText(context),
+ InfoTextWidget(
+ label: context.translation.assetNo,
+ value: asset!.assetNumber,
+ showEmptyValue: true,
+ ),
+ InfoTextWidget(
+ label: context.translation.modelName,
+ value: asset!.modelDefinition?.modelName,
+ showEmptyValue: true,
+ ),
+ InfoTextWidget(
+ label: context.translation.supplier,
+ value: asset!.supplier?.suppliername?.cleanupWhitespace.capitalizeFirstOfEach,
+ showEmptyValue: true,
+ ),
+ InfoTextWidget(
+ label: context.translation.manufacture,
+ value: asset!.modelDefinition?.manufacturerName?.cleanupWhitespace.capitalizeFirstOfEach,
+ showEmptyValue: true,
+ ),
],
).expanded,
8.width,
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
- "${context.translation.snNo}: ${asset!.assetSerialNo}".bodyText(context),
- "${context.translation.site}: ${asset?.site?.custName?.cleanupWhitespace.capitalizeFirstOfEach ?? "-"}".bodyText(context),
- "${context.translation.building}: ${asset?.building?.name?.cleanupWhitespace.capitalizeFirstOfEach ?? "-"}".bodyText(context),
- "${context.translation.floor}: ${asset?.floor?.name?.cleanupWhitespace.capitalizeFirstOfEach ?? "-"}".bodyText(context),
- "${context.translation.md}: ${asset?.department?.departmentName?.cleanupWhitespace.capitalizeFirstOfEach ?? "-"}".bodyText(context),
- "${context.translation.room}: ${asset?.room?.name ?? "-"}".bodyText(context),
+ InfoTextWidget(
+ label: context.translation.snNo,
+ value: asset!.assetSerialNo,
+ showEmptyValue: true,
+ ),
+ InfoTextWidget(
+ label: context.translation.site,
+ value: asset?.site?.custName?.cleanupWhitespace.capitalizeFirstOfEach,
+ showEmptyValue: true,
+ ),
+ InfoTextWidget(
+ label: context.translation.building,
+ value: asset?.building?.name?.cleanupWhitespace.capitalizeFirstOfEach,
+ showEmptyValue: true,
+ ),
+ InfoTextWidget(
+ label: context.translation.floor,
+ value: asset?.floor?.name?.cleanupWhitespace.capitalizeFirstOfEach,
+ showEmptyValue: true,
+ ),
+ InfoTextWidget(
+ label: context.translation.md,
+ value: asset?.department?.departmentName?.cleanupWhitespace.capitalizeFirstOfEach,
+ showEmptyValue: true,
+ ),
+ InfoTextWidget(
+ label: context.translation.room,
+ value: asset?.room?.name,
+ showEmptyValue: true,
+ ),
],
).expanded,
],
),
8.height,
if ((asset?.modelDefinition?.assetDescription ?? "").isNotEmpty) ...[
- 8.height,
- const Divider(color: AppColor.neutral30, height: 1, thickness: 1),
- 8.height,
- asset!.modelDefinition!.assetDescription!.bodyText(context),
+ const Divider().defaultStyle(context),
+ InfoTextWidget(label: asset!.modelDefinition!.assetDescription!, isMsg: true, showEmptyValue: true),
]
],
)
diff --git a/lib/views/widgets/equipment/asset_detail_page.dart b/lib/views/widgets/equipment/asset_detail_page.dart
index 6db652dd..44b53ef7 100644
--- a/lib/views/widgets/equipment/asset_detail_page.dart
+++ b/lib/views/widgets/equipment/asset_detail_page.dart
@@ -9,6 +9,8 @@ import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/device/asset_by_id_model.dart';
import 'package:test_sa/new_views/common_widgets/default_app_bar.dart';
+import 'package:test_sa/views/widgets/item_views/info_header_widget.dart';
+import 'package:test_sa/views/widgets/item_views/info_text_widget.dart';
import 'package:test_sa/views/widgets/loaders/app_loading.dart';
import 'package:test_sa/views/widgets/loaders/failed_loading.dart';
@@ -76,7 +78,7 @@ class _AssetDetailPageState extends State {
decoration: ShapeDecoration(
color: AppColor.neutral30,
shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(10),
+ borderRadius: BorderRadius.circular(16),
),
image: DecorationImage(
fit: BoxFit.cover,
@@ -96,7 +98,7 @@ class _AssetDetailPageState extends State {
backgroundColor: AppColor.getRequestStatusColorByName(context, assetModel.commissioningStatus!.name!),
),
if (assetModel.commissioningStatus != null) 8.height,
- (assetModel.modelDefinition?.assetName?.cleanupWhitespace.capitalizeFirstOfEach ?? "-").heading5(context).custom(color: AppColor.textStyleColor(context)),
+ InfoHeader16Widget(assetModel.modelDefinition?.assetName?.cleanupWhitespace.capitalizeFirstOfEach ?? "-"),
8.height,
Row(
crossAxisAlignment: CrossAxisAlignment.start,
@@ -104,11 +106,10 @@ class _AssetDetailPageState extends State {
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
- "${context.translation.assetNo}: ${assetModel.multiAssets!.first.assetNumber}".bodyText(context),
- "${context.translation.modelName}: ${assetModel.modelDefinition!.modelName}".bodyText(context),
- "${context.translation.supplier}: ${assetModel.supplier?.suppliername ?? "-"}".bodyText(context),
- "${context.translation.manufacture}: ${assetModel.modelDefinition!.manufacturerName}".bodyText(context),
- //"${context.translation.location}: ${assetModel.site.custName?.cleanupWhitespace?.capitalizeFirstOfEach}".bodyText(context),
+ InfoTextWidget(label: context.translation.assetNo, value: assetModel.multiAssets!.first.assetNumber, showEmptyValue: true),
+ InfoTextWidget(label: context.translation.modelName, value: assetModel.modelDefinition!.modelName, showEmptyValue: true),
+ InfoTextWidget(label: context.translation.supplier, value: assetModel.supplier?.suppliername, showEmptyValue: true),
+ InfoTextWidget(label: context.translation.manufacture, value: assetModel.modelDefinition!.manufacturerName, showEmptyValue: true),
],
).expanded,
8.width,
@@ -117,12 +118,12 @@ class _AssetDetailPageState extends State {
children: [
/// TODO: theres no [ORACLE CODE] available to preview
// "${context.translation.oracleCode}: ${"-"}".bodyText(context),
- "${context.translation.snNo}: ${assetModel.multiAssets!.first.assetSerialNo}".bodyText(context),
- "${context.translation.site}: ${assetModel.site?.custName?.cleanupWhitespace.capitalizeFirstOfEach ?? "-"}".bodyText(context),
- "${context.translation.building}: ${assetModel.building?.name?.cleanupWhitespace.capitalizeFirstOfEach ?? "-"}".bodyText(context),
- "${context.translation.floor}: ${assetModel.floor?.name?.cleanupWhitespace.capitalizeFirstOfEach ?? "-"}".bodyText(context),
- "${context.translation.md}: ${assetModel.department?.departmentName?.cleanupWhitespace.capitalizeFirstOfEach ?? "-"}".bodyText(context),
- "${context.translation.room}: ${assetModel.room?.name?.cleanupWhitespace.capitalizeFirstOfEach ?? "-"}".bodyText(context),
+ InfoTextWidget(label: context.translation.snNo, value: assetModel.multiAssets!.first.assetSerialNo, showEmptyValue: true),
+ InfoTextWidget(label: context.translation.site, value: assetModel.site?.custName?.cleanupWhitespace.capitalizeFirstOfEach, showEmptyValue: true),
+ InfoTextWidget(label: context.translation.building, value: assetModel.building?.name?.cleanupWhitespace.capitalizeFirstOfEach, showEmptyValue: true),
+ InfoTextWidget(label: context.translation.floor, value: assetModel.floor?.name?.cleanupWhitespace.capitalizeFirstOfEach, showEmptyValue: true),
+ InfoTextWidget(label: context.translation.md, value: assetModel.department?.departmentName?.cleanupWhitespace.capitalizeFirstOfEach, showEmptyValue: true),
+ InfoTextWidget(label: context.translation.room, value: assetModel.room?.name?.cleanupWhitespace.capitalizeFirstOfEach, showEmptyValue: true),
],
).expanded,
],
@@ -130,14 +131,13 @@ class _AssetDetailPageState extends State {
8.height,
const Divider(color: AppColor.neutral30, height: 1, thickness: 1),
8.height,
- "${context.translation.installationDate}: ${assetModel.installationDate?.toAssetDetailsFormat ?? "-"}".bodyText(context),
- "${context.translation.nextPmDate}: ${assetModel.nextPMDate?.toAssetDetailsFormat ?? "-"}".bodyText(context),
- "${context.translation.lastPmDate}: ${assetModel.lastPMDate?.toAssetDetailsFormat ?? "-"}".bodyText(context),
+ InfoTextWidget(label: context.translation.installationDate, value: assetModel.installationDate?.toAssetDetailsFormat, showEmptyValue: true),
+ InfoTextWidget(label: context.translation.nextPmDate, value: assetModel.nextPMDate?.toAssetDetailsFormat, showEmptyValue: true),
+ InfoTextWidget(label: context.translation.lastPmDate, value: assetModel.lastPMDate?.toAssetDetailsFormat, showEmptyValue: true),
if ((assetModel.modelDefinition?.assetDescription ?? "").isNotEmpty) ...[
8.height,
- const Divider(color: AppColor.neutral30, height: 1, thickness: 1),
- 8.height,
- assetModel.modelDefinition!.assetDescription!.bodyText(context),
+ const Divider().defaultStyle(context),
+ InfoTextWidget(label: assetModel.modelDefinition!.assetDescription!, showEmptyValue: true, isMsg: true),
]
],
)
diff --git a/lib/views/widgets/equipment/asset_item_listview.dart b/lib/views/widgets/equipment/asset_item_listview.dart
index e5fe91e9..6fced692 100644
--- a/lib/views/widgets/equipment/asset_item_listview.dart
+++ b/lib/views/widgets/equipment/asset_item_listview.dart
@@ -60,7 +60,7 @@ class AssetItemListView extends StatelessWidget {
children: [
Text(
context.translation.viewDetails,
- style: AppTextStyles.bodyText2.copyWith(color: AppColor.blueStatus(context)),
+ style: AppTextStyles.bodyText2.copyWith(color: AppColor.primary10),
),
4.width,
const Icon(Icons.arrow_forward, color: AppColor.primary10, size: 14)
diff --git a/lib/views/widgets/equipment/asset_picker.dart b/lib/views/widgets/equipment/asset_picker.dart
index fcb827d5..ff611a91 100644
--- a/lib/views/widgets/equipment/asset_picker.dart
+++ b/lib/views/widgets/equipment/asset_picker.dart
@@ -4,6 +4,8 @@ import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/views/widgets/bottom_sheets/asset_detail_bottom_sheet.dart';
+import 'package:test_sa/views/widgets/item_views/info_header_widget.dart';
+import 'package:test_sa/views/widgets/item_views/info_text_widget.dart';
import 'package:test_sa/views/widgets/qr/asset_scan_qr.dart';
import '../../../models/device/asset.dart';
@@ -65,18 +67,18 @@ class AssetPicker extends StatelessWidget {
height: 50.toScreenHeight,
alignment: Alignment.center,
decoration: BoxDecoration(
- color: buttonColor ?? backgroundColor ?? AppColor.blueStatus(context),
+ color: buttonColor ?? backgroundColor ?? AppColor.primary10,
borderRadius: BorderRadius.circular(10),
- border: showBorder ? Border.all(color: borderColor ?? AppColor.blueStatus(context), width: 2) : null,
+ border: showBorder ? Border.all(color: borderColor ?? AppColor.border2Color(context), width: 1) : null,
// boxShadow: [BoxShadow(color: Colors.black.withOpacity(0.03), blurRadius: 14)],
),
padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth, vertical: 8.toScreenHeight),
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
- "scan_asset".toSvgAsset(height: 22, fit: BoxFit.fitHeight, color: context.isDark ? AppColor.neutral20 : iconColor ?? Colors.white),
+ "scan_asset".toSvgAsset(height: 22, fit: BoxFit.fitHeight, color: AppColor.white10),
8.width,
- ' ${label ?? "Scan or Pick Asset"}'.bodyText(context).custom(color: context.isDark ? AppColor.neutral20 : labelColor ?? Colors.white),
+ ' ${label ?? "Scan or Pick Asset"}'.bodyText(context).custom(color: AppColor.white10),
],
),
).onPress(() async {
@@ -107,16 +109,20 @@ class AssetPicker extends StatelessWidget {
height: 50,
alignment: Alignment.center,
decoration: BoxDecoration(
- color: Colors.white, borderRadius: BorderRadius.circular(10), border: Border.all(color: borderColor ?? AppColor.blueStatus(context), width: 2),
- // boxShadow: [BoxShadow(color: Colors.black.withOpacity(0.03), blurRadius: 14)],
+ // // color: Colors.white,
+ // borderRadius: BorderRadius.circular(10),
+ // border: Border.all(color: borderColor ?? AppColor.border2Color(context), width: 1),
+ color: buttonColor ?? backgroundColor ?? AppColor.primary10,
+ borderRadius: BorderRadius.circular(10),
+ border: showBorder ? Border.all(color: borderColor ?? AppColor.border2Color(context), width: 1) : null,
),
padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth, vertical: 8.toScreenHeight),
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
- "scan_asset".toSvgAsset(height: 22, fit: BoxFit.fitHeight, color: context.isDark ? AppColor.neutral20 : AppColor.neutral120),
+ "scan_asset".toSvgAsset(height: 22, fit: BoxFit.fitHeight, color: AppColor.white10),
8.width,
- "Re-Scan or Pick Asset".bodyText(context).custom(color: context.isDark ? AppColor.neutral20 : AppColor.black20),
+ "Re-Scan or Pick Asset".bodyText(context).custom(color: AppColor.white10),
],
),
).onPress(() async {
@@ -159,39 +165,25 @@ class AssetPicker extends StatelessWidget {
return Container(
padding: const EdgeInsets.all(12),
decoration: BoxDecoration(
- color: showLoading ? Colors.white : const Color(0xffF4F6FC),
- borderRadius: BorderRadius.circular(12),
- border: Border.all(
- color: const Color(0xff212936).withOpacity(.03),
- ),
+ color: showLoading ? Colors.white : AppColor.background(context),
+ borderRadius: BorderRadius.circular(16),
+ border: Border.all(color: borderColor ?? AppColor.borderColor(context)),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
Row(
children: [
- Text(
+ InfoHeaderWidget(
device.modelDefinition?.assetName?.cleanupWhitespace.capitalizeFirstOfEach ?? "",
- style: TextStyle(
- fontSize: 14.toScreenWidth,
- fontWeight: FontWeight.w500,
- fontStyle: FontStyle.normal,
- color: Colors.black87,
- decoration: TextDecoration.none,
- ),
).toShimmer(isShow: showLoading, context: context).expanded,
- const Icon(
- Icons.info,
- color: Color(0xff7D859A),
- size: 20,
- ).onPress(() {
+ Icon(Icons.info, color: AppColor.icon2Color(context), size: 20).onPress(() {
showModalBottomSheet(
context: context,
isScrollControlled: true,
+ backgroundColor: AppColor.bottomSheetColor(context),
shape: const RoundedRectangleBorder(
- borderRadius: BorderRadius.vertical(
- top: Radius.circular(20),
- ),
+ borderRadius: BorderRadius.vertical(top: Radius.circular(20)),
),
clipBehavior: Clip.antiAliasWithSaveLayer,
builder: (BuildContext context) => AssetDetailBottomSheet(device),
@@ -206,10 +198,12 @@ class AssetPicker extends StatelessWidget {
],
),
8.height,
- "${context.translation.assetNo}: ${device.assetNumber}".bodyText2(context).toShimmer(isShow: showLoading, context: context),
- 2.height,
+ InfoTextWidget(label: context.translation.assetNo, value: device.assetNumber).toShimmer(isShow: showLoading, context: context),
+ // 2.height,
// "${context.translation.manufacture}: ${device.modelDefinition?.manufacturerName}".bodyText(context),
- "${context.translation.model}: ${device.modelDefinition?.modelName}".bodyText2(context).toShimmer(isShow: showLoading, context: context),
+ InfoTextWidget(label: context.translation.model, value: device.modelDefinition?.modelName).toShimmer(isShow: showLoading, context: context),
+
+ // "${context.translation.model}: ${device.modelDefinition?.modelName}".bodyText2(context).toShimmer(isShow: showLoading, context: context),
// "${context.translation.serialNumber}: ${device.assetNumber}".bodyText(context),
// const Divider().defaultStyle(context),
// "${context.translation.department}: ${device.department?.departmentName}".bodyText(context),
diff --git a/lib/views/widgets/equipment/my_assets_page.dart b/lib/views/widgets/equipment/my_assets_page.dart
index 80a6c432..19accbc8 100644
--- a/lib/views/widgets/equipment/my_assets_page.dart
+++ b/lib/views/widgets/equipment/my_assets_page.dart
@@ -228,7 +228,8 @@ class _MyAssetsPageState extends State {
),
floatingActionButton: FloatingActionButton(
heroTag: "some tag 2",
- child: "qr".toSvgAsset(height: 32, fit: BoxFit.fitHeight, color: Theme.of(context).scaffoldBackgroundColor),
+ backgroundColor: AppColor.primary10,
+ child: "qr".toSvgAsset(height: 32, fit: BoxFit.fitHeight, color: AppColor.background(context)),
onPressed: () async {
String? result = await Navigator.of(context).push(
MaterialPageRoute(builder: (_) => const ScanQr()),
@@ -299,10 +300,7 @@ class _MyAssetsPageState extends State {
),
child: Text(
'Clear Filters',
- style: AppTextStyles.tinyFont.copyWith(
- color: AppColor.primary10,
- fontWeight: FontWeight.w500,
- ),
+ style: AppTextStyles.tinyFont.copyWith(color: AppColor.red30),
),
),
],
@@ -464,7 +462,7 @@ class _MyAssetsPageState extends State {
// Date Range
if (_searchAsset?.supplyDateFrom != null || _searchAsset?.supplyDateTo != null) {
- String dateLabel = 'Supply Date: ';
+ String dateLabel = 'Date: ';
if (_searchAsset!.supplyDateFrom != null && _searchAsset!.supplyDateTo != null) {
dateLabel += '${_formatDate(_searchAsset!.supplyDateFrom!)} - ${_formatDate(_searchAsset!.supplyDateTo!)}';
} else if (_searchAsset!.supplyDateFrom != null) {
diff --git a/lib/views/widgets/horizontal_list_widget.dart b/lib/views/widgets/horizontal_list_widget.dart
index 6905aa8c..32ae76b0 100644
--- a/lib/views/widgets/horizontal_list_widget.dart
+++ b/lib/views/widgets/horizontal_list_widget.dart
@@ -22,23 +22,25 @@ class _HorizontalListWidgetState extends State {
Widget build(BuildContext context) {
return SizedBox(
height: 35.toScreenHeight,
- child: ListView.builder(
+ child: ListView.separated(
itemCount: widget.list.length,
scrollDirection: Axis.horizontal,
shrinkWrap: true,
padding: EdgeInsetsDirectional.only(start: 16.toScreenWidth, end: 16),
+ separatorBuilder: (cxt, index) => 8.width,
itemBuilder: (context, index) => Container(
- margin: EdgeInsets.symmetric(horizontal: 4.toScreenWidth),
- padding: EdgeInsets.symmetric(horizontal: 20.toScreenWidth),
+ // margin: EdgeInsets.symmetric(horizontal: 4.toScreenWidth),
+ padding: EdgeInsets.symmetric(vertical: 8.toScreenHeight, horizontal: 12.toScreenWidth),
alignment: Alignment.center,
decoration: ShapeDecoration(
- color: _selectedIndex == index ? Colors.transparent : AppColor.selectedButtonColor(context),
+ color: AppColor.background(context),
+ shadows: [BoxShadow(color: Colors.black.withOpacity(0.05), blurRadius: 14, offset: const Offset(0, 0), spreadRadius: 0)],
shape: RoundedRectangleBorder(
- side: _selectedIndex == index ? BorderSide(width: 2, color: (context.isDark ? AppColor.backgroundLight : AppColor.backgroundDark)) : BorderSide.none,
- borderRadius: BorderRadius.circular(7),
+ side: BorderSide(width: 1, color: _selectedIndex == index ? AppColor.primary10 : AppColor.border2Color(context)),
+ borderRadius: BorderRadius.circular(6),
),
),
- child: (widget.list[index]).tinyFont(context).custom(color: AppColor.filterButtonTextColor(context)),
+ child: widget.list[index].tinyFont(context).custom(color: _selectedIndex == index ? AppColor.primary10 : AppColor.filterButtonTextColor(context)),
).onPress(() {
setState(() {
_selectedIndex = index;
diff --git a/lib/views/widgets/images/multi_image_picker.dart b/lib/views/widgets/images/multi_image_picker.dart
index aa9ecd79..582bc6ea 100644
--- a/lib/views/widgets/images/multi_image_picker.dart
+++ b/lib/views/widgets/images/multi_image_picker.dart
@@ -482,19 +482,20 @@ class _AttachmentPickerState extends State {
return Container(
padding: const EdgeInsets.all(12),
decoration: BoxDecoration(
- color: Colors.white,
- borderRadius: BorderRadius.circular(12),
- border: Border.all(color: const Color(0xffF1F1F1), width: 1),
+ color: AppColor.background(context),
+ borderRadius: BorderRadius.circular(16),
+ border: Border.all(color: AppColor.borderColor(context), width: 2),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
- Icon(iconData, color: const Color(0xff7D859A), size: 36),
- Text(
- title,
- style: const TextStyle(fontSize: 12, fontWeight: FontWeight.w500),
- ),
+ Icon(iconData, color: AppColor.icon2Color(context), size: 24),
+ title.bodyText2(context).custom(color: AppColor.labelTextStyleColor(context), fontSize: context.isTablet() ? 10.toScreenWidth : null),
+ // Text(
+ // title,
+ // style: const TextStyle(fontSize: 12, fontWeight: FontWeight.w500),
+ // ),
],
),
);
@@ -509,20 +510,15 @@ class _AttachmentPickerState extends State {
padding: const EdgeInsets.all(12),
decoration: BoxDecoration(
color: AppColor.background(context),
- // color: Colors.white,
- borderRadius: BorderRadius.circular(12),
- border: Border.all(color: const Color(0xffF1F1F1), width: 1),
+ borderRadius: BorderRadius.circular(16),
+ border: Border.all(color: AppColor.borderColor(context), width: 2),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
- icon.toSvgAsset(color: AppColor.iconColor(context), width: 36, height: 36),
- // Icon(iconData, color: const Color(0xff7D859A), size: 36),
- Text(
- label,
- style: const TextStyle(fontSize: 12, fontWeight: FontWeight.w500),
- ),
+ icon.toSvgAsset(color: AppColor.icon2Color(context), width: 36, height: 36),
+ label.bodyText2(context).custom(color: AppColor.labelTextStyleColor(context), fontSize: context.isTablet() ? 10.toScreenWidth : null),
],
),
).onPress(onTap);
diff --git a/lib/views/widgets/images/multi_image_picker_item.dart b/lib/views/widgets/images/multi_image_picker_item.dart
index b889b547..acd8a992 100644
--- a/lib/views/widgets/images/multi_image_picker_item.dart
+++ b/lib/views/widgets/images/multi_image_picker_item.dart
@@ -64,14 +64,14 @@ class MultiFilesPickerItem extends StatelessWidget {
Flexible(
child: EllipsizedText(
file.path.split("/").last,
- style: AppTextStyles.bodyText.copyWith(color: AppColor.black10),
+ style: AppTextStyles.bodyText.copyWith(color: AppColor.labelTextStyleColor(context)),
type: EllipsisType.start, // or EllipsisType.middle
),
),
8.width,
if (enabled)
InkWell(
- child: "remove".toSvgAsset(width: 16),
+ child: "remove".toSvgAsset(width: 16,color: AppColor.red30),
onTap: () {
onRemoveTap(file);
if (onRemove != null) {
@@ -85,7 +85,7 @@ class MultiFilesPickerItem extends StatelessWidget {
RichText(
text: TextSpan(
text: documentType == null ? 'Asset Guide | ' : '$documentType | ',
- style: AppTextStyles.bodyText.copyWith(color: AppColor.neutral120),
+ style: AppTextStyles.bodyText.copyWith(color: AppColor.lightTextColor(context)),
children: [
TextSpan(
text: 'View',
diff --git a/lib/views/widgets/images/new_multi_image_picker.dart b/lib/views/widgets/images/new_multi_image_picker.dart
index 040af263..60a4fdce 100644
--- a/lib/views/widgets/images/new_multi_image_picker.dart
+++ b/lib/views/widgets/images/new_multi_image_picker.dart
@@ -174,19 +174,20 @@ class _MultiFilesPickerState extends State {
return Container(
padding: EdgeInsets.all(12),
decoration: BoxDecoration(
- color: Colors.white,
- borderRadius: BorderRadius.circular(12),
- border: Border.all(color: Color(0xffF1F1F1), width: 1),
+ color: AppColor.background(context),
+ borderRadius: BorderRadius.circular(16),
+ border: Border.all(color: AppColor.borderColor(context), width: 2),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
- Icon(iconData, color: Color(0xff7D859A), size: 36),
- Text(
- title,
- style: TextStyle(fontSize: 12, fontWeight: FontWeight.w500),
- ),
+ Icon(iconData, color: AppColor.icon2Color(context), size: 36),
+ title.bodyText2(context).custom(color: AppColor.labelTextStyleColor(context), fontSize: context.isTablet() ? 10.toScreenWidth : null),
+ // Text(
+ // title,
+ // style: TextStyle(fontSize: 12, fontWeight: FontWeight.w500),
+ // ),
],
),
);
diff --git a/lib/views/widgets/item_views/info_header_widget.dart b/lib/views/widgets/item_views/info_header_widget.dart
index 72dfc7df..6f8e93bf 100644
--- a/lib/views/widgets/item_views/info_header_widget.dart
+++ b/lib/views/widgets/item_views/info_header_widget.dart
@@ -10,3 +10,11 @@ class InfoHeaderWidget extends StatelessWidget {
@override
Widget build(BuildContext context) => Text(label, style: AppTextStyles.bodyText.copyWith(color: AppColor.textStyleColor(context)));
}
+class InfoHeader16Widget extends StatelessWidget {
+ final String label;
+
+ InfoHeader16Widget(this.label, {Key? key}) : super(key: key);
+
+ @override
+ Widget build(BuildContext context) => Text(label, style: AppTextStyles.heading6.copyWith(color: AppColor.textStyleColor(context)));
+}
\ No newline at end of file
diff --git a/lib/views/widgets/qr/scan_qr.dart b/lib/views/widgets/qr/scan_qr.dart
index 4f1dda84..78c22e46 100644
--- a/lib/views/widgets/qr/scan_qr.dart
+++ b/lib/views/widgets/qr/scan_qr.dart
@@ -153,10 +153,12 @@ class _ScannerOverlay extends StatelessWidget {
),
SafeArea(
child: Padding(
- padding: const EdgeInsets.all(12.0),
- child: AIconButton(
- iconData: Icons.arrow_back,
+ padding: const EdgeInsets.all(16.0),
+ child: FloatingActionButton(
+ heroTag: "some tag 3",
+ backgroundColor: AppColor.background(context),
onPressed: onBack,
+ child: Icon(Icons.arrow_back, size: 24.toScreenWidth, color: AppColor.icon2Color(context)),
),
),
),
diff --git a/lib/views/widgets/sound/TextSpeechRecordWidget.dart b/lib/views/widgets/sound/TextSpeechRecordWidget.dart
index 74ce8e09..6c9cae44 100644
--- a/lib/views/widgets/sound/TextSpeechRecordWidget.dart
+++ b/lib/views/widgets/sound/TextSpeechRecordWidget.dart
@@ -29,7 +29,7 @@ class TextSpeechRecordWidget extends StatefulWidget {
final Function(String) onMessageChange;
final String initialMessage;
- const TextSpeechRecordWidget({Key? key, required this.onRecord, this.onStop, this.enabled = true,required this.onMessageChange,required this.initialMessage}) : super(key: key);
+ const TextSpeechRecordWidget({Key? key, required this.onRecord, this.onStop, this.enabled = true, required this.onMessageChange, required this.initialMessage}) : super(key: key);
@override
State createState() => _RecordSoundState();
@@ -75,7 +75,7 @@ class _RecordSoundState extends State {
_commentController = TextEditingController();
node.unfocus();
_recorderIsOpened = true;
- _settingProvider = Provider.of(context,listen: false);
+ _settingProvider = Provider.of(context, listen: false);
}
@override
@@ -189,8 +189,9 @@ class _RecordSoundState extends State {
controller: _commentController,
labelText: _speechToText.isListening ? "Listening..." : context.translation.callComments,
alignLabelWithHint: true,
+ isBackgroundTransparent: true,
showWithoutDecoration: true,
- backgroundColor: Colors.transparent,
+ // backgroundColor: Colors.transparent,
textInputType: TextInputType.multiline,
// suffixIcon:
// (_recording ? "record".toLottieAsset(height: 24) : (_record != null ? "trash" : "mic").toSvgAsset(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20, height: 24))
@@ -204,20 +205,14 @@ class _RecordSoundState extends State {
},
).expanded,
(_speechToText.isListening
- ? SizedBox(
- height: 24.toScreenHeight,
- width: 24.toScreenWidth,
- child: const Icon(
- Icons.fiber_manual_record,
- color: Colors.red,
- )).onPress(() {
+ ? SizedBox(height: 24.toScreenHeight, width: 24.toScreenWidth, child: const Icon(Icons.fiber_manual_record, color: AppColor.red30)).onPress(() {
_stopListening();
})
: PopupMenuButton(
child: SizedBox(
height: 24.toScreenHeight,
width: 24.toScreenWidth,
- child: "speech_to_text".toSvgAsset(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20, height: 24, width: 24),
+ child: "speech_to_text".toSvgAsset(color: AppColor.icon2Color(context), height: 24, width: 24),
),
onSelected: (String selectedLanguage) {
_settingProvider.setSpeechToText(selectedLanguage);
@@ -243,9 +238,9 @@ class _RecordSoundState extends State {
AppTextFormField(
enable: widget.enabled,
node: node,
- backgroundColor: Colors.transparent,
- showWithoutDecoration: true,
+ isBackgroundTransparent: true,
controller: _timeController,
+ showBorder: false,
labelText: context.translation.recordVoice,
textInputType: TextInputType.multiline,
alignLabelWithHint: true,
@@ -290,9 +285,7 @@ class _RecordSoundState extends State {
SizedBox(
height: _recording ? 40 : 24.toScreenHeight,
width: _recording ? 40 : 24.toScreenWidth,
- child: (_recording
- ? "record".toLottieAsset(height: 24)
- : (_record != null ? "trash" : "mic").toSvgAsset(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20, height: 24, width: 24)),
+ child: (_recording ? "record".toLottieAsset(height: 24) : (_record != null ? "trash" : "mic").toSvgAsset(color: AppColor.icon2Color(context), height: 24, width: 24)),
).paddingOnly(end: 16, top: 16).onPress(() {
if (_recording) {
_stopRecording();
diff --git a/lib/views/widgets/sound/sound_player.dart b/lib/views/widgets/sound/sound_player.dart
index a9368299..93a25a01 100644
--- a/lib/views/widgets/sound/sound_player.dart
+++ b/lib/views/widgets/sound/sound_player.dart
@@ -1,6 +1,7 @@
import 'package:audioplayers/audioplayers.dart';
import 'package:flutter/material.dart';
import 'package:test_sa/extensions/context_extension.dart';
+import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/app_style/app_text_style.dart';
@@ -32,15 +33,11 @@ class _ASoundPlayerState extends State {
decoration: ShapeDecoration(
color: AppColor.background(context),
shape: RoundedRectangleBorder(
- side: BorderSide(width: 1, color: (context.isDark ? AppColor.neutral20 : AppColor.neutral30)),
+ side: BorderSide(width: 1, color: AppColor.border2Color(context)),
borderRadius: BorderRadius.circular(32),
),
),
- child: Icon(
- icon,
- size: 30,
- color: (context.isDark ? AppColor.primary40 : AppColor.primary70).withOpacity(0.5),
- ),
+ child: Icon(icon, size: 30, color: (AppColor.primary10)),
).onPress(onpress);
}
@@ -182,8 +179,8 @@ class _ASoundPlayerState extends State {
value: _audioPosition?.inMilliseconds.toDouble() ?? 0.0,
min: 0,
max: _audioTime?.inMilliseconds.toDouble() ?? 60.0,
- activeColor: context.isDark ? AppColor.primary40 : AppColor.primary70,
- inactiveColor: context.isDark ? AppColor.neutral20 : AppColor.neutral30,
+ activeColor: AppColor.primary10,
+ inactiveColor: AppColor.border2Color(context),
onChangeStart: (value) {
_sliderMoving = true;
},
@@ -199,9 +196,8 @@ class _ASoundPlayerState extends State {
),
).paddingOnly(start: 8, end: 8).expanded,
_failedToLoad
- ? Text("Failed to load", style: AppTextStyle.tiny.copyWith(color: context.isDark ? AppColor.red50 : AppColor.red60))
- : Text("${format(_audioPosition ?? Duration.zero)}/${format(_audioTime ?? Duration.zero)}",
- style: AppTextStyle.tiny.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50)),
+ ? Text("Failed to load", style: AppTextStyles.tinyFont.copyWith(color: AppColor.textStyleColor(context)))
+ : Text("${format(_audioPosition ?? Duration.zero)}/${format(_audioTime ?? Duration.zero)}", style: AppTextStyles.tinyFont.copyWith(color: AppColor.textStyleColor(context))),
],
),
],