Compare commits

...

7 Commits
v6.8.2 ... 6.x

Author SHA1 Message Date
b279212a95 Launcher icon (all res.) changed to raster icon 2023-09-21 19:24:02 +02:00
ed1a9d70fb Changes reflecting personalization 2023-09-19 10:45:02 +02:00
4f11e7bb00 Upload files to 'LabelStoreMax/public/assets/app_icon' 2023-09-18 18:13:59 +00:00
Anthony
2f9118085c v6.9.1 2023-08-28 22:16:33 +01:00
Anthony
c620aa71cc v6.10.0 2023-08-21 02:54:53 +01:00
Anthony
63244606be v6.10.0 2023-08-21 02:54:18 +01:00
Anthony
3b350dbefb v6.9.0 2023-07-13 03:32:31 +01:00
33 changed files with 355 additions and 120 deletions

3
.idea/.gitignore generated vendored Normal file
View File

@ -0,0 +1,3 @@
# Default ignored files
/shelf/
/workspace.xml

6
.idea/vcs.xml generated Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

View File

@ -1,9 +1,9 @@
# *<! ------ App ------!>* # *<! ------ App ------!>*
APP_NAME="MyApp" APP_NAME="Raster"
APP_ENV="local" APP_ENV="local"
APP_DEBUG="true" APP_DEBUG="true"
APP_URL="https://mywoocommercestore.com" APP_URL="https://rasterdoo.com"
ASSET_PATH_PUBLIC="public/assets/" ASSET_PATH_PUBLIC="public/assets/"
ASSET_PATH_IMAGES="public/assets/images" ASSET_PATH_IMAGES="public/assets/images"
@ -14,12 +14,12 @@ DARK_THEME_ID="default_dark_theme"
# *<! ------ Language ------!>* # *<! ------ Language ------!>*
DEFAULT_LOCALE=null DEFAULT_LOCALE="en"
# supports: "en" (English), "es" (Spanish), "fr" (French), "hi" (Hindi), "it" (Italian), "pt" (Portuguese) or "zh" (Simplified Chinese) # supports: "en" (English), "es" (Spanish), "fr" (French), "hi" (Hindi), "it" (Italian), "pt" (Portuguese) or "zh" (Simplified Chinese)
# *<! ------ WooSignal Config ------!>* # *<! ------ WooSignal Config ------!>*
APP_KEY="your app key" APP_KEY="app_50818d11780aaba6b545076dea5b90"
# App key from WooSignal link: https://woosignal.com/dashboard # App key from WooSignal link: https://woosignal.com/dashboard
# *<! ------ STRIPE (OPTIONAL) ------!>* # *<! ------ STRIPE (OPTIONAL) ------!>*
@ -52,4 +52,7 @@ PRODUCT_PLACEHOLDER_IMAGE="https://woosignal.com/images/woocommerce-placeholder.
# Sets the default placeholder image for products with no image # Sets the default placeholder image for products with no image
AUTH_USER_KEY="AUTH_USER" AUTH_USER_KEY="AUTH_USER"
FCM_ENABLED=false FCM_ENABLED=null
ENCRYPT_KEY=null
ENCRYPT_SECRET=null

View File

@ -1,3 +1,21 @@
## [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
* Pubspec.yaml dependency updates
## [6.9.0] - 2023-07-13
* Pull firebase config via woosignal api
* New encrypt key and secret added to .env
* fix fetchRelated to return "publish" products
* Pubspec.yaml dependency updates
## [6.8.2] - 2023-07-04 ## [6.8.2] - 2023-07-04
* Update gradle + kotlin versions. * Update gradle + kotlin versions.

View File

@ -12,7 +12,7 @@
<application <application
android:name="${applicationName}" android:name="${applicationName}"
android:label="Label StoreMax" android:label="Raster Knjizara"
android:icon="@mipmap/launcher_icon"> android:icon="@mipmap/launcher_icon">
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"
@ -31,15 +31,7 @@
android:name="io.flutter.embedding.android.NormalTheme" android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme" android:resource="@style/NormalTheme"
/> />
<!-- Displays an Android View that continues showing the launch screen
Drawable until Flutter paints its first frame, then this splash
screen fades out. A splash screen is useful to avoid any visual
gap between the end of Android's launch screen and the painting of
Flutter's first frame. -->
<meta-data
android:name="io.flutter.embedding.android.SplashScreenDrawable"
android:resource="@drawable/launch_background"
/>
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN"/> <action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/> <category android:name="android.intent.category.LAUNCHER"/>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -155,7 +155,7 @@
97C146E61CF9000F007C117D /* Project object */ = { 97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject; isa = PBXProject;
attributes = { attributes = {
LastUpgradeCheck = 1300; LastUpgradeCheck = 1430;
ORGANIZATIONNAME = ""; ORGANIZATIONNAME = "";
TargetAttributes = { TargetAttributes = {
97C146ED1CF9000F007C117D = { 97C146ED1CF9000F007C117D = {

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Scheme <Scheme
LastUpgradeVersion = "1300" LastUpgradeVersion = "1430"
version = "1.3"> version = "1.3">
<BuildAction <BuildAction
parallelizeBuildables = "YES" parallelizeBuildables = "YES"

View File

@ -22,7 +22,10 @@ class AppProvider implements NyProvider {
]); ]);
await WooSignal.instance await WooSignal.instance
.init(appKey: getEnv('APP_KEY'), debugMode: getEnv('APP_DEBUG')); .init(appKey: getEnv('APP_KEY'), debugMode: getEnv('APP_DEBUG'),
encryptKey: getEnv('ENCRYPT_KEY', defaultValue: null),
encryptSecret: getEnv('ENCRYPT_SECRET', defaultValue: null)
);
AppHelper.instance.appConfig = WooSignalApp(); AppHelper.instance.appConfig = WooSignalApp();
AppHelper.instance.appConfig!.themeFont = "Poppins"; AppHelper.instance.appConfig!.themeFont = "Poppins";
@ -46,7 +49,7 @@ class AppProvider implements NyProvider {
}; };
// WooSignal Setup // WooSignal Setup
WooSignalApp? wooSignalApp = await (appWooSignal((api) => api.getApp())); WooSignalApp? wooSignalApp = await (appWooSignal((api) => api.getApp(encrypted: shouldEncrypt())));
Locale locale = Locale('en'); Locale locale = Locale('en');
if (wooSignalApp != null) { if (wooSignalApp != null) {
@ -92,6 +95,7 @@ class AppProvider implements NyProvider {
nylo.addModelDecoders(modelDecoders); nylo.addModelDecoders(modelDecoders);
nylo.addValidationRules(validationRules); nylo.addValidationRules(validationRules);
nylo.toastNotification = getToastNotificationWidget;
return nylo; return nylo;
} }

View File

@ -1,5 +1,6 @@
import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter_app/bootstrap/app_helper.dart';
import 'package:flutter_app/firebase_options.dart'; import 'package:flutter_app/firebase_options.dart';
import 'package:nylo_framework/nylo_framework.dart'; import 'package:nylo_framework/nylo_framework.dart';
import 'package:woosignal/woosignal.dart'; import 'package:woosignal/woosignal.dart';
@ -14,7 +15,12 @@ class FirebaseProvider implements NyProvider {
@override @override
afterBoot(Nylo nylo) async { afterBoot(Nylo nylo) async {
if (getEnv('FCM_ENABLED', defaultValue: false) != true) return; bool? firebaseFcmIsEnabled = AppHelper.instance.appConfig?.firebaseFcmIsEnabled;
if (firebaseFcmIsEnabled == null) {
firebaseFcmIsEnabled = getEnv('FCM_ENABLED', defaultValue: false);
}
if (firebaseFcmIsEnabled != true) return;
await Firebase.initializeApp( await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform, options: DefaultFirebaseOptions.currentPlatform,

View File

@ -33,16 +33,16 @@ razorPay(context,
Order? order = await appWooSignal((api) => api.createOrder(orderWC)); Order? order = await appWooSignal((api) => api.createOrder(orderWC));
if (order != null) { if (order != null) {
Cart.getInstance.clear();
Navigator.pushNamed(context, "/checkout-status", arguments: order);
} else {
showToastNotification( showToastNotification(
context, context,
title: "Error".tr(), title: "Error".tr(),
description: trans("Something went wrong, please contact our store"), description: trans("Something went wrong, please contact our store"),
); );
state.reloadState(showLoader: false); state.reloadState(showLoader: false);
return;
} }
Cart.getInstance.clear();
Navigator.pushNamed(context, "/checkout-status", arguments: order);
}); });
razorpay.on(Razorpay.EVENT_PAYMENT_ERROR, (PaymentFailureResponse response) { razorpay.on(Razorpay.EVENT_PAYMENT_ERROR, (PaymentFailureResponse response) {

View File

@ -118,7 +118,7 @@ stripePay(context,
return; return;
} }
Navigator.pushNamed(context, "/checkout-status", arguments: order); routeTo('/checkout-status', navigationType: NavigationType.pushAndForgetAll, data: order);
} on StripeException catch (e) { } on StripeException catch (e) {
if (getEnv('APP_DEBUG', defaultValue: true)) { if (getEnv('APP_DEBUG', defaultValue: true)) {
NyLogger.error(e.error.message!); NyLogger.error(e.error.message!);

View File

@ -667,4 +667,16 @@ bool isProductNew(Product? product) {
NyLogger.error(e.toString()); NyLogger.error(e.toString());
} }
return false; return false;
}
bool shouldEncrypt() {
String? encryptKey = getEnv('ENCRYPT_KEY', defaultValue: "");
if (encryptKey == null || encryptKey == "") {
return false;
}
String? encryptSecret = getEnv('ENCRYPT_KEY', defaultValue: "");
if (encryptSecret == null || encryptSecret == "") {
return false;
}
return true;
} }

View File

@ -1,6 +1,9 @@
import 'package:flutter/cupertino.dart'; 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/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:flutter_app/resources/widgets/woosignal_ui.dart';
import 'package:nylo_framework/nylo_framework.dart';
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -16,3 +19,14 @@ Widget logo = StoreLogo();
Widget loader = AppLoaderWidget(); Widget loader = AppLoaderWidget();
// resources/widgets/app_loader_widget.dart // 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
}

View File

@ -15,7 +15,7 @@ import 'package:nylo_framework/nylo_framework.dart';
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
*/ */
const appPaymentGateways = []; const appPaymentGateways = ["CashOnDelivery"];
// Available: "Stripe", "CashOnDelivery", "PayPal", "RazorPay" // Available: "Stripe", "CashOnDelivery", "PayPal", "RazorPay"
// e.g. app_payment_gateways = ["Stripe", "CashOnDelivery"]; will only use Stripe and Cash on Delivery. // e.g. app_payment_gateways = ["Stripe", "CashOnDelivery"]; will only use Stripe and Cash on Delivery.

View File

@ -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
// );
// }
}

View File

@ -2,6 +2,7 @@
import 'package:firebase_core/firebase_core.dart' show FirebaseOptions; import 'package:firebase_core/firebase_core.dart' show FirebaseOptions;
import 'package:flutter/foundation.dart' import 'package:flutter/foundation.dart'
show defaultTargetPlatform, kIsWeb, TargetPlatform; show defaultTargetPlatform, kIsWeb, TargetPlatform;
import 'package:flutter_app/bootstrap/app_helper.dart';
/// Default [FirebaseOptions] for use with your Firebase apps. /// Default [FirebaseOptions] for use with your Firebase apps.
class DefaultFirebaseOptions { class DefaultFirebaseOptions {
@ -14,9 +15,33 @@ class DefaultFirebaseOptions {
} }
switch (defaultTargetPlatform) { switch (defaultTargetPlatform) {
case TargetPlatform.android: case TargetPlatform.android:
return android; if (AppHelper.instance.appConfig?.firebaseOptionsAndroid == null) {
throw UnsupportedError(
'Add a valid Firebase json config on https://woosignal.com for your WooCommerce store',
);
}
return FirebaseOptions(
apiKey: AppHelper.instance.appConfig!.firebaseOptionsAndroid!['apiKey'],
appId: AppHelper.instance.appConfig!.firebaseOptionsAndroid!['appId'],
messagingSenderId: AppHelper.instance.appConfig!.firebaseOptionsAndroid!['messagingSenderId'],
projectId: AppHelper.instance.appConfig!.firebaseOptionsAndroid!['projectId'],
storageBucket: AppHelper.instance.appConfig!.firebaseOptionsAndroid!['storageBucket'],
);
case TargetPlatform.iOS: case TargetPlatform.iOS:
return ios; if (AppHelper.instance.appConfig?.firebaseOptionsIos == null) {
throw UnsupportedError(
'Add a valid Firebase plist config on https://woosignal.com for your WooCommerce store',
);
}
return FirebaseOptions(
apiKey: AppHelper.instance.appConfig!.firebaseOptionsIos!['apiKey'],
appId: AppHelper.instance.appConfig!.firebaseOptionsIos!['appId'],
messagingSenderId: AppHelper.instance.appConfig!.firebaseOptionsIos!['messagingSenderId'],
projectId: AppHelper.instance.appConfig!.firebaseOptionsIos!['projectId'],
storageBucket: AppHelper.instance.appConfig!.firebaseOptionsIos!['storageBucket'],
iosClientId: AppHelper.instance.appConfig!.firebaseOptionsIos!['iosClientId'],
iosBundleId: AppHelper.instance.appConfig!.firebaseOptionsIos!['iosBundleId'],
);
case TargetPlatform.macOS: case TargetPlatform.macOS:
throw UnsupportedError( throw UnsupportedError(
'DefaultFirebaseOptions have not been configured for macos - ' 'DefaultFirebaseOptions have not been configured for macos - '
@ -38,22 +63,4 @@ class DefaultFirebaseOptions {
); );
} }
} }
static const FirebaseOptions android = FirebaseOptions(
apiKey: '',
appId: '',
messagingSenderId: '',
projectId: '',
storageBucket: '',
);
static const FirebaseOptions ios = FirebaseOptions(
apiKey: '',
appId: '',
messagingSenderId: '',
projectId: '',
storageBucket: '',
iosClientId: '',
iosBundleId: '',
);
} }

View File

@ -15,4 +15,4 @@ void main() async {
debugShowCheckedModeBanner: false, debugShowCheckedModeBanner: false,
), ),
); );
} }

View File

@ -52,7 +52,7 @@ class _AccountOrderDetailPageState extends NyState<AccountOrderDetailPage> {
), ),
margin: EdgeInsets.only(left: 0), 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, centerTitle: true,
), ),
resizeToAvoidBottomInset: false, resizeToAvoidBottomInset: false,

View File

@ -65,7 +65,7 @@ class _BrowseCategoryPageState extends NyState<BrowseCategoryPage> {
children: <Widget>[ children: <Widget>[
Text(trans("Browse"), Text(trans("Browse"),
style: Theme.of(context).textTheme.titleMedium), 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, centerTitle: true,

View File

@ -57,7 +57,7 @@ class _BrowseSearchState extends NyState<BrowseSearchPage> {
children: <Widget>[ children: <Widget>[
Text(trans("Search results for"), Text(trans("Search results for"),
style: Theme.of(context).textTheme.titleMedium), style: Theme.of(context).textTheme.titleMedium),
afterNotNull(_search, child: () => Text("\"" + _search! + "\""), loadingPlaceholder: CupertinoActivityIndicator()) afterNotNull(_search, child: () => Text("\"" + _search! + "\""), loading: CupertinoActivityIndicator())
], ],
), ),
centerTitle: true, centerTitle: true,

View File

@ -20,7 +20,7 @@ class AppVersionWidget extends StatelessWidget {
return NyFutureBuilder<PackageInfo>( return NyFutureBuilder<PackageInfo>(
future: PackageInfo.fromPlatform(), future: PackageInfo.fromPlatform(),
child: (BuildContext context, data) => Padding( child: (BuildContext context, data) => Padding(
child: Text("${trans("Version")}: ${data.version}", child: Text("${trans("Version")}: ${data?.version}",
style: Theme.of(context) style: Theme.of(context)
.textTheme .textTheme
.bodyMedium! .bodyMedium!

View File

@ -41,6 +41,8 @@ class _CartIconWidgetState extends State<CartIconWidget> {
future: Cart.getInstance.getCart(), future: Cart.getInstance.getCart(),
child: (BuildContext context, child: (BuildContext context,
data) { data) {
if (data == null) return SizedBox.shrink();
List<int?> cartItems = List<int?> cartItems =
data.map((e) => e.quantity).toList(); data.map((e) => e.quantity).toList();
String cartValue = "0"; String cartValue = "0";

View File

@ -55,6 +55,8 @@ class ProductDetailRelatedProductsWidget extends StatelessWidget {
child: NyFutureBuilder<List<Product>>( child: NyFutureBuilder<List<Product>>(
future: fetchRelated(), future: fetchRelated(),
child: (context, relatedProducts) { child: (context, relatedProducts) {
if (relatedProducts == null) return SizedBox.shrink();
if (relatedProducts.isEmpty) { if (relatedProducts.isEmpty) {
return SizedBox.shrink(); return SizedBox.shrink();
} }
@ -75,6 +77,6 @@ class ProductDetailRelatedProductsWidget extends StatelessWidget {
} }
Future<List<Product>> fetchRelated() async => await (appWooSignal( Future<List<Product>> fetchRelated() async => await (appWooSignal(
(api) => api.getProducts(perPage: 100, include: product!.relatedIds), (api) => api.getProducts(perPage: 100, include: product!.relatedIds, status: "publish"),
)); ));
} }

View File

@ -93,6 +93,15 @@ class _ProductDetailReviewsWidgetState
NyFutureBuilder<List<ProductReview>>( NyFutureBuilder<List<ProductReview>>(
future: fetchReviews(), future: fetchReviews(),
child: (context, reviews) { child: (context, reviews) {
if (reviews == null) {
return Container(
child: ListTile(
title: Text(
trans('There are no reviews yet.'),
),
),
);
}
int reviewsCount = reviews.length; int reviewsCount = reviews.length;
List<Widget> childrenWidgets = []; List<Widget> childrenWidgets = [];
List<ProductDetailReviewTileWidget> children = reviews List<ProductDetailReviewTileWidget> children = reviews

View File

@ -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,
)),
)
]);
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 KiB

After

Width:  |  Height:  |  Size: 77 KiB

View File

@ -13,10 +13,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: _flutterfire_internals name: _flutterfire_internals
sha256: a742f71d7f3484253a623b30e19256aa4668ecbb3de6ad1beb0bcf8d4777ecd8 sha256: "1a5e13736d59235ce0139621b4bbe29bc89839e202409081bc667eb3cd20674c"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.3.3" version: "1.3.5"
analyzer: analyzer:
dependency: "direct main" dependency: "direct main"
description: description:
@ -26,7 +26,7 @@ packages:
source: hosted source: hosted
version: "5.12.0" version: "5.12.0"
animate_do: animate_do:
dependency: transitive dependency: "direct main"
description: description:
name: animate_do name: animate_do
sha256: "9aeacc1a7238f971c039bdf45d13c628be554a242e0251c4ddda09d19a1a923f" sha256: "9aeacc1a7238f971c039bdf45d13c628be554a242e0251c4ddda09d19a1a923f"
@ -49,6 +49,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.4.2" version: "2.4.2"
asn1lib:
dependency: transitive
description:
name: asn1lib
sha256: b74e3842a52c61f8819a1ec8444b4de5419b41a7465e69d4aa681445377398b0
url: "https://pub.dev"
source: hosted
version: "1.4.1"
async: async:
dependency: transitive dependency: transitive
description: description:
@ -141,10 +149,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: collection name: collection
sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c" sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.17.1" version: "1.17.2"
convert: convert:
dependency: transitive dependency: transitive
description: description:
@ -177,14 +185,6 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.0.5" version: "1.0.5"
dart_style:
dependency: transitive
description:
name: dart_style
sha256: f4f1f73ab3fd2afcbcca165ee601fe980d966af6a21b5970c6c9376955c528ad
url: "https://pub.dev"
source: hosted
version: "2.3.1"
device_info_plus: device_info_plus:
dependency: transitive dependency: transitive
description: description:
@ -209,6 +209,30 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.2.1+1" version: "5.2.1+1"
encrypt:
dependency: transitive
description:
name: encrypt
sha256: "4fd4e4fdc21b9d7d4141823e1e6515cd94e7b8d84749504c232999fba25d9bbb"
url: "https://pub.dev"
source: hosted
version: "5.0.1"
equatable:
dependency: transitive
description:
name: equatable
sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2
url: "https://pub.dev"
source: hosted
version: "2.0.5"
event_bus_plus:
dependency: transitive
description:
name: event_bus_plus
sha256: cbd27754d4c567f78fc88e7875e26c31d866d919f220523f34b29bf008f8fb1a
url: "https://pub.dev"
source: hosted
version: "0.6.1"
eventify: eventify:
dependency: transitive dependency: transitive
description: description:
@ -245,10 +269,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: firebase_core name: firebase_core
sha256: a4a99204da264a0aa9d54a332ea0315ce7b0768075139c77abefe98093dd98be sha256: c78132175edda4bc532a71e01a32964e4b4fcf53de7853a422d96dac3725f389
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.14.0" version: "2.15.1"
firebase_core_platform_interface: firebase_core_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -261,34 +285,34 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: firebase_core_web name: firebase_core_web
sha256: "0fd5c4b228de29b55fac38aed0d9e42514b3d3bd47675de52bf7f8fccaf922fa" sha256: "4cf4d2161530332ddc3c562f19823fb897ff37a9a774090d28df99f47370e973"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.6.0" version: "2.7.0"
firebase_messaging: firebase_messaging:
dependency: "direct main" dependency: "direct main"
description: description:
name: firebase_messaging name: firebase_messaging
sha256: "7a09d8c21147f009882a27c96de1918ea283f974d73cb6fae1d234bb9ec18d8b" sha256: "6c1a2a047d6f165b7c5f947467ac5138731a2af82c7af1c12d691dbb834f6b73"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "14.6.4" version: "14.6.7"
firebase_messaging_platform_interface: firebase_messaging_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: firebase_messaging_platform_interface name: firebase_messaging_platform_interface
sha256: e9e9dc48a3d8ffa67aaba3d6b1ebf74bc7d7d8c83d10b1458ff97878b9d8a2b0 sha256: bcba58d28f8cda607a323240c6d314c2c62b62ebfbb0f2d704ebefef07b52b5f
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.5.3" version: "4.5.6"
firebase_messaging_web: firebase_messaging_web:
dependency: transitive dependency: transitive
description: description:
name: firebase_messaging_web name: firebase_messaging_web
sha256: "381f217e41e0e407baf8df21787b97e46fabfacefd6a953425be3a6cdf2269f4" sha256: "962d09ec9dfa486cbbc218258ad41e8ec7997a2eba46919049496e1cafd960c5"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.5.3" version: "3.5.6"
flare_flutter: flare_flutter:
dependency: transitive dependency: transitive
description: description:
@ -415,10 +439,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_stripe name: flutter_stripe
sha256: fb1a0647867a26b1fced98706ef96c664a5ae2579e29b67af5ddd054e01d83df sha256: "2acc4a31f9fed946a1fb230d708169ff0448f2a356fc728780ced52eb0df7712"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "9.2.2" version: "9.3.0"
flutter_styled_toast: flutter_styled_toast:
dependency: transitive dependency: transitive
description: description:
@ -537,10 +561,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: intl name: intl
sha256: a3715e3bc90294e971cb7dc063fbf3cd9ee0ebf8604ffeafabd9e6f16abbdbe6 sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.18.0" version: "0.18.1"
js: js:
dependency: transitive dependency: transitive
description: description:
@ -557,14 +581,6 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.8.1" version: "4.8.1"
json_dart_generator:
dependency: transitive
description:
name: json_dart_generator
sha256: "88c710a9278e1f8a9ad65a695350153f517d7deeca293ea45c6f997c066437a5"
url: "https://pub.dev"
source: hosted
version: "1.1.0+1"
lints: lints:
dependency: "direct dev" dependency: "direct dev"
description: description:
@ -573,22 +589,30 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.1" version: "2.1.1"
logger:
dependency: transitive
description:
name: logger
sha256: "7ad7215c15420a102ec687bb320a7312afd449bac63bfb1c60d9787c27b9767f"
url: "https://pub.dev"
source: hosted
version: "1.4.0"
matcher: matcher:
dependency: transitive dependency: transitive
description: description:
name: matcher name: matcher
sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb" sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.12.15" version: "0.12.16"
material_color_utilities: material_color_utilities:
dependency: transitive dependency: transitive
description: description:
name: material_color_utilities name: material_color_utilities
sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.2.0" version: "0.5.0"
math_expressions: math_expressions:
dependency: "direct main" dependency: "direct main"
description: description:
@ -617,18 +641,18 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: nylo_framework name: nylo_framework
sha256: a10e1ea240e04aa64a90a6170bc2eebd585b9c0f85b1557e323c5a49312add2b sha256: "535684c9fd422f7a45ad83b1228ea42a87782a0655aa227c44fe75b9d3bcb8c5"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.1.1" version: "5.3.2"
nylo_support: nylo_support:
dependency: transitive dependency: transitive
description: description:
name: nylo_support name: nylo_support
sha256: "09c5eace0c4fa4cef5148b3b7820fd0a8b24154c964c34c1396372315ef815d6" sha256: "903f510366ca1af7982ec69d45fd8b9bd25c9cdbf6380f8736cd50fa37eed8cd"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.3.1" version: "5.7.0"
octo_image: octo_image:
dependency: transitive dependency: transitive
description: description:
@ -649,10 +673,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: package_info_plus name: package_info_plus
sha256: ceb027f6bc6a60674a233b4a90a7658af1aebdea833da0b5b53c1e9821a78c7b sha256: "6ff267fcd9d48cb61c8df74a82680e8b82e940231bb5f68356672fde0397334a"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.0.2" version: "4.1.0"
package_info_plus_platform_interface: package_info_plus_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -878,10 +902,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: source_span name: source_span
sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.9.1" version: "1.10.0"
sqflite: sqflite:
dependency: transitive dependency: transitive
description: description:
@ -934,26 +958,26 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: stripe_android name: stripe_android
sha256: e5557f2a81cb5070d48edf33168ca3891a22c63f0be98d90edeba54c4328dd21 sha256: "0396c877823e84f0053f7d57fed506798635a9d48f0f044859c85216db6194fd"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "9.2.1" version: "9.3.0"
stripe_ios: stripe_ios:
dependency: transitive dependency: transitive
description: description:
name: stripe_ios name: stripe_ios
sha256: e397609a5083b79706814342b40a2a58f1b97ecab2b9d6cae8d8e9f59646fc8c sha256: "81092043f0ae86ba6f5c16f76b16bbc97c4579eee58130e84cf4b30e36b4b649"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "9.2.1" version: "9.3.1"
stripe_platform_interface: stripe_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: stripe_platform_interface name: stripe_platform_interface
sha256: "321de409f41088e842140a8e8b334b1111cc6072dfb2fa9e6452155187e8ff2d" sha256: "554380d197004cff235ae0327f1c3b596a3d22575af83e07c15ed07b6b62c45e"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "9.2.2" version: "9.3.0"
synchronized: synchronized:
dependency: transitive dependency: transitive
description: description:
@ -974,10 +998,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: test_api name: test_api
sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.5.1" version: "0.6.0"
theme_provider: theme_provider:
dependency: transitive dependency: transitive
description: description:
@ -998,10 +1022,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: url_launcher name: url_launcher
sha256: eb1e00ab44303d50dd487aab67ebc575456c146c6af44422f9c13889984c00f3 sha256: "781bd58a1eb16069412365c98597726cd8810ae27435f04b3b4d3a470bacd61e"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.1.11" version: "6.1.12"
url_launcher_android: url_launcher_android:
dependency: transitive dependency: transitive
description: description:
@ -1090,6 +1114,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.0" version: "1.1.0"
web:
dependency: transitive
description:
name: web
sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10
url: "https://pub.dev"
source: hosted
version: "0.1.4-beta"
webview_flutter: webview_flutter:
dependency: "direct main" dependency: "direct main"
description: description:
@ -1142,10 +1174,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: woosignal name: woosignal
sha256: "5059a0f531149e3bd9ee70a24e76315644663462509c84771d3bb8ca403726ab" sha256: "089a373122ae0e202e64e214ce4a549af29e589128bdc8c8a54f3da68a2355aa"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.7.1" version: "3.8.0"
wp_json_api: wp_json_api:
dependency: "direct main" dependency: "direct main"
description: description:
@ -1179,5 +1211,5 @@ packages:
source: hosted source: hosted
version: "3.1.2" version: "3.1.2"
sdks: sdks:
dart: ">=3.0.0 <4.0.0" dart: ">=3.1.0-185.0.dev <4.0.0"
flutter: ">=3.7.0-0" flutter: ">=3.10.0"

View File

@ -1,7 +1,7 @@
# Official WooSignal App Template for WooCommerce # Official WooSignal App Template for WooCommerce
# Label StoreMax # Label StoreMax
# Version: 6.8.2 # Version: 6.10.1
# Author: Anthony Gordon # Author: Anthony Gordon
# Homepage: https://woosignal.com # Homepage: https://woosignal.com
# Documentation: https://woosignal.com/docs/app/label-storemax # Documentation: https://woosignal.com/docs/app/label-storemax
@ -29,16 +29,16 @@ dependencies:
google_fonts: ^4.0.5 google_fonts: ^4.0.5
analyzer: ^5.12.0 analyzer: ^5.12.0
intl: ^0.18.0 intl: ^0.18.0
nylo_framework: ^5.1.1 nylo_framework: ^5.3.2
woosignal: ^3.7.1 woosignal: ^3.8.0
wp_json_api: ^3.3.2 wp_json_api: ^3.3.2
cached_network_image: ^3.2.3 cached_network_image: ^3.2.3
package_info_plus: ^4.0.2 package_info_plus: ^4.1.0
money_formatter: ^0.0.3 money_formatter: ^0.0.3
flutter_web_browser: ^0.17.1 flutter_web_browser: ^0.17.1
webview_flutter: 3.0.4 webview_flutter: 3.0.4
pull_to_refresh_flutter3: 2.0.1 pull_to_refresh_flutter3: 2.0.1
url_launcher: ^6.1.6 url_launcher: ^6.1.12
bubble_tab_indicator: ^0.1.5 bubble_tab_indicator: ^0.1.5
status_alert: ^1.0.1 status_alert: ^1.0.1
math_expressions: ^2.4.0 math_expressions: ^2.4.0
@ -50,8 +50,8 @@ dependencies:
flutter_rating_bar: ^4.0.1 flutter_rating_bar: ^4.0.1
flutter_staggered_grid_view: ^0.6.2 flutter_staggered_grid_view: ^0.6.2
flutter_swiper_view: ^1.1.8 flutter_swiper_view: ^1.1.8
firebase_messaging: ^14.6.4 firebase_messaging: ^14.6.7
firebase_core: ^2.14.0 firebase_core: ^2.15.1
flutter: flutter:
sdk: flutter sdk: flutter
flutter_localizations: flutter_localizations:
@ -61,8 +61,9 @@ dependencies:
# Use with the CupertinoIcons class for iOS style icons. # Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.5 cupertino_icons: ^1.0.5
collection: ^1.17.1 collection: ^1.17.1
flutter_stripe: ^9.2.2 flutter_stripe: ^9.3.0
razorpay_flutter: ^1.3.5 razorpay_flutter: ^1.3.5
animate_do: ^3.0.2
dependency_overrides: dependency_overrides:
http: ^1.0.0 http: ^1.0.0