v2.2.0 changes
This commit is contained in:
parent
7a930b19ec
commit
2dd382c1d7
11
LabelStoreMax/android/.gitignore
vendored
Normal file
11
LabelStoreMax/android/.gitignore
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
gradle-wrapper.jar
|
||||
/.gradle
|
||||
/captures/
|
||||
/gradlew
|
||||
/gradlew.bat
|
||||
/local.properties
|
||||
GeneratedPluginRegistrant.java
|
||||
|
||||
# Remember to never publicly share your keystore.
|
||||
# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
|
||||
key.properties
|
||||
@ -32,7 +32,7 @@ if (keystorePropertiesFile.exists()) {
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdkVersion 28
|
||||
compileSdkVersion 29
|
||||
|
||||
sourceSets {
|
||||
main.java.srcDirs += 'src/main/kotlin'
|
||||
@ -43,13 +43,13 @@ android {
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
applicationId "com.woosignal.label_storemax"
|
||||
minSdkVersion 28
|
||||
targetSdkVersion 28
|
||||
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
|
||||
applicationId "com.woosignal.android"
|
||||
minSdkVersion 19
|
||||
targetSdkVersion 29
|
||||
versionCode flutterVersionCode.toInteger()
|
||||
versionName flutterVersionName
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
multiDexEnabled = true
|
||||
multiDexEnabled true
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
@ -60,20 +60,23 @@ android {
|
||||
storePassword keystoreProperties['storePassword']
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
// TODO: Add your own signing config for the release build.
|
||||
// Signing with the debug keys for now, so `flutter run --release` works.
|
||||
|
||||
// Uncomment "signingConfig signingConfigs.release"
|
||||
// Remove "signingConfig signingConfigs.debug"
|
||||
// When you're ready to build for release
|
||||
// Also check out https://flutter.dev/docs/deployment/android
|
||||
// Set the key.properties when building apk or appbundle
|
||||
|
||||
// signingConfig signingConfigs.release
|
||||
// signingConfig signingConfigs.release
|
||||
|
||||
signingConfig signingConfigs.debug
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
flutter {
|
||||
@ -82,7 +85,5 @@ flutter {
|
||||
|
||||
dependencies {
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||
testImplementation 'junit:junit:4.12'
|
||||
androidTestImplementation 'androidx.test:runner:1.1.1'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
|
||||
implementation 'com.android.support:multidex:1.0.3'
|
||||
}
|
||||
@ -1,7 +1,5 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.woosignal.label_storemax"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
package="com.woosignal.label_storemax">
|
||||
<!-- io.flutter.app.FlutterApplication is an android.app.Application that
|
||||
calls FlutterMain.startInitialization(this); in its onCreate method.
|
||||
In most cases you can leave this as-is, but you if you want to provide
|
||||
@ -13,24 +11,33 @@
|
||||
|
||||
<application
|
||||
android:name="io.flutter.app.FlutterApplication"
|
||||
android:label="label_storemax"
|
||||
tools:replace="android:label"
|
||||
android:label="Label StoreMax"
|
||||
android:icon="@mipmap/launcher_icon">
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:launchMode="singleTop"
|
||||
android:theme="@style/LaunchTheme"
|
||||
android:screenOrientation="portrait"
|
||||
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
|
||||
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
|
||||
android:hardwareAccelerated="true"
|
||||
android:windowSoftInputMode="adjustResize">
|
||||
<!-- This keeps the window background of the activity showing
|
||||
until Flutter renders its first frame. It can be removed if
|
||||
there is no splash screen (such as the default splash screen
|
||||
defined in @style/LaunchTheme). -->
|
||||
<!-- Specifies an Android theme to apply to this Activity as soon as
|
||||
the Android process has started. This theme is visible to the user
|
||||
while the Flutter UI initializes. After that, this theme continues
|
||||
to determine the Window background behind the Flutter UI. -->
|
||||
<meta-data
|
||||
android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
|
||||
android:value="true" />
|
||||
android:name="io.flutter.embedding.android.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>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
@ -44,5 +51,10 @@
|
||||
android:host="3ds.stripesdk.io" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<!-- Don't delete the meta-data below.
|
||||
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
|
||||
<meta-data
|
||||
android:name="flutterEmbedding"
|
||||
android:value="2" />
|
||||
</application>
|
||||
</manifest>
|
||||
@ -1,13 +1,6 @@
|
||||
package com.woosignal.label_storemax
|
||||
|
||||
import android.os.Bundle
|
||||
|
||||
import io.flutter.app.FlutterActivity
|
||||
import io.flutter.plugins.GeneratedPluginRegistrant
|
||||
import io.flutter.embedding.android.FlutterActivity
|
||||
|
||||
class MainActivity: FlutterActivity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
GeneratedPluginRegistrant.registerWith(this)
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,8 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- Theme applied to the Android Window while the process is starting -->
|
||||
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
|
||||
<!-- Show a splash screen on the activity. Automatically removed when
|
||||
Flutter draws its first frame -->
|
||||
<item name="android:windowBackground">@drawable/launch_background</item>
|
||||
</style>
|
||||
<!-- Theme applied to the Android Window as soon as the process has started.
|
||||
This theme determines the color of the Android Window while your
|
||||
Flutter UI initializes, as well as behind your Flutter UI while its
|
||||
running.
|
||||
|
||||
This Theme is only used starting with V2 of Flutter's Android embedding. -->
|
||||
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
|
||||
<item name="android:windowBackground">@android:color/white</item>
|
||||
</style>
|
||||
</resources>
|
||||
|
||||
@ -1,12 +1,15 @@
|
||||
buildscript {
|
||||
ext.kotlin_version = '1.3.10'
|
||||
ext.kotlin_version = '1.3.50'
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
maven {
|
||||
url "https://maven.google.com"
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:3.5.1'
|
||||
classpath 'com.android.tools.build:gradle:3.5.0'
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
}
|
||||
}
|
||||
@ -15,9 +18,6 @@ allprojects {
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
maven {
|
||||
url "https://maven.google.com"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
org.gradle.jvmargs=-Xmx1536M
|
||||
|
||||
android.useAndroidX=true
|
||||
android.enableJetifier=true
|
||||
android.enableR8=true
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#Mon Oct 28 17:45:00 GMT 2019
|
||||
#Fri Jun 23 08:50:38 CEST 2017
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
|
||||
|
||||
@ -1,10 +0,0 @@
|
||||
storePassword=""
|
||||
keyPassword=""
|
||||
keyAlias=key
|
||||
storeFile=""
|
||||
|
||||
#update the above. Check out https://flutter.dev/docs/deployment/android for more info
|
||||
#storePassword=<password>
|
||||
#keyPassword=<password>
|
||||
#keyAlias=key
|
||||
#storeFile=<location of the key store file, e.g. /Users/<user name>/key.jks>
|
||||
@ -1,15 +1,11 @@
|
||||
include ':app'
|
||||
|
||||
def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
|
||||
def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
|
||||
def properties = new Properties()
|
||||
|
||||
def plugins = new Properties()
|
||||
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
|
||||
if (pluginsFile.exists()) {
|
||||
pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
|
||||
}
|
||||
assert localPropertiesFile.exists()
|
||||
localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
|
||||
|
||||
plugins.each { name, path ->
|
||||
def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
|
||||
include ":$name"
|
||||
project(":$name").projectDir = pluginDirectory
|
||||
}
|
||||
def flutterSdkPath = properties.getProperty("flutter.sdk")
|
||||
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
|
||||
apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
|
||||
|
||||
12
LabelStoreMax/flutter_application_id.yaml
Normal file
12
LabelStoreMax/flutter_application_id.yaml
Normal file
@ -0,0 +1,12 @@
|
||||
# APP CONFIGURATION
|
||||
# Updates the package name and display name for your app
|
||||
|
||||
# Run in the terminal: flutter pub run flutter_application_id:main
|
||||
|
||||
flutter_application_id:
|
||||
android:
|
||||
id: "com.woosignal.label-android"
|
||||
name: "Label StoreMax"
|
||||
ios:
|
||||
id: "com.woosignal.label-ios"
|
||||
name: "Label StoreMax"
|
||||
@ -169,7 +169,6 @@
|
||||
TargetAttributes = {
|
||||
97C146ED1CF9000F007C117D = {
|
||||
CreatedOnToolsVersion = 7.3.1;
|
||||
DevelopmentTeam = YPEM49WRL2;
|
||||
LastSwiftMigration = 0910;
|
||||
};
|
||||
};
|
||||
@ -271,6 +270,7 @@
|
||||
"${BUILT_PRODUCTS_DIR}/device_info/device_info.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/flutter_money_formatter/flutter_money_formatter.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/flutter_web_browser/flutter_web_browser.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/hexcolor/hexcolor.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/package_info/package_info.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/path_provider/path_provider.framework",
|
||||
"${PODS_ROOT}/razorpay-pod/Pod/Razorpay.framework",
|
||||
@ -288,6 +288,7 @@
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/device_info.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_money_formatter.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_web_browser.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hexcolor.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/package_info.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Razorpay.framework",
|
||||
@ -392,7 +393,7 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||
DEVELOPMENT_TEAM = YPEM49WRL2;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
ENABLE_BITCODE = NO;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
@ -526,7 +527,7 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||
DEVELOPMENT_TEAM = YPEM49WRL2;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
ENABLE_BITCODE = NO;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
@ -556,7 +557,7 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||
DEVELOPMENT_TEAM = YPEM49WRL2;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
ENABLE_BITCODE = NO;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>label_storemax</string>
|
||||
<string>Label StoreMax</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
|
||||
@ -9,6 +9,7 @@
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hexcolor/hexcolor.dart';
|
||||
import 'package:label_storemax/widgets/woosignal_ui.dart';
|
||||
import 'package:label_storemax/helpers/tools.dart';
|
||||
|
||||
@ -41,16 +42,16 @@ TextTheme textThemeAccent() {
|
||||
fontFamily: appFontFamily,
|
||||
fontWeight: FontWeight.w800),
|
||||
bodyText1: new TextStyle(
|
||||
color: HexColor("#606060"),
|
||||
color: Hexcolor("#606060"),
|
||||
fontFamily: appFontFamily,
|
||||
fontWeight: FontWeight.w700),
|
||||
bodyText2: new TextStyle(
|
||||
color: HexColor("#a8a8a8"),
|
||||
color: Hexcolor("#a8a8a8"),
|
||||
fontFamily: appFontFamily,
|
||||
fontWeight: FontWeight.w700,
|
||||
fontSize: 18),
|
||||
caption: new TextStyle(
|
||||
color: HexColor("#2a5080"),
|
||||
color: Hexcolor("#2a5080"),
|
||||
fontFamily: appFontFamily,
|
||||
fontWeight: FontWeight.w700,
|
||||
fontSize: 14),
|
||||
@ -90,16 +91,16 @@ TextTheme textThemePrimary() {
|
||||
fontFamily: appFontFamily,
|
||||
fontWeight: FontWeight.w800),
|
||||
bodyText1: new TextStyle(
|
||||
color: HexColor("#606060"),
|
||||
color: Hexcolor("#606060"),
|
||||
fontFamily: appFontFamily,
|
||||
fontWeight: FontWeight.w700),
|
||||
bodyText2: new TextStyle(
|
||||
color: HexColor("#a8a8a8"),
|
||||
color: Hexcolor("#a8a8a8"),
|
||||
fontFamily: appFontFamily,
|
||||
fontWeight: FontWeight.w700,
|
||||
fontSize: 18),
|
||||
caption: new TextStyle(
|
||||
color: HexColor("#2a5080"),
|
||||
color: Hexcolor("#2a5080"),
|
||||
fontFamily: appFontFamily,
|
||||
fontWeight: FontWeight.w700,
|
||||
fontSize: 14),
|
||||
|
||||
@ -48,18 +48,6 @@ PaymentType addPayment(PaymentType paymentType) {
|
||||
return app_payment_methods.contains(paymentType.name) ? paymentType : null;
|
||||
}
|
||||
|
||||
class HexColor extends Color {
|
||||
static int _getColorFromHex(String hexColor) {
|
||||
hexColor = hexColor.toUpperCase().replaceAll("#", "");
|
||||
if (hexColor.length == 6) {
|
||||
hexColor = "FF" + hexColor;
|
||||
}
|
||||
return int.parse(hexColor, radix: 16);
|
||||
}
|
||||
|
||||
HexColor(final String hexColor) : super(_getColorFromHex(hexColor));
|
||||
}
|
||||
|
||||
showStatusAlert(context,
|
||||
{@required String title, String subtitle, IconData icon, int duration}) {
|
||||
StatusAlert.show(
|
||||
|
||||
@ -16,7 +16,7 @@ import 'dart:ui';
|
||||
Developer Notes
|
||||
|
||||
SUPPORT EMAIL - support@woosignal.com
|
||||
VERSION - 2.1.1
|
||||
VERSION - 2.2.0
|
||||
https://woosignal.com
|
||||
*/
|
||||
|
||||
|
||||
@ -10,6 +10,7 @@
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_localizations/flutter_localizations.dart';
|
||||
import 'package:hexcolor/hexcolor.dart';
|
||||
import 'package:label_storemax/pages/account_billing_details.dart';
|
||||
import 'package:label_storemax/pages/account_detail.dart';
|
||||
import 'package:label_storemax/pages/account_landing.dart';
|
||||
@ -38,7 +39,6 @@ import 'package:label_storemax/pages/home_menu.dart';
|
||||
import 'package:label_storemax/pages/home_search.dart';
|
||||
import 'package:label_storemax/pages/browse_category.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:label_storemax/helpers/tools.dart';
|
||||
import 'package:page_transition/page_transition.dart';
|
||||
import 'package:label_storemax/helpers/app_themes.dart';
|
||||
import 'package:label_storemax/helpers/app_localizations.dart';
|
||||
@ -84,7 +84,7 @@ void main() async {
|
||||
case '/account-landing':
|
||||
return PageTransition(
|
||||
child: AccountLandingPage(),
|
||||
type: PageTransitionType.downToUp,
|
||||
type: PageTransitionType.bottomToTop,
|
||||
);
|
||||
|
||||
case '/browse-category':
|
||||
@ -132,7 +132,9 @@ void main() async {
|
||||
final Map<String, dynamic> args = settings.arguments;
|
||||
return PageTransition(
|
||||
child: ProductImageViewerPage(
|
||||
initialIndex: args["index"], arrImageSrc: args["images"]),
|
||||
initialIndex: args["index"],
|
||||
arrImageSrc: args["images"],
|
||||
),
|
||||
type: PageTransitionType.fade);
|
||||
}
|
||||
return PageTransition(
|
||||
@ -173,7 +175,7 @@ void main() async {
|
||||
case '/checkout-details':
|
||||
return PageTransition(
|
||||
child: CheckoutDetailsPage(),
|
||||
type: PageTransitionType.downToUp,
|
||||
type: PageTransitionType.bottomToTop,
|
||||
);
|
||||
|
||||
case '/about':
|
||||
@ -185,19 +187,19 @@ void main() async {
|
||||
case '/checkout-payment-type':
|
||||
return PageTransition(
|
||||
child: CheckoutPaymentTypePage(),
|
||||
type: PageTransitionType.downToUp,
|
||||
type: PageTransitionType.bottomToTop,
|
||||
);
|
||||
|
||||
case '/checkout-shipping-type':
|
||||
return PageTransition(
|
||||
child: CheckoutShippingTypePage(),
|
||||
type: PageTransitionType.downToUp,
|
||||
type: PageTransitionType.bottomToTop,
|
||||
);
|
||||
|
||||
case '/home-search':
|
||||
return PageTransition(
|
||||
child: HomeSearchPage(),
|
||||
type: PageTransitionType.downToUp,
|
||||
type: PageTransitionType.bottomToTop,
|
||||
);
|
||||
default:
|
||||
return null;
|
||||
@ -215,11 +217,11 @@ void main() async {
|
||||
return locale;
|
||||
},
|
||||
theme: ThemeData(
|
||||
primaryColor: HexColor("#2f4ffe"),
|
||||
primaryColor: Hexcolor("#2f4ffe"),
|
||||
backgroundColor: Colors.white,
|
||||
buttonTheme: ButtonThemeData(
|
||||
hoverColor: Colors.transparent,
|
||||
buttonColor: HexColor("#529cda"),
|
||||
buttonColor: Hexcolor("#529cda"),
|
||||
colorScheme: colorSchemeButton(),
|
||||
minWidth: double.infinity,
|
||||
height: 70,
|
||||
|
||||
@ -10,6 +10,7 @@
|
||||
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hexcolor/hexcolor.dart';
|
||||
import 'package:label_storemax/helpers/shared_pref/sp_auth.dart';
|
||||
import 'package:label_storemax/helpers/tools.dart';
|
||||
import 'package:label_storemax/widgets/app_loader.dart';
|
||||
@ -180,7 +181,7 @@ class _AccountBillingDetailsPageState extends State<AccountBillingDetailsPage> {
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
color: HexColor("#e8e8e8"),
|
||||
color: Hexcolor("#e8e8e8"),
|
||||
blurRadius: 15.0,
|
||||
spreadRadius: 0,
|
||||
offset: Offset(
|
||||
|
||||
@ -11,6 +11,7 @@
|
||||
import 'package:bubble_tab_indicator/bubble_tab_indicator.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hexcolor/hexcolor.dart';
|
||||
import 'package:label_storemax/helpers/shared_pref/sp_auth.dart';
|
||||
import 'package:label_storemax/helpers/shared_pref/sp_user_id.dart';
|
||||
import 'package:label_storemax/helpers/tools.dart';
|
||||
@ -344,7 +345,7 @@ class _AccountDetailPageState extends State<AccountDetailPage>
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
bottom: BorderSide(
|
||||
color: HexColor("#fcfcfc"),
|
||||
color: Hexcolor("#fcfcfc"),
|
||||
width: 1,
|
||||
),
|
||||
),
|
||||
|
||||
@ -10,6 +10,7 @@
|
||||
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hexcolor/hexcolor.dart';
|
||||
import 'package:label_storemax/helpers/tools.dart';
|
||||
import 'package:label_storemax/widgets/app_loader.dart';
|
||||
import 'package:label_storemax/widgets/woosignal_ui.dart';
|
||||
@ -119,7 +120,7 @@ class _AccountOrderDetailPageState extends State<AccountOrderDetailPage> {
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
bottom: BorderSide(
|
||||
color: HexColor("#fcfcfc"), width: 1),
|
||||
color: Hexcolor("#fcfcfc"), width: 1),
|
||||
),
|
||||
),
|
||||
child: Row(
|
||||
|
||||
@ -10,6 +10,7 @@
|
||||
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hexcolor/hexcolor.dart';
|
||||
import 'package:label_storemax/helpers/shared_pref/sp_auth.dart';
|
||||
import 'package:label_storemax/helpers/tools.dart';
|
||||
import 'package:label_storemax/widgets/app_loader.dart';
|
||||
@ -199,7 +200,7 @@ class _AccountShippingDetailsPageState
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
color: HexColor("#e8e8e8"),
|
||||
color: Hexcolor("#e8e8e8"),
|
||||
blurRadius: 15.0,
|
||||
// has the effect of softening the shadow
|
||||
spreadRadius: 0,
|
||||
|
||||
@ -175,8 +175,10 @@ class _CartPageState extends State<CartPage> {
|
||||
return Scaffold(
|
||||
resizeToAvoidBottomPadding: false,
|
||||
appBar: AppBar(
|
||||
title: Text(trans(context, "Shopping Cart"),
|
||||
style: Theme.of(context).appBarTheme.textTheme.headline6),
|
||||
title: Text(
|
||||
trans(context, "Shopping Cart"),
|
||||
style: Theme.of(context).appBarTheme.textTheme.headline6,
|
||||
),
|
||||
textTheme: Theme.of(context).textTheme,
|
||||
elevation: 1,
|
||||
actions: <Widget>[
|
||||
|
||||
@ -81,7 +81,8 @@ class CheckoutConfirmationPageState extends State<CheckoutConfirmationPage> {
|
||||
return;
|
||||
}
|
||||
|
||||
if (CheckoutSession.getInstance.billingDetails.shippingAddress == null) {
|
||||
if (CheckoutSession.getInstance.billingDetails == null ||
|
||||
CheckoutSession.getInstance.billingDetails.shippingAddress == null) {
|
||||
setState(() {
|
||||
_showFullLoader = false;
|
||||
});
|
||||
@ -210,14 +211,18 @@ class CheckoutConfirmationPageState extends State<CheckoutConfirmationPage> {
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||
children: <Widget>[
|
||||
((CheckoutSession.getInstance.billingDetails
|
||||
((CheckoutSession.getInstance.billingDetails != null &&
|
||||
CheckoutSession.getInstance.billingDetails
|
||||
.billingAddress !=
|
||||
null)
|
||||
? wsCheckoutRow(context,
|
||||
heading: trans(
|
||||
context, "Billing/shipping details"),
|
||||
leadImage: Icon(Icons.home),
|
||||
leadTitle: (CheckoutSession.getInstance
|
||||
leadTitle: (CheckoutSession
|
||||
.getInstance.billingDetails ==
|
||||
null ||
|
||||
CheckoutSession.getInstance
|
||||
.billingDetails.billingAddress
|
||||
.hasMissingFields()
|
||||
? trans(
|
||||
@ -228,11 +233,9 @@ class CheckoutConfirmationPageState extends State<CheckoutConfirmationPage> {
|
||||
action: _actionCheckoutDetails,
|
||||
showBorderBottom: true)
|
||||
: wsCheckoutRow(context,
|
||||
heading: trans(
|
||||
context, "Billing/shipping details"),
|
||||
heading: trans(context, "Billing/shipping details"),
|
||||
leadImage: Icon(Icons.home),
|
||||
leadTitle: trans(context,
|
||||
"Add billing & shipping details"),
|
||||
leadTitle: trans(context, "Add billing & shipping details"),
|
||||
action: _actionCheckoutDetails,
|
||||
showBorderBottom: true)),
|
||||
(CheckoutSession.getInstance.paymentType != null
|
||||
@ -389,7 +392,8 @@ class CheckoutConfirmationPageState extends State<CheckoutConfirmationPage> {
|
||||
if (doubleTotal < doubleMinimumValue) {
|
||||
showEdgeAlertWith(context,
|
||||
title: trans(context, "Sorry"),
|
||||
desc: "${trans(context, "Spend a minimum of")} ${formatDoubleCurrency(total: doubleMinimumValue)} ${trans(context, "for")} ${CheckoutSession.getInstance.shippingType.getTitle()}",
|
||||
desc:
|
||||
"${trans(context, "Spend a minimum of")} ${formatDoubleCurrency(total: doubleMinimumValue)} ${trans(context, "for")} ${CheckoutSession.getInstance.shippingType.getTitle()}",
|
||||
style: EdgeAlertStyle.INFO,
|
||||
duration: 3);
|
||||
return;
|
||||
|
||||
@ -115,14 +115,12 @@ class _CheckoutShippingTypePageState extends State<CheckoutShippingTypePage> {
|
||||
}
|
||||
|
||||
if (_shipping.methods.freeShipping != null) {
|
||||
List<FreeShipping> freeShipping = _shipping.methods.freeShipping
|
||||
.where((t) => t != null)
|
||||
.toList();
|
||||
List<FreeShipping> freeShipping =
|
||||
_shipping.methods.freeShipping.where((t) => t != null).toList();
|
||||
|
||||
for (int i = 0; i < freeShipping.length; i++) {
|
||||
if (isNumeric(freeShipping[i].cost) ||
|
||||
freeShipping[i].cost == 'min_amount') {
|
||||
|
||||
if (freeShipping[i].cost == 'min_amount') {
|
||||
String total = await Cart.getInstance.getTotal();
|
||||
if (total != null) {
|
||||
|
||||
@ -71,6 +71,7 @@ class _HomePageState extends State<HomePage> {
|
||||
return;
|
||||
}
|
||||
waitForNextRequest = true;
|
||||
|
||||
List<WS.Product> products = await appWooSignal((api) => api.getProducts(
|
||||
perPage: 50, page: _page, status: "publish", stockStatus: "instock"));
|
||||
_page = _page + 1;
|
||||
|
||||
@ -10,8 +10,8 @@
|
||||
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:flutter_spinkit/flutter_spinkit.dart';
|
||||
import '../helpers/tools.dart';
|
||||
import 'package:hexcolor/hexcolor.dart';
|
||||
|
||||
Widget showAppLoader() {
|
||||
return SpinKitDoubleBounce(color: HexColor("#393318"));
|
||||
return SpinKitDoubleBounce(color: Hexcolor("#393318"));
|
||||
}
|
||||
|
||||
@ -10,9 +10,7 @@
|
||||
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:label_storemax/widgets/woosignal_ui.dart';
|
||||
|
||||
import '../helpers/tools.dart';
|
||||
import 'package:hexcolor/hexcolor.dart';
|
||||
|
||||
Widget wsPrimaryButton(BuildContext context,
|
||||
{@required String title, void Function() action}) {
|
||||
@ -45,7 +43,7 @@ Widget wsSecondaryButton(BuildContext context,
|
||||
textAlign: TextAlign.center,
|
||||
),
|
||||
onPressed: action,
|
||||
color: HexColor("#f6f6f9"),
|
||||
color: Hexcolor("#f6f6f9"),
|
||||
elevation: 1,
|
||||
),
|
||||
);
|
||||
|
||||
@ -10,6 +10,7 @@
|
||||
|
||||
import 'package:auto_size_text/auto_size_text.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hexcolor/hexcolor.dart';
|
||||
import 'package:label_storemax/labelconfig.dart';
|
||||
import 'package:label_storemax/models/cart.dart';
|
||||
import 'package:label_storemax/models/cart_line_item.dart';
|
||||
@ -193,7 +194,7 @@ Widget widgetCheckoutMeta(BuildContext context, {String title, String amount}) {
|
||||
List<BoxShadow> wsBoxShadow({double blurRadius}) {
|
||||
return [
|
||||
BoxShadow(
|
||||
color: HexColor("#e8e8e8"),
|
||||
color: Hexcolor("#e8e8e8"),
|
||||
blurRadius: blurRadius ?? 15.0,
|
||||
spreadRadius: 0,
|
||||
offset: Offset(
|
||||
|
||||
@ -1,15 +1,18 @@
|
||||
# Label StoreMax
|
||||
# Version 2.1.1
|
||||
#authors: - "Anthony Gordon"
|
||||
#documentation: https://woosignal.com/docs/app/ios/label-storemax
|
||||
#homepage: https://woosignal.com/
|
||||
# Official WooSignal App Template for WooCommerce
|
||||
|
||||
### App Config
|
||||
# 1 Open: "lib/labelconfig.dart"
|
||||
# Label StoreMax
|
||||
# Version 2.2.0
|
||||
# Homepage: https://woosignal.com
|
||||
# Author: Anthony Gordon <agordon@woosignal.com>
|
||||
# Documentation: https://woosignal.com/docs/app/ios/label-storemax
|
||||
|
||||
### App Configuration
|
||||
# 1 Open: "lib/labelconfig.dart" and edit the variables
|
||||
# 2 Open: "flutter_application_id.yaml" and update package name and display name
|
||||
|
||||
### Change App Icon
|
||||
# 1 Replace: assets/icon/appicon.png (1024px1024px icon size)
|
||||
# 2 Run this command from Terminal: flutter pub run flutter_launcher_icons:main
|
||||
# 2 Run this command from terminal: "flutter pub run flutter_launcher_icons:main"
|
||||
|
||||
### Uploading the IOS/Android app
|
||||
# IOS https://flutter.dev/docs/deployment/ios
|
||||
@ -24,30 +27,31 @@ environment:
|
||||
sdk: ">=2.1.0 <3.0.0"
|
||||
|
||||
dependencies:
|
||||
woosignal: ^1.1.2
|
||||
woosignal: ^1.2.0
|
||||
woosignal_stripe: ^0.0.6
|
||||
razorpay_flutter: ^1.2.2
|
||||
wp_json_api: ^0.1.4
|
||||
shared_preferences: ^0.5.7+3
|
||||
cached_network_image: ^2.2.0+1
|
||||
page_transition: ^1.1.5
|
||||
shared_preferences: ^0.5.12
|
||||
cached_network_image: ^2.3.2+1
|
||||
page_transition: ^1.1.7+2
|
||||
package_info: ^0.4.0+16
|
||||
url_launcher: ^5.4.11
|
||||
url_launcher: ^5.7.2
|
||||
flutter_money_formatter: ^0.8.3
|
||||
platform_alert_dialog: ^1.0.0+2
|
||||
flutter_web_browser: ^0.11.0
|
||||
pull_to_refresh: ^1.5.8
|
||||
flutter_web_browser: ^0.12.0
|
||||
pull_to_refresh: ^1.6.2
|
||||
intl: ^0.16.1
|
||||
flutter_swiper: ^1.1.6
|
||||
edge_alert: ^0.0.1
|
||||
bubble_tab_indicator: ^0.1.4
|
||||
status_alert: ^0.1.2
|
||||
math_expressions: ^2.0.0
|
||||
math_expressions: ^2.0.1
|
||||
hexcolor: ^1.0.4
|
||||
flutter_spinkit: ^4.1.2+1
|
||||
flutter_launcher_icons: ^0.7.5
|
||||
flutter_launcher_icons: ^0.8.1
|
||||
auto_size_text: ^2.1.0
|
||||
html: ^0.14.0+3
|
||||
flutter_staggered_grid_view: ^0.3.1
|
||||
flutter_staggered_grid_view: ^0.3.2
|
||||
flutter:
|
||||
sdk: flutter
|
||||
|
||||
@ -57,6 +61,7 @@ dependencies:
|
||||
cupertino_icons: ^0.1.3
|
||||
|
||||
dev_dependencies:
|
||||
flutter_application_id: "^1.0.0"
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user