diff --git a/assets/images/calender.svg b/assets/images/calender.svg
new file mode 100644
index 00000000..236e12f8
--- /dev/null
+++ b/assets/images/calender.svg
@@ -0,0 +1,3 @@
+
diff --git a/lib/l10n/app_ar.arb b/lib/l10n/app_ar.arb
index 72c589ba..2bfa3d2a 100644
--- a/lib/l10n/app_ar.arb
+++ b/lib/l10n/app_ar.arb
@@ -281,5 +281,7 @@
"filter" : "تصفية",
"byDepartment" : "حسب القسم",
"bySite" : "حسب الموقع",
- "applyFilter" : "تصفية"
+ "applyFilter" : "تصفية",
+ "pmDateRange" : "النطاق الزمني للصيانة الوقائية",
+ "pickDate" : "إختر تاريخ"
}
\ No newline at end of file
diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb
index ac814617..c1faaab6 100644
--- a/lib/l10n/app_en.arb
+++ b/lib/l10n/app_en.arb
@@ -286,5 +286,7 @@
"filter" : "Filter",
"byDepartment" : "By Department",
"bySite" : "By Site",
- "applyFilter" : "Apply Filter"
+ "applyFilter" : "Apply Filter",
+ "pmDateRange" : "PM Date Range",
+ "pickDate" : "Pick Date"
}
\ No newline at end of file
diff --git a/lib/views/pages/device_transfer/asset_filter_screen.dart b/lib/views/pages/device_transfer/asset_filter_screen.dart
index bf4348aa..e771cfae 100644
--- a/lib/views/pages/device_transfer/asset_filter_screen.dart
+++ b/lib/views/pages/device_transfer/asset_filter_screen.dart
@@ -3,6 +3,7 @@ import 'package:provider/provider.dart';
import 'package:test_sa/controllers/providers/api/devices_provider.dart';
import 'package:test_sa/extensions/context_extension.dart';
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/models/new_models/department.dart';
import 'package:test_sa/models/new_models/site.dart';
@@ -10,10 +11,12 @@ import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
import 'package:test_sa/new_views/common_widgets/single_item_drop_down_menu.dart';
import 'package:test_sa/providers/department_provider.dart';
import 'package:test_sa/providers/gas_request_providers/site_provider.dart';
+import 'package:test_sa/views/widgets/date_and_time/date_picker.dart';
import '../../../models/device/asset_search.dart';
import '../../../new_views/common_widgets/app_lazy_loading.dart';
import '../../../new_views/common_widgets/default_app_bar.dart';
+import '../../widgets/equipment/equipment_status_buttons.dart';
class AssetFilterScreen extends StatefulWidget {
static const String id = "asset_filter_screen";
@@ -44,8 +47,13 @@ class _AssetFilterScreenState extends State {
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
- // context.translation.equipmentStatus.heading5(context),
- // 16.height,
+ /// todo : TBD
+ EquipmentStatusButtons(onSelect: (value) {
+ if (value == null) {
+ /// the selected value is [All Assets]
+ }
+ }),
+ 16.height,
SingleItemDropDownMenu(
context: context,
title: context.translation.byDepartment,
@@ -53,7 +61,7 @@ class _AssetFilterScreenState extends State {
onSelect: (value) {
_department = value;
},
- ),
+ ).paddingOnly(start: 16, end: 16),
8.height,
SingleItemDropDownMenu(
context: context,
@@ -62,13 +70,31 @@ class _AssetFilterScreenState extends State {
onSelect: (value) {
_site = value;
},
- ),
+ ).paddingOnly(start: 16, end: 16),
+ 16.height,
+ context.translation.pmDateRange.heading5(context).paddingOnly(start: 16, end: 16),
+ 8.height,
+
+ /// todo : TBD
+ Row(
+ children: [
+ ADatePicker(
+ label: context.translation.from,
+ onDatePicker: (date) {},
+ ).expanded,
+ 8.width,
+ ADatePicker(
+ label: context.translation.to,
+ onDatePicker: (date) {},
+ ).expanded,
+ ],
+ ).paddingOnly(start: 16, end: 16),
],
),
).expanded,
- AppFilledButton(onPressed: _search, label: context.translation.applyFilter),
+ AppFilledButton(onPressed: _search, label: context.translation.applyFilter).paddingOnly(start: 16, end: 16),
],
- ).paddingAll(16),
+ ).paddingOnly(top: 16, bottom: 16),
);
}
diff --git a/lib/views/widgets/date_and_time/date_picker.dart b/lib/views/widgets/date_and_time/date_picker.dart
index 09f66465..a546235e 100644
--- a/lib/views/widgets/date_and_time/date_picker.dart
+++ b/lib/views/widgets/date_and_time/date_picker.dart
@@ -1,35 +1,54 @@
import 'package:flutter/material.dart';
-import 'package:test_sa/views/app_style/sizing.dart';
+import 'package:test_sa/extensions/context_extension.dart';
+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/new_views/app_style/app_color.dart';
class ADatePicker extends StatelessWidget {
final DateTime date;
final DateTime from;
final DateTime to;
+ final String label;
final Function(DateTime) onDatePicker;
final bool enable;
- const ADatePicker({Key key, this.date, this.onDatePicker, this.from, this.to, this.enable = true}) : super(key: key);
+ const ADatePicker({Key key, @required this.label, this.date, this.onDatePicker, this.from, this.to, this.enable = true}) : super(key: key);
@override
Widget build(BuildContext context) {
- return ElevatedButton(
- style: ElevatedButton.styleFrom(
- foregroundColor: Colors.white,
- textStyle: Theme.of(context).textTheme.subtitle2,
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12 * AppStyle.getScaleFactor(context)),
- ),
+ return Container(
+ decoration: BoxDecoration(
+ color: Colors.white,
+ borderRadius: BorderRadius.circular(10),
+ border: Border.all(width: 1, color: Theme.of(context).scaffoldBackgroundColor),
+ boxShadow: [BoxShadow(color: Colors.black.withOpacity(0.05), blurRadius: 10)],
),
- onPressed: enable
- ? () async {
- DateTime picked = await showDatePicker(context: context, initialDate: DateTime.now(), firstDate: from ?? DateTime.now(), lastDate: to ?? DateTime.now().add(Duration(days: 365)));
- onDatePicker(picked);
- }
- : null,
- child: Text(
- date == null ? "Pick Date" : date.toString().split(" ").first,
- textScaleFactor: AppStyle.getScaleFactor(context),
+ padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth, vertical: 8.toScreenHeight),
+ child: Row(
+ children: [
+ Column(
+ crossAxisAlignment: CrossAxisAlignment.stretch,
+ mainAxisSize: MainAxisSize.min,
+ children: [
+ label.tinyFont(context),
+ (date?.toIso8601String() ?? context.translation.pickDate).bodyText(context).custom(color: AppColor.neutral50),
+ ],
+ ).expanded,
+ 16.width,
+ "calender".toSvgAsset(width: 20),
+ ],
),
- );
+ ).onPress(enable
+ ? () async {
+ DateTime picked = await showDatePicker(
+ context: context,
+ initialDate: DateTime.now(),
+ firstDate: from ?? DateTime.now(),
+ lastDate: to ?? DateTime.now().add(const Duration(days: 365)),
+ );
+ onDatePicker(picked);
+ }
+ : null);
}
}
diff --git a/lib/views/widgets/equipment/equipment_status_buttons.dart b/lib/views/widgets/equipment/equipment_status_buttons.dart
new file mode 100644
index 00000000..b1bf737c
--- /dev/null
+++ b/lib/views/widgets/equipment/equipment_status_buttons.dart
@@ -0,0 +1,102 @@
+import 'package:flutter/material.dart';
+import 'package:provider/provider.dart';
+import 'package:shimmer/shimmer.dart';
+import 'package:test_sa/extensions/context_extension.dart';
+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 '../../../models/lookup.dart';
+import '../../../new_views/app_style/app_color.dart';
+import '../../../providers/service_request_providers/equipment_status_provider.dart';
+
+class EquipmentStatusButtons extends StatefulWidget {
+ final Function(Lookup) onSelect;
+ const EquipmentStatusButtons({Key key, this.onSelect}) : super(key: key);
+
+ @override
+ State createState() => _EquipmentStatusButtonsState();
+}
+
+class _EquipmentStatusButtonsState extends State {
+ int _selectedEquipmentStatusIndex = 0;
+
+ @override
+ void initState() {
+ super.initState();
+ WidgetsFlutterBinding.ensureInitialized().addPostFrameCallback((timeStamp) {
+ Provider.of(context, listen: false).getDate();
+ });
+ }
+
+ @override
+ Widget build(BuildContext context) {
+ return Column(
+ crossAxisAlignment: CrossAxisAlignment.stretch,
+ children: [
+ context.translation.equipmentStatus.heading5(context).paddingOnly(start: 16, end: 16),
+ 8.height,
+ Consumer(
+ builder: (context, snapshot, _) {
+ return snapshot.loading
+ ? Shimmer(
+ gradient: const LinearGradient(colors: [AppColor.primary40, AppColor.primary50, AppColor.primary60]),
+ child: Row(
+ children: [
+ const _Skelton().expanded,
+ 8.width,
+ const _Skelton().expanded,
+ 8.width,
+ const _Skelton().expanded,
+ ],
+ ).paddingOnly(start: 16, end: 16),
+ )
+ : SizedBox(
+ height: 36.toScreenHeight,
+ child: ListView.builder(
+ itemCount: snapshot.items.length + 1,
+ scrollDirection: Axis.horizontal,
+ shrinkWrap: true,
+ padding: EdgeInsetsDirectional.only(start: 16.toScreenWidth),
+ itemBuilder: (context, index) => Container(
+ margin: EdgeInsets.symmetric(horizontal: 4.toScreenWidth),
+ padding: EdgeInsets.symmetric(vertical: 8.toScreenHeight, horizontal: (_selectedEquipmentStatusIndex == index ? 12 : 8).toScreenWidth),
+ alignment: Alignment.center,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(7),
+ color: _selectedEquipmentStatusIndex == index ? AppColor.neutral30 : Colors.white,
+ border: _selectedEquipmentStatusIndex == index ? Border.all(width: 1, color: AppColor.primary50) : null,
+ boxShadow: [BoxShadow(color: Colors.black.withOpacity(0.03), blurRadius: 14)],
+ ),
+ child: (index == 0 ? "All Assets" : snapshot.items[index - 1].name).tinyFont(context).custom(color: AppColor.neutral50),
+ ).onPress(() {
+ setState(() {
+ _selectedEquipmentStatusIndex = index;
+ });
+ widget.onSelect(index == 0 ? null : snapshot.items[index - 1]);
+ }),
+ ),
+ );
+ },
+ ),
+ ],
+ );
+ }
+}
+
+class _Skelton extends StatelessWidget {
+ const _Skelton({
+ Key key,
+ }) : super(key: key);
+
+ @override
+ Widget build(BuildContext context) {
+ return Container(
+ padding: const EdgeInsets.all(16),
+ decoration: BoxDecoration(
+ color: AppColor.neutral50.withOpacity(0.05),
+ borderRadius: BorderRadius.circular(7),
+ ),
+ );
+ }
+}
diff --git a/pubspec.lock b/pubspec.lock
index 538a911f..17a39fb6 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -5,18 +5,18 @@ packages:
dependency: transitive
description:
name: _flutterfire_internals
- sha256: "5dce45a06d386358334eb1689108db6455d90ceb0d75848d5f4819283d4ee2b8"
+ sha256: "7bcb5c5d62b3907fb4a269c0f0843df46760d38e12829a715f2ff1fb492f19ef"
url: "https://pub.dev"
source: hosted
- version: "1.3.4"
+ version: "1.3.10"
archive:
dependency: transitive
description:
name: archive
- sha256: "0c8368c9b3f0abbc193b9d6133649a614204b528982bebc7026372d61677ce3a"
+ sha256: "7e0d52067d05f2e0324268097ba723b71cb41ac8a6a2b24d1edf9c536b987b03"
url: "https://pub.dev"
source: hosted
- version: "3.3.7"
+ version: "3.4.6"
args:
dependency: transitive
description:
@@ -181,10 +181,10 @@ packages:
dependency: transitive
description:
name: cross_file
- sha256: "0b0036e8cccbfbe0555fd83c1d31a6f30b77a96b598b35a5d36dd41f718695e9"
+ sha256: "445db18de832dba8d851e287aff8ccf169bed30d2e94243cb54c7d2f1ed2142c"
url: "https://pub.dev"
source: hosted
- version: "0.3.3+4"
+ version: "0.3.3+6"
crypto:
dependency: transitive
description:
@@ -197,10 +197,10 @@ packages:
dependency: "direct main"
description:
name: cupertino_icons
- sha256: e35129dc44c9118cee2a5603506d823bab99c68393879edb440e0090d07586be
+ sha256: d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d
url: "https://pub.dev"
source: hosted
- version: "1.0.5"
+ version: "1.0.6"
dbus:
dependency: transitive
description:
@@ -253,82 +253,82 @@ packages:
dependency: transitive
description:
name: file_selector_linux
- sha256: "770eb1ab057b5ae4326d1c24cc57710758b9a46026349d021d6311bd27580046"
+ sha256: "045d372bf19b02aeb69cacf8b4009555fb5f6f0b7ad8016e5f46dd1387ddd492"
url: "https://pub.dev"
source: hosted
- version: "0.9.2"
+ version: "0.9.2+1"
file_selector_macos:
dependency: transitive
description:
name: file_selector_macos
- sha256: "4ada532862917bf16e3adb3891fe3a5917a58bae03293e497082203a80909412"
+ sha256: b15c3da8bd4908b9918111fa486903f5808e388b8d1c559949f584725a6594d6
url: "https://pub.dev"
source: hosted
- version: "0.9.3+1"
+ version: "0.9.3+3"
file_selector_platform_interface:
dependency: transitive
description:
name: file_selector_platform_interface
- sha256: "412705a646a0ae90f33f37acfae6a0f7cbc02222d6cd34e479421c3e74d3853c"
+ sha256: "0aa47a725c346825a2bd396343ce63ac00bda6eff2fbc43eabe99737dede8262"
url: "https://pub.dev"
source: hosted
- version: "2.6.0"
+ version: "2.6.1"
file_selector_windows:
dependency: transitive
description:
name: file_selector_windows
- sha256: "1372760c6b389842b77156203308940558a2817360154084368608413835fc26"
+ sha256: d3547240c20cabf205c7c7f01a50ecdbc413755814d6677f3cb366f04abcead0
url: "https://pub.dev"
source: hosted
- version: "0.9.3"
+ version: "0.9.3+1"
firebase_core:
dependency: "direct main"
description:
name: firebase_core
- sha256: "2e9324f719e90200dc7d3c4f5d2abc26052f9f2b995d3b6626c47a0dfe1c8192"
+ sha256: "37299e4907391d7fac8c7ea059bb3292768cc07b72b6c6c777675cc58da2ef4d"
url: "https://pub.dev"
source: hosted
- version: "2.15.0"
+ version: "2.20.0"
firebase_core_platform_interface:
dependency: transitive
description:
name: firebase_core_platform_interface
- sha256: b63e3be6c96ef5c33bdec1aab23c91eb00696f6452f0519401d640938c94cba2
+ sha256: c437ae5d17e6b5cc7981cf6fd458a5db4d12979905f9aafd1fea930428a9fe63
url: "https://pub.dev"
source: hosted
- version: "4.8.0"
+ version: "5.0.0"
firebase_core_web:
dependency: transitive
description:
name: firebase_core_web
- sha256: "0fd5c4b228de29b55fac38aed0d9e42514b3d3bd47675de52bf7f8fccaf922fa"
+ sha256: "0631a2ec971dbc540275e2fa00c3a8a2676f0a7adbc3c197d6fba569db689d97"
url: "https://pub.dev"
source: hosted
- version: "2.6.0"
+ version: "2.8.1"
firebase_messaging:
dependency: "direct main"
description:
name: firebase_messaging
- sha256: "8ac91d83a028eef050de770f1dc98421e215714d245f34de7b154d436676fbd0"
+ sha256: d7b6f9c394f8575598fa94e67220cdd2097a0bc28ce20a3ef2db2da94ede5b47
url: "https://pub.dev"
source: hosted
- version: "14.6.5"
+ version: "14.7.2"
firebase_messaging_platform_interface:
dependency: transitive
description:
name: firebase_messaging_platform_interface
- sha256: b2995e3640efb646e9ebf0e2fa50dea84895f0746a31d7e3af0e5e009a533a1a
+ sha256: "825356880eb94bf16ea7ef6a71384d2c32cc88143b54ecffed8b3987f7178854"
url: "https://pub.dev"
source: hosted
- version: "4.5.4"
+ version: "4.5.11"
firebase_messaging_web:
dependency: transitive
description:
name: firebase_messaging_web
- sha256: "5d8446a28339124a2cb4f57a6ca454a3aca7d0c5c0cdfa5707afb192f7c830a7"
+ sha256: "9c82e55c4b470970c77a99c90733adff6be7d5a67251007727b2a98d4f04e0cd"
url: "https://pub.dev"
source: hosted
- version: "3.5.4"
+ version: "3.5.11"
flare_flutter:
dependency: "direct main"
description:
@@ -418,10 +418,10 @@ packages:
dependency: "direct dev"
description:
name: flutter_lints
- sha256: "2118df84ef0c3ca93f96123a616ae8540879991b8b57af2f81b76a7ada49b2a4"
+ sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
url: "https://pub.dev"
source: hosted
- version: "2.0.2"
+ version: "2.0.3"
flutter_local_notifications:
dependency: "direct main"
description:
@@ -455,10 +455,10 @@ packages:
dependency: transitive
description:
name: flutter_plugin_android_lifecycle
- sha256: "950e77c2bbe1692bc0874fc7fb491b96a4dc340457f4ea1641443d0a6c1ea360"
+ sha256: b068ffc46f82a55844acfa4fdbb61fad72fa2aef0905548419d97f0f95c456da
url: "https://pub.dev"
source: hosted
- version: "2.0.15"
+ version: "2.0.17"
flutter_sound:
dependency: "direct main"
description:
@@ -500,10 +500,10 @@ packages:
dependency: "direct main"
description:
name: flutter_typeahead
- sha256: a3539f7a90246b152f569029dedcf0b842532d3f2a440701b520e0bf2acbcf42
+ sha256: b9942bd5b7611a6ec3f0730c477146cffa4cd4b051077983ba67ddfc9e7ee818
url: "https://pub.dev"
source: hosted
- version: "4.6.2"
+ version: "4.8.0"
flutter_web_plugins:
dependency: transitive
description: flutter
@@ -569,10 +569,10 @@ packages:
dependency: transitive
description:
name: image_picker_android
- sha256: d2bab152deb2547ea6f53d82ebca9b7e77386bb706e5789e815d37e08ea475bb
+ sha256: d6a6e78821086b0b737009b09363018309bbc6de3fd88cc5c26bc2bb44a4957f
url: "https://pub.dev"
source: hosted
- version: "0.8.7+3"
+ version: "0.8.8+2"
image_picker_for_web:
dependency: transitive
description:
@@ -585,42 +585,42 @@ packages:
dependency: transitive
description:
name: image_picker_ios
- sha256: b3e2f21feb28b24dd73a35d7ad6e83f568337c70afab5eabac876e23803f264b
+ sha256: c5538cacefacac733c724be7484377923b476216ad1ead35a0d2eadcdc0fc497
url: "https://pub.dev"
source: hosted
- version: "0.8.8"
+ version: "0.8.8+2"
image_picker_linux:
dependency: transitive
description:
name: image_picker_linux
- sha256: "02cbc21fe1706b97942b575966e5fbbeaac535e76deef70d3a242e4afb857831"
+ sha256: "4ed1d9bb36f7cd60aa6e6cd479779cc56a4cb4e4de8f49d487b1aaad831300fa"
url: "https://pub.dev"
source: hosted
- version: "0.2.1"
+ version: "0.2.1+1"
image_picker_macos:
dependency: transitive
description:
name: image_picker_macos
- sha256: cee2aa86c56780c13af2c77b5f2f72973464db204569e1ba2dd744459a065af4
+ sha256: "3f5ad1e8112a9a6111c46d0b57a7be2286a9a07fc6e1976fdf5be2bd31d4ff62"
url: "https://pub.dev"
source: hosted
- version: "0.2.1"
+ version: "0.2.1+1"
image_picker_platform_interface:
dependency: transitive
description:
name: image_picker_platform_interface
- sha256: "7c7b96bb9413a9c28229e717e6fd1e3edd1cc5569c1778fcca060ecf729b65ee"
+ sha256: ed9b00e63977c93b0d2d2b343685bed9c324534ba5abafbb3dfbd6a780b1b514
url: "https://pub.dev"
source: hosted
- version: "2.8.0"
+ version: "2.9.1"
image_picker_windows:
dependency: transitive
description:
name: image_picker_windows
- sha256: c3066601ea42113922232c7b7b3330a2d86f029f685bba99d82c30e799914952
+ sha256: "6ad07afc4eb1bc25f3a01084d28520496c4a3bb0cb13685435838167c9dcedeb"
url: "https://pub.dev"
source: hosted
- version: "0.2.1"
+ version: "0.2.1+1"
intl:
dependency: "direct main"
description:
@@ -769,50 +769,50 @@ packages:
dependency: "direct main"
description:
name: path_provider
- sha256: "909b84830485dbcd0308edf6f7368bc8fd76afa26a270420f34cabea2a6467a0"
+ sha256: a1aa8aaa2542a6bc57e381f132af822420216c80d4781f7aa085ca3229208aaa
url: "https://pub.dev"
source: hosted
- version: "2.1.0"
+ version: "2.1.1"
path_provider_android:
dependency: transitive
description:
name: path_provider_android
- sha256: "5d44fc3314d969b84816b569070d7ace0f1dea04bd94a83f74c4829615d22ad8"
+ sha256: e595b98692943b4881b219f0a9e3945118d3c16bd7e2813f98ec6e532d905f72
url: "https://pub.dev"
source: hosted
- version: "2.1.0"
+ version: "2.2.1"
path_provider_foundation:
dependency: transitive
description:
name: path_provider_foundation
- sha256: "1b744d3d774e5a879bb76d6cd1ecee2ba2c6960c03b1020cd35212f6aa267ac5"
+ sha256: "19314d595120f82aca0ba62787d58dde2cc6b5df7d2f0daf72489e38d1b57f2d"
url: "https://pub.dev"
source: hosted
- version: "2.3.0"
+ version: "2.3.1"
path_provider_linux:
dependency: transitive
description:
name: path_provider_linux
- sha256: ba2b77f0c52a33db09fc8caf85b12df691bf28d983e84cf87ff6d693cfa007b3
+ sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279
url: "https://pub.dev"
source: hosted
- version: "2.2.0"
+ version: "2.2.1"
path_provider_platform_interface:
dependency: transitive
description:
name: path_provider_platform_interface
- sha256: bced5679c7df11190e1ddc35f3222c858f328fff85c3942e46e7f5589bf9eb84
+ sha256: "94b1e0dd80970c1ce43d5d4e050a9918fce4f4a775e6142424c30a29a363265c"
url: "https://pub.dev"
source: hosted
- version: "2.1.0"
+ version: "2.1.1"
path_provider_windows:
dependency: transitive
description:
name: path_provider_windows
- sha256: ee0e0d164516b90ae1f970bdf29f726f1aa730d7cfc449ecc74c495378b705da
+ sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170"
url: "https://pub.dev"
source: hosted
- version: "2.2.0"
+ version: "2.2.1"
pedantic:
dependency: transitive
description:
@@ -825,18 +825,18 @@ packages:
dependency: "direct main"
description:
name: permission_handler
- sha256: "63e5216aae014a72fe9579ccd027323395ce7a98271d9defa9d57320d001af81"
+ sha256: bc56bfe9d3f44c3c612d8d393bd9b174eb796d706759f9b495ac254e4294baa5
url: "https://pub.dev"
source: hosted
- version: "10.4.3"
+ version: "10.4.5"
permission_handler_android:
dependency: transitive
description:
name: permission_handler_android
- sha256: c0c9754479a4c4b1c1f3862ddc11930c9b3f03bef2816bb4ea6eed1e13551d6f
+ sha256: "59c6322171c29df93a22d150ad95f3aa19ed86542eaec409ab2691b8f35f9a47"
url: "https://pub.dev"
source: hosted
- version: "10.3.2"
+ version: "10.3.6"
permission_handler_apple:
dependency: transitive
description:
@@ -849,10 +849,10 @@ packages:
dependency: transitive
description:
name: permission_handler_platform_interface
- sha256: "7c6b1500385dd1d2ca61bb89e2488ca178e274a69144d26bbd65e33eae7c02a9"
+ sha256: "6760eb5ef34589224771010805bea6054ad28453906936f843a8cc4d3a55c4a4"
url: "https://pub.dev"
source: hosted
- version: "3.11.3"
+ version: "3.12.0"
permission_handler_windows:
dependency: transitive
description:
@@ -873,26 +873,26 @@ packages:
dependency: transitive
description:
name: platform
- sha256: "4a451831508d7d6ca779f7ac6e212b4023dd5a7d08a27a63da33756410e32b76"
+ sha256: "0a279f0707af40c890e80b1e9df8bb761694c074ba7e1d4ab1bc4b728e200b59"
url: "https://pub.dev"
source: hosted
- version: "3.1.0"
+ version: "3.1.3"
plugin_platform_interface:
dependency: transitive
description:
name: plugin_platform_interface
- sha256: "6a2128648c854906c53fa8e33986fc0247a1116122f9534dd20e3ab9e16a32bc"
+ sha256: da3fdfeccc4d4ff2da8f8c556704c08f912542c5fb3cf2233ed75372384a034d
url: "https://pub.dev"
source: hosted
- version: "2.1.4"
+ version: "2.1.6"
pointer_interceptor:
dependency: transitive
description:
name: pointer_interceptor
- sha256: "6aa680b30d96dccef496933d00208ad25f07e047f644dc98ce03ec6141633a9a"
+ sha256: acfcd63c00ec3d5a7894b0e2a875893716d31958fe03f064734dba7dfd9113d9
url: "https://pub.dev"
source: hosted
- version: "0.9.3+4"
+ version: "0.9.3+5"
pointycastle:
dependency: transitive
description:
@@ -969,58 +969,66 @@ packages:
dependency: "direct main"
description:
name: shared_preferences
- sha256: "0344316c947ffeb3a529eac929e1978fcd37c26be4e8468628bac399365a3ca1"
+ sha256: "81429e4481e1ccfb51ede496e916348668fd0921627779233bd24cc3ff6abd02"
url: "https://pub.dev"
source: hosted
- version: "2.2.0"
+ version: "2.2.2"
shared_preferences_android:
dependency: transitive
description:
name: shared_preferences_android
- sha256: fe8401ec5b6dcd739a0fe9588802069e608c3fdbfd3c3c93e546cf2f90438076
+ sha256: "8568a389334b6e83415b6aae55378e158fbc2314e074983362d20c562780fb06"
url: "https://pub.dev"
source: hosted
- version: "2.2.0"
+ version: "2.2.1"
shared_preferences_foundation:
dependency: transitive
description:
name: shared_preferences_foundation
- sha256: f39696b83e844923b642ce9dd4bd31736c17e697f6731a5adf445b1274cf3cd4
+ sha256: "7bf53a9f2d007329ee6f3df7268fd498f8373602f943c975598bbb34649b62a7"
url: "https://pub.dev"
source: hosted
- version: "2.3.2"
+ version: "2.3.4"
shared_preferences_linux:
dependency: transitive
description:
name: shared_preferences_linux
- sha256: "71d6806d1449b0a9d4e85e0c7a917771e672a3d5dc61149cc9fac871115018e1"
+ sha256: "9f2cbcf46d4270ea8be39fa156d86379077c8a5228d9dfdb1164ae0bb93f1faa"
url: "https://pub.dev"
source: hosted
- version: "2.3.0"
+ version: "2.3.2"
shared_preferences_platform_interface:
dependency: transitive
description:
name: shared_preferences_platform_interface
- sha256: "23b052f17a25b90ff2b61aad4cc962154da76fb62848a9ce088efe30d7c50ab1"
+ sha256: d4ec5fc9ebb2f2e056c617112aa75dcf92fc2e4faaf2ae999caa297473f75d8a
url: "https://pub.dev"
source: hosted
- version: "2.3.0"
+ version: "2.3.1"
shared_preferences_web:
dependency: transitive
description:
name: shared_preferences_web
- sha256: "7347b194fb0bbeb4058e6a4e87ee70350b6b2b90f8ac5f8bd5b3a01548f6d33a"
+ sha256: d762709c2bbe80626ecc819143013cc820fa49ca5e363620ee20a8b15a3e3daf
url: "https://pub.dev"
source: hosted
- version: "2.2.0"
+ version: "2.2.1"
shared_preferences_windows:
dependency: transitive
description:
name: shared_preferences_windows
- sha256: f95e6a43162bce43c9c3405f3eb6f39e5b5d11f65fab19196cf8225e2777624d
+ sha256: "841ad54f3c8381c480d0c9b508b89a34036f512482c407e6df7a9c4aa2ef8f59"
url: "https://pub.dev"
source: hosted
- version: "2.3.0"
+ version: "2.3.2"
+ shimmer:
+ dependency: "direct main"
+ description:
+ name: shimmer
+ sha256: "1f1009b5845a1f88f1c5630212279540486f97409e9fc3f63883e71070d107bf"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.0.0"
signature:
dependency: "direct main"
description:
@@ -1158,58 +1166,58 @@ packages:
dependency: transitive
description:
name: url_launcher_android
- sha256: "15f5acbf0dce90146a0f5a2c4a002b1814a6303c4c5c075aa2623b2d16156f03"
+ sha256: "31222ffb0063171b526d3e569079cf1f8b294075ba323443fdc690842bfd4def"
url: "https://pub.dev"
source: hosted
- version: "6.0.36"
+ version: "6.2.0"
url_launcher_ios:
dependency: transitive
description:
name: url_launcher_ios
- sha256: "9af7ea73259886b92199f9e42c116072f05ff9bea2dcb339ab935dfc957392c2"
+ sha256: "4ac97281cf60e2e8c5cc703b2b28528f9b50c8f7cebc71df6bdf0845f647268a"
url: "https://pub.dev"
source: hosted
- version: "6.1.4"
+ version: "6.2.0"
url_launcher_linux:
dependency: transitive
description:
name: url_launcher_linux
- sha256: "207f4ddda99b95b4d4868320a352d374b0b7e05eefad95a4a26f57da413443f5"
+ sha256: "9f2d390e096fdbe1e6e6256f97851e51afc2d9c423d3432f1d6a02a8a9a8b9fd"
url: "https://pub.dev"
source: hosted
- version: "3.0.5"
+ version: "3.1.0"
url_launcher_macos:
dependency: transitive
description:
name: url_launcher_macos
- sha256: "1c4fdc0bfea61a70792ce97157e5cc17260f61abbe4f39354513f39ec6fd73b1"
+ sha256: b7244901ea3cf489c5335bdacda07264a6e960b1c1b1a9f91e4bc371d9e68234
url: "https://pub.dev"
source: hosted
- version: "3.0.6"
+ version: "3.1.0"
url_launcher_platform_interface:
dependency: transitive
description:
name: url_launcher_platform_interface
- sha256: bfdfa402f1f3298637d71ca8ecfe840b4696698213d5346e9d12d4ab647ee2ea
+ sha256: "980e8d9af422f477be6948bdfb68df8433be71f5743a188968b0c1b887807e50"
url: "https://pub.dev"
source: hosted
- version: "2.1.3"
+ version: "2.2.0"
url_launcher_web:
dependency: transitive
description:
name: url_launcher_web
- sha256: cc26720eefe98c1b71d85f9dc7ef0cada5132617046369d9dc296b3ecaa5cbb4
+ sha256: ba140138558fcc3eead51a1c42e92a9fb074a1b1149ed3c73e66035b2ccd94f2
url: "https://pub.dev"
source: hosted
- version: "2.0.18"
+ version: "2.0.19"
url_launcher_windows:
dependency: transitive
description:
name: url_launcher_windows
- sha256: "7967065dd2b5fccc18c653b97958fdf839c5478c28e767c61ee879f4e7882422"
+ sha256: "7754a1ad30ee896b265f8d14078b0513a4dba28d358eabb9d5f339886f4a1adc"
url: "https://pub.dev"
source: hosted
- version: "3.0.7"
+ version: "3.1.0"
uuid:
dependency: transitive
description:
@@ -1260,4 +1268,4 @@ packages:
version: "3.1.2"
sdks:
dart: ">=2.19.0 <3.0.0"
- flutter: ">=3.3.0"
+ flutter: ">=3.7.0"
diff --git a/pubspec.yaml b/pubspec.yaml
index a52f678d..576cff87 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -70,6 +70,7 @@ dependencies:
localization: ^2.1.0
dotted_border: ^2.1.0
lottie: ^2.3.0
+ shimmer: ^2.0.0
dev_dependencies:
flutter_test: