Actively maintained
11 documented releases, the latest being v6.4.0 on Sep 22, 2026. Every one of them is a free update for existing license holders.
compileSdk from 36 to 37flutter --versionflutter channel stable
flutter upgrade --force
flutter clean
flutter pub getconfigs/env.props file (if not input, the app will crash):

"advanceConfig": {
"versionCheck": {
"enable": true,
"iosId": null,
"iOSAppStoreCountry": null,
"androidId": null,
"androidPlayStoreCountry": null,
+ "forcedUpdate": false,
+ "dialogTitle": null,
+ "dialogText": null,
+ "updateButtonText": null,
+ "dismissButtonText": null,
}
}"versionCheck": {
"enable": true,
"iosId": null,
"iOSAppStoreCountry": null,
"androidId": null,
"androidPlayStoreCountry": null,
"forcedUpdate": false,
"dialogTitle": null,
"dialogText": null,
"updateButtonText": null,
"dismissButtonText": null
}"versionCheck": {
"enable": true,
"iosId": null,
"iOSAppStoreCountry": null,
"androidId": null,
"androidPlayStoreCountry": null,
"forcedUpdate": false,
"dialogTitle": "New version availale",
"dialogText": "Would you like to update it now?",
"updateButtonText": "Update Now",
"dismissButtonText": null
}"versionCheck": {
"enable": true,
"iosId": null,
"iOSAppStoreCountry": null,
"androidId": null,
"androidPlayStoreCountry": null,
"forcedUpdate": true,
"dialogTitle": "App Update Required",
"dialogText": "Please update to continue using the app",
"updateButtonText": "Update",
"dismissButtonText": null
}"searchConfig": {
+ // Required Extended license
+ "imageSearchUrl": "image-search-endpoint",
+ "imageSearchApiKey": null
}id in Firestore chat room users.id with email fallback for backward compatibility.
{
"HorizonLayout": [
{
"layout": "threeColumn",
+ "showSeeAll": false
}
],
"VerticalLayout": {
+ "showSeeAll": false
}
}env.dartfacebookAppId before login"loginSetting": {
"showGoogleLogin": true,
+ "googleWebClientId": "YOUR_GOOGLE_WEB_CLIENT_ID.apps.googleusercontent.com",
}
"productDetail": {
+ /// Show/hide the short description on the product detail page.
+ "showShortDescription": true,
}company field. The unused block address field has been replaced with company, while the apartment field now correctly maps to address2.
"addressFields": [
{
- "type": "block",
+ "type": "company",
"visible": true,
"editable": true,
"position": 11,
"required": false,
"defaultValue": ""
}
]
orderReturnedreadytopickpickingdeliveringdelivereddriverAssigned when delivery assignment is enabled.outForDelivery when delivery assignment is enabled.failedDelivery when delivery assignment is enabled..jpg?table=block&id=3e3cbb07-4f62-8034-be31-d89381cf1bd5&cache=v2&spaceId=adfc7c52-309f-45b9-8822-60b33369c98c)

"orderConfig": {
"version": 1, // 1 or 2
+ /// Show delivery-related statuses in Order History filters.
+ /// Includes Driver Assigned, Out For Delivery, and Failed Delivery Attempt.
+ /// Requires a supported delivery-driver status integration.
+ "enableDeliveryStatusFilter": false,
},
"managerConfig": {
"appLogo": "assets/images/app_icon_transparent.png",
"appName": "FluxStore Admin",
/// Enable assigning orders to delivery boys.
/// Requires integration with FluxStore Delivery and FluxStore Manager.
- "enableDeliveryFeature": false,
+ "enableOrderAssignment": false,
}
Framework 'RazorpayStandard' not found / arm64 simulator slice)invalid_plugin)configs/env.props file (if not input, the app will crash):
Supported: All Apps
com.revenuecat.purchases:purchases to the latest version.

Supported: All Apps
"TabBarConfig": {
+ "showMinimize": true
}
Supported: All Apps
"TabBarConfig": {
+ "liquidGlass": true
}
Supported: All Apps
"TabBarConfig": {
+ "floating": true
}
Supported: All Apps
"authConfig": {
"providers": {
"sms": {
+ "otpLength": null // 6 as default
}
}
}
Supported: Woo/Shopify
{
"layout": "videos",
"icon": "assets/icons/tabs/icon-videos.png",
"styleVersions": ["1", "2"],
+ "order": "asc",
+ "orderby": "date"
}Supported: All Apps
"filterConfig": {
"showLayout": true,
"showSort": true,
"showPriceSlider": false,
"showCategory": false,
"showListingLocation": false,
"showBrand": false,
"showTag": false,
"showFeature": false,
"showAttribute": false,
"supportedSortByOptions": ["date", "price"]
}supportedSortByOptions accepts: onSale, featured, date, price, title, popularity, rating, menu_order, rand, relevance.
Supported: All Apps
Supported: All Apps
Supported: All Apps

Supported: All Apps
Supported: All Apps
showPrice control in product detail settings for flexible price display behavior."productDetail": {
+ "showPrice": true
}
Supported: All Apps
"secureScreenConfig": {
"enable": false,
"screens": []
}enable=true with empty screens to block app-wide.enable=true with screens list to block specific routes only.Supported: WooCommerce
buttonText for external products. If the admin has customized button text for external product, the app will use that value; otherwise, the fallback remains "Buy now".


Supported: WooCommerce, MultiVendor
"advanceConfig": {
+ "EnableWooCheckoutFieldManager": true
}

Supported: WooCommerce, MultiVendor
"advanceConfig": {
/// Enable Delivery Date/Time when doing checkout
/// Ref: https://support.inspireui.com/help-center/articles/35/37/160/delivery-date-picker
"EnableDeliveryDateOnCheckout": false
}

Supported: WooCommerce, MultiVendor, MAX-Multisites
"cashfreeConfig": {
+ "paymentMethodIds": ["cashfree"],
+ "enabled": true
}Supported: WooCommerce, MultiVendor
deliveryOnline option in profile settings."defaultSettings": [
...,
+ "deliveryOnline",
...
]salesiq_mobilisten to fix iOS build.configs/env.props file (if not input, the app will crash):flutter --versionflutter channel stable
flutter upgrade --force
flutter clean
flutter pub getconfigs/env.props file (if not input, the app will crash):
Supported: All frameworks

Supported: All frameworks

Supported: WooCommerce, MultiVendor (Dokan/WCFM), Shopify, Magento, Opencart, Strapi, Prestashop, Notion, BigCommerce, Haravan, MAX-Multisites



"searchConfig": {
+ "emptyImage": "assets/images/empty_search.png",
+ "boxFit": "contain",
}Supported: WooCommerce, MultiVendor (Dokan/WCFM), Shopify, Magento, Opencart, Strapi, Prestashop, Notion, BigCommerce, Haravan, Serverless (Firebase), MAX-Multisites
.png?table=block&id=380cbb07-4f62-80d7-90e9-d18af8f07ec5&cache=v2&spaceId=adfc7c52-309f-45b9-8822-60b33369c98c)
.png?table=block&id=380cbb07-4f62-8057-9386-c8dba432270b&cache=v2&spaceId=adfc7c52-309f-45b9-8822-60b33369c98c)

"cartDetail": {
+ "boxFit": "cover",
+ "emptyImage": "assets/images/leaves.png",
+ "enableSyncCartFromWebsite": false,
+ "enableSyncCartToWebsite": false,
}Supported: WooCommerce, MultiVendor (Dokan/WCFM)
+ {
+ "layout": "brandCarousel",
+ "autoPlay": true,
+ "loop": true,
+ "showName": true,
+ }Supported: All frameworks
imageCompare homepage layout widget for before/after showcase. Perfect for showcasing before/after transformations directly on your Homepage. Makes your app look professional!+ {
+ "layout": "imageCompare",
+ "beforeImage": "...",
+ "afterImage": "...",
+ "trackWidth": 3.0,
+ "borderRadius": 12.0,
+ }Supported: WooCommerce, PrestaShop Apps
Supported: All frameworks
"webViewConfig": {
+ "handleDynamicLink": true,
}Supported: WooCommerce, MultiVendor (Dokan/WCFM), Shopify, Listing (Listeo/ListingPro/MyListing), Magento, Opencart, Strapi, Prestashop, Notion, BigCommerce, Haravan, GPT, WordPress

"authConfig": {
+ "showContinueAsGuestInLogin": false,
}Supported: WooCommerce, MultiVendor (Dokan/WCFM)

Supported: All frameworks | ⚠️ BREAKING CHANGE
authConfig structure to support flexible sign-up fields and modern provider config.+ "authConfig": {
+ "defaultMethod": "emailPassword",
+ "providers": { ... },
+ "registration": {
+ "email": {"show": true, "require": true},
+ "firstName": {"show": true, "require": true},
+ "lastName": {"show": true, "require": true},
+ "phone": {"show": false, "require": false},
+ "username": {"show": true, "require": false},
+ },
+ }Supported: All frameworks
Supported: All frameworks | ⚠️ BREAKING CHANGE
advanceConfig into dedicated currencyConfig."advanceConfig": {
- "DefaultCurrency": ...,
- "Currencies": ...,
- "EnableWOOCSCurrencySwitcher": true
}
+ "currencyConfig": {
+ "defaultCurrencyCode": "USD",
+ "currencies": [...],
+ "enableWOOCSCurrencySwitcher": true,
+ }MODIFY_AUDIO_SETTINGS).configs/env.props file (if not input, the app will crash):
Supported: All frameworks
easy_paypal package to replace the old PayPal Data Collector SDK (com.paypal.android.sdk:data-collector) with the policy-compliant Braintree version (com.braintreepayments.api:data-collector:4.31.0). This resolves Google Play rejections caused by the old SDK collecting device location without prominent disclosure.Supported: All frameworks
local_auth_android to a fixed version to resolve a build failure introduced by Android Gradle Plugin 9+ (AGP 9), where local_auth_android was missing compileSdk in its build.gradle.kts. This fixes the NullPointerException crash during Gradle configuration.Supported: All frameworks (Extended source code only)
stripe_android and stripe_ios requiring compileSdk ≥ 36 due to updated androidx dependencies (activity, core-ktx, browser, navigationevent), while the project was still targeting android-35.Supported: WooCommerce, MultiVendor (Dokan/WCFM)



Supported: WooCommerce, MultiVendor (Dokan/WCFM)

Supported: WooCommerce, MultiVendor (Dokan/WCFM)



easy_paypal SDK — replaces com.paypal.android.sdk:data-collector with com.braintreepayments.api:data-collector:4.31.0 to comply with Google Play's User Data and Prominent Disclosure policylocal_auth_android to a compatible version to fix build failures with Android Gradle Plugin 9+.stripe_android and stripe_ios required compileSdk ≥ 36 due to updated androidx dependencieshttps://domain/product/slug and https://domain/product/slug/ are now supportedconfigs/env.props file (if not input, the app will crash):
configs/env.props file (if not input, the app will crash):
selectedId was still null after payment methods loadedconnectivity_plus packageconfigs/env.props file (if not input, the app will crash):
configs/env.props file (if not input, the app will crash):
flutter --versionflutter channel stable
flutter upgrade --force
flutter clean
flutter pub getconfigs/env.props file (if not input, the app will crash):
flutter precache --iosSupported: WooCommerce, MultiVendor (Dokan/WCFM)
Pending payment status — a Pay button is shown on the Order Confirmation and Order History screenslib/env.dart:"paymentConfig": {
"EnableWebviewCheckout": false,
"EnableNativeCheckout": true,
+ // Only works when EnableNativeCheckout is true
+ "EnableHybridPayment": true,
},Supported: WooCommerce | Currency: GMD only
lib/env.dart:"modemPayConfig": {
"paymentMethodIds": ["modempay"],
"publicKey": "pk_test_...", // for getCheckoutUrlViaForm
"paymentMethods": ["wallet", "card", "bank"],
"returnUrl": "fluxstore://inspireui.com",
"production": false,
"enabled": true,
},Supported: All frameworks | ⚠️ BREAKING CHANGE
dynamicLinkConfig in lib/env.dart:"dynamicLinkConfig": {
"type": "selfhosted",
"serviceConfigs": {
"selfhosted": {
"supportedDomains": ["yourdomain.com"],
"handleHttpsLinks": true,
"handleCustomScheme": true,
"customScheme": "fluxstore",
},
},
},apple-app-site-association (no extension) to https://yourdomain.com/.well-known/apple-app-site-association with Content-Type: application/jsonassetlinks.json to https://yourdomain.com/.well-known/assetlinks.jsonwebsiteUrl and websiteDomain in configs/env.props/product/*, /product-category/*, /collections/*, /brand/*, /product-tag/*, /store/*, /listing/*, /blog/*, /post/*Supported: WooCommerce (WooCommerce Appointments plugin), Serverless (Firebase) | ⚠️ BREAKING CHANGE

Supported: All frameworks
emptyImage and boxFit options to wishListConfig in lib/env.dart to customize the image shown on an empty Wishlist screen"wishListConfig": {
...
+ "emptyImage": "assets/images/empty_wishlist.png",
+ "boxFit": "contain",
},
Supported: All frameworks (except GPT, WordPress, Vendor Admin, Delivery, WebApp)
.png?table=block&id=330cbb07-4f62-80cb-95d1-eda6ed593abf&cache=v2&spaceId=adfc7c52-309f-45b9-8822-60b33369c98c)
null, the default RTL behavior applies).png?table=block&id=330cbb07-4f62-80a3-91f2-e6c201438be1&cache=v2&spaceId=adfc7c52-309f-45b9-8822-60b33369c98c)
imageOnLeft option for product layouts using "layout": "listTile" in lib/config/config_xx.json{
"layout": "listTile",
+ "imageOnLeft": false,
}Supported: WooCommerce, MultiVendor (Dokan/WCFM) | ⚠️ BREAKING CHANGE (backward-compatible)
walletConfig block in lib/env.dartteraWalletName option: set a custom wallet brand name globally without overriding individual translation strings"advanceConfig": {
- "EnableTeraWalletWithdrawal": false,
},
+"walletConfig": {
+ "enableTeraWallet": false,
+ "enableTeraWalletWithdrawal": false,
+ "teraWalletName": null, // null = use default "TeraWallet" name
+},Note: Oldenv.dartconfigs remain backward-compatible. MultiSite: useconfigurationsper site to enable/disable wallet, instead ofwalletEnabledinmultiSiteConfig.

EnableReview renamed to EnablePreview in checkout screen config (all 88 translation files updated) — if you override this key in env.dart or config_xx.json, rename it accordinglyEnableTeraWalletWithdrawal from advanceConfig to new walletConfig.enableTeraWalletWithdrawal block (old env.dart remains backward-compatible — see feature #14)flutter_facebook_auth and facebook_app_events to latest versions — requires Xcode 26.x or later to build for iOScategoryMenuShowDepth config missing from some category menu layoutsconfigs/env.props file (if not input, the app will crash):
configs/env.props file (if not input, the app will crash):
flutter --versionflutter channel stable
flutter upgrade --force
flutter clean
flutter pub getconfigs/env.props file (if not input, the app will crash):
flutter precache --ioslib/env.dart file as below "searchConfig": {
/// Enable Ajax Search using either AjaxSearchPro or FiboSearch plugin
/// ref: https://support.inspireui.com/help-center/articles/35/37/196/ajax-search-pro
"ajaxSearch": {
"enable": true,
"plugin": "fiboSearch" //fiboSearch, ajaxSearchPro
},
/// Enable search by SKU in search screen
"enableSkuSearch": true
}
lib/env.dart file as below{
"whatsAppOrderConfig": {
"phoneNumber": "12124567890",
"message": "Hello, I would like to place an order. Here are the details:\n\n{order_details}\n\nTotal Amount: {total_amount}\n\nThank you!",
"paymentMethodIds": [
"lwc-whatsapp-order"
],
"autoOpenWhatsAppAfterOrder": false
}
}{billing_name}, {billing_email}, {billing_phone}, {billing_address}, {shipping_name}, {shipping_email}, {shipping_phone}, {shipping_address}, {order_id}, {order_details}, {total_amount}lib/env.dart file as below: "splashScreen": {
"enable": true,
/// duration in milliseconds, used for all types except "rive", "flare" and "video"
"duration": 2000,
/// Type should be: 'fade-in', 'zoom-in', 'zoom-out', 'top-down', 'rive',
/// 'flare', 'static', 'video'
"type": "video",
"image": "assets/videos/splashscreen.mp4", // https://demo.mstore.io/wp-content/uploads/2025/09/splashscreen.mp4
/// AnimationName's is used for 'rive' and 'flare' type
"animationName": "fluxstore",
"boxFit": "contain",
"backgroundColor": "#ffffff",
"paddingTop": 0,
"paddingBottom": 0,
"paddingLeft": 0,
"paddingRight": 0,
},lib/env.dart file as below:"EnableRentalProductsWoo": true,
lib/env.dart file as below: "loginSetting": {
"showAppleLogin": true,
"showFacebook": false,
"showSMSLogin": true,
"showGoogleLogin": true,
+ "showSocialInRegistration": false,
}
lib/env.dart file as below: "onBoardingConfig": {
'enableOnBoarding': true,
'version': 1,
'autoCropImageByDesign': true,
'isOnlyShowOnFirstTime': true,
'showLanguage': true,
'showLanguagePopup': false,
+ // Currently, only available for version 1
+ 'showSignInSignUp': true,
},
lib/env.dart file "productCard": {
"defaultImage": 'assets/images/no_product_image.png',
'showShortDescription': true,
...
},lib/config/config_en.json file, for example:{
"HorizonLayout":[
{
"layout":"", ///twoColumn, threeColumn, fourColumn, card, saleOff, listTile, quiltedGridTile, carousel
"showShortDescription":true,
...
}
],
"VerticalLayout":{
"layout":"", ///pinterest, menu, card, columns, columnsWithFilter, topProducts, menuWithCustomCategories
"showShortDescription":true,
...
}
"TabBar": [
{
"layout": "category",
"categoryLayout": "card", ///card, sideMenuWithSub, columns, topMenu, animation, grid, sideMenuWithSub,
///sideMenuWithGroup, ///multi-level, ///fancy-scroll
"icon": "assets/icons/tabs/icon-category.png"
},
],
...
}
lib/config/config_en.json as below: {
"name": "Brands",
"layout": "brand",
...
"imageBoxFit": "contain",
"topBrand": [] // ID of brands
},OneSignalNotificationServiceExtension to adapt with Xcode 26configs/env.props file (if not input, the app will crash):
configs/env.props file (if not input, the app will crash):
flutter --versionflutter channel stable
flutter upgrade --force
flutter clean
flutter pub getconfigs/env.props file (if not input, the app will crash):
flutter precache --ioscompileSdkVersion 35 to compileSdkVersion 36ndkVersion "25.1.8937393" to ndkVersion "28.1.13356709"Edge-to-edge may not display for all users:
Your app uses deprecated APIs or parameters for edge-to-edge:


lib/env.dart as belowMap<String, dynamic> environment = {
...
"offlineModeConfig": {
"enable": true,
}
...
};


BoxFit for cart items for more consistent visuals.lib/env.dart as below: "cartDetail": {
"minAllowTotalCartValue": 0,
"maxAllowQuantity": 10,
/// Cart Style: normal, style01
"style": "style01",
+ /// Product Image Box Fit. Default: cover
+ "boxFit": "cover",
},

lib/configs/config_en.json and add “video” for “Background” as below: "Background": {
"height": 1,
"color": "#026DCD",
"image": "https://trello.com/1/cards/5dc3b80702a7994eec2ea5d0/attachments/5dc3b80802a7994eec2ea5d1/download/woman.jpg",
+ "video": "https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerMeltdowns.mp4",
+ "fit": null, // For Image only
"isScrollable": false
},lib/configs/config_en.json and set “isScrollable” as below: "Background": {
"height": 0.35,
"color": "#026DCD",
"image": "https://trello.com/1/cards/5dc3b80702a7994eec2ea5d0/attachments/5dc3b80802a7994eec2ea5d1/download/woman.jpg",
+ "isScrollable": true
},lib/env.dart, and then configure as below: {
"type": "image",
"wrap": true,
"horizontalItem": false,
"columns": 4,
"layout": "category",
"marginLeft": 15.0,
"marginRight": 15.0,
"marginTop": 10.0,
"marginBottom": 10.0,
"separateWidth": 24.0,
"shadow": null,
"gradientStyle": false,
"items": [
{
"originalColor": false,
"backgroundColor": null,
"title": null,
"name": null,
"keepDefaultTitle": false,
"colors": [
"ff3cc2bf",
"ff3cc2bf"
]
},
"productCategoryMenuStyle": "tab",
"categoryMenuShowDepth": true
}categoryMenuShowDepth : only support productCategoryMenuStyle that is "tab"lib/env.dart as below: "advanceConfig": {
+ /// systemDefault, exitImmediately, requireConfirmPopup, requireDoubleTap
+ "exitAppType": "requireConfirmPopup",
},

lib/env.dart, and then configure as below:"paymentConfig": {
/// List of possible slugs for the successful checkout page on the website.
/// It will be used to determine when the order is placed successfully and
/// closes the webview checkout screen, trigger the cart deletion action.
/// Also displays the native thank you page.
+ "CheckoutSuccessPageSlug": [
+ "objednavka-prijata",
+ "thank-toan-thanh-cong",
+ "thank-toan/thanh-cong",
+ "/xac-nhan-don-hang",
+ ],
}lib/env.dart, and set as below:{
"productCard": {
+ "typeShouldOpenInWebview": [],
"boxFit": "cover",
"boxShadow": null,
"defaultImage": "assets/images/no_product_image.png"
},
} "typeShouldOpenInWebview": [
"grouped",
"auction",
"external",
"subscription",
"appointment",
]lib/env.dart and configure as below: "advanceConfig": {
- /// Disable inAppWebView to use webview_flutter
- /// so webview can navigate to external app.
- /// Useful for webview checkout which need to handle payment in another app.
- "inAppWebView": false,
- 'AlwaysClearWebViewCache': false,
- 'AlwaysClearWebViewCookie': false,
- "WebViewScript": "",
},
+ "webViewConfig": {
+ "webViewMode": "webViewFlutter", // `inAppWebView` or `webViewFlutter`
+ "alwaysClearWebViewCache": false,
+ "alwaysClearWebViewCookie": false,
+ "webViewScript": "",
+ /// List of domains that should open the external app instead of the webview.
+ /// Just add the domain name only, do not add full URL. For example: "example.com"
+ /// If not set, we will use our default list from [kExternalDomains]
+ "externalDomains": [],
+ /// List of domains that should be loaded in the webview.
+ /// If the list is empty, all domains will be opened in the webview if it is
+ /// not in [externalDomains]. Otherwise, if the domain is not in this list, it
+ /// will be opened in the external browser.
+ /// Just add the domain name only, do not add full URL. For example: "example.com"
+ "internalDomains": [],
+ },const kExternalDomains = [
'wa.me', // Whatsapp
'wa.link', // Whatsapp
'api.whatsapp.com', // Whatsapp
'm.me', // Messenger
'messenger.com', // Messenger
'www.messenger.com', // Messenger
'ig.me', // Instagram
'instagram.com', // Instagram
'www.instagram.com', // Instagram
'x.com', // X
'facebook.com', // Facebook
'www.facebook.com', // Facebook
'youtube.com', // Youbute
'www.youtube.com', // Youbute
'youtu.be', // Youbute
't.me', // Telegram
'telegram.org', // Telegram
'play.google.com', // Google play
'apps.apple.com', // App store
'zalo.me', // Zalo
];

productListItemHeight config in Animation Category LayoutlineHeight in ProductTitletextarea for WooCommerce product addonsconfigs/env.props file (if not input, the app will crash):
configs/env.props file (if not input, the app will crash):
flutter --versionflutter channel stable
flutter upgrade --force
flutter clean
flutter pub getconfigs/env.props file (if not input, the app will crash):
flutter precache --iosdart file, set enabled: true for loyaltyConfig to enable loyalty feature.
.jpg?table=block&id=200cbb07-4f62-8034-9890-f494d78277b6&cache=v2&spaceId=adfc7c52-309f-45b9-8822-60b33369c98c)
.jpg?table=block&id=200cbb07-4f62-80fe-b947-e41502122e1a&cache=v2&spaceId=adfc7c52-309f-45b9-8822-60b33369c98c)
.jpg?table=block&id=200cbb07-4f62-80fa-9103-ff856c999f8c&cache=v2&spaceId=adfc7c52-309f-45b9-8822-60b33369c98c)
.jpg?table=block&id=200cbb07-4f62-80af-ac5d-d8bcbb4be0b6&cache=v2&spaceId=adfc7c52-309f-45b9-8822-60b33369c98c)
lib/env.dart file...
"advanceConfig": {
...
"OptimizeImage": {
"enable": true,
"plugin": "optimole" // Support "re-generate-image" plugin (old) & "optimole" plugin (new)
},
...
}
...showIndicator config — now fully customizable.
lib/config/config_en.json, add showIndicator into banner config{
"showIndicator": false
} lib/config/config_en.json"SmartEngagementBanner": {
"popup": {
"allowTapOutsideToClose": true, // Default: false
"iconSize": 36,
},
}lib/config/config_en.json "productDetail": {
/// Video config
"showVideo": true,
"isSoundOn": false,
"autoPlayVideo": false,
"enableTimeIndicator": true,
"doubleTapToFullScreen": true,
}
productDetail config in the lib/env.dart file as below: "productDetail": {
// Allow share product data. Default: true
"allowShareProductData": false,
}

lib/env.dart file "orderConfig": {
"version": 2,
"enableReorder": false,
},deepview parameter support for better navigation.

lib/env.dart "paymentConfig": {
...
/// Show download button in order history detail for Digital/Downloadable Product
"ShowDownloadButton": true/false,
}
lib/config/config_en.json file, after set true for requiredLogin, add the corresponding role as below:{
"requiredLogin": true,
"roles": [] //"customer", "administrator", "vendor",....
}discountAllocations is a list in CartLineShopify modelalwaysShowTabBar/alwaysShowAppBarconfigs/env.props file (if not input, the app will crash):
configs/env.props file (if not input, the app will crash):
flutter --versionflutter channel stable
flutter upgrade --force
flutter clean
flutter pub getconfigs/env.props file (if not input, the app will crash):
flutter precache --ios
lib/config/config_en.json as below:{
"HorizonLayout": [
{
"layout": "bannerImage",
"isSlider": true,
...
"indicatorPadding": {
"bottom": 12,
"start": 30
},
"alignmentNumber": {
"value": "topEnd" // topStart, topCenter, topEnd, centerStart, centerCenter, centerEnd, bottomStart, bottomCenter, bottomEnd
}
"indicatorAlignment": {
"value": "topCenter" // topStart, topCenter, topEnd, centerStart, centerCenter, centerEnd, bottomStart, bottomCenter, bottomEnd
},
...
},
...
],
...
}lib/env.dart file and add the phonepeConfig as below. "phonepeConfig": {
'paymentMethodIds': ['phonepe'],
'merchantId': 'GANGSTARPGUAT',
'saltKey': '7eb940c6-b785-42e2-98ca-0419ebf5a219',
'saltKeyIndex': '1',
"androidPackageName": "com.inspireui.fluxstore",
"iOSBundleId": "com.inspireui.mstore.flutter",
'production': false,
'enabled': true
},pointsOfflineStoreConfig in lib/env.dart file:"pointsOfflineStoreConfig": {
"enabled": false,
"usePointRateForOnePoint": 1, // 1 point = 1$
"addPointRateForOnePoint": 100, // 1 point = 100$,
"cardName": "FluxStore Card"
},"EnablePointReward": truelib/config/config_en.json as below:"productCategoryMenuStyle": "tab”

configs/env.props file (if not input, the app will crash):
configs/env.props file (if not input, the app will crash):

lib/env.dart file, then adjust the config as below: "bankTransferConfig": {
"paymentMethodIds": ["bacs", "bank_transfer_1", "bank_transfer_2"],
},
"cashOnDeliveryConfig": {
"paymentMethodIds": ["cod", "cashondelivery"],
},lib/env.dart file, then add config as below: "phonepeConfig": {
'paymentMethodIds': ['phonepe'],
'merchantId': 'GANGSTARPGUAT',
'saltKey': '7eb940c6-b785-42e2-98ca-0419ebf5a219',
'saltKeyIndex': '1',
"androidPackageName": "com.inspireui.fluxstore",
"iOSBundleId": "com.inspireui.mstore.flutter",
'production': false,
'enabled': true
},AnimatedConfigPercentSizedBox support nullable valueconfigs/env.props file (if not input, the app will crash):
configs/env.props file (if not input, the app will crash):
13 more releases shipped before v5.1.0. They are part of the same lifetime-update license.