From 68f43f68c91c87aff660427e3d2e76e988b818c2 Mon Sep 17 00:00:00 2001 From: Vorngnarak Date: Sat, 30 Jan 2021 16:18:51 +0700 Subject: [PATCH] my first project for mobile app --- .gitignore | 41 + .metadata | 10 + Fonts/FontsFree-Net-Billabong.ttf | Bin 0 -> 132528 bytes README.md | 16 + android/.gitignore | 11 + android/app/build.gradle | 54 ++ android/app/src/debug/AndroidManifest.xml | 7 + android/app/src/main/AndroidManifest.xml | 47 ++ .../cubetiqs_pos_system/MainActivity.java | 6 + .../main/res/drawable/launch_background.xml | 12 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 544 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 442 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 721 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 1031 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 1443 bytes android/app/src/main/res/values/styles.xml | 18 + android/app/src/profile/AndroidManifest.xml | 7 + android/build.gradle | 29 + android/gradle.properties | 4 + .../gradle/wrapper/gradle-wrapper.properties | 6 + android/settings.gradle | 11 + ios/.gitignore | 32 + ios/Flutter/AppFrameworkInfo.plist | 26 + ios/Flutter/Debug.xcconfig | 1 + ios/Flutter/Release.xcconfig | 1 + ios/Runner.xcodeproj/project.pbxproj | 496 ++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 91 +++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + ios/Runner/AppDelegate.h | 6 + ios/Runner/AppDelegate.m | 13 + .../AppIcon.appiconset/Contents.json | 122 +++ .../Icon-App-1024x1024@1x.png | Bin 0 -> 10932 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 564 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 1283 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 1588 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 1025 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 1716 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 1920 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 1283 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 1895 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 2665 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 2665 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 3831 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 1888 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 3294 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 3612 bytes .../LaunchImage.imageset/Contents.json | 23 + .../LaunchImage.imageset/LaunchImage.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/README.md | 5 + ios/Runner/Base.lproj/LaunchScreen.storyboard | 37 + ios/Runner/Base.lproj/Main.storyboard | 26 + ios/Runner/Info.plist | 45 ++ ios/Runner/main.m | 9 + lib/Page1/MyAppBar.dart | 50 ++ lib/Page1/MyBottomNavigation.dart | 41 + lib/Page1/MyBurgerPage.dart | 481 +++++++++++ lib/Page1/MyLogin.dart | 147 ++++ lib/Page1/MyMenu.dart | 762 ++++++++++++++++++ lib/Page1/MyPizza.dart | 481 +++++++++++ lib/main.dart | 23 + pubspec.lock | 160 ++++ pubspec.yaml | 81 ++ 69 files changed, 3484 insertions(+) create mode 100644 .gitignore create mode 100644 .metadata create mode 100644 Fonts/FontsFree-Net-Billabong.ttf create mode 100644 README.md create mode 100644 android/.gitignore create mode 100644 android/app/build.gradle create mode 100644 android/app/src/debug/AndroidManifest.xml create mode 100644 android/app/src/main/AndroidManifest.xml create mode 100644 android/app/src/main/java/narak/cubetiqs_pos_system/MainActivity.java create mode 100644 android/app/src/main/res/drawable/launch_background.xml create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/values/styles.xml create mode 100644 android/app/src/profile/AndroidManifest.xml create mode 100644 android/build.gradle create mode 100644 android/gradle.properties create mode 100644 android/gradle/wrapper/gradle-wrapper.properties create mode 100644 android/settings.gradle create mode 100644 ios/.gitignore create mode 100644 ios/Flutter/AppFrameworkInfo.plist create mode 100644 ios/Flutter/Debug.xcconfig create mode 100644 ios/Flutter/Release.xcconfig create mode 100644 ios/Runner.xcodeproj/project.pbxproj create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 ios/Runner/AppDelegate.h create mode 100644 ios/Runner/AppDelegate.m create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md create mode 100644 ios/Runner/Base.lproj/LaunchScreen.storyboard create mode 100644 ios/Runner/Base.lproj/Main.storyboard create mode 100644 ios/Runner/Info.plist create mode 100644 ios/Runner/main.m create mode 100644 lib/Page1/MyAppBar.dart create mode 100644 lib/Page1/MyBottomNavigation.dart create mode 100644 lib/Page1/MyBurgerPage.dart create mode 100644 lib/Page1/MyLogin.dart create mode 100644 lib/Page1/MyMenu.dart create mode 100644 lib/Page1/MyPizza.dart create mode 100644 lib/main.dart create mode 100644 pubspec.lock create mode 100644 pubspec.yaml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9d532b1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,41 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.packages +.pub-cache/ +.pub/ +/build/ + +# Web related +lib/generated_plugin_registrant.dart + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json diff --git a/.metadata b/.metadata new file mode 100644 index 0000000..24544cb --- /dev/null +++ b/.metadata @@ -0,0 +1,10 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled and should not be manually edited. + +version: + revision: 84f3d28555368a70270e9ac8390a9441df95e752 + channel: stable + +project_type: app diff --git a/Fonts/FontsFree-Net-Billabong.ttf b/Fonts/FontsFree-Net-Billabong.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0df4bf6a86b58a799fc94802fc6cbf83ff003ccb GIT binary patch literal 132528 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%0D{`@C;9oin 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md new file mode 100644 index 0000000..0b183e6 --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +# cubetiqs_pos_system + +A new Flutter application. + +## Getting Started + +This project is a starting point for a Flutter application. + +A few resources to get you started if this is your first Flutter project: + +- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) +- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) + +For help getting started with Flutter, view our +[online documentation](https://flutter.dev/docs), which offers tutorials, +samples, guidance on mobile development, and a full API reference. diff --git a/android/.gitignore b/android/.gitignore new file mode 100644 index 0000000..0a741cb --- /dev/null +++ b/android/.gitignore @@ -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 diff --git a/android/app/build.gradle b/android/app/build.gradle new file mode 100644 index 0000000..3915228 --- /dev/null +++ b/android/app/build.gradle @@ -0,0 +1,54 @@ +def localProperties = new Properties() +def localPropertiesFile = rootProject.file('local.properties') +if (localPropertiesFile.exists()) { + localPropertiesFile.withReader('UTF-8') { reader -> + localProperties.load(reader) + } +} + +def flutterRoot = localProperties.getProperty('flutter.sdk') +if (flutterRoot == null) { + throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") +} + +def flutterVersionCode = localProperties.getProperty('flutter.versionCode') +if (flutterVersionCode == null) { + flutterVersionCode = '1' +} + +def flutterVersionName = localProperties.getProperty('flutter.versionName') +if (flutterVersionName == null) { + flutterVersionName = '1.0' +} + +apply plugin: 'com.android.application' +apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" + +android { + compileSdkVersion 29 + + lintOptions { + disable 'InvalidPackage' + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId "narak.cubetiqs_pos_system" + minSdkVersion 16 + targetSdkVersion 29 + versionCode flutterVersionCode.toInteger() + versionName flutterVersionName + } + + buildTypes { + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig signingConfigs.debug + } + } +} + +flutter { + source '../..' +} diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..333a937 --- /dev/null +++ b/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..d4bb6fc --- /dev/null +++ b/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/android/app/src/main/java/narak/cubetiqs_pos_system/MainActivity.java b/android/app/src/main/java/narak/cubetiqs_pos_system/MainActivity.java new file mode 100644 index 0000000..b931da0 --- /dev/null +++ b/android/app/src/main/java/narak/cubetiqs_pos_system/MainActivity.java @@ -0,0 +1,6 @@ +package narak.cubetiqs_pos_system; + +import io.flutter.embedding.android.FlutterActivity; + +public class MainActivity extends FlutterActivity { +} diff --git a/android/app/src/main/res/drawable/launch_background.xml b/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 0000000..304732f --- /dev/null +++ b/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..db77bb4b7b0906d62b1847e87f15cdcacf6a4f29 GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..17987b79bb8a35cc66c3c1fd44f5a5526c1b78be GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f1c8d34e7a88e3f88bea192c3a370d44689c3c GIT binary patch literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6372eebdb28e45604e46eeda8dd24651419bc0 GIT binary patch literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..1f83a33 --- /dev/null +++ b/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/android/app/src/profile/AndroidManifest.xml b/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000..333a937 --- /dev/null +++ b/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/android/build.gradle b/android/build.gradle new file mode 100644 index 0000000..e0d7ae2 --- /dev/null +++ b/android/build.gradle @@ -0,0 +1,29 @@ +buildscript { + repositories { + google() + jcenter() + } + + dependencies { + classpath 'com.android.tools.build:gradle:3.5.0' + } +} + +allprojects { + repositories { + google() + jcenter() + } +} + +rootProject.buildDir = '../build' +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" +} +subprojects { + project.evaluationDependsOn(':app') +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/android/gradle.properties b/android/gradle.properties new file mode 100644 index 0000000..a673820 --- /dev/null +++ b/android/gradle.properties @@ -0,0 +1,4 @@ +org.gradle.jvmargs=-Xmx1536M +android.useAndroidX=true +android.enableJetifier=true +android.enableR8=true diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..296b146 --- /dev/null +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#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.6.2-all.zip diff --git a/android/settings.gradle b/android/settings.gradle new file mode 100644 index 0000000..44e62bc --- /dev/null +++ b/android/settings.gradle @@ -0,0 +1,11 @@ +include ':app' + +def localPropertiesFile = new File(rootProject.projectDir, "local.properties") +def properties = new Properties() + +assert localPropertiesFile.exists() +localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + +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" diff --git a/ios/.gitignore b/ios/.gitignore new file mode 100644 index 0000000..e96ef60 --- /dev/null +++ b/ios/.gitignore @@ -0,0 +1,32 @@ +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 0000000..f2872cf --- /dev/null +++ b/ios/Flutter/AppFrameworkInfo.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 9.0 + + diff --git a/ios/Flutter/Debug.xcconfig b/ios/Flutter/Debug.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/ios/Flutter/Debug.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/ios/Flutter/Release.xcconfig b/ios/Flutter/Release.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/ios/Flutter/Release.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..ac4d724 --- /dev/null +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,496 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; + 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; }; + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 9705A1C41CF9048500538489 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97C146F21CF9000F007C117D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + CF3B75C9A7D2FA2A4C99F110 /* Frameworks */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + ); + name = Products; + sourceTree = ""; + }; + 97C146F01CF9000F007C117D /* Runner */ = { + isa = PBXGroup; + children = ( + 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */, + 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */, + 97C146FA1CF9000F007C117D /* Main.storyboard */, + 97C146FD1CF9000F007C117D /* Assets.xcassets */, + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, + 97C147021CF9000F007C117D /* Info.plist */, + 97C146F11CF9000F007C117D /* Supporting Files */, + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + ); + path = Runner; + sourceTree = ""; + }; + 97C146F11CF9000F007C117D /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 97C146F21CF9000F007C117D /* main.m */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Runner; + productName = Runner; + productReference = 97C146EE1CF9000F007C117D /* Runner.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 97C146E61CF9000F007C117D /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1020; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 97C146ED1CF9000F007C117D = { + CreatedOnToolsVersion = 7.3.1; + }; + }; + }; + buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 97C146E51CF9000F007C117D; + productRefGroup = 97C146EF1CF9000F007C117D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97C146ED1CF9000F007C117D /* Runner */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 97C146EC1CF9000F007C117D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 97C146EA1CF9000F007C117D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */, + 97C146F31CF9000F007C117D /* main.m in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 97C146FA1CF9000F007C117D /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C146FB1CF9000F007C117D /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C147001CF9000F007C117D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Profile; + }; + 249021D4217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Flutter", + ); + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Flutter", + ); + PRODUCT_BUNDLE_IDENTIFIER = narak.cubetiqsPosSystem; + PRODUCT_NAME = "$(TARGET_NAME)"; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Profile; + }; + 97C147031CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 97C147041CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 97C147061CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Flutter", + ); + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Flutter", + ); + PRODUCT_BUNDLE_IDENTIFIER = narak.cubetiqsPosSystem; + PRODUCT_NAME = "$(TARGET_NAME)"; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 97C147071CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Flutter", + ); + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Flutter", + ); + PRODUCT_BUNDLE_IDENTIFIER = narak.cubetiqsPosSystem; + PRODUCT_NAME = "$(TARGET_NAME)"; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147031CF9000F007C117D /* Debug */, + 97C147041CF9000F007C117D /* Release */, + 249021D3217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147061CF9000F007C117D /* Debug */, + 97C147071CF9000F007C117D /* Release */, + 249021D4217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 97C146E61CF9000F007C117D /* Project object */; +} diff --git a/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..a28140c --- /dev/null +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/ios/Runner/AppDelegate.h b/ios/Runner/AppDelegate.h new file mode 100644 index 0000000..36e21bb --- /dev/null +++ b/ios/Runner/AppDelegate.h @@ -0,0 +1,6 @@ +#import +#import + +@interface AppDelegate : FlutterAppDelegate + +@end diff --git a/ios/Runner/AppDelegate.m b/ios/Runner/AppDelegate.m new file mode 100644 index 0000000..70e8393 --- /dev/null +++ b/ios/Runner/AppDelegate.m @@ -0,0 +1,13 @@ +#import "AppDelegate.h" +#import "GeneratedPluginRegistrant.h" + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application + didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + [GeneratedPluginRegistrant registerWithRegistry:self]; + // Override point for customization after application launch. + return [super application:application didFinishLaunchingWithOptions:launchOptions]; +} + +@end diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d36b1fa --- /dev/null +++ b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "images" : [ + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@3x.png", + "scale" : "3x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@1x.png", + "scale" : "1x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@1x.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@1x.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "Icon-App-83.5x83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "Icon-App-1024x1024@1x.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9ada4725e9b0ddb1deab583e5b5102493aa332 GIT binary patch literal 10932 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..f091b6b0bca859a3f474b03065bef75ba58a9e4c GIT binary patch literal 1588 zcmV-42Fv-0P)C1SqPt}wig>|5Crh^=oyX$BK<}M8eLU3e2hGT;=G|!_SP)7zNI6fqUMB=)y zRAZ>eDe#*r`yDAVgB_R*LB*MAc)8(b{g{9McCXW!lq7r(btRoB9!8B-#AI6JMb~YFBEvdsV)`mEQO^&#eRKx@b&x- z5lZm*!WfD8oCLzfHGz#u7sT0^VLMI1MqGxF^v+`4YYnVYgk*=kU?HsSz{v({E3lb9 z>+xILjBN)t6`=g~IBOelGQ(O990@BfXf(DRI5I$qN$0Gkz-FSc$3a+2fX$AedL4u{ z4V+5Ong(9LiGcIKW?_352sR;LtDPmPJXI{YtT=O8=76o9;*n%_m|xo!i>7$IrZ-{l z-x3`7M}qzHsPV@$v#>H-TpjDh2UE$9g6sysUREDy_R(a)>=eHw-WAyfIN z*qb!_hW>G)Tu8nSw9yn#3wFMiLcfc4pY0ek1}8(NqkBR@t4{~oC>ryc-h_ByH(Cg5 z>ao-}771+xE3um9lWAY1FeQFxowa1(!J(;Jg*wrg!=6FdRX+t_<%z&d&?|Bn){>zm zZQj(aA_HeBY&OC^jj*)N`8fa^ePOU72VpInJoI1?`ty#lvlNzs(&MZX+R%2xS~5Kh zX*|AU4QE#~SgPzOXe9>tRj>hjU@c1k5Y_mW*Jp3fI;)1&g3j|zDgC+}2Q_v%YfDax z!?umcN^n}KYQ|a$Lr+51Nf9dkkYFSjZZjkma$0KOj+;aQ&721~t7QUKx61J3(P4P1 zstI~7-wOACnWP4=8oGOwz%vNDqD8w&Q`qcNGGrbbf&0s9L0De{4{mRS?o0MU+nR_! zrvshUau0G^DeMhM_v{5BuLjb#Hh@r23lDAk8oF(C+P0rsBpv85EP>4CVMx#04MOfG z;P%vktHcXwTj~+IE(~px)3*MY77e}p#|c>TD?sMatC0Tu4iKKJ0(X8jxQY*gYtxsC z(zYC$g|@+I+kY;dg_dE>scBf&bP1Nc@Hz<3R)V`=AGkc;8CXqdi=B4l2k|g;2%#m& z*jfX^%b!A8#bI!j9-0Fi0bOXl(-c^AB9|nQaE`*)Hw+o&jS9@7&Gov#HbD~#d{twV zXd^Tr^mWLfFh$@Dr$e;PBEz4(-2q1FF0}c;~B5sA}+Q>TOoP+t>wf)V9Iy=5ruQa;z)y zI9C9*oUga6=hxw6QasLPnee@3^Rr*M{CdaL5=R41nLs(AHk_=Y+A9$2&H(B7!_pURs&8aNw7?`&Z&xY_Ye z)~D5Bog^td-^QbUtkTirdyK^mTHAOuptDflut!#^lnKqU md>ggs(5nOWAqO?umG&QVYK#ibz}*4>0000U6E9hRK9^#O7(mu>ETqrXGsduA8$)?`v2seloOCza43C{NQ$$gAOH**MCn0Q?+L7dl7qnbRdqZ8LSVp1ItDxhxD?t@5_yHg6A8yI zC*%Wgg22K|8E#!~cTNYR~@Y9KepMPrrB8cABapAFa=`H+UGhkXUZV1GnwR1*lPyZ;*K(i~2gp|@bzp8}og7e*#% zEnr|^CWdVV!-4*Y_7rFvlww2Ze+>j*!Z!pQ?2l->4q#nqRu9`ELo6RMS5=br47g_X zRw}P9a7RRYQ%2Vsd0Me{_(EggTnuN6j=-?uFS6j^u69elMypu?t>op*wBx<=Wx8?( ztpe^(fwM6jJX7M-l*k3kEpWOl_Vk3@(_w4oc}4YF4|Rt=2V^XU?#Yz`8(e?aZ@#li0n*=g^qOcVpd-Wbok=@b#Yw zqn8u9a)z>l(1kEaPYZ6hwubN6i<8QHgsu0oE) ziJ(p;Wxm>sf!K+cw>R-(^Y2_bahB+&KI9y^);#0qt}t-$C|Bo71lHi{_+lg#f%RFy z0um=e3$K3i6K{U_4K!EX?F&rExl^W|G8Z8;`5z-k}OGNZ0#WVb$WCpQu-_YsiqKP?BB# vzVHS-CTUF4Ozn5G+mq_~Qqto~ahA+K`|lyv3(-e}00000NkvXXu0mjfd`9t{ literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d0ef06e7edb86cdfe0d15b4b0d98334a86163658 GIT binary patch literal 1716 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c8f9ed8f5cee1c98386d13b17e89f719e83555b2 GIT binary patch literal 1895 zcmV-t2blPYP)FQtfgmafE#=YDCq`qUBt#QpG%*H6QHY765~R=q zZ6iudfM}q!Pz#~9JgOi8QJ|DSu?1-*(kSi1K4#~5?#|rh?sS)(-JQqX*}ciXJ56_H zdw=^s_srbAdqxlvGyrgGet#6T7_|j;95sL%MtM;q86vOxKM$f#puR)Bjv9Zvz9-di zXOTSsZkM83)E9PYBXC<$6(|>lNLVBb&&6y{NByFCp%6+^ALR@NCTse_wqvNmSWI-m z!$%KlHFH2omF!>#%1l3LTZg(s7eof$7*xB)ZQ0h?ejh?Ta9fDv59+u#MokW+1t8Zb zgHv%K(u9G^Lv`lh#f3<6!JVTL3(dCpxHbnbA;kKqQyd1~^Xe0VIaYBSWm6nsr;dFj z4;G-RyL?cYgsN1{L4ZFFNa;8)Rv0fM0C(~Tkit94 zz#~A)59?QjD&pAPSEQ)p8gP|DS{ng)j=2ux)_EzzJ773GmQ_Cic%3JJhC0t2cx>|v zJcVusIB!%F90{+}8hG3QU4KNeKmK%T>mN57NnCZ^56=0?&3@!j>a>B43pi{!u z7JyDj7`6d)qVp^R=%j>UIY6f+3`+qzIc!Y_=+uN^3BYV|o+$vGo-j-Wm<10%A=(Yk^beI{t%ld@yhKjq0iNjqN4XMGgQtbKubPM$JWBz}YA65k%dm*awtC^+f;a-x4+ddbH^7iDWGg&N0n#MW{kA|=8iMUiFYvMoDY@sPC#t$55gn6ykUTPAr`a@!(;np824>2xJthS z*ZdmT`g5-`BuJs`0LVhz+D9NNa3<=6m;cQLaF?tCv8)zcRSh66*Z|vXhG@$I%U~2l z?`Q zykI#*+rQ=z6Jm=Bui-SfpDYLA=|vzGE(dYm=OC8XM&MDo7ux4UF1~0J1+i%aCUpRe zt3L_uNyQ*cE(38Uy03H%I*)*Bh=Lb^Xj3?I^Hnbeq72(EOK^Y93CNp*uAA{5Lc=ky zx=~RKa4{iTm{_>_vSCm?$Ej=i6@=m%@VvAITnigVg{&@!7CDgs908761meDK5azA} z4?=NOH|PdvabgJ&fW2{Mo$Q0CcD8Qc84%{JPYt5EiG{MdLIAeX%T=D7NIP4%Hw}p9 zg)==!2Lbp#j{u_}hMiao9=!VSyx0gHbeCS`;q&vzeq|fs`y&^X-lso(Ls@-706qmA z7u*T5PMo_w3{se1t2`zWeO^hOvTsohG_;>J0wVqVe+n)AbQCx)yh9;w+J6?NF5Lmo zecS@ieAKL8%bVd@+-KT{yI|S}O>pYckUFs;ry9Ow$CD@ztz5K-*D$^{i(_1llhSh^ zEkL$}tsQt5>QA^;QgjgIfBDmcOgi5YDyu?t6vSnbp=1+@6D& z5MJ}B8q;bRlVoxasyhcUF1+)o`&3r0colr}QJ3hcSdLu;9;td>kf@Tcn<@9sIx&=m z;AD;SCh95=&p;$r{Xz3iWCO^MX83AGJ(yH&eTXgv|0=34#-&WAmw{)U7OU9!Wz^!7 zZ%jZFi@JR;>Mhi7S>V7wQ176|FdW2m?&`qa(ScO^CFPR80HucLHOTy%5s*HR0^8)i h0WYBP*#0Ks^FNSabJA*5${_#%002ovPDHLkV1oKhTl@e3 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..a6d6b8609df07bf62e5100a53a01510388bd2b22 GIT binary patch literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a6d6b8609df07bf62e5100a53a01510388bd2b22 GIT binary patch literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..75b2d164a5a98e212cca15ea7bf2ab5de5108680 GIT binary patch literal 3831 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..c4df70d39da7941ef3f6dcb7f06a192d8dcb308d GIT binary patch literal 1888 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 iW8Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 0000000..89c2725 --- /dev/null +++ b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# Launch Screen Assets + +You can customize the launch screen with your own desired assets by replacing the image files in this directory. + +You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/ios/Runner/Base.lproj/LaunchScreen.storyboard b/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..f2e259c --- /dev/null +++ b/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner/Base.lproj/Main.storyboard b/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 0000000..f3c2851 --- /dev/null +++ b/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist new file mode 100644 index 0000000..79a7c01 --- /dev/null +++ b/ios/Runner/Info.plist @@ -0,0 +1,45 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + cubetiqs_pos_system + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + + diff --git a/ios/Runner/main.m b/ios/Runner/main.m new file mode 100644 index 0000000..dff6597 --- /dev/null +++ b/ios/Runner/main.m @@ -0,0 +1,9 @@ +#import +#import +#import "AppDelegate.h" + +int main(int argc, char* argv[]) { + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} diff --git a/lib/Page1/MyAppBar.dart b/lib/Page1/MyAppBar.dart new file mode 100644 index 0000000..77bb496 --- /dev/null +++ b/lib/Page1/MyAppBar.dart @@ -0,0 +1,50 @@ +import 'package:flutter/material.dart'; + +import 'MyBottomNavigation.dart'; +import 'MyMenu.dart'; + + + + +class MyAppBar extends StatefulWidget { + @override + _MyAppBarState createState() => _MyAppBarState(); +} + +class _MyAppBarState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: buildAppBar, + body: MyBody(), + bottomNavigationBar: MyBottom(), + ); + } + get buildAppBar { + return AppBar( + backgroundColor: Color.fromRGBO(255,255,255, 1), + centerTitle: true, + title: Text("Simons's BBQ Team",style: + TextStyle( + color: Color.fromRGBO(58, 47, 214, 1),fontSize: 20 + ), + ), + + bottom: PreferredSize( + preferredSize: Size.fromHeight((20.0), + ),child: Padding( + padding: const EdgeInsets.all(9.0), + child: Text("Cubetiqs Solution", style: TextStyle + ( + color: Color.fromRGBO(58, 47, 214, 1), + + ), + ), + ), + ), + + + + ); + } +} diff --git a/lib/Page1/MyBottomNavigation.dart b/lib/Page1/MyBottomNavigation.dart new file mode 100644 index 0000000..3259ec6 --- /dev/null +++ b/lib/Page1/MyBottomNavigation.dart @@ -0,0 +1,41 @@ +import 'package:cubetiqs_pos_system/Page1/MyBurgerPage.dart'; +import 'package:cubetiqs_pos_system/Page1/MyLogin.dart'; +import 'package:cubetiqs_pos_system/Page1/MyPizza.dart'; +import 'package:flutter/material.dart'; + + +class MyBottom extends StatefulWidget { + @override + _MyBottomState createState() => _MyBottomState(); +} + +class _MyBottomState extends State { + @override + Widget build(BuildContext context) { + return Container( + + child: BottomNavigationBar( + + type: BottomNavigationBarType.fixed, + selectedItemColor: Color.fromRGBO(180, 64, 16, 1), + unselectedItemColor: Color.fromRGBO(180, 64, 16, 1), + iconSize: 25, + onTap: (int index){ + + Navigator.push(context, MaterialPageRoute(builder: (context){ + return Mylogin(); + })); + }, + + items: [ + + BottomNavigationBarItem(icon:Icon( Icons.people),label: ("User") ,), + BottomNavigationBarItem(icon:Icon( Icons.shopping_cart),label: ("Add to cart") ,), + BottomNavigationBarItem(icon:Icon( Icons.settings),label: ("Settings")), + ] + + + ), + ); + } +} diff --git a/lib/Page1/MyBurgerPage.dart b/lib/Page1/MyBurgerPage.dart new file mode 100644 index 0000000..07faa08 --- /dev/null +++ b/lib/Page1/MyBurgerPage.dart @@ -0,0 +1,481 @@ +import 'package:cubetiqs_pos_system/Page1/MyAppBar.dart'; +import 'package:cubetiqs_pos_system/Page1/MyPizza.dart'; +import 'package:cubetiqs_pos_system/main.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_icons/flutter_icons.dart'; + +import 'MyBottomNavigation.dart'; + +class MyBurger extends StatefulWidget { + @override + _MyBurgerState createState() => _MyBurgerState(); +} + +class _MyBurgerState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: buildAppbar, + body: buildBody, + endDrawer: buildDrawer, + bottomNavigationBar: MyBottom() + ); + } + get buildDrawer { + String img="https://www.pngkey.com/png/full/251-2511135_logo-chief-cook-clipart-png.png"; + return Drawer( + child: Container( + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + Color.fromRGBO(159, 163, 227,1), + Color.fromRGBO(244, 147, 242,0.3), + ] + + ), + ), + child: ListView( + children: [ + DrawerHeader(child: Image.network(img)), + Container + ( + margin: EdgeInsets.only(left:20), + child: Row( + children: [ + Text("Current Order",style: TextStyle( + fontSize: 20 + ) + ), + Container( + margin: EdgeInsets.all(5), + child: Container( + child: SizedBox( + width: 85, + height: 30, + child: RaisedButton( + shape:RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + color: Color.fromRGBO(209, 198, 191, 1), + child: Text("Clear all",style: + TextStyle( + color: Colors.black.withOpacity(0.5) + ),), + onPressed:(){ + + }), + ), + ), + ), + Container( + // margin: EdgeInsets.only(right: 1), + child: SizedBox( + width: 60, + height: 30, + child: RaisedButton( + shape:RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + color: Color.fromRGBO(209, 198, 191, 1), + child: Icon(FontAwesome.send_o), + onPressed:(){ + } + ), + ), + ) + ], + ), + ), + ListTile( + leading: Icon(Icons.shopping_cart), + title: Text("Ranch Burgers"), + onTap: () { + Navigator.of(context).pop(); + }, + trailing: Text(r"$7.75"), + + ), + ListTile( + leading: Icon(Icons.shopping_cart), + title: Text("Pancakes"), + onTap: () { + Navigator.of(context).pop(); + }, + trailing: Text(r"$1.75"), + + ), + ListTile( + leading: Icon(Icons.shopping_cart), + title: Text("Grilled Corn"), + onTap: () { + Navigator.of(context).pop(); + }, + trailing: Text(r"$1.75"), + + ), + + ListTile( + leading: Icon(Icons.shopping_cart), + title: Text("Bacon pizza "), + onTap: () { + Navigator.of(context).pop(); + }, + trailing: Text(r"$7.00"), + + ), + ListTile( + leading: Icon(Icons.shopping_cart), + title: Text("Tortillas"), + onTap: () { + Navigator.of(context).pop(); + }, + trailing: Text(r"$7.75"), + + ), + ListTile( + leading: Icon(Icons.shopping_cart), + title: Text("Coca Cola"), + onTap: () { + Navigator.of(context).pop(); + }, + trailing: Text(r"$5.00"), + + ), + Container( + margin: EdgeInsets.all(20), + child: SizedBox( + width: 100, + height: 30, + + child: RaisedButton( + shape:RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + color: Color.fromRGBO(255, 249, 53, 1), + child: Text("Pay with Credit Card",style: + TextStyle( + color: Colors.black.withOpacity(0.5) + ),), + onPressed:(){ + + }), + ), + ), + ], + ), + ), + ); + } + get buildBody { + return Container( + color: Color.fromRGBO(255,255,255, 1), + child: ListView( + physics: BouncingScrollPhysics(), + children: [ + MyMenu, + MyItem1, + MyItem2, + MyItem3, + ], + ), + ); + } + get buildAppbar { + return AppBar( + title: Text("Burger Site",style: TextStyle( + color: Color.fromRGBO(64, 70, 22,1) + ),), + centerTitle: true, + backgroundColor: Color.fromRGBO(159, 163, 227,1), + iconTheme: IconThemeData(color: Colors.black), + ); + } + get MyMenu { + return Container( + child: Row( + children: [ + + buildMenu1, + buildMenu2, + buildMenu3, + + ], + ), + + ); + } + get buildMenu1 { + return Container( + margin: EdgeInsets.only(left:35 ,top: 10), + child: RaisedButton( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + color: Color.fromRGBO(180, 64, 16, 1), + + child: Text("All items",style: TextStyle( + color: Colors.white, + ), + ) + , + onPressed: (){ + Navigator.push(context,MaterialPageRoute(builder: (context){ + + return MyAppBar(); + + })); + }), + ); + } + get buildMenu2 { + return Container( + margin: EdgeInsets.only(left:35 ,top: 10), + child: RaisedButton( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + color: Color.fromRGBO(224, 255, 255, 1), + child: Text("Burger",style: TextStyle( + color: Colors.black, + + ), + ) + + , + onPressed: (){ + + }), + ); + } + get buildMenu3 { + return Container( + margin: EdgeInsets.only(left:35 ,top: 10), + child: RaisedButton( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + color: Color.fromRGBO(224, 255, 255, 1), + child: Text("Pizza",style: TextStyle( + color: Colors.black, + ), + ) + , + onPressed: (){ + setState(() { + Navigator.push(context, MaterialPageRoute(builder: (context){ + return MyPizza(); + })); + }); + }), + ); + } + get MyItem1 { + return Container( + child: SingleChildScrollView( + child: Stack + ( + children: [ + + buildItem1, + ], + ), + ), + ); + } + get buildItem1 { + String img1="https://www.litehousefoods.com/sites/default/files/styles/recipe_image/public/ranchburger_176389079-min.jpg?itok=oBlUqnCZ"; + return Container( + margin: EdgeInsets.all(20), + width: 500, + height: 240, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(20), + color: Color.fromRGBO(244, 147, 242,0.3), + ), + + child: Column( + children: [ + Container( + margin: EdgeInsets.only(right: 190 , top: 30), + child: Text("Ranch Burgers", + style: TextStyle( + color: Colors.purple, + fontWeight: FontWeight.bold, + fontSize: 20 + ) + ), + ), + + Container( + margin: EdgeInsets.only(right: 290 , top: 10), + child: Text("150g", + style:TextStyle( + color: Colors.black.withOpacity(0.5), + ) ,), + ), + Row( + children: [ + Container( + margin: EdgeInsets.only(left: 40), + child: Text(r"$7.75" , + style:TextStyle( + color: Color.fromRGBO(255,131,0,1), + fontSize: 25, + fontWeight: FontWeight.bold + ) ,), + ), + Container( + width: 100,height: 100, + margin: EdgeInsets.only(left: 140,bottom: 60), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + image: DecorationImage( + image: NetworkImage(img1), + fit: BoxFit.cover + ) + ), + ) , + ], + ), + ], + ), + ); + } + get MyItem2 { + return Container( + + child: SingleChildScrollView( + child: Stack + ( + children: [ + + buildItem2, + ], + ), + ), + ); + } + get buildItem2 { + String img2="https://iamhomesteader.com/wp-content/uploads/2020/08/flank-steak-new-1.jpg"; + return Container( + margin: EdgeInsets.all(20), + width: 500, + height: 240, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(20), + color: Color.fromRGBO(244, 147, 242,0.3), + ), + + child: Column( + children: [ + Container( + margin: EdgeInsets.only(right: 155 , top: 30), + child: Text("Stufed Flank Steak", + style: TextStyle( + color: Colors.purple, + fontWeight: FontWeight.bold, + fontSize: 20 + ) + ), + ), + + Container( + margin: EdgeInsets.only(right: 290 , top: 10), + child: Text("150g", + style:TextStyle( + color: Colors.black.withOpacity(0.5), + ) ,), + ), + Row( + children: [ + Container( + margin: EdgeInsets.only(left: 30), + child: Text(r"$13.50" , + style:TextStyle( + color: Color.fromRGBO(255,131,0,1), + fontSize: 25, + fontWeight: FontWeight.bold + ) ,), + ), + Container( + width: 100,height: 100, + margin: EdgeInsets.only(left: 140,bottom: 60), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + image: DecorationImage( + image: NetworkImage(img2), + fit: BoxFit.cover + ) + ), + ) , + ], + ), + ], + ), + ); + } + get MyItem3 { + return Container( + + child: SingleChildScrollView( + child: Stack + ( + children: [ + + buildItem3, + ], + ), + ), + ); + } + get buildItem3 { + String img3="https://www.recipetineats.com/wp-content/uploads/2017/06/Pancakes-SQ.jpg"; + return Container( + margin: EdgeInsets.all(20), + width: 500, + height: 240, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(20), + color: Color.fromRGBO(244, 147, 242,0.3), + ), + + child: Column( + children: [ + Container( + margin: EdgeInsets.only(right: 240 , top: 30), + child: Text("Pancakes", + style: TextStyle( + color: Colors.purple, + fontWeight: FontWeight.bold, + fontSize: 20 + ) + ), + ), + + Container( + margin: EdgeInsets.only(right: 290 , top: 10), + child: Text("150g", + style:TextStyle( + color: Colors.black.withOpacity(0.5), + ) ,), + ), + Row( + children: [ + Container( + margin: EdgeInsets.only(left: 40), + child: Text(r"$1.75" , + style:TextStyle( + color: Color.fromRGBO(255,131,0,1), + fontSize: 25, + fontWeight: FontWeight.bold + ) ,), + ), + Container( + width: 100,height: 100, + margin: EdgeInsets.only(left: 140,bottom: 60), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + image: DecorationImage( + image: NetworkImage(img3), + fit: BoxFit.cover + ) + ), + ) , + ], + ), + ], + ), + ); + } +} diff --git a/lib/Page1/MyLogin.dart b/lib/Page1/MyLogin.dart new file mode 100644 index 0000000..c65b96c --- /dev/null +++ b/lib/Page1/MyLogin.dart @@ -0,0 +1,147 @@ + +import 'dart:io'; + +import 'package:flutter/material.dart'; +import 'package:flutter_icons/flutter_icons.dart'; + +import 'MyAppBar.dart'; + +class Mylogin extends StatefulWidget { + @override + _MyloginState createState() => _MyloginState(); +} + +class _MyloginState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + body: + buildBody, + ); + } + get buildBody { + + return Container( + margin: EdgeInsets.all(10), + child: SingleChildScrollView( + child: Stack( + children: [ + Column( + children: [ + buildImage, + buildTitle, + buildTextField, + buildPassword, + buildButton, + ], + ), + ], + ) + ), + ); + + } + get buildImage { + String img = "https://www.pngkey.com/png/full/251-2511135_logo-chief-cook-clipart-png.png"; + return Container( + width: 400, + height: 300, + margin: EdgeInsets.all(30), + alignment: Alignment.center, + // color: Color.fromRGBO(244, 147, 242,0.3), + child: Image.network(img), + ); + } + get buildTitle{ + return Container( + child: Text("Simon's BBQ Restaurant",style: + TextStyle( + color: Color.fromRGBO(58, 47, 214, 1), + fontSize: 40, + fontFamily: "Instagramf" , + + ),), + ); + } + get buildTextField { + return Container( + margin: EdgeInsets.all(10), + padding: EdgeInsets.all(5), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(20), + color: Color.fromRGBO(244, 147, 242,0.3), + ), + child: TextField( + style: TextStyle( + color: Color.fromRGBO(64, 70, 22,1),fontSize: 25 + ), + //keyboardType: TextInputType.emailAddress, + decoration: InputDecoration( + hintText: "Enter Name", + hintStyle: TextStyle( color: Color.fromRGBO(64, 70, 22,1).withOpacity(0.4),fontSize: 20), + // labelText: "Enter Name" + suffixIcon: Icon(FontAwesome.user), + border: InputBorder.none + ), + ), + ); + } + get buildPassword { + return Container( + margin: EdgeInsets.all(10), + padding: EdgeInsets.all(5), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(20), + color: Color.fromRGBO(244, 147, 242,0.3), + ), + child: TextField( + style: TextStyle( + color: Color.fromRGBO(64, 70, 22,1),fontSize: 25 + ), + keyboardType: TextInputType.phone, + decoration: InputDecoration( + + hintText: "Phone Number", + hintStyle: TextStyle( color: Color.fromRGBO(64, 70, 22,1).withOpacity(0.4),fontSize: 20), + // labelText: "Enter Name" + suffixIcon: Icon(Icons.call_end_outlined), + border: InputBorder.none + ), + ), + + ); + + } + get buildButton{ + return Container( + + child: Row( + children: [ + Container( + margin: EdgeInsets.only(right :50,left: 25), + child: RaisedButton( + color: Color.fromRGBO(112, 149,225,1), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + child: Text("Login"), + onPressed: (){ + Navigator.push(context,MaterialPageRoute(builder: (context){ + return MyAppBar(); + })); + }, + ), + ), + Container( + margin: EdgeInsets.only(left :120), + child: RaisedButton( + color: Color.fromRGBO(78, 105, 26, 0.5), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + child: Text("Exit"),onPressed: (){ + exit(0); + }, + ), + ), + ], + ) + ); + } +} diff --git a/lib/Page1/MyMenu.dart b/lib/Page1/MyMenu.dart new file mode 100644 index 0000000..99d08bc --- /dev/null +++ b/lib/Page1/MyMenu.dart @@ -0,0 +1,762 @@ + +import 'package:cubetiqs_pos_system/Page1/MyBurgerPage.dart'; +import 'package:cubetiqs_pos_system/Page1/MyPizza.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; + + +class MyBody extends StatefulWidget { + @override + _MyBodyState createState() => _MyBodyState(); +} + +class _MyBodyState extends State { + @override + Widget build(BuildContext context) { + return Container( + color: Color.fromRGBO(255,255,255, 1), + child: ListView( + physics: BouncingScrollPhysics(), + children: [ + MyMenu, + MyItem1, + MyItem2, + MyItem3, + MyItem4, + MyItem5, + MyItem6, + MyItem7, + MyItem8, + MyItem9, + ], + ), + ); + + } + get MyMenu { + return Container( + child: Row( + children: [ + + buildMenu1, + buildMenu2, + buildMenu3, + + ], + ), + + ); + } + get buildMenu1 { + return Container( + margin: EdgeInsets.only(left:35 ,top: 10), + child: RaisedButton( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + color: Color.fromRGBO(180, 64, 16, 1), + + child: Text("All items",style: TextStyle( + color: Colors.white, + ), + ) + , + onPressed: (){ + }), + ); + } + get buildMenu2 { + return Container( + margin: EdgeInsets.only(left:35 ,top: 10), + child: RaisedButton( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + color: Color.fromRGBO(224, 255, 255, 1), + child: Text("Burger",style: TextStyle( + color: Colors.black, + + ), + ) + + , + onPressed: (){ + Navigator.push(context,MaterialPageRoute(builder: (context){ + return MyBurger(); + })); + }), + ); + } + get buildMenu3 { + return Container( + margin: EdgeInsets.only(left:35 ,top: 10), + child: RaisedButton( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + color: Color.fromRGBO(224, 255, 255, 1), + child: Text("Pizza",style: TextStyle( + color: Colors.black, + ), + ) + , + onPressed: (){ + setState(() { + Navigator.push(context, MaterialPageRoute(builder: (context){ + return MyPizza(); + })); + }); + }), + ); + } + get MyItem1 { + return Container( + child: SingleChildScrollView( + child: Stack + ( + children: [ + + buildItem1, + ], + ), + ), + ); + } + get buildItem1 { + String img1="https://hips.hearstapps.com/hmg-prod.s3.amazonaws.com/images/shot-2-0129-1522854796.png"; + return Container( + margin: EdgeInsets.all(20), + width: 500, + height: 240, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(20), + color: Color.fromRGBO(244, 147, 242,0.3), + ), + + child: Column( + children: [ + Container( + margin: EdgeInsets.only(right: 220 , top: 30), + child: Text("Grilled Corn", + style: TextStyle( + color: Colors.purple, + fontWeight: FontWeight.bold, + fontSize: 20 + ) + ), + ), + + Container( + margin: EdgeInsets.only(right: 290 , top: 10), + child: Text("150g", + style:TextStyle( + color: Colors.black.withOpacity(0.5), + ) ,), + ), + Row( + children: [ + Container( + margin: EdgeInsets.only(left: 40), + child: Text(r"$1.75" , + style:TextStyle( + color: Color.fromRGBO(255,131,0,1), + fontSize: 25, + fontWeight: FontWeight.bold + ) ,), + ), + Container( + width: 100,height: 100, + margin: EdgeInsets.only(left: 140,bottom: 60), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + image: DecorationImage( + image: NetworkImage(img1), + fit: BoxFit.cover + ) + ), + ) , + ], + ), + ], + ), + ); + } + get MyItem2 { + return Container( + + child: SingleChildScrollView( + child: Stack + ( + children: [ + + buildItem2, + ], + ), + ), + ); + } + get buildItem2 { + String img2="https://www.modernhoney.com/wp-content/uploads/2018/08/Fettuccine-Alfredo-Recipe-1.jpg"; + return Container( + margin: EdgeInsets.all(20), + width: 500, + height: 240, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(20), + color: Color.fromRGBO(244, 147, 242,0.3), + ), + + child: Column( + children: [ + Container( + margin: EdgeInsets.only(right: 175 , top: 30), + child: Text("Fettuccine pasta", + style: TextStyle( + color: Colors.purple, + fontWeight: FontWeight.bold, + fontSize: 20 + ) + ), + ), + + Container( + margin: EdgeInsets.only(right: 290 , top: 10), + child: Text("150g", + style:TextStyle( + color: Colors.black.withOpacity(0.5), + ) ,), + ), + Row( + children: [ + Container( + margin: EdgeInsets.only(left: 40), + child: Text(r"$7.75" , + style:TextStyle( + color: Color.fromRGBO(255,131,0,1), + fontSize: 25, + fontWeight: FontWeight.bold + ) ,), + ), + Container( + width: 100,height: 100, + margin: EdgeInsets.only(left: 140,bottom: 60), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + image: DecorationImage( + image: NetworkImage(img2), + fit: BoxFit.cover + ) + ), + ) , + ], + ), + ], + ), + ); + } + get MyItem3 { + return Container( + + child: SingleChildScrollView( + child: Stack + ( + children: [ + + buildItem3, + ], + ), + ), + ); + } + get buildItem3 { + String img3="https://s3.eu-central-1.amazonaws.com/qatar-delicious/ItemsImages/ItemImage_14331_(0).jpg"; + return Container( + margin: EdgeInsets.all(20), + width: 500, + height: 240, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(20), + color: Color.fromRGBO(244, 147, 242,0.3), + ), + + child: Column( + children: [ + Container( + margin: EdgeInsets.only(right: 180 , top: 30), + child: Text("Original Burgers", + style: TextStyle( + color: Colors.purple, + fontWeight: FontWeight.bold, + fontSize: 20 + ) + ), + ), + + Container( + margin: EdgeInsets.only(right: 290 , top: 10), + child: Text("150g", + style:TextStyle( + color: Colors.black.withOpacity(0.5), + ) ,), + ), + Row( + children: [ + Container( + margin: EdgeInsets.only(left: 40), + child: Text(r"$7.00" , + style:TextStyle( + color: Color.fromRGBO(255,131,0,1), + fontSize: 25, + fontWeight: FontWeight.bold + ) ,), + ), + Container( + width: 100,height: 100, + margin: EdgeInsets.only(left: 140,bottom: 60), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + image: DecorationImage( + image: NetworkImage(img3), + fit: BoxFit.cover + ) + ), + ) , + ], + ), + ], + ), + ); + } +// Burger + get MyItem4 { + return Container( + child: SingleChildScrollView( + child: Stack + ( + children: [ + + buildItem1, + ], + ), + ), + ); + } + get buildItem4 { + String img1="https://www.litehousefoods.com/sites/default/files/styles/recipe_image/public/ranchburger_176389079-min.jpg?itok=oBlUqnCZ"; + return Container( + margin: EdgeInsets.all(20), + width: 500, + height: 240, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(20), + color: Color.fromRGBO(244, 147, 242,0.3), + ), + + child: Column( + children: [ + Container( + margin: EdgeInsets.only(right: 190 , top: 30), + child: Text("Ranch Burgers", + style: TextStyle( + color: Colors.purple, + fontWeight: FontWeight.bold, + fontSize: 20 + ) + ), + ), + + Container( + margin: EdgeInsets.only(right: 290 , top: 10), + child: Text("150g", + style:TextStyle( + color: Colors.black.withOpacity(0.5), + ) ,), + ), + Row( + children: [ + Container( + margin: EdgeInsets.only(left: 40), + child: Text(r"$7.75" , + style:TextStyle( + color: Color.fromRGBO(255,131,0,1), + fontSize: 25, + fontWeight: FontWeight.bold + ) ,), + ), + Container( + width: 100,height: 100, + margin: EdgeInsets.only(left: 140,bottom: 60), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + image: DecorationImage( + image: NetworkImage(img1), + fit: BoxFit.cover + ) + ), + ) , + ], + ), + ], + ), + ); + } + get MyItem5 { + return Container( + + child: SingleChildScrollView( + child: Stack + ( + children: [ + + buildItem2, + ], + ), + ), + ); + } + get buildItem5 { + String img2="https://iamhomesteader.com/wp-content/uploads/2020/08/flank-steak-new-1.jpg"; + return Container( + margin: EdgeInsets.all(20), + width: 500, + height: 240, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(20), + color: Color.fromRGBO(244, 147, 242,0.3), + ), + + child: Column( + children: [ + Container( + margin: EdgeInsets.only(right: 155 , top: 30), + child: Text("Stufed Flank Steak", + style: TextStyle( + color: Colors.purple, + fontWeight: FontWeight.bold, + fontSize: 20 + ) + ), + ), + + Container( + margin: EdgeInsets.only(right: 290 , top: 10), + child: Text("150g", + style:TextStyle( + color: Colors.black.withOpacity(0.5), + ) ,), + ), + Row( + children: [ + Container( + margin: EdgeInsets.only(left: 30), + child: Text(r"$13.50" , + style:TextStyle( + color: Color.fromRGBO(255,131,0,1), + fontSize: 25, + fontWeight: FontWeight.bold + ) ,), + ), + Container( + width: 100,height: 100, + margin: EdgeInsets.only(left: 140,bottom: 60), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + image: DecorationImage( + image: NetworkImage(img2), + fit: BoxFit.cover + ) + ), + ) , + ], + ), + ], + ), + ); + } + get MyItem6 { + return Container( + + child: SingleChildScrollView( + child: Stack + ( + children: [ + + buildItem3, + ], + ), + ), + ); + } + get buildItem6 { + String img3="https://www.recipetineats.com/wp-content/uploads/2017/06/Pancakes-SQ.jpg"; + return Container( + margin: EdgeInsets.all(20), + width: 500, + height: 240, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(20), + color: Color.fromRGBO(244, 147, 242,0.3), + ), + + child: Column( + children: [ + Container( + margin: EdgeInsets.only(right: 240 , top: 30), + child: Text("Pancakes", + style: TextStyle( + color: Colors.purple, + fontWeight: FontWeight.bold, + fontSize: 20 + ) + ), + ), + + Container( + margin: EdgeInsets.only(right: 290 , top: 10), + child: Text("150g", + style:TextStyle( + color: Colors.black.withOpacity(0.5), + ) ,), + ), + Row( + children: [ + Container( + margin: EdgeInsets.only(left: 40), + child: Text(r"$1.75" , + style:TextStyle( + color: Color.fromRGBO(255,131,0,1), + fontSize: 25, + fontWeight: FontWeight.bold + ) ,), + ), + Container( + width: 100,height: 100, + margin: EdgeInsets.only(left: 140,bottom: 60), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + image: DecorationImage( + image: NetworkImage(img3), + fit: BoxFit.cover + ) + ), + ) , + ], + ), + ], + ), + ); + } +//pizza + get MyItem7 { + return Container( + child: SingleChildScrollView( + child: Stack + ( + children: [ + + buildItem1, + ], + ), + ), + ); + } + get buildItem7 { + String img1="https://dam.kraftheinzcompany.com/adaptivemedia/rendition/122046_3000x2000.jpg?id=12a910429e20fa8ff0ce0d1c2d6382bce0213672&ht=650&wd=1004&clid=KRCA"; + return Container( + margin: EdgeInsets.all(20), + width: 500, + height: 240, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(20), + color: Color.fromRGBO(244, 147, 242,0.3), + ), + + child: Column( + children: [ + Container( + margin: EdgeInsets.only(right: 220 , top: 30), + child: Text("Bacon pizza", + style: TextStyle( + color: Colors.purple, + fontWeight: FontWeight.bold, + fontSize: 20 + ) + ), + ), + + Container( + margin: EdgeInsets.only(right: 290 , top: 10), + child: Text("150g", + style:TextStyle( + color: Colors.black.withOpacity(0.5), + ) ,), + ), + Row( + children: [ + Container( + margin: EdgeInsets.only(left: 40), + child: Text(r"$7.00" , + style:TextStyle( + color: Color.fromRGBO(255,131,0,1), + fontSize: 25, + fontWeight: FontWeight.bold + ) ,), + ), + Container( + width: 100,height: 100, + margin: EdgeInsets.only(left: 140,bottom: 60), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + image: DecorationImage( + image: NetworkImage(img1), + fit: BoxFit.cover + ) + ), + ) , + ], + ), + ], + ), + ); + } + get MyItem8 { + return Container( + + child: SingleChildScrollView( + child: Stack + ( + children: [ + + buildItem2, + ], + ), + ), + ); + } + get buildItem8 { + String img2="https://images-gmi-pmc.edge-generalmills.com/03846767-9eb1-4dcf-b881-e18cd427171c.jpg"; + return Container( + margin: EdgeInsets.all(20), + width: 500, + height: 240, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(20), + color: Color.fromRGBO(244, 147, 242,0.3), + ), + + child: Column( + children: [ + Container( + margin: EdgeInsets.only(right: 250 , top: 30), + child: Text("Tortillas", + style: TextStyle( + color: Colors.purple, + fontWeight: FontWeight.bold, + fontSize: 20 + ) + ), + ), + + Container( + margin: EdgeInsets.only(right: 290 , top: 10), + child: Text("150g", + style:TextStyle( + color: Colors.black.withOpacity(0.5), + ) ,), + ), + Row( + children: [ + Container( + margin: EdgeInsets.only(left: 40), + child: Text(r"$7.75" , + style:TextStyle( + color: Color.fromRGBO(255,131,0,1), + fontSize: 25, + fontWeight: FontWeight.bold + ) ,), + ), + Container( + width: 100,height: 100, + margin: EdgeInsets.only(left: 140,bottom: 60), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + image: DecorationImage( + image: NetworkImage(img2), + fit: BoxFit.cover + ) + ), + ) , + ], + ), + ], + ), + ); + } + get MyItem9 { + return Container( + + child: SingleChildScrollView( + child: Stack + ( + children: [ + + buildItem3, + ], + ), + ), + ); + } + get buildItem9 { + String img3="https://www.moulinex-me.com/medias/?context=bWFzdGVyfHJvb3R8MTQzNTExfGltYWdlL2pwZWd8aDM2L2g1Mi8xMzA5NzI3MzI2MjExMC5qcGd8N2MxZDhmNmI5ZTgzZDZlZWQyZGQ4YjFlZjUyNDlkMTExYjdkZDdlZmFkY2I0N2NmNjljOGViNmExZjIyMDU4Yw"; + return Container( + margin: EdgeInsets.all(20), + width: 500, + height: 240, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(20), + color: Color.fromRGBO(244, 147, 242,0.3), + ), + + child: Column( + children: [ + Container( + margin: EdgeInsets.only(right: 180 , top: 30), + child: Text("Pepperoni pizza", + style: TextStyle( + color: Colors.purple, + fontWeight: FontWeight.bold, + fontSize: 20 + ) + ), + ), + + Container( + margin: EdgeInsets.only(right: 290 , top: 10), + child: Text("150g", + style:TextStyle( + color: Colors.black.withOpacity(0.5), + ) ,), + ), + Row( + children: [ + Container( + margin: EdgeInsets.only(left: 40), + child: Text(r"$1.75" , + style:TextStyle( + color: Color.fromRGBO(255,131,0,1), + fontSize: 25, + fontWeight: FontWeight.bold + ) ,), + ), + Container( + width: 100,height: 100, + margin: EdgeInsets.only(left: 140,bottom: 60), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + image: DecorationImage( + image: NetworkImage(img3), + fit: BoxFit.cover + ) + ), + ) , + ], + ), + ], + ), + ); + } +} diff --git a/lib/Page1/MyPizza.dart b/lib/Page1/MyPizza.dart new file mode 100644 index 0000000..c9f27ab --- /dev/null +++ b/lib/Page1/MyPizza.dart @@ -0,0 +1,481 @@ +import 'package:cubetiqs_pos_system/Page1/MyBurgerPage.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_icons/flutter_icons.dart'; + +import 'MyAppBar.dart'; +import 'MyBottomNavigation.dart'; +class MyPizza extends StatefulWidget { + @override + _MyPizzaState createState() => _MyPizzaState(); +} + +class _MyPizzaState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: buildAppbar, + body: buildBody, + endDrawer: buildDrawer, + bottomNavigationBar: MyBottom() + + ); + } + get buildDrawer { + String img="https://www.pngkey.com/png/full/251-2511135_logo-chief-cook-clipart-png.png"; + return Drawer( + child: Container( + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + Color.fromRGBO(159, 163, 227,1), + Color.fromRGBO(244, 147, 242,0.3), + ] + + ), + ), + child: ListView( + children: [ + DrawerHeader(child: Image.network(img)), + Container + ( + margin: EdgeInsets.only(left:20), + child: Row( + children: [ + Text("Current Order",style: TextStyle( + fontSize: 20 + ) + ), + Container( + margin: EdgeInsets.all(5), + child: Container( + child: SizedBox( + width: 85, + height: 30, + child: RaisedButton( + shape:RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + color: Color.fromRGBO(209, 198, 191, 1), + child: Text("Clear all",style: + TextStyle( + color: Colors.black.withOpacity(0.5) + ),), + onPressed:(){ + + }), + ), + ), + ), + Container( + // margin: EdgeInsets.only(right: 1), + child: SizedBox( + width: 60, + height: 30, + child: RaisedButton( + shape:RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + color: Color.fromRGBO(209, 198, 191, 1), + child: Icon(FontAwesome.send_o), + onPressed:(){ + } + ), + ), + ) + ], + ), + ), + ListTile( + leading: Icon(Icons.shopping_cart), + title: Text("Ranch Burgers"), + onTap: () { + Navigator.of(context).pop(); + }, + trailing: Text(r"$7.75"), + + ), + ListTile( + leading: Icon(Icons.shopping_cart), + title: Text("Pancakes"), + onTap: () { + Navigator.of(context).pop(); + }, + trailing: Text(r"$1.75"), + + ), + ListTile( + leading: Icon(Icons.shopping_cart), + title: Text("Grilled Corn"), + onTap: () { + Navigator.of(context).pop(); + }, + trailing: Text(r"$1.75"), + + ), + + ListTile( + leading: Icon(Icons.shopping_cart), + title: Text("Bacon pizza "), + onTap: () { + Navigator.of(context).pop(); + }, + trailing: Text(r"$7.00"), + + ), + ListTile( + leading: Icon(Icons.shopping_cart), + title: Text("Tortillas"), + onTap: () { + Navigator.of(context).pop(); + }, + trailing: Text(r"$7.75"), + + ), + ListTile( + leading: Icon(Icons.shopping_cart), + title: Text("Coca Cola"), + onTap: () { + Navigator.of(context).pop(); + }, + trailing: Text(r"$5.00"), + + ), + Container( + margin: EdgeInsets.all(20), + child: SizedBox( + width: 100, + height: 30, + + child: RaisedButton( + shape:RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + color: Color.fromRGBO(255, 249, 53, 1), + child: Text("Pay with Credit Card",style: + TextStyle( + color: Colors.black.withOpacity(0.5) + ),), + onPressed:(){ + + }), + ), + ), + ], + ), + ), + ); + } + get buildAppbar { + return AppBar( + title: Text("Pizza Site",style: + TextStyle( + color: Color.fromRGBO(64, 70, 22,1) + ),), + centerTitle: true, + backgroundColor: Color.fromRGBO(159, 163, 227,1), +iconTheme: IconThemeData(color: Colors.black), + ); + } + get buildBody { + return Container( + color: Color.fromRGBO(255,255,255, 1), + child: ListView( + physics: BouncingScrollPhysics(), + children: [ + MyMenu, + MyItem1, + MyItem2, + MyItem3, + ], + ), + ); + } + get MyMenu { + return Container( + child: Row( + children: [ + + buildMenu1, + buildMenu2, + buildMenu3, + + ], + ), + + ); + } + get buildMenu1 { + PageController pagecontroller; + return Container( + margin: EdgeInsets.only(left:35 ,top: 10), + child: RaisedButton( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + color: Color.fromRGBO(180, 64, 16, 1), + + child: Text("All items",style: TextStyle( + color: Colors.white, + ), + ) + , + onPressed: (){ + Navigator.push(context,MaterialPageRoute(builder: (context){ + + return MyAppBar(); + + })); + }), + ); + } + get buildMenu2 { + return Container( + margin: EdgeInsets.only(left:35 ,top: 10), + child: RaisedButton( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + color: Color.fromRGBO(224, 255, 255, 1), + child: Text("Burger",style: TextStyle( + color: Colors.black, + + ), + ) + + , + onPressed: (){ + Navigator.push(context, MaterialPageRoute(builder: (context){ + return MyBurger(); + })); + }), + ); + } + get buildMenu3 { + return Container( + margin: EdgeInsets.only(left:35 ,top: 10), + child: RaisedButton( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + color: Color.fromRGBO(224, 255, 255, 1), + child: Text("Pizza",style: TextStyle( + color: Colors.black, + ), + ) + , + onPressed: (){ + setState(() { + + }); + }), + ); + } + get MyItem1 { + return Container( + child: SingleChildScrollView( + child: Stack + ( + children: [ + + buildItem1, + ], + ), + ), + ); + } + get buildItem1 { + String img1="https://dam.kraftheinzcompany.com/adaptivemedia/rendition/122046_3000x2000.jpg?id=12a910429e20fa8ff0ce0d1c2d6382bce0213672&ht=650&wd=1004&clid=KRCA"; + return Container( + margin: EdgeInsets.all(20), + width: 500, + height: 240, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(20), + color: Color.fromRGBO(244, 147, 242,0.3), + ), + + child: Column( + children: [ + Container( + margin: EdgeInsets.only(right: 220 , top: 30), + child: Text("Bacon pizza", + style: TextStyle( + color: Colors.purple, + fontWeight: FontWeight.bold, + fontSize: 20 + ) + ), + ), + + Container( + margin: EdgeInsets.only(right: 290 , top: 10), + child: Text("150g", + style:TextStyle( + color: Colors.black.withOpacity(0.5), + ) ,), + ), + Row( + children: [ + Container( + margin: EdgeInsets.only(left: 40), + child: Text(r"$7.00" , + style:TextStyle( + color: Color.fromRGBO(255,131,0,1), + fontSize: 25, + fontWeight: FontWeight.bold + ) ,), + ), + Container( + width: 100,height: 100, + margin: EdgeInsets.only(left: 140,bottom: 60), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + image: DecorationImage( + image: NetworkImage(img1), + fit: BoxFit.cover + ) + ), + ) , + ], + ), + ], + ), + ); + } + get MyItem2 { + return Container( + + child: SingleChildScrollView( + child: Stack + ( + children: [ + + buildItem2, + ], + ), + ), + ); + } + get buildItem2 { + String img2="https://images-gmi-pmc.edge-generalmills.com/03846767-9eb1-4dcf-b881-e18cd427171c.jpg"; + return Container( + margin: EdgeInsets.all(20), + width: 500, + height: 240, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(20), + color: Color.fromRGBO(244, 147, 242,0.3), + ), + + child: Column( + children: [ + Container( + margin: EdgeInsets.only(right: 250 , top: 30), + child: Text("Tortillas", + style: TextStyle( + color: Colors.purple, + fontWeight: FontWeight.bold, + fontSize: 20 + ) + ), + ), + + Container( + margin: EdgeInsets.only(right: 290 , top: 10), + child: Text("150g", + style:TextStyle( + color: Colors.black.withOpacity(0.5), + ) ,), + ), + Row( + children: [ + Container( + margin: EdgeInsets.only(left: 40), + child: Text(r"$7.75" , + style:TextStyle( + color: Color.fromRGBO(255,131,0,1), + fontSize: 25, + fontWeight: FontWeight.bold + ) ,), + ), + Container( + width: 100,height: 100, + margin: EdgeInsets.only(left: 140,bottom: 60), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + image: DecorationImage( + image: NetworkImage(img2), + fit: BoxFit.cover + ) + ), + ) , + ], + ), + ], + ), + ); + } + get MyItem3 { + return Container( + + child: SingleChildScrollView( + child: Stack + ( + children: [ + + buildItem3, + ], + ), + ), + ); + } + get buildItem3 { + String img3="https://www.moulinex-me.com/medias/?context=bWFzdGVyfHJvb3R8MTQzNTExfGltYWdlL2pwZWd8aDM2L2g1Mi8xMzA5NzI3MzI2MjExMC5qcGd8N2MxZDhmNmI5ZTgzZDZlZWQyZGQ4YjFlZjUyNDlkMTExYjdkZDdlZmFkY2I0N2NmNjljOGViNmExZjIyMDU4Yw"; + return Container( + margin: EdgeInsets.all(20), + width: 500, + height: 240, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(20), + color: Color.fromRGBO(244, 147, 242,0.3), + ), + + child: Column( + children: [ + Container( + margin: EdgeInsets.only(right: 180 , top: 30), + child: Text("Pepperoni pizza", + style: TextStyle( + color: Colors.purple, + fontWeight: FontWeight.bold, + fontSize: 20 + ) + ), + ), + + Container( + margin: EdgeInsets.only(right: 290 , top: 10), + child: Text("150g", + style:TextStyle( + color: Colors.black.withOpacity(0.5), + ) ,), + ), + Row( + children: [ + Container( + margin: EdgeInsets.only(left: 40), + child: Text(r"$1.75" , + style:TextStyle( + color: Color.fromRGBO(255,131,0,1), + fontSize: 25, + fontWeight: FontWeight.bold + ) ,), + ), + Container( + width: 100,height: 100, + margin: EdgeInsets.only(left: 140,bottom: 60), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + image: DecorationImage( + image: NetworkImage(img3), + fit: BoxFit.cover + ) + ), + ) , + ], + ), + ], + ), + ); + } +} diff --git a/lib/main.dart b/lib/main.dart new file mode 100644 index 0000000..1ae3bc1 --- /dev/null +++ b/lib/main.dart @@ -0,0 +1,23 @@ +import 'package:cubetiqs_pos_system/Page1/MyLogin.dart'; +import 'package:flutter/material.dart'; +import 'Page1/MyAppBar.dart'; +import 'Page1/MyBurgerPage.dart'; + +void main() +{ + runApp(MyApp()); +} +class MyApp extends StatefulWidget { + @override + _MyAppState createState() => _MyAppState(); +} + +class _MyAppState extends State { + @override + Widget build(BuildContext context) { + return MaterialApp( + debugShowCheckedModeBanner: false, + home: Mylogin(), + ); + } +} diff --git a/pubspec.lock b/pubspec.lock new file mode 100644 index 0000000..2040bb3 --- /dev/null +++ b/pubspec.lock @@ -0,0 +1,160 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + async: + dependency: transitive + description: + name: async + url: "https://pub.dartlang.org" + source: hosted + version: "2.5.0-nullsafety.1" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0-nullsafety.1" + characters: + dependency: transitive + description: + name: characters + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0-nullsafety.3" + charcode: + dependency: transitive + description: + name: charcode + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0-nullsafety.1" + clock: + dependency: transitive + description: + name: clock + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0-nullsafety.1" + collection: + dependency: transitive + description: + name: collection + url: "https://pub.dartlang.org" + source: hosted + version: "1.15.0-nullsafety.3" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.0" + fake_async: + dependency: transitive + description: + name: fake_async + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0-nullsafety.1" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_icons: + dependency: "direct main" + description: + name: flutter_icons + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + matcher: + dependency: transitive + description: + name: matcher + url: "https://pub.dartlang.org" + source: hosted + version: "0.12.10-nullsafety.1" + meta: + dependency: transitive + description: + name: meta + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.0-nullsafety.3" + path: + dependency: transitive + description: + name: path + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.0-nullsafety.1" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_span: + dependency: transitive + description: + name: source_span + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.0-nullsafety.2" + stack_trace: + dependency: transitive + description: + name: stack_trace + url: "https://pub.dartlang.org" + source: hosted + version: "1.10.0-nullsafety.1" + stream_channel: + dependency: transitive + description: + name: stream_channel + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0-nullsafety.1" + string_scanner: + dependency: transitive + description: + name: string_scanner + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0-nullsafety.1" + term_glyph: + dependency: transitive + description: + name: term_glyph + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0-nullsafety.1" + test_api: + dependency: transitive + description: + name: test_api + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.19-nullsafety.2" + typed_data: + dependency: transitive + description: + name: typed_data + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.0-nullsafety.3" + vector_math: + dependency: transitive + description: + name: vector_math + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0-nullsafety.3" +sdks: + dart: ">=2.10.0-110 <2.11.0" diff --git a/pubspec.yaml b/pubspec.yaml new file mode 100644 index 0000000..684c2cd --- /dev/null +++ b/pubspec.yaml @@ -0,0 +1,81 @@ +name: cubetiqs_pos_system +description: A new Flutter application. + +# The following line prevents the package from being accidentally published to +# pub.dev using `pub publish`. This is preferred for private packages. +publish_to: 'none' # Remove this line if you wish to publish to pub.dev + +# The following defines the version and build number for your application. +# A version number is three numbers separated by dots, like 1.2.43 +# followed by an optional build number separated by a +. +# Both the version and the builder number may be overridden in flutter +# build by specifying --build-name and --build-number, respectively. +# In Android, build-name is used as versionName while build-number used as versionCode. +# Read more about Android versioning at https://developer.android.com/studio/publish/versioning +# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. +# Read more about iOS versioning at +# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html +version: 1.0.0+1 + +environment: + sdk: ">=2.7.0 <3.0.0" + +dependencies: + flutter: + sdk: flutter + + + # The following adds the Cupertino Icons font to your application. + # Use with the CupertinoIcons class for iOS style icons. + cupertino_icons: ^1.0.0 + flutter_icons: ^1.1.0 + +dev_dependencies: + flutter_test: + sdk: flutter + +# For information on the generic Dart part of this file, see the +# following page: https://dart.dev/tools/pub/pubspec + +# The following section is specific to Flutter. +flutter: + + # The following line ensures that the Material Icons font is + # included with your application, so that you can use the icons in + # the material Icons class. + uses-material-design: true + + # To add assets to your application, add an assets section, like this: + # assets: + # - images/a_dot_burr.jpeg + # - images/a_dot_ham.jpeg + + # An image asset can refer to one or more resolution-specific "variants", see + # https://flutter.dev/assets-and-images/#resolution-aware. + + # For details regarding adding assets from package dependencies, see + # https://flutter.dev/assets-and-images/#from-packages + + # To add custom fonts to your application, add a fonts section here, + # in this "flutter" section. Each entry in this list should have a + # "family" key with the font family name, and a "fonts" key with a + # list giving the asset and other descriptors for the font. For + # example: + fonts: + - family: Instagramf + fonts: + - asset: Fonts/FontsFree-Net-Billabong.ttf + # fonts: + # - family: Schyler + # fonts: + # - asset: fonts/Schyler-Regular.ttf + # - asset: fonts/Schyler-Italic.ttf + # style: italic + # - family: Trajan Pro + # fonts: + # - asset: fonts/TrajanPro.ttf + # - asset: fonts/TrajanPro_Bold.ttf + # weight: 700 + # + # For details regarding fonts from package dependencies, + # see https://flutter.dev/custom-fonts/#from-packages