diff --git a/LabelStoreMax/CHANGELOG.md b/LabelStoreMax/CHANGELOG.md
index fdc54d1..d199a25 100644
--- a/LabelStoreMax/CHANGELOG.md
+++ b/LabelStoreMax/CHANGELOG.md
@@ -1,3 +1,9 @@
+## [6.10.1] - 2023-08-28
+
+* Refactor project for Nylo 5.x.
+* Fix AndroidManifest splash screen
+* Pubspec.yaml dependency updates
+
## [6.10.0] - 2023-08-21
* Small refactor to project
diff --git a/LabelStoreMax/android/app/src/main/AndroidManifest.xml b/LabelStoreMax/android/app/src/main/AndroidManifest.xml
index 19a268d..0843b6f 100644
--- a/LabelStoreMax/android/app/src/main/AndroidManifest.xml
+++ b/LabelStoreMax/android/app/src/main/AndroidManifest.xml
@@ -31,15 +31,7 @@
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
-
-
+
diff --git a/LabelStoreMax/lib/app/providers/app_provider.dart b/LabelStoreMax/lib/app/providers/app_provider.dart
index 0780814..d51ace1 100644
--- a/LabelStoreMax/lib/app/providers/app_provider.dart
+++ b/LabelStoreMax/lib/app/providers/app_provider.dart
@@ -95,6 +95,7 @@ class AppProvider implements NyProvider {
nylo.addModelDecoders(modelDecoders);
nylo.addValidationRules(validationRules);
+ nylo.toastNotification = getToastNotificationWidget;
return nylo;
}
diff --git a/LabelStoreMax/lib/config/design.dart b/LabelStoreMax/lib/config/design.dart
index f7dbae8..c5a4ba8 100644
--- a/LabelStoreMax/lib/config/design.dart
+++ b/LabelStoreMax/lib/config/design.dart
@@ -1,6 +1,9 @@
import 'package:flutter/cupertino.dart';
+import 'package:flutter_app/config/toast_notification.dart';
import 'package:flutter_app/resources/widgets/app_loader_widget.dart';
+import 'package:flutter_app/resources/widgets/toast_notification_widget.dart';
import 'package:flutter_app/resources/widgets/woosignal_ui.dart';
+import 'package:nylo_framework/nylo_framework.dart';
/*
|--------------------------------------------------------------------------
@@ -16,3 +19,14 @@ Widget logo = StoreLogo();
Widget loader = AppLoaderWidget();
// resources/widgets/app_loader_widget.dart
+
+Widget getToastNotificationWidget({
+ required ToastNotificationStyleType style,
+ Function(ToastNotificationStyleMetaHelper helper)? toastNotificationStyleMeta, Function? onDismiss}) {
+ if (toastNotificationStyleMeta == null) return SizedBox.shrink();
+
+ ToastMeta toastMeta = toastNotificationStyleMeta(NyToastNotificationStyleMetaHelper(style));
+
+ return ToastNotification(toastMeta, onDismiss: onDismiss);
+ // resources/widgets/toast_notification.dart
+}
\ No newline at end of file
diff --git a/LabelStoreMax/lib/config/toast_notification.dart b/LabelStoreMax/lib/config/toast_notification.dart
new file mode 100644
index 0000000..1da0779
--- /dev/null
+++ b/LabelStoreMax/lib/config/toast_notification.dart
@@ -0,0 +1,34 @@
+import 'package:nylo_framework/nylo_framework.dart';
+
+/// ToastNotificationStyleMetaHelper is used to return
+/// the correct value for the [ToastNotificationStyleType] toast style.
+class NyToastNotificationStyleMetaHelper extends ToastNotificationStyleMetaHelper {
+
+ NyToastNotificationStyleMetaHelper(ToastNotificationStyleType? style) : super(style);
+
+ onSuccess() {
+ return ToastMeta.success();
+ }
+
+ onWarning() {
+ return ToastMeta.warning();
+ }
+
+ onInfo() {
+ return ToastMeta.info();
+ }
+
+ onDanger() {
+ return ToastMeta.danger();
+ }
+
+ // Example customizing a notification
+ // onSuccess() {
+ // return ToastMeta.success(
+ // title: "Hello",
+ // description: "World",
+ // action: () {},
+ // backgroundColor: Colors.Yellow
+ // );
+ // }
+}
\ No newline at end of file
diff --git a/LabelStoreMax/lib/resources/pages/account_order_detail_page.dart b/LabelStoreMax/lib/resources/pages/account_order_detail_page.dart
index 71215df..cad6b40 100644
--- a/LabelStoreMax/lib/resources/pages/account_order_detail_page.dart
+++ b/LabelStoreMax/lib/resources/pages/account_order_detail_page.dart
@@ -52,7 +52,7 @@ class _AccountOrderDetailPageState extends NyState {
),
margin: EdgeInsets.only(left: 0),
),
- title: afterNotNull(_orderId, child: () => Text("${trans("Order").capitalize()} #${_orderId.toString()}"), loadingPlaceholder: CupertinoActivityIndicator()),
+ title: afterNotNull(_orderId, child: () => Text("${trans("Order").capitalize()} #${_orderId.toString()}"), loading: CupertinoActivityIndicator()),
centerTitle: true,
),
resizeToAvoidBottomInset: false,
diff --git a/LabelStoreMax/lib/resources/pages/browse_category_page.dart b/LabelStoreMax/lib/resources/pages/browse_category_page.dart
index 9d79d08..9892f77 100644
--- a/LabelStoreMax/lib/resources/pages/browse_category_page.dart
+++ b/LabelStoreMax/lib/resources/pages/browse_category_page.dart
@@ -65,7 +65,7 @@ class _BrowseCategoryPageState extends NyState {
children: [
Text(trans("Browse"),
style: Theme.of(context).textTheme.titleMedium),
- afterNotNull(productCategory, child: () => Text(parseHtmlString(productCategory!.name)), loadingPlaceholder: CupertinoActivityIndicator())
+ afterNotNull(productCategory, child: () => Text(parseHtmlString(productCategory!.name)), loading: CupertinoActivityIndicator())
],
),
centerTitle: true,
diff --git a/LabelStoreMax/lib/resources/pages/browse_search_page.dart b/LabelStoreMax/lib/resources/pages/browse_search_page.dart
index ab876ca..8090da4 100644
--- a/LabelStoreMax/lib/resources/pages/browse_search_page.dart
+++ b/LabelStoreMax/lib/resources/pages/browse_search_page.dart
@@ -57,7 +57,7 @@ class _BrowseSearchState extends NyState {
children: [
Text(trans("Search results for"),
style: Theme.of(context).textTheme.titleMedium),
- afterNotNull(_search, child: () => Text("\"" + _search! + "\""), loadingPlaceholder: CupertinoActivityIndicator())
+ afterNotNull(_search, child: () => Text("\"" + _search! + "\""), loading: CupertinoActivityIndicator())
],
),
centerTitle: true,
diff --git a/LabelStoreMax/lib/resources/widgets/toast_notification_widget.dart b/LabelStoreMax/lib/resources/widgets/toast_notification_widget.dart
new file mode 100644
index 0000000..86910a3
--- /dev/null
+++ b/LabelStoreMax/lib/resources/widgets/toast_notification_widget.dart
@@ -0,0 +1,90 @@
+import 'package:animate_do/animate_do.dart';
+import 'package:flutter/material.dart';
+import 'package:nylo_framework/nylo_framework.dart';
+
+class ToastNotification extends StatelessWidget {
+ const ToastNotification(ToastMeta toastMeta, {Function? onDismiss, Key? key}) : _toastMeta = toastMeta, _dismiss = onDismiss, super(key: key);
+
+ final Function? _dismiss;
+ final ToastMeta _toastMeta;
+
+ @override
+ Widget build(BuildContext context) {
+ return Stack(children: [
+ InkWell(
+ onTap: () {
+ if (_toastMeta.action != null) {
+ _toastMeta.action!();
+ }
+ },
+ child: Container(
+ padding: EdgeInsets.symmetric(horizontal: 18.0),
+ margin: EdgeInsets.symmetric(horizontal: 8.0),
+ height: 100,
+ decoration: ShapeDecoration(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(4),
+ ),
+ color: _toastMeta.color,
+ ),
+ child: Row(
+ mainAxisAlignment: MainAxisAlignment.center,
+ crossAxisAlignment: CrossAxisAlignment.center,
+ children: [
+ Pulse(
+ child: Container(
+ child: Center(
+ child: IconButton(
+ onPressed: () {},
+ icon: _toastMeta.icon ?? SizedBox.shrink(),
+ padding: EdgeInsets.only(right: 16),
+ ),
+ ),
+ ),
+ infinite: true,
+ duration: Duration(milliseconds: 1500),
+ ),
+ Expanded(
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [
+ Text(
+ _toastMeta.title.tr(),
+ style: Theme.of(context)
+ .textTheme
+ .headlineSmall!
+ .copyWith(color: Colors.white),
+ ),
+ Text(
+ _toastMeta.description.tr(),
+ style: Theme.of(context)
+ .textTheme
+ .bodyLarge!
+ .copyWith(color: Colors.white),
+ ),
+ ],
+ ),
+ ),
+ ],
+ ),
+ ),
+ ),
+ Positioned(
+ top: 0,
+ right: 0,
+ child: IconButton(
+ onPressed: () {
+ if (_dismiss != null) {
+ _dismiss!();
+ }
+ },
+ icon: Icon(
+ Icons.close,
+ color: Colors.white,
+ )),
+ )
+ ]);
+ }
+}
+
diff --git a/LabelStoreMax/pubspec.lock b/LabelStoreMax/pubspec.lock
index a419c48..16047be 100644
--- a/LabelStoreMax/pubspec.lock
+++ b/LabelStoreMax/pubspec.lock
@@ -13,10 +13,10 @@ packages:
dependency: transitive
description:
name: _flutterfire_internals
- sha256: a742f71d7f3484253a623b30e19256aa4668ecbb3de6ad1beb0bcf8d4777ecd8
+ sha256: "1a5e13736d59235ce0139621b4bbe29bc89839e202409081bc667eb3cd20674c"
url: "https://pub.dev"
source: hosted
- version: "1.3.3"
+ version: "1.3.5"
analyzer:
dependency: "direct main"
description:
@@ -26,7 +26,7 @@ packages:
source: hosted
version: "5.12.0"
animate_do:
- dependency: transitive
+ dependency: "direct main"
description:
name: animate_do
sha256: "9aeacc1a7238f971c039bdf45d13c628be554a242e0251c4ddda09d19a1a923f"
@@ -269,10 +269,10 @@ packages:
dependency: "direct main"
description:
name: firebase_core
- sha256: a4a99204da264a0aa9d54a332ea0315ce7b0768075139c77abefe98093dd98be
+ sha256: c78132175edda4bc532a71e01a32964e4b4fcf53de7853a422d96dac3725f389
url: "https://pub.dev"
source: hosted
- version: "2.14.0"
+ version: "2.15.1"
firebase_core_platform_interface:
dependency: transitive
description:
@@ -285,34 +285,34 @@ packages:
dependency: transitive
description:
name: firebase_core_web
- sha256: "0fd5c4b228de29b55fac38aed0d9e42514b3d3bd47675de52bf7f8fccaf922fa"
+ sha256: "4cf4d2161530332ddc3c562f19823fb897ff37a9a774090d28df99f47370e973"
url: "https://pub.dev"
source: hosted
- version: "2.6.0"
+ version: "2.7.0"
firebase_messaging:
dependency: "direct main"
description:
name: firebase_messaging
- sha256: "7a09d8c21147f009882a27c96de1918ea283f974d73cb6fae1d234bb9ec18d8b"
+ sha256: "6c1a2a047d6f165b7c5f947467ac5138731a2af82c7af1c12d691dbb834f6b73"
url: "https://pub.dev"
source: hosted
- version: "14.6.4"
+ version: "14.6.7"
firebase_messaging_platform_interface:
dependency: transitive
description:
name: firebase_messaging_platform_interface
- sha256: e9e9dc48a3d8ffa67aaba3d6b1ebf74bc7d7d8c83d10b1458ff97878b9d8a2b0
+ sha256: bcba58d28f8cda607a323240c6d314c2c62b62ebfbb0f2d704ebefef07b52b5f
url: "https://pub.dev"
source: hosted
- version: "4.5.3"
+ version: "4.5.6"
firebase_messaging_web:
dependency: transitive
description:
name: firebase_messaging_web
- sha256: "381f217e41e0e407baf8df21787b97e46fabfacefd6a953425be3a6cdf2269f4"
+ sha256: "962d09ec9dfa486cbbc218258ad41e8ec7997a2eba46919049496e1cafd960c5"
url: "https://pub.dev"
source: hosted
- version: "3.5.3"
+ version: "3.5.6"
flare_flutter:
dependency: transitive
description:
@@ -439,10 +439,10 @@ packages:
dependency: "direct main"
description:
name: flutter_stripe
- sha256: fb1a0647867a26b1fced98706ef96c664a5ae2579e29b67af5ddd054e01d83df
+ sha256: "2acc4a31f9fed946a1fb230d708169ff0448f2a356fc728780ced52eb0df7712"
url: "https://pub.dev"
source: hosted
- version: "9.2.2"
+ version: "9.3.0"
flutter_styled_toast:
dependency: transitive
description:
@@ -641,18 +641,18 @@ packages:
dependency: "direct main"
description:
name: nylo_framework
- sha256: e84667df8af356072e089b9ac2e9ab7dc8e22a3b41e7e59bf83f45ce6bd6c51c
+ sha256: "535684c9fd422f7a45ad83b1228ea42a87782a0655aa227c44fe75b9d3bcb8c5"
url: "https://pub.dev"
source: hosted
- version: "5.2.0"
+ version: "5.3.2"
nylo_support:
dependency: transitive
description:
name: nylo_support
- sha256: c036f49f235fa06e42f0d7615f98d522762f428b8f912d2ce819b2d99c3ae780
+ sha256: "903f510366ca1af7982ec69d45fd8b9bd25c9cdbf6380f8736cd50fa37eed8cd"
url: "https://pub.dev"
source: hosted
- version: "5.5.0"
+ version: "5.7.0"
octo_image:
dependency: transitive
description:
@@ -673,10 +673,10 @@ packages:
dependency: "direct main"
description:
name: package_info_plus
- sha256: ceb027f6bc6a60674a233b4a90a7658af1aebdea833da0b5b53c1e9821a78c7b
+ sha256: "6ff267fcd9d48cb61c8df74a82680e8b82e940231bb5f68356672fde0397334a"
url: "https://pub.dev"
source: hosted
- version: "4.0.2"
+ version: "4.1.0"
package_info_plus_platform_interface:
dependency: transitive
description:
@@ -958,26 +958,26 @@ packages:
dependency: transitive
description:
name: stripe_android
- sha256: e5557f2a81cb5070d48edf33168ca3891a22c63f0be98d90edeba54c4328dd21
+ sha256: "0396c877823e84f0053f7d57fed506798635a9d48f0f044859c85216db6194fd"
url: "https://pub.dev"
source: hosted
- version: "9.2.1"
+ version: "9.3.0"
stripe_ios:
dependency: transitive
description:
name: stripe_ios
- sha256: e397609a5083b79706814342b40a2a58f1b97ecab2b9d6cae8d8e9f59646fc8c
+ sha256: "81092043f0ae86ba6f5c16f76b16bbc97c4579eee58130e84cf4b30e36b4b649"
url: "https://pub.dev"
source: hosted
- version: "9.2.1"
+ version: "9.3.1"
stripe_platform_interface:
dependency: transitive
description:
name: stripe_platform_interface
- sha256: "321de409f41088e842140a8e8b334b1111cc6072dfb2fa9e6452155187e8ff2d"
+ sha256: "554380d197004cff235ae0327f1c3b596a3d22575af83e07c15ed07b6b62c45e"
url: "https://pub.dev"
source: hosted
- version: "9.2.2"
+ version: "9.3.0"
synchronized:
dependency: transitive
description:
diff --git a/LabelStoreMax/pubspec.yaml b/LabelStoreMax/pubspec.yaml
index df4ea89..e27883e 100644
--- a/LabelStoreMax/pubspec.yaml
+++ b/LabelStoreMax/pubspec.yaml
@@ -1,7 +1,7 @@
# Official WooSignal App Template for WooCommerce
# Label StoreMax
-# Version: 6.10.0
+# Version: 6.10.1
# Author: Anthony Gordon
# Homepage: https://woosignal.com
# Documentation: https://woosignal.com/docs/app/label-storemax
@@ -29,11 +29,11 @@ dependencies:
google_fonts: ^4.0.5
analyzer: ^5.12.0
intl: ^0.18.0
- nylo_framework: ^5.2.0
+ nylo_framework: ^5.3.2
woosignal: ^3.8.0
wp_json_api: ^3.3.2
cached_network_image: ^3.2.3
- package_info_plus: ^4.0.2
+ package_info_plus: ^4.1.0
money_formatter: ^0.0.3
flutter_web_browser: ^0.17.1
webview_flutter: 3.0.4
@@ -50,8 +50,8 @@ dependencies:
flutter_rating_bar: ^4.0.1
flutter_staggered_grid_view: ^0.6.2
flutter_swiper_view: ^1.1.8
- firebase_messaging: ^14.6.4
- firebase_core: ^2.14.0
+ firebase_messaging: ^14.6.7
+ firebase_core: ^2.15.1
flutter:
sdk: flutter
flutter_localizations:
@@ -61,8 +61,9 @@ dependencies:
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.5
collection: ^1.17.1
- flutter_stripe: ^9.2.2
+ flutter_stripe: ^9.3.0
razorpay_flutter: ^1.3.5
+ animate_do: ^3.0.2
dependency_overrides:
http: ^1.0.0