├── .firebase └── hosting.YnVpbGQvd2Vi.cache ├── .firebaserc ├── .gitignore ├── .metadata ├── README.md ├── analysis_options.yaml ├── android ├── .gitignore ├── app │ ├── build.gradle │ └── src │ │ ├── debug │ │ └── AndroidManifest.xml │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── getx_restaurant │ │ │ │ └── MainActivity.java │ │ └── res │ │ │ ├── drawable-v21 │ │ │ └── launch_background.xml │ │ │ ├── drawable │ │ │ └── launch_background.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-night │ │ │ └── styles.xml │ │ │ └── values │ │ │ └── styles.xml │ │ └── profile │ │ └── AndroidManifest.xml ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ └── gradle-wrapper.properties └── settings.gradle ├── firebase.json ├── ios ├── .gitignore ├── Flutter │ ├── AppFrameworkInfo.plist │ ├── Debug.xcconfig │ └── Release.xcconfig ├── Podfile ├── Podfile.lock ├── Runner.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── WorkspaceSettings.xcsettings │ └── xcshareddata │ │ └── xcschemes │ │ └── Runner.xcscheme ├── Runner.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ ├── IDEWorkspaceChecks.plist │ │ └── WorkspaceSettings.xcsettings └── Runner │ ├── AppDelegate.swift │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── Icon-App-1024x1024@1x.png │ │ ├── Icon-App-20x20@1x.png │ │ ├── Icon-App-20x20@2x.png │ │ ├── Icon-App-20x20@3x.png │ │ ├── Icon-App-29x29@1x.png │ │ ├── Icon-App-29x29@2x.png │ │ ├── Icon-App-29x29@3x.png │ │ ├── Icon-App-40x40@1x.png │ │ ├── Icon-App-40x40@2x.png │ │ ├── Icon-App-40x40@3x.png │ │ ├── Icon-App-60x60@2x.png │ │ ├── Icon-App-60x60@3x.png │ │ ├── Icon-App-76x76@1x.png │ │ ├── Icon-App-76x76@2x.png │ │ └── Icon-App-83.5x83.5@2x.png │ └── LaunchImage.imageset │ │ ├── Contents.json │ │ ├── LaunchImage.png │ │ ├── LaunchImage@2x.png │ │ ├── LaunchImage@3x.png │ │ └── README.md │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ └── Runner-Bridging-Header.h ├── lib ├── app_theme.dart ├── constants │ ├── color_constants.dart │ └── keys.dart ├── controllers │ ├── store_controller.dart │ └── theme_controller.dart ├── home.dart ├── main.dart ├── models │ ├── food.dart │ ├── menu.dart │ └── reviews.dart ├── screens │ ├── add_follower_count.dart │ ├── add_followers.dart │ ├── add_reviews.dart │ ├── store_status.dart │ ├── update_menu.dart │ └── update_store_name.dart ├── services │ ├── provider.dart │ ├── repository.dart │ └── storage_service.dart ├── store_binding.dart └── widgets │ ├── card_main.dart │ ├── rounded_input.dart │ └── side_drawer.dart ├── pubspec.lock ├── pubspec.yaml └── web ├── favicon.png ├── icons ├── Icon-192.png ├── Icon-512.png ├── Icon-maskable-192.png └── Icon-maskable-512.png ├── index.html └── manifest.json /.firebase/hosting.YnVpbGQvd2Vi.cache: -------------------------------------------------------------------------------- 1 | favicon.png,1631250634694,fcc7c4545d5b62ad01682589e6fdc7ea03d0a3b42069963c815c344b632eb5cf 2 | flutter_service_worker.js,1640935067476,fd7b6085990ac5c5def0317baa66f0e43bd6dd569eff5790176dd9d523f8d422 3 | index.html,1640935066697,6b6872f5ef71da41d5d853742b2d0d0dcd568369b19c5262ad90b9ed52847b38 4 | manifest.json,1640259268107,0e5191032d48c6e86b2f457aef5fdf6616b991254aa8dbe988b09fc8af474767 5 | version.json,1640935066526,fdd34bf1cc88ae9c1abf5d71c63902faccaae98f882a737928d4fd48db20e913 6 | assets/AssetManifest.json,1640935066692,e1765baf5f9582d7f51cb137538999d143b3054c36c13a0eecaa940b3079e566 7 | assets/FontManifest.json,1640935066692,9ea504185602e57d97b7c3517d382b8627a13c0181c490c96a9b55a5d5c8810c 8 | icons/Icon-192.png,1631250634694,d2e0131bb7851eb9d98f7885edb5ae4b4d6b7a6c7addf8a25b9b712b39274c0f 9 | icons/Icon-512.png,1631250634694,7a31ce91e554f1941158ca46f31c7f3f2b7c8c129229ea74a8fae1affe335033 10 | icons/Icon-maskable-192.png,1631250708332,dd96c123fdf6817cdf7e63d9693bcc246bac2e3782a41a6952fa41c0617c5573 11 | icons/Icon-maskable-512.png,1631250708329,e7983524dc70254adc61764657d7e03d19284de8da586b5818d737bc08c6d14e 12 | canvaskit/canvaskit.js,315426600000,332d67a51b86f5129fc7d929d6bb6bd0416b17fd853899efc1f5044770954ed6 13 | canvaskit/profiling/canvaskit.js,315426600000,41ae97b4ac8a386f55b22f1962c7b564da96df256fd938d684e73a8061e70b61 14 | assets/packages/cupertino_icons/assets/CupertinoIcons.ttf,1638440751305,3064af137aeffc9011ba060601a01177b279963822310a778aeafa74c209732c 15 | assets/NOTICES,1640935066692,04930d6905381387c9b30297faf1de66ca699eff6e977b2314456972c3de99c9 16 | assets/fonts/MaterialIcons-Regular.otf,1615548162000,5f71a8843e4edc9656c39061c2232458a6fc77e1603305960e4efa9c77f8b7a2 17 | main.dart.js,1640935065903,39a1e261b46e2b6ed0c039076c3603073cff44aa53696011ae146ac991cde867 18 | canvaskit/canvaskit.wasm,315426600000,8dae2a06cf716711e3578aa55ee7b03ccdc54b4bdc9be9ee50c33515d2b3a7fe 19 | canvaskit/profiling/canvaskit.wasm,315426600000,cb4c2221f1c20811ac3a33666833b4458656193de55b276b3c8fc31856b2f3a0 20 | -------------------------------------------------------------------------------- /.firebaserc: -------------------------------------------------------------------------------- 1 | { 2 | "projects": { 3 | "default": "hosting-web-apps" 4 | }, 5 | "targets": { 6 | "hosting-web-apps": { 7 | "hosting": { 8 | "getx": [ 9 | "getx-store" 10 | ] 11 | } 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Miscellaneous 2 | *.class 3 | *.log 4 | *.pyc 5 | *.swp 6 | .DS_Store 7 | .atom/ 8 | .buildlog/ 9 | .history 10 | .svn/ 11 | 12 | # IntelliJ related 13 | *.iml 14 | *.ipr 15 | *.iws 16 | .idea/ 17 | 18 | # The .vscode folder contains launch configuration and tasks you configure in 19 | # VS Code which you may wish to be included in version control, so this line 20 | # is commented out by default. 21 | #.vscode/ 22 | 23 | # Flutter/Dart/Pub related 24 | **/doc/api/ 25 | **/ios/Flutter/.last_build_id 26 | .dart_tool/ 27 | .flutter-plugins 28 | .flutter-plugins-dependencies 29 | .packages 30 | .pub-cache/ 31 | .pub/ 32 | /build/ 33 | 34 | # Web related 35 | lib/generated_plugin_registrant.dart 36 | 37 | # Symbolication related 38 | app.*.symbols 39 | 40 | # Obfuscation related 41 | app.*.map.json 42 | 43 | # Android Studio will place build artifacts here 44 | /android/app/debug 45 | /android/app/profile 46 | /android/app/release 47 | -------------------------------------------------------------------------------- /.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: cf4400006550b70f28e4b4af815151d1e74846c6 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # getx_restaurant 2 | 3 | A new Flutter project that explain GetX State Management, Route Management & Dependency Injection. 4 | 5 | ## Getting Started 6 | 7 | You can preview this project through the web link given below 8 | https://getx-store.web.app/#/ 9 | -------------------------------------------------------------------------------- /analysis_options.yaml: -------------------------------------------------------------------------------- 1 | # This file configures the analyzer, which statically analyzes Dart code to 2 | # check for errors, warnings, and lints. 3 | # 4 | # The issues identified by the analyzer are surfaced in the UI of Dart-enabled 5 | # IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be 6 | # invoked from the command line by running `flutter analyze`. 7 | 8 | # The following line activates a set of recommended lints for Flutter apps, 9 | # packages, and plugins designed to encourage good coding practices. 10 | include: package:flutter_lints/flutter.yaml 11 | 12 | linter: 13 | # The lint rules applied to this project can be customized in the 14 | # section below to disable rules from the `package:flutter_lints/flutter.yaml` 15 | # included above or to enable additional rules. A list of all available lints 16 | # and their documentation is published at 17 | # https://dart-lang.github.io/linter/lints/index.html. 18 | # 19 | # Instead of disabling a lint rule for the entire project in the 20 | # section below, it can also be suppressed for a single line of code 21 | # or a specific dart file by using the `// ignore: name_of_lint` and 22 | # `// ignore_for_file: name_of_lint` syntax on the line or in the file 23 | # producing the lint. 24 | rules: 25 | # avoid_print: false # Uncomment to disable the `avoid_print` rule 26 | # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule 27 | 28 | # Additional information about this file can be found at 29 | # https://dart.dev/guides/language/analysis-options 30 | -------------------------------------------------------------------------------- /android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | 9 | # Remember to never publicly share your keystore. 10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app 11 | key.properties 12 | **/*.keystore 13 | **/*.jks 14 | -------------------------------------------------------------------------------- /android/app/build.gradle: -------------------------------------------------------------------------------- 1 | def localProperties = new Properties() 2 | def localPropertiesFile = rootProject.file('local.properties') 3 | if (localPropertiesFile.exists()) { 4 | localPropertiesFile.withReader('UTF-8') { reader -> 5 | localProperties.load(reader) 6 | } 7 | } 8 | 9 | def flutterRoot = localProperties.getProperty('flutter.sdk') 10 | if (flutterRoot == null) { 11 | throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") 12 | } 13 | 14 | def flutterVersionCode = localProperties.getProperty('flutter.versionCode') 15 | if (flutterVersionCode == null) { 16 | flutterVersionCode = '1' 17 | } 18 | 19 | def flutterVersionName = localProperties.getProperty('flutter.versionName') 20 | if (flutterVersionName == null) { 21 | flutterVersionName = '1.0' 22 | } 23 | 24 | apply plugin: 'com.android.application' 25 | apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" 26 | 27 | android { 28 | compileSdkVersion flutter.compileSdkVersion 29 | 30 | compileOptions { 31 | sourceCompatibility JavaVersion.VERSION_1_8 32 | targetCompatibility JavaVersion.VERSION_1_8 33 | } 34 | 35 | defaultConfig { 36 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). 37 | applicationId "com.example.getx_restaurant" 38 | minSdkVersion flutter.minSdkVersion 39 | targetSdkVersion flutter.targetSdkVersion 40 | versionCode flutterVersionCode.toInteger() 41 | versionName flutterVersionName 42 | } 43 | 44 | buildTypes { 45 | release { 46 | // TODO: Add your own signing config for the release build. 47 | // Signing with the debug keys for now, so `flutter run --release` works. 48 | signingConfig signingConfigs.debug 49 | } 50 | } 51 | } 52 | 53 | flutter { 54 | source '../..' 55 | } 56 | -------------------------------------------------------------------------------- /android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 7 | 15 | 19 | 23 | 24 | 25 | 26 | 27 | 28 | 30 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /android/app/src/main/java/com/example/getx_restaurant/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.example.getx_restaurant; 2 | 3 | import io.flutter.embedding.android.FlutterActivity; 4 | 5 | public class MainActivity extends FlutterActivity { 6 | } 7 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-v21/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/values-night/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 15 | 18 | 19 | -------------------------------------------------------------------------------- /android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 15 | 18 | 19 | -------------------------------------------------------------------------------- /android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /android/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | } 6 | 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:4.1.0' 9 | } 10 | } 11 | 12 | allprojects { 13 | repositories { 14 | google() 15 | mavenCentral() 16 | } 17 | } 18 | 19 | rootProject.buildDir = '../build' 20 | subprojects { 21 | project.buildDir = "${rootProject.buildDir}/${project.name}" 22 | } 23 | subprojects { 24 | project.evaluationDependsOn(':app') 25 | } 26 | 27 | task clean(type: Delete) { 28 | delete rootProject.buildDir 29 | } 30 | -------------------------------------------------------------------------------- /android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jun 23 08:50:38 CEST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip 7 | -------------------------------------------------------------------------------- /android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | 3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties") 4 | def properties = new Properties() 5 | 6 | assert localPropertiesFile.exists() 7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } 8 | 9 | def flutterSdkPath = properties.getProperty("flutter.sdk") 10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties" 11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" 12 | -------------------------------------------------------------------------------- /firebase.json: -------------------------------------------------------------------------------- 1 | { 2 | "hosting": { 3 | "target": "getx", 4 | "public": "build/web", 5 | "ignore": [ 6 | "firebase.json", 7 | "**/.*", 8 | "**/node_modules/**" 9 | ], 10 | "rewrites": [ 11 | { 12 | "source": "**", 13 | "destination": "/index.html" 14 | } 15 | ] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ios/.gitignore: -------------------------------------------------------------------------------- 1 | **/dgph 2 | *.mode1v3 3 | *.mode2v3 4 | *.moved-aside 5 | *.pbxuser 6 | *.perspectivev3 7 | **/*sync/ 8 | .sconsign.dblite 9 | .tags* 10 | **/.vagrant/ 11 | **/DerivedData/ 12 | Icon? 13 | **/Pods/ 14 | **/.symlinks/ 15 | profile 16 | xcuserdata 17 | **/.generated/ 18 | Flutter/App.framework 19 | Flutter/Flutter.framework 20 | Flutter/Flutter.podspec 21 | Flutter/Generated.xcconfig 22 | Flutter/ephemeral/ 23 | Flutter/app.flx 24 | Flutter/app.zip 25 | Flutter/flutter_assets/ 26 | Flutter/flutter_export_environment.sh 27 | ServiceDefinitions.json 28 | Runner/GeneratedPluginRegistrant.* 29 | 30 | # Exceptions to above rules. 31 | !default.mode1v3 32 | !default.mode2v3 33 | !default.pbxuser 34 | !default.perspectivev3 35 | -------------------------------------------------------------------------------- /ios/Flutter/AppFrameworkInfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | App 9 | CFBundleIdentifier 10 | io.flutter.flutter.app 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | App 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | MinimumOSVersion 24 | 9.0 25 | 26 | 27 | -------------------------------------------------------------------------------- /ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" 2 | #include "Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" 2 | #include "Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /ios/Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment this line to define a global platform for your project 2 | # platform :ios, '9.0' 3 | 4 | # CocoaPods analytics sends network stats synchronously affecting flutter build latency. 5 | ENV['COCOAPODS_DISABLE_STATS'] = 'true' 6 | 7 | project 'Runner', { 8 | 'Debug' => :debug, 9 | 'Profile' => :release, 10 | 'Release' => :release, 11 | } 12 | 13 | def flutter_root 14 | generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) 15 | unless File.exist?(generated_xcode_build_settings_path) 16 | raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" 17 | end 18 | 19 | File.foreach(generated_xcode_build_settings_path) do |line| 20 | matches = line.match(/FLUTTER_ROOT\=(.*)/) 21 | return matches[1].strip if matches 22 | end 23 | raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" 24 | end 25 | 26 | require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) 27 | 28 | flutter_ios_podfile_setup 29 | 30 | target 'Runner' do 31 | use_frameworks! 32 | use_modular_headers! 33 | 34 | flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) 35 | end 36 | 37 | post_install do |installer| 38 | installer.pods_project.targets.each do |target| 39 | flutter_additional_ios_build_settings(target) 40 | end 41 | end 42 | -------------------------------------------------------------------------------- /ios/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Flutter (1.0.0) 3 | - path_provider_ios (0.0.1): 4 | - Flutter 5 | 6 | DEPENDENCIES: 7 | - Flutter (from `Flutter`) 8 | - path_provider_ios (from `.symlinks/plugins/path_provider_ios/ios`) 9 | 10 | EXTERNAL SOURCES: 11 | Flutter: 12 | :path: Flutter 13 | path_provider_ios: 14 | :path: ".symlinks/plugins/path_provider_ios/ios" 15 | 16 | SPEC CHECKSUMS: 17 | Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a 18 | path_provider_ios: 7d7ce634493af4477d156294792024ec3485acd5 19 | 20 | PODFILE CHECKSUM: aafe91acc616949ddb318b77800a7f51bffa2a4c 21 | 22 | COCOAPODS: 1.10.1 23 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 50; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 11 | 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 12 | 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; 13 | 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 14 | 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 15 | 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; 16 | C5FD56CED3B3FA0E712B8337 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 222590734A060A3CA36F0262 /* Pods_Runner.framework */; }; 17 | /* End PBXBuildFile section */ 18 | 19 | /* Begin PBXCopyFilesBuildPhase section */ 20 | 9705A1C41CF9048500538489 /* Embed Frameworks */ = { 21 | isa = PBXCopyFilesBuildPhase; 22 | buildActionMask = 2147483647; 23 | dstPath = ""; 24 | dstSubfolderSpec = 10; 25 | files = ( 26 | ); 27 | name = "Embed Frameworks"; 28 | runOnlyForDeploymentPostprocessing = 0; 29 | }; 30 | /* End PBXCopyFilesBuildPhase section */ 31 | 32 | /* Begin PBXFileReference section */ 33 | 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 34 | 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; 35 | 197A18483B122455C848DA6A /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 36 | 222590734A060A3CA36F0262 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 37 | 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; 38 | 586152059D71755126489B6B /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 39 | 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 40 | 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 41 | 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; 42 | 8542DC8293BE411449A615A2 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 43 | 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 44 | 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 45 | 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; 46 | 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 47 | 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 48 | 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 49 | 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 50 | /* End PBXFileReference section */ 51 | 52 | /* Begin PBXFrameworksBuildPhase section */ 53 | 97C146EB1CF9000F007C117D /* Frameworks */ = { 54 | isa = PBXFrameworksBuildPhase; 55 | buildActionMask = 2147483647; 56 | files = ( 57 | C5FD56CED3B3FA0E712B8337 /* Pods_Runner.framework in Frameworks */, 58 | ); 59 | runOnlyForDeploymentPostprocessing = 0; 60 | }; 61 | /* End PBXFrameworksBuildPhase section */ 62 | 63 | /* Begin PBXGroup section */ 64 | 05CF5592D96B51FF9BDC0786 /* Frameworks */ = { 65 | isa = PBXGroup; 66 | children = ( 67 | 222590734A060A3CA36F0262 /* Pods_Runner.framework */, 68 | ); 69 | name = Frameworks; 70 | sourceTree = ""; 71 | }; 72 | 9740EEB11CF90186004384FC /* Flutter */ = { 73 | isa = PBXGroup; 74 | children = ( 75 | 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, 76 | 9740EEB21CF90195004384FC /* Debug.xcconfig */, 77 | 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, 78 | 9740EEB31CF90195004384FC /* Generated.xcconfig */, 79 | ); 80 | name = Flutter; 81 | sourceTree = ""; 82 | }; 83 | 97C146E51CF9000F007C117D = { 84 | isa = PBXGroup; 85 | children = ( 86 | 9740EEB11CF90186004384FC /* Flutter */, 87 | 97C146F01CF9000F007C117D /* Runner */, 88 | 97C146EF1CF9000F007C117D /* Products */, 89 | DD49E157EC2D6761F287B99F /* Pods */, 90 | 05CF5592D96B51FF9BDC0786 /* Frameworks */, 91 | ); 92 | sourceTree = ""; 93 | }; 94 | 97C146EF1CF9000F007C117D /* Products */ = { 95 | isa = PBXGroup; 96 | children = ( 97 | 97C146EE1CF9000F007C117D /* Runner.app */, 98 | ); 99 | name = Products; 100 | sourceTree = ""; 101 | }; 102 | 97C146F01CF9000F007C117D /* Runner */ = { 103 | isa = PBXGroup; 104 | children = ( 105 | 97C146FA1CF9000F007C117D /* Main.storyboard */, 106 | 97C146FD1CF9000F007C117D /* Assets.xcassets */, 107 | 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, 108 | 97C147021CF9000F007C117D /* Info.plist */, 109 | 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, 110 | 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, 111 | 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, 112 | 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, 113 | ); 114 | path = Runner; 115 | sourceTree = ""; 116 | }; 117 | DD49E157EC2D6761F287B99F /* Pods */ = { 118 | isa = PBXGroup; 119 | children = ( 120 | 586152059D71755126489B6B /* Pods-Runner.debug.xcconfig */, 121 | 8542DC8293BE411449A615A2 /* Pods-Runner.release.xcconfig */, 122 | 197A18483B122455C848DA6A /* Pods-Runner.profile.xcconfig */, 123 | ); 124 | name = Pods; 125 | path = Pods; 126 | sourceTree = ""; 127 | }; 128 | /* End PBXGroup section */ 129 | 130 | /* Begin PBXNativeTarget section */ 131 | 97C146ED1CF9000F007C117D /* Runner */ = { 132 | isa = PBXNativeTarget; 133 | buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; 134 | buildPhases = ( 135 | A17103B5703C0F94F5568166 /* [CP] Check Pods Manifest.lock */, 136 | 9740EEB61CF901F6004384FC /* Run Script */, 137 | 97C146EA1CF9000F007C117D /* Sources */, 138 | 97C146EB1CF9000F007C117D /* Frameworks */, 139 | 97C146EC1CF9000F007C117D /* Resources */, 140 | 9705A1C41CF9048500538489 /* Embed Frameworks */, 141 | 3B06AD1E1E4923F5004D2608 /* Thin Binary */, 142 | 1F4B2D0168A48FB258648BBF /* [CP] Embed Pods Frameworks */, 143 | ); 144 | buildRules = ( 145 | ); 146 | dependencies = ( 147 | ); 148 | name = Runner; 149 | productName = Runner; 150 | productReference = 97C146EE1CF9000F007C117D /* Runner.app */; 151 | productType = "com.apple.product-type.application"; 152 | }; 153 | /* End PBXNativeTarget section */ 154 | 155 | /* Begin PBXProject section */ 156 | 97C146E61CF9000F007C117D /* Project object */ = { 157 | isa = PBXProject; 158 | attributes = { 159 | LastUpgradeCheck = 1300; 160 | ORGANIZATIONNAME = ""; 161 | TargetAttributes = { 162 | 97C146ED1CF9000F007C117D = { 163 | CreatedOnToolsVersion = 7.3.1; 164 | LastSwiftMigration = 1100; 165 | }; 166 | }; 167 | }; 168 | buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; 169 | compatibilityVersion = "Xcode 9.3"; 170 | developmentRegion = en; 171 | hasScannedForEncodings = 0; 172 | knownRegions = ( 173 | en, 174 | Base, 175 | ); 176 | mainGroup = 97C146E51CF9000F007C117D; 177 | productRefGroup = 97C146EF1CF9000F007C117D /* Products */; 178 | projectDirPath = ""; 179 | projectRoot = ""; 180 | targets = ( 181 | 97C146ED1CF9000F007C117D /* Runner */, 182 | ); 183 | }; 184 | /* End PBXProject section */ 185 | 186 | /* Begin PBXResourcesBuildPhase section */ 187 | 97C146EC1CF9000F007C117D /* Resources */ = { 188 | isa = PBXResourcesBuildPhase; 189 | buildActionMask = 2147483647; 190 | files = ( 191 | 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, 192 | 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, 193 | 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, 194 | 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, 195 | ); 196 | runOnlyForDeploymentPostprocessing = 0; 197 | }; 198 | /* End PBXResourcesBuildPhase section */ 199 | 200 | /* Begin PBXShellScriptBuildPhase section */ 201 | 1F4B2D0168A48FB258648BBF /* [CP] Embed Pods Frameworks */ = { 202 | isa = PBXShellScriptBuildPhase; 203 | buildActionMask = 2147483647; 204 | files = ( 205 | ); 206 | inputFileListPaths = ( 207 | "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", 208 | ); 209 | name = "[CP] Embed Pods Frameworks"; 210 | outputFileListPaths = ( 211 | "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", 212 | ); 213 | runOnlyForDeploymentPostprocessing = 0; 214 | shellPath = /bin/sh; 215 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; 216 | showEnvVarsInLog = 0; 217 | }; 218 | 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { 219 | isa = PBXShellScriptBuildPhase; 220 | buildActionMask = 2147483647; 221 | files = ( 222 | ); 223 | inputPaths = ( 224 | ); 225 | name = "Thin Binary"; 226 | outputPaths = ( 227 | ); 228 | runOnlyForDeploymentPostprocessing = 0; 229 | shellPath = /bin/sh; 230 | shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; 231 | }; 232 | 9740EEB61CF901F6004384FC /* Run Script */ = { 233 | isa = PBXShellScriptBuildPhase; 234 | buildActionMask = 2147483647; 235 | files = ( 236 | ); 237 | inputPaths = ( 238 | ); 239 | name = "Run Script"; 240 | outputPaths = ( 241 | ); 242 | runOnlyForDeploymentPostprocessing = 0; 243 | shellPath = /bin/sh; 244 | shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; 245 | }; 246 | A17103B5703C0F94F5568166 /* [CP] Check Pods Manifest.lock */ = { 247 | isa = PBXShellScriptBuildPhase; 248 | buildActionMask = 2147483647; 249 | files = ( 250 | ); 251 | inputFileListPaths = ( 252 | ); 253 | inputPaths = ( 254 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock", 255 | "${PODS_ROOT}/Manifest.lock", 256 | ); 257 | name = "[CP] Check Pods Manifest.lock"; 258 | outputFileListPaths = ( 259 | ); 260 | outputPaths = ( 261 | "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", 262 | ); 263 | runOnlyForDeploymentPostprocessing = 0; 264 | shellPath = /bin/sh; 265 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; 266 | showEnvVarsInLog = 0; 267 | }; 268 | /* End PBXShellScriptBuildPhase section */ 269 | 270 | /* Begin PBXSourcesBuildPhase section */ 271 | 97C146EA1CF9000F007C117D /* Sources */ = { 272 | isa = PBXSourcesBuildPhase; 273 | buildActionMask = 2147483647; 274 | files = ( 275 | 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, 276 | 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, 277 | ); 278 | runOnlyForDeploymentPostprocessing = 0; 279 | }; 280 | /* End PBXSourcesBuildPhase section */ 281 | 282 | /* Begin PBXVariantGroup section */ 283 | 97C146FA1CF9000F007C117D /* Main.storyboard */ = { 284 | isa = PBXVariantGroup; 285 | children = ( 286 | 97C146FB1CF9000F007C117D /* Base */, 287 | ); 288 | name = Main.storyboard; 289 | sourceTree = ""; 290 | }; 291 | 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { 292 | isa = PBXVariantGroup; 293 | children = ( 294 | 97C147001CF9000F007C117D /* Base */, 295 | ); 296 | name = LaunchScreen.storyboard; 297 | sourceTree = ""; 298 | }; 299 | /* End PBXVariantGroup section */ 300 | 301 | /* Begin XCBuildConfiguration section */ 302 | 249021D3217E4FDB00AE95B9 /* Profile */ = { 303 | isa = XCBuildConfiguration; 304 | buildSettings = { 305 | ALWAYS_SEARCH_USER_PATHS = NO; 306 | CLANG_ANALYZER_NONNULL = YES; 307 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 308 | CLANG_CXX_LIBRARY = "libc++"; 309 | CLANG_ENABLE_MODULES = YES; 310 | CLANG_ENABLE_OBJC_ARC = YES; 311 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 312 | CLANG_WARN_BOOL_CONVERSION = YES; 313 | CLANG_WARN_COMMA = YES; 314 | CLANG_WARN_CONSTANT_CONVERSION = YES; 315 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 316 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 317 | CLANG_WARN_EMPTY_BODY = YES; 318 | CLANG_WARN_ENUM_CONVERSION = YES; 319 | CLANG_WARN_INFINITE_RECURSION = YES; 320 | CLANG_WARN_INT_CONVERSION = YES; 321 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 322 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 323 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 324 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 325 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 326 | CLANG_WARN_STRICT_PROTOTYPES = YES; 327 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 328 | CLANG_WARN_UNREACHABLE_CODE = YES; 329 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 330 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 331 | COPY_PHASE_STRIP = NO; 332 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 333 | ENABLE_NS_ASSERTIONS = NO; 334 | ENABLE_STRICT_OBJC_MSGSEND = YES; 335 | GCC_C_LANGUAGE_STANDARD = gnu99; 336 | GCC_NO_COMMON_BLOCKS = YES; 337 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 338 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 339 | GCC_WARN_UNDECLARED_SELECTOR = YES; 340 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 341 | GCC_WARN_UNUSED_FUNCTION = YES; 342 | GCC_WARN_UNUSED_VARIABLE = YES; 343 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; 344 | MTL_ENABLE_DEBUG_INFO = NO; 345 | SDKROOT = iphoneos; 346 | SUPPORTED_PLATFORMS = iphoneos; 347 | TARGETED_DEVICE_FAMILY = "1,2"; 348 | VALIDATE_PRODUCT = YES; 349 | }; 350 | name = Profile; 351 | }; 352 | 249021D4217E4FDB00AE95B9 /* Profile */ = { 353 | isa = XCBuildConfiguration; 354 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; 355 | buildSettings = { 356 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 357 | CLANG_ENABLE_MODULES = YES; 358 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; 359 | DEVELOPMENT_TEAM = VVCX448RDD; 360 | ENABLE_BITCODE = NO; 361 | INFOPLIST_FILE = Runner/Info.plist; 362 | LD_RUNPATH_SEARCH_PATHS = ( 363 | "$(inherited)", 364 | "@executable_path/Frameworks", 365 | ); 366 | PRODUCT_BUNDLE_IDENTIFIER = com.example.getxRestaurant; 367 | PRODUCT_NAME = "$(TARGET_NAME)"; 368 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; 369 | SWIFT_VERSION = 5.0; 370 | VERSIONING_SYSTEM = "apple-generic"; 371 | }; 372 | name = Profile; 373 | }; 374 | 97C147031CF9000F007C117D /* Debug */ = { 375 | isa = XCBuildConfiguration; 376 | buildSettings = { 377 | ALWAYS_SEARCH_USER_PATHS = NO; 378 | CLANG_ANALYZER_NONNULL = YES; 379 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 380 | CLANG_CXX_LIBRARY = "libc++"; 381 | CLANG_ENABLE_MODULES = YES; 382 | CLANG_ENABLE_OBJC_ARC = YES; 383 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 384 | CLANG_WARN_BOOL_CONVERSION = YES; 385 | CLANG_WARN_COMMA = YES; 386 | CLANG_WARN_CONSTANT_CONVERSION = YES; 387 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 388 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 389 | CLANG_WARN_EMPTY_BODY = YES; 390 | CLANG_WARN_ENUM_CONVERSION = YES; 391 | CLANG_WARN_INFINITE_RECURSION = YES; 392 | CLANG_WARN_INT_CONVERSION = YES; 393 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 394 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 395 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 396 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 397 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 398 | CLANG_WARN_STRICT_PROTOTYPES = YES; 399 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 400 | CLANG_WARN_UNREACHABLE_CODE = YES; 401 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 402 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 403 | COPY_PHASE_STRIP = NO; 404 | DEBUG_INFORMATION_FORMAT = dwarf; 405 | ENABLE_STRICT_OBJC_MSGSEND = YES; 406 | ENABLE_TESTABILITY = YES; 407 | GCC_C_LANGUAGE_STANDARD = gnu99; 408 | GCC_DYNAMIC_NO_PIC = NO; 409 | GCC_NO_COMMON_BLOCKS = YES; 410 | GCC_OPTIMIZATION_LEVEL = 0; 411 | GCC_PREPROCESSOR_DEFINITIONS = ( 412 | "DEBUG=1", 413 | "$(inherited)", 414 | ); 415 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 416 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 417 | GCC_WARN_UNDECLARED_SELECTOR = YES; 418 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 419 | GCC_WARN_UNUSED_FUNCTION = YES; 420 | GCC_WARN_UNUSED_VARIABLE = YES; 421 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; 422 | MTL_ENABLE_DEBUG_INFO = YES; 423 | ONLY_ACTIVE_ARCH = YES; 424 | SDKROOT = iphoneos; 425 | TARGETED_DEVICE_FAMILY = "1,2"; 426 | }; 427 | name = Debug; 428 | }; 429 | 97C147041CF9000F007C117D /* Release */ = { 430 | isa = XCBuildConfiguration; 431 | buildSettings = { 432 | ALWAYS_SEARCH_USER_PATHS = NO; 433 | CLANG_ANALYZER_NONNULL = YES; 434 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 435 | CLANG_CXX_LIBRARY = "libc++"; 436 | CLANG_ENABLE_MODULES = YES; 437 | CLANG_ENABLE_OBJC_ARC = YES; 438 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 439 | CLANG_WARN_BOOL_CONVERSION = YES; 440 | CLANG_WARN_COMMA = YES; 441 | CLANG_WARN_CONSTANT_CONVERSION = YES; 442 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 443 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 444 | CLANG_WARN_EMPTY_BODY = YES; 445 | CLANG_WARN_ENUM_CONVERSION = YES; 446 | CLANG_WARN_INFINITE_RECURSION = YES; 447 | CLANG_WARN_INT_CONVERSION = YES; 448 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 449 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 450 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 451 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 452 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 453 | CLANG_WARN_STRICT_PROTOTYPES = YES; 454 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 455 | CLANG_WARN_UNREACHABLE_CODE = YES; 456 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 457 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 458 | COPY_PHASE_STRIP = NO; 459 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 460 | ENABLE_NS_ASSERTIONS = NO; 461 | ENABLE_STRICT_OBJC_MSGSEND = YES; 462 | GCC_C_LANGUAGE_STANDARD = gnu99; 463 | GCC_NO_COMMON_BLOCKS = YES; 464 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 465 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 466 | GCC_WARN_UNDECLARED_SELECTOR = YES; 467 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 468 | GCC_WARN_UNUSED_FUNCTION = YES; 469 | GCC_WARN_UNUSED_VARIABLE = YES; 470 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; 471 | MTL_ENABLE_DEBUG_INFO = NO; 472 | SDKROOT = iphoneos; 473 | SUPPORTED_PLATFORMS = iphoneos; 474 | SWIFT_COMPILATION_MODE = wholemodule; 475 | SWIFT_OPTIMIZATION_LEVEL = "-O"; 476 | TARGETED_DEVICE_FAMILY = "1,2"; 477 | VALIDATE_PRODUCT = YES; 478 | }; 479 | name = Release; 480 | }; 481 | 97C147061CF9000F007C117D /* Debug */ = { 482 | isa = XCBuildConfiguration; 483 | baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; 484 | buildSettings = { 485 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 486 | CLANG_ENABLE_MODULES = YES; 487 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; 488 | DEVELOPMENT_TEAM = VVCX448RDD; 489 | ENABLE_BITCODE = NO; 490 | INFOPLIST_FILE = Runner/Info.plist; 491 | LD_RUNPATH_SEARCH_PATHS = ( 492 | "$(inherited)", 493 | "@executable_path/Frameworks", 494 | ); 495 | PRODUCT_BUNDLE_IDENTIFIER = com.example.getxRestaurant; 496 | PRODUCT_NAME = "$(TARGET_NAME)"; 497 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; 498 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 499 | SWIFT_VERSION = 5.0; 500 | VERSIONING_SYSTEM = "apple-generic"; 501 | }; 502 | name = Debug; 503 | }; 504 | 97C147071CF9000F007C117D /* Release */ = { 505 | isa = XCBuildConfiguration; 506 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; 507 | buildSettings = { 508 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 509 | CLANG_ENABLE_MODULES = YES; 510 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; 511 | DEVELOPMENT_TEAM = VVCX448RDD; 512 | ENABLE_BITCODE = NO; 513 | INFOPLIST_FILE = Runner/Info.plist; 514 | LD_RUNPATH_SEARCH_PATHS = ( 515 | "$(inherited)", 516 | "@executable_path/Frameworks", 517 | ); 518 | PRODUCT_BUNDLE_IDENTIFIER = com.example.getxRestaurant; 519 | PRODUCT_NAME = "$(TARGET_NAME)"; 520 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; 521 | SWIFT_VERSION = 5.0; 522 | VERSIONING_SYSTEM = "apple-generic"; 523 | }; 524 | name = Release; 525 | }; 526 | /* End XCBuildConfiguration section */ 527 | 528 | /* Begin XCConfigurationList section */ 529 | 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { 530 | isa = XCConfigurationList; 531 | buildConfigurations = ( 532 | 97C147031CF9000F007C117D /* Debug */, 533 | 97C147041CF9000F007C117D /* Release */, 534 | 249021D3217E4FDB00AE95B9 /* Profile */, 535 | ); 536 | defaultConfigurationIsVisible = 0; 537 | defaultConfigurationName = Release; 538 | }; 539 | 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { 540 | isa = XCConfigurationList; 541 | buildConfigurations = ( 542 | 97C147061CF9000F007C117D /* Debug */, 543 | 97C147071CF9000F007C117D /* Release */, 544 | 249021D4217E4FDB00AE95B9 /* Profile */, 545 | ); 546 | defaultConfigurationIsVisible = 0; 547 | defaultConfigurationName = Release; 548 | }; 549 | /* End XCConfigurationList section */ 550 | }; 551 | rootObject = 97C146E61CF9000F007C117D /* Project object */; 552 | } 553 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 37 | 38 | 39 | 40 | 41 | 42 | 52 | 54 | 60 | 61 | 62 | 63 | 69 | 71 | 77 | 78 | 79 | 80 | 82 | 83 | 86 | 87 | 88 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | 4 | @UIApplicationMain 5 | @objc class AppDelegate: FlutterAppDelegate { 6 | override func application( 7 | _ application: UIApplication, 8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 9 | ) -> Bool { 10 | GeneratedPluginRegistrant.register(with: self) 11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "size" : "20x20", 5 | "idiom" : "iphone", 6 | "filename" : "Icon-App-20x20@2x.png", 7 | "scale" : "2x" 8 | }, 9 | { 10 | "size" : "20x20", 11 | "idiom" : "iphone", 12 | "filename" : "Icon-App-20x20@3x.png", 13 | "scale" : "3x" 14 | }, 15 | { 16 | "size" : "29x29", 17 | "idiom" : "iphone", 18 | "filename" : "Icon-App-29x29@1x.png", 19 | "scale" : "1x" 20 | }, 21 | { 22 | "size" : "29x29", 23 | "idiom" : "iphone", 24 | "filename" : "Icon-App-29x29@2x.png", 25 | "scale" : "2x" 26 | }, 27 | { 28 | "size" : "29x29", 29 | "idiom" : "iphone", 30 | "filename" : "Icon-App-29x29@3x.png", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "size" : "40x40", 35 | "idiom" : "iphone", 36 | "filename" : "Icon-App-40x40@2x.png", 37 | "scale" : "2x" 38 | }, 39 | { 40 | "size" : "40x40", 41 | "idiom" : "iphone", 42 | "filename" : "Icon-App-40x40@3x.png", 43 | "scale" : "3x" 44 | }, 45 | { 46 | "size" : "60x60", 47 | "idiom" : "iphone", 48 | "filename" : "Icon-App-60x60@2x.png", 49 | "scale" : "2x" 50 | }, 51 | { 52 | "size" : "60x60", 53 | "idiom" : "iphone", 54 | "filename" : "Icon-App-60x60@3x.png", 55 | "scale" : "3x" 56 | }, 57 | { 58 | "size" : "20x20", 59 | "idiom" : "ipad", 60 | "filename" : "Icon-App-20x20@1x.png", 61 | "scale" : "1x" 62 | }, 63 | { 64 | "size" : "20x20", 65 | "idiom" : "ipad", 66 | "filename" : "Icon-App-20x20@2x.png", 67 | "scale" : "2x" 68 | }, 69 | { 70 | "size" : "29x29", 71 | "idiom" : "ipad", 72 | "filename" : "Icon-App-29x29@1x.png", 73 | "scale" : "1x" 74 | }, 75 | { 76 | "size" : "29x29", 77 | "idiom" : "ipad", 78 | "filename" : "Icon-App-29x29@2x.png", 79 | "scale" : "2x" 80 | }, 81 | { 82 | "size" : "40x40", 83 | "idiom" : "ipad", 84 | "filename" : "Icon-App-40x40@1x.png", 85 | "scale" : "1x" 86 | }, 87 | { 88 | "size" : "40x40", 89 | "idiom" : "ipad", 90 | "filename" : "Icon-App-40x40@2x.png", 91 | "scale" : "2x" 92 | }, 93 | { 94 | "size" : "76x76", 95 | "idiom" : "ipad", 96 | "filename" : "Icon-App-76x76@1x.png", 97 | "scale" : "1x" 98 | }, 99 | { 100 | "size" : "76x76", 101 | "idiom" : "ipad", 102 | "filename" : "Icon-App-76x76@2x.png", 103 | "scale" : "2x" 104 | }, 105 | { 106 | "size" : "83.5x83.5", 107 | "idiom" : "ipad", 108 | "filename" : "Icon-App-83.5x83.5@2x.png", 109 | "scale" : "2x" 110 | }, 111 | { 112 | "size" : "1024x1024", 113 | "idiom" : "ios-marketing", 114 | "filename" : "Icon-App-1024x1024@1x.png", 115 | "scale" : "1x" 116 | } 117 | ], 118 | "info" : { 119 | "version" : 1, 120 | "author" : "xcode" 121 | } 122 | } 123 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchImage.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchImage@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchImage@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | 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. -------------------------------------------------------------------------------- /ios/Runner/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /ios/Runner/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /ios/Runner/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleDisplayName 8 | Getx Restaurant 9 | CFBundleExecutable 10 | $(EXECUTABLE_NAME) 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | getx_restaurant 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | $(FLUTTER_BUILD_NAME) 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | $(FLUTTER_BUILD_NUMBER) 25 | LSRequiresIPhoneOS 26 | 27 | UILaunchStoryboardName 28 | LaunchScreen 29 | UIMainStoryboardFile 30 | Main 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | UISupportedInterfaceOrientations~ipad 38 | 39 | UIInterfaceOrientationPortrait 40 | UIInterfaceOrientationPortraitUpsideDown 41 | UIInterfaceOrientationLandscapeLeft 42 | UIInterfaceOrientationLandscapeRight 43 | 44 | UIViewControllerBasedStatusBarAppearance 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /lib/app_theme.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getx_restaurant/constants/color_constants.dart'; 3 | 4 | class Themes { 5 | static final lightTheme = ThemeData( 6 | colorScheme: const ColorScheme.light( 7 | primary: AppColors.lavender, 8 | onPrimary: Colors.black, 9 | secondary: AppColors.spaceBlue, 10 | onSecondary: AppColors.spaceCadet, 11 | background: AppColors.babyPink, 12 | ), 13 | ); 14 | 15 | static final darkTheme = ThemeData( 16 | colorScheme: const ColorScheme.dark( 17 | primary: AppColors.spaceBlue, 18 | secondary: AppColors.burgundy, 19 | onSecondary: AppColors.spaceCadet, 20 | background: AppColors.spaceCadet, 21 | )); 22 | } 23 | -------------------------------------------------------------------------------- /lib/constants/color_constants.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class AppColors { 4 | AppColors._(); 5 | 6 | // Dark Theme colors 7 | static const Color darkGrey = Color(0xff303041); 8 | static const Color lightGrey = Color(0xFF3D3A50); 9 | static const Color white = Color(0xFF0EA2F6); 10 | static const Color burgundy = Color(0xFF880d1e); 11 | static const Color spaceCadet = Color(0xFFF4FCFE); 12 | 13 | // Light Theme Colors 14 | static const Color babyPink = Color(0xFFFECEE9); 15 | static const Color lavender = Color(0xFFEB9FEF); 16 | static const Color gunMetal = Color(0xFF545677); 17 | static const Color spaceBlue = Color(0xFF03254E); 18 | static const Color darkBlue = Color(0xFF011C27); 19 | } 20 | -------------------------------------------------------------------------------- /lib/constants/keys.dart: -------------------------------------------------------------------------------- 1 | const reviewsKey = 'reviewKey'; 2 | const followerKey = 'followerKey'; 3 | -------------------------------------------------------------------------------- /lib/controllers/store_controller.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/cupertino.dart'; 2 | import 'package:get/get.dart'; 3 | import 'package:getx_restaurant/models/reviews.dart'; 4 | import 'package:getx_restaurant/services/repository.dart'; 5 | 6 | class StoreController extends GetxController { 7 | ReviewRepository repository; 8 | StoreController({required this.repository}); 9 | 10 | final storeName = 'Thick Shake'.obs; 11 | final followerCount = 0.obs; 12 | final storeStatus = true.obs; 13 | final followerList = [].obs; 14 | final reviews = [].obs; 15 | final storeNameEditingController = TextEditingController(); 16 | final reviewEditingController = TextEditingController(); 17 | final followerController = TextEditingController(); 18 | final reviewNameController = TextEditingController(); 19 | int storeFollowerCount = 0; 20 | // You do not need that. I recommend using it just for ease of syntax. 21 | /// with static method: Controller.to.increment(); 22 | /// with no static method: Get.find().increment(); 23 | /// There is no difference in performance, nor any side effect of using either 24 | /// syntax. Only one does not need the type, 25 | /// and the other the IDE will autocomplete it. 26 | static StoreController get to => Get.find(); 27 | 28 | @override 29 | void onInit() { 30 | super.onInit(); 31 | reviews.assignAll(repository.readReviews()); 32 | ever(reviews, (_) => repository.writeReviews(reviews)); 33 | } 34 | 35 | void incrementStoreFollowers() { 36 | storeFollowerCount++; 37 | update(); 38 | } 39 | 40 | updateStoreName(String name) { 41 | storeName(name); 42 | } 43 | 44 | updateFollowerCount() { 45 | followerCount(followerCount.value + 1); 46 | } 47 | 48 | void storeStatusOpen(bool isOpen) { 49 | storeStatus(isOpen); 50 | } 51 | 52 | updateFollowerList(List list) { 53 | followerList.assignAll(list); 54 | } 55 | 56 | addNewFollower(String name) { 57 | followerList.add(name); 58 | } 59 | 60 | void addReview(StoreReviews storeReviews) { 61 | reviews.add(storeReviews); 62 | } 63 | 64 | @override 65 | void dispose() { 66 | storeNameEditingController.dispose(); 67 | reviewEditingController.dispose(); 68 | super.dispose(); 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /lib/controllers/theme_controller.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:get/get.dart'; 3 | import 'package:get_storage/get_storage.dart'; 4 | 5 | class ThemeController extends GetxController { 6 | final _box = GetStorage(); 7 | final _key = 'isDarkMode'; 8 | 9 | ThemeMode get theme => _loadTheme() ? ThemeMode.dark : ThemeMode.light; 10 | 11 | bool _loadTheme() => _box.read(_key) ?? false; 12 | 13 | void saveTheme(bool isDarkMode) => _box.write(_key, isDarkMode); 14 | 15 | void changeTheme(ThemeData theme) => Get.changeTheme(theme); 16 | 17 | void changeThemeMode(ThemeMode themeMode) => Get.changeThemeMode(themeMode); 18 | } 19 | -------------------------------------------------------------------------------- /lib/home.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:get/get.dart'; 3 | import 'package:getx_restaurant/app_theme.dart'; 4 | import 'package:getx_restaurant/constants/color_constants.dart'; 5 | import 'package:getx_restaurant/controllers/store_controller.dart'; 6 | import 'package:getx_restaurant/controllers/theme_controller.dart'; 7 | import 'package:getx_restaurant/widgets/card_main.dart'; 8 | import 'package:getx_restaurant/widgets/side_drawer.dart'; 9 | 10 | class Home extends GetView { 11 | Home({Key? key}) : super(key: key); 12 | final themeController = Get.find(); 13 | 14 | @override 15 | Widget build(BuildContext context) { 16 | return Scaffold( 17 | backgroundColor: AppColors.spaceCadet, 18 | appBar: AppBar( 19 | title: const Text("GetX Store"), 20 | actions: [ 21 | IconButton( 22 | onPressed: () { 23 | if (Get.isDarkMode) { 24 | themeController.changeTheme(Themes.lightTheme); 25 | themeController.saveTheme(false); 26 | } else { 27 | themeController.changeTheme(Themes.darkTheme); 28 | themeController.saveTheme(true); 29 | } 30 | }, 31 | icon: Get.isDarkMode 32 | ? const Icon(Icons.light_mode_outlined) 33 | : const Icon(Icons.dark_mode_outlined), 34 | ), 35 | ], 36 | ), 37 | drawer: const SideDrawer(), 38 | body: Container( 39 | padding: const EdgeInsets.all(10), 40 | child: SingleChildScrollView( 41 | child: Column( 42 | children: [ 43 | MainCard( 44 | title: "Store Info", 45 | body: Column( 46 | crossAxisAlignment: CrossAxisAlignment.stretch, 47 | children: [ 48 | Row( 49 | mainAxisAlignment: MainAxisAlignment.spaceBetween, 50 | children: [ 51 | const Flexible( 52 | child: Text( 53 | 'Store Name:', 54 | style: TextStyle(fontSize: 20), 55 | ), 56 | fit: FlexFit.tight, 57 | ), 58 | const SizedBox(width: 20.0), 59 | // Wrapped with Obx to observe changes to the storeName 60 | // variable when called using the StoreController. 61 | Obx( 62 | () => Flexible( 63 | child: Text( 64 | // value parameter to be added with Obx or GetX 65 | controller.storeName.value.toString(), 66 | style: const TextStyle( 67 | fontSize: 22, fontWeight: FontWeight.bold), 68 | ), 69 | fit: FlexFit.tight, 70 | ), 71 | ), 72 | ], 73 | ), 74 | const SizedBox(height: 20.0), 75 | Row( 76 | mainAxisAlignment: MainAxisAlignment.spaceBetween, 77 | children: [ 78 | const Flexible( 79 | child: Text( 80 | 'Store Followers:', 81 | style: TextStyle(fontSize: 20), 82 | ), 83 | fit: FlexFit.tight, 84 | ), 85 | const SizedBox(width: 20.0), 86 | Flexible( 87 | fit: FlexFit.tight, 88 | child: Column( 89 | children: [ 90 | const Text('With Obx'), 91 | Obx( 92 | () => Text( 93 | controller.followerCount.value.toString(), 94 | textAlign: TextAlign.start, 95 | style: const TextStyle( 96 | fontSize: 22, 97 | fontWeight: FontWeight.bold), 98 | ), 99 | ), 100 | ], 101 | ), 102 | ), 103 | Flexible( 104 | fit: FlexFit.tight, 105 | child: Column( 106 | children: [ 107 | const Text('With GetBuilder'), 108 | GetBuilder( 109 | builder: (newController) => Text( 110 | // value parameter is not needed with GetBuilder 111 | newController.storeFollowerCount.toString(), 112 | textAlign: TextAlign.start, 113 | style: const TextStyle( 114 | fontSize: 22, 115 | fontWeight: FontWeight.bold), 116 | ), 117 | ), 118 | ], 119 | ), 120 | ), 121 | // Wrapped with GetBuilder to observe changes to the followerCount 122 | // variable when called using the StoreController. 123 | ], 124 | ), 125 | const SizedBox(height: 20.0), 126 | Row( 127 | mainAxisAlignment: MainAxisAlignment.spaceBetween, 128 | children: [ 129 | const Flexible( 130 | child: Text( 131 | 'Status:', 132 | style: TextStyle(fontSize: 20), 133 | ), 134 | fit: FlexFit.tight, 135 | ), 136 | const SizedBox(width: 20.0), 137 | // Wrapped with GetX to observe changes to the storeStatus 138 | // variable when called using the StoreController. 139 | GetX( 140 | builder: (sController) => Flexible( 141 | child: Text( 142 | sController.storeStatus.value ? 'Open' : 'Closed', 143 | textAlign: TextAlign.start, 144 | style: TextStyle( 145 | color: sController.storeStatus.value 146 | ? Colors.green.shade700 147 | : Colors.red, 148 | fontSize: 22, 149 | fontWeight: FontWeight.bold), 150 | ), 151 | fit: FlexFit.tight, 152 | ), 153 | ), 154 | /*Obx( 155 | () => Flexible( 156 | child: Text( 157 | controller.storeStatus.value ? 'Open' : 'Closed', 158 | textAlign: TextAlign.start, 159 | style: TextStyle( 160 | color: controller.storeStatus.value 161 | ? Colors.green.shade700 162 | : Colors.red, 163 | fontSize: 22, 164 | fontWeight: FontWeight.bold), 165 | ), 166 | fit: FlexFit.tight, 167 | ), 168 | ),*/ 169 | ], 170 | ), 171 | ], 172 | ), 173 | ), 174 | const SizedBox( 175 | height: 20.0, 176 | ), 177 | MainCard( 178 | title: "Followers", 179 | body: Obx( 180 | () => ListView.builder( 181 | shrinkWrap: true, 182 | physics: const NeverScrollableScrollPhysics(), 183 | itemCount: controller.followerList.length, 184 | itemBuilder: (context, index) { 185 | return Padding( 186 | child: Text( 187 | controller.followerList[index].toString(), 188 | style: const TextStyle(fontSize: 16), 189 | ), 190 | padding: const EdgeInsets.all(8), 191 | ); 192 | }, 193 | ), 194 | )), 195 | const SizedBox( 196 | height: 20.0, 197 | ), 198 | MainCard( 199 | title: "Reviews", 200 | body: Obx( 201 | () => ListView.builder( 202 | shrinkWrap: true, 203 | physics: const NeverScrollableScrollPhysics(), 204 | itemCount: controller.reviews.length, 205 | itemBuilder: (context, index) { 206 | return ListTile( 207 | title: Text(controller.reviews[index].name), 208 | subtitle: Text(controller.reviews[index].review), 209 | ); 210 | }, 211 | ), 212 | )), 213 | ], 214 | ), 215 | ), 216 | ), 217 | ); 218 | } 219 | } 220 | -------------------------------------------------------------------------------- /lib/main.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:get/get.dart'; 3 | import 'package:get_storage/get_storage.dart'; 4 | import 'package:getx_restaurant/app_theme.dart'; 5 | import 'package:getx_restaurant/controllers/store_controller.dart'; 6 | import 'package:getx_restaurant/controllers/theme_controller.dart'; 7 | import 'package:getx_restaurant/home.dart'; 8 | import 'package:getx_restaurant/screens/add_followers.dart'; 9 | import 'package:getx_restaurant/screens/add_reviews.dart'; 10 | import 'package:getx_restaurant/screens/add_follower_count.dart'; 11 | import 'package:getx_restaurant/screens/update_store_name.dart'; 12 | import 'package:getx_restaurant/screens/store_status.dart'; 13 | import 'package:getx_restaurant/screens/update_menu.dart'; 14 | import 'package:getx_restaurant/services/storage_service.dart'; 15 | import 'package:getx_restaurant/store_binding.dart'; 16 | 17 | void main() async { 18 | await GetStorage.init(); 19 | await Get.putAsync(() => StorageService().init()); 20 | runApp(MyApp()); 21 | } 22 | 23 | class MyApp extends StatelessWidget { 24 | MyApp({Key? key}) : super(key: key); 25 | final themeController = Get.put(ThemeController()); 26 | 27 | @override 28 | Widget build(BuildContext context) { 29 | return GetMaterialApp( 30 | debugShowCheckedModeBanner: false, 31 | title: 'GetX Store', 32 | initialBinding: StoreBinding(), 33 | theme: Themes.lightTheme, 34 | darkTheme: Themes.darkTheme, 35 | themeMode: themeController.theme, 36 | initialRoute: '/', 37 | getPages: [ 38 | GetPage( 39 | name: '/', 40 | page: () => Home(), 41 | ), 42 | GetPage(name: '/edit_name', page: () => UpdateStoreName()), 43 | GetPage(name: '/add_followers', page: () => AddFollowers()), 44 | GetPage(name: '/toggle_status', page: () => StoreStatus()), 45 | GetPage(name: '/edit_follower_count', page: () => AddFollowerCount()), 46 | GetPage(name: '/add_reviews', page: () => AddReviews()), 47 | GetPage(name: '/update_menu', page: () => const UpdateMenu()), 48 | ], 49 | home: Home(), 50 | ); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /lib/models/food.dart: -------------------------------------------------------------------------------- 1 | class Food { 2 | String id; 3 | String name; 4 | int calories; 5 | double price; 6 | 7 | Food({ 8 | required this.id, 9 | required this.name, 10 | required this.calories, 11 | required this.price, 12 | }); 13 | } 14 | -------------------------------------------------------------------------------- /lib/models/menu.dart: -------------------------------------------------------------------------------- 1 | class Menu { 2 | String name; 3 | String color; 4 | String location; 5 | 6 | Menu({ 7 | this.name = "Menu", 8 | this.color = "Blue", 9 | this.location = "California", 10 | }); 11 | } 12 | -------------------------------------------------------------------------------- /lib/models/reviews.dart: -------------------------------------------------------------------------------- 1 | import 'package:equatable/equatable.dart'; 2 | 3 | class StoreReviews extends Equatable { 4 | final String name; 5 | final String review; 6 | 7 | StoreReviews({required this.name, required this.review}); 8 | 9 | StoreReviews copyWith({ 10 | String? name, 11 | String? review, 12 | }) => 13 | StoreReviews( 14 | name: name ?? this.name, 15 | review: review ?? this.review, 16 | ); 17 | 18 | factory StoreReviews.fromJson(Map json) => StoreReviews( 19 | name: json['name'], 20 | review: json['review'], 21 | ); 22 | 23 | Map toJson() => { 24 | "name": name, 25 | "review": review, 26 | }; 27 | 28 | @override 29 | // TODO: implement props 30 | List get props => [name, review]; 31 | } 32 | -------------------------------------------------------------------------------- /lib/screens/add_follower_count.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:get/get.dart'; 3 | import 'package:getx_restaurant/controllers/store_controller.dart'; 4 | 5 | class AddFollowerCount extends StatelessWidget { 6 | AddFollowerCount({Key? key}) : super(key: key); 7 | final storeController = Get.find(); 8 | 9 | @override 10 | Widget build(BuildContext context) { 11 | return Scaffold( 12 | appBar: AppBar(title: const Text("Add Follower Count")), 13 | floatingActionButton: FloatingActionButton( 14 | onPressed: () { 15 | storeController.incrementStoreFollowers(); 16 | storeController.updateFollowerCount(); 17 | }, 18 | child: const Icon(Icons.add), 19 | ), 20 | body: Container( 21 | padding: const EdgeInsets.all(24), 22 | child: Center( 23 | child: Column( 24 | mainAxisAlignment: MainAxisAlignment.center, 25 | children: [ 26 | const Text( 27 | 'You have add these many followers to your store', 28 | textAlign: TextAlign.center, 29 | style: TextStyle(fontSize: 28), 30 | ), 31 | const SizedBox( 32 | height: 40.0, 33 | ), 34 | Obx( 35 | () => Text( 36 | 'With Obs & Obx: ${storeController.followerCount.value.toString()}', 37 | style: const TextStyle(fontSize: 28), 38 | ), 39 | ), 40 | const SizedBox( 41 | height: 40.0, 42 | ), 43 | GetBuilder( 44 | builder: (newController) => Text( 45 | 'With GetBuilder: ${newController.storeFollowerCount.toString()}', 46 | textAlign: TextAlign.start, 47 | style: const TextStyle( 48 | fontSize: 22, fontWeight: FontWeight.bold), 49 | ), 50 | ), 51 | ], 52 | ), 53 | ), 54 | ), 55 | ); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /lib/screens/add_followers.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:get/get.dart'; 3 | import 'package:getx_restaurant/controllers/store_controller.dart'; 4 | import 'package:getx_restaurant/home.dart'; 5 | import 'package:getx_restaurant/widgets/rounded_input.dart'; 6 | 7 | class AddFollowers extends StatelessWidget { 8 | AddFollowers({Key? key}) : super(key: key); 9 | //final storeController = Get.put(StoreController()); 10 | final storeController = Get.find(); 11 | 12 | @override 13 | Widget build(BuildContext context) { 14 | return Scaffold( 15 | appBar: AppBar(title: const Text("Add New Followers")), 16 | body: SingleChildScrollView( 17 | padding: const EdgeInsets.all(24), 18 | child: Column( 19 | crossAxisAlignment: CrossAxisAlignment.stretch, 20 | children: [ 21 | RoundedInput( 22 | hintText: "Follower Name", 23 | controller: storeController.followerController, 24 | ), 25 | const SizedBox(height: 20), 26 | ElevatedButton( 27 | onPressed: () { 28 | storeController 29 | .addNewFollower(storeController.followerController.text); 30 | Get.snackbar( 31 | 'Added', 32 | 'New Follower Added\n ' 33 | '${storeController.followerController.text}', 34 | snackPosition: SnackPosition.BOTTOM); 35 | storeController.followerController.clear(); 36 | }, 37 | child: const Padding( 38 | padding: EdgeInsets.all(10.0), 39 | child: Text( 40 | 'Add', 41 | style: TextStyle(fontSize: 20.0), 42 | ), 43 | ), 44 | ), 45 | Obx( 46 | () => ListView.builder( 47 | shrinkWrap: true, 48 | itemCount: storeController.followerList.length, 49 | itemBuilder: (context, index) { 50 | return ListTile( 51 | title: Text(storeController.followerList[index]), 52 | ); 53 | }, 54 | ), 55 | ) 56 | ], 57 | ), 58 | ), 59 | ); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /lib/screens/add_reviews.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:get/get.dart'; 3 | import 'package:getx_restaurant/controllers/store_controller.dart'; 4 | import 'package:getx_restaurant/models/reviews.dart'; 5 | import 'package:getx_restaurant/widgets/rounded_input.dart'; 6 | 7 | class AddReviews extends StatelessWidget { 8 | AddReviews({Key? key}) : super(key: key); 9 | //final storeController = Get.put(StoreController()); 10 | final storeController = Get.find(); 11 | 12 | @override 13 | Widget build(BuildContext context) { 14 | return Scaffold( 15 | appBar: AppBar(title: const Text("Test Reviews")), 16 | body: SingleChildScrollView( 17 | padding: const EdgeInsets.all(24), 18 | child: Column( 19 | crossAxisAlignment: CrossAxisAlignment.stretch, 20 | children: [ 21 | RoundedInput( 22 | hintText: "Enter Name", 23 | controller: storeController.reviewNameController, 24 | ), 25 | const SizedBox(height: 16), 26 | RoundedInput( 27 | hintText: "Write Review", 28 | controller: storeController.reviewEditingController, 29 | ), 30 | const SizedBox(height: 20), 31 | ElevatedButton( 32 | onPressed: () { 33 | var reviews = StoreReviews( 34 | name: storeController.reviewNameController.text, 35 | review: storeController.reviewEditingController.text); 36 | storeController.addReview(reviews); 37 | Get.snackbar( 38 | 'Reviewed', 39 | 'Review Added by:\n' 40 | '${storeController.reviewNameController.text}', 41 | snackPosition: SnackPosition.BOTTOM); 42 | storeController.reviewNameController.clear(); 43 | storeController.reviewEditingController.clear(); 44 | }, 45 | child: const Padding( 46 | padding: EdgeInsets.all(10.0), 47 | child: Text( 48 | 'Add', 49 | style: TextStyle(fontSize: 20.0), 50 | ), 51 | ), 52 | ), 53 | Obx( 54 | () => ListView.builder( 55 | shrinkWrap: true, 56 | itemCount: storeController.reviews.length, 57 | itemBuilder: (context, index) { 58 | List storeReviews = storeController.reviews 59 | .map((element) => StoreReviews( 60 | name: element.name, review: element.review)) 61 | .toList(); 62 | return ListTile( 63 | title: Text(storeReviews[index].name), 64 | subtitle: Text(storeReviews[index].review), 65 | ); 66 | }), 67 | ), 68 | ], 69 | ), 70 | ), 71 | ); 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /lib/screens/store_status.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:get/get.dart'; 3 | import 'package:getx_restaurant/controllers/store_controller.dart'; 4 | 5 | class StoreStatus extends StatelessWidget { 6 | StoreStatus({Key? key}) : super(key: key); 7 | //final storeController = Get.put(StoreController()); 8 | final storeController = Get.find(); 9 | 10 | @override 11 | Widget build(BuildContext context) { 12 | return Scaffold( 13 | appBar: AppBar(title: const Text("Test Status Toggle")), 14 | body: Container( 15 | padding: const EdgeInsets.all(24), 16 | child: Center( 17 | child: Column( 18 | mainAxisAlignment: MainAxisAlignment.center, 19 | children: [ 20 | const Text( 21 | "Is the Store open?", 22 | style: TextStyle(fontSize: 22), 23 | ), 24 | const SizedBox(height: 16), 25 | Obx( 26 | () => Switch( 27 | onChanged: (value) => storeController.storeStatus(value), 28 | activeColor: Colors.green, 29 | value: storeController.storeStatus.value, 30 | ), 31 | ) 32 | ], 33 | ), 34 | ), 35 | ), 36 | ); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /lib/screens/update_menu.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getx_restaurant/widgets/rounded_input.dart'; 3 | 4 | class UpdateMenu extends StatelessWidget { 5 | const UpdateMenu({Key? key}) : super(key: key); 6 | 7 | @override 8 | Widget build(BuildContext context) { 9 | print("UpdateMenu screen building..."); 10 | 11 | return Scaffold( 12 | appBar: AppBar(title: Text("Update Menu")), 13 | body: SingleChildScrollView( 14 | padding: EdgeInsets.all(16), 15 | child: Column( 16 | crossAxisAlignment: CrossAxisAlignment.stretch, 17 | children: [ 18 | RoundedInput( 19 | hintText: "Name", 20 | onSubmit: (value) => print(value), 21 | ), 22 | SizedBox(height: 16), 23 | RoundedInput( 24 | hintText: "Color", 25 | onSubmit: (value) => print(value), 26 | ), 27 | SizedBox(height: 16), 28 | RoundedInput( 29 | hintText: "Location", 30 | onSubmit: (value) => print(value), 31 | ), 32 | SizedBox(height: 16), 33 | FlatButton( 34 | child: Text( 35 | "Submit", 36 | style: TextStyle(color: Colors.white), 37 | ), 38 | onPressed: () => {}, 39 | color: Colors.deepOrange, 40 | ), 41 | SizedBox(height: 16), 42 | Column( 43 | crossAxisAlignment: CrossAxisAlignment.stretch, 44 | children: [ 45 | Text("Name"), 46 | SizedBox(height: 16), 47 | Text("Color"), 48 | SizedBox(height: 16), 49 | Text("Location"), 50 | ], 51 | ), 52 | ], 53 | ), 54 | ), 55 | ); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /lib/screens/update_store_name.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:get/get.dart'; 3 | import 'package:getx_restaurant/controllers/store_controller.dart'; 4 | import 'package:getx_restaurant/widgets/rounded_input.dart'; 5 | 6 | class UpdateStoreName extends StatelessWidget { 7 | UpdateStoreName({Key? key}) : super(key: key); 8 | final storeController = Get.find(); 9 | 10 | @override 11 | Widget build(BuildContext context) { 12 | return Scaffold( 13 | appBar: AppBar(title: const Text("Update Store Name")), 14 | body: Container( 15 | padding: const EdgeInsets.all(24), 16 | child: Column( 17 | crossAxisAlignment: CrossAxisAlignment.stretch, 18 | children: [ 19 | const Text( 20 | "Enter Store Name", 21 | textAlign: TextAlign.center, 22 | style: TextStyle(fontSize: 28), 23 | ), 24 | const SizedBox(height: 16), 25 | RoundedInput( 26 | hintText: "Store Name", 27 | controller: storeController.storeNameEditingController, 28 | ), 29 | const SizedBox(height: 20), 30 | ElevatedButton( 31 | onPressed: () { 32 | storeController.updateStoreName( 33 | storeController.storeNameEditingController.text); 34 | Get.snackbar( 35 | 'Updated', 36 | 'Store name has been updated to\n ' 37 | '${storeController.storeNameEditingController.text}', 38 | snackPosition: SnackPosition.BOTTOM); 39 | }, 40 | child: const Padding( 41 | padding: EdgeInsets.all(10.0), 42 | child: Text( 43 | 'Update', 44 | style: TextStyle(fontSize: 20.0), 45 | ), 46 | ), 47 | ), 48 | ], 49 | ), 50 | ), 51 | ); 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /lib/services/provider.dart: -------------------------------------------------------------------------------- 1 | import 'dart:convert'; 2 | 3 | import 'package:get/get.dart'; 4 | import 'package:getx_restaurant/constants/keys.dart'; 5 | import 'package:getx_restaurant/models/reviews.dart'; 6 | import 'package:getx_restaurant/services/storage_service.dart'; 7 | 8 | class StoreProvider { 9 | final StorageService _storageService = Get.find(); 10 | 11 | List readReviews() { 12 | var reviews = []; 13 | jsonDecode(_storageService.read(reviewsKey).toString()) 14 | .forEach((e) => reviews.add(StoreReviews.fromJson(e))); 15 | return reviews; 16 | } 17 | 18 | void writeReview(List reviews) { 19 | _storageService.write(reviewsKey, jsonEncode(reviews)); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /lib/services/repository.dart: -------------------------------------------------------------------------------- 1 | import 'package:getx_restaurant/models/reviews.dart'; 2 | import 'package:getx_restaurant/services/provider.dart'; 3 | 4 | class ReviewRepository { 5 | StoreProvider storeProvider; 6 | ReviewRepository({required this.storeProvider}); 7 | 8 | List readReviews() => storeProvider.readReviews(); 9 | void writeReviews(List reviews) => 10 | storeProvider.writeReview(reviews); 11 | } 12 | -------------------------------------------------------------------------------- /lib/services/storage_service.dart: -------------------------------------------------------------------------------- 1 | import 'package:get/get.dart'; 2 | import 'package:get_storage/get_storage.dart'; 3 | import 'package:getx_restaurant/constants/keys.dart'; 4 | 5 | class StorageService extends GetxService { 6 | late GetStorage _box; 7 | 8 | Future init() async { 9 | _box = GetStorage(); 10 | await _box.writeIfNull(reviewsKey, []); 11 | return this; 12 | } 13 | 14 | T read(String key) { 15 | return _box.read(key); 16 | } 17 | 18 | void write(String key, dynamic value) async { 19 | await _box.write(key, value); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /lib/store_binding.dart: -------------------------------------------------------------------------------- 1 | import 'package:get/get.dart'; 2 | import 'package:getx_restaurant/controllers/store_controller.dart'; 3 | import 'package:getx_restaurant/services/provider.dart'; 4 | import 'package:getx_restaurant/services/repository.dart'; 5 | 6 | class StoreBinding implements Bindings { 7 | @override 8 | void dependencies() { 9 | Get.lazyPut(() => StoreController( 10 | repository: ReviewRepository(storeProvider: StoreProvider()))); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /lib/widgets/card_main.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:get/get.dart'; 3 | import 'package:getx_restaurant/constants/color_constants.dart'; 4 | 5 | class MainCard extends StatelessWidget { 6 | final String title; 7 | final Widget body; 8 | 9 | const MainCard({ 10 | Key? key, 11 | required this.title, 12 | required this.body, 13 | }) : super(key: key); 14 | 15 | @override 16 | Widget build(BuildContext context) { 17 | return Card( 18 | elevation: 5, 19 | shape: const RoundedRectangleBorder( 20 | borderRadius: BorderRadius.only( 21 | bottomLeft: Radius.circular(10.0), 22 | bottomRight: Radius.circular(10.0))), 23 | child: Column( 24 | crossAxisAlignment: CrossAxisAlignment.stretch, 25 | children: [ 26 | Container( 27 | padding: const EdgeInsets.all(10.0), 28 | color: Get.isDarkMode ? Colors.grey : AppColors.babyPink, 29 | child: Text( 30 | title, 31 | textAlign: TextAlign.center, 32 | style: const TextStyle( 33 | fontWeight: FontWeight.bold, 34 | fontSize: 20.0, 35 | color: AppColors.burgundy), 36 | ), 37 | ), 38 | Padding( 39 | padding: const EdgeInsets.all(10.0), 40 | child: body, 41 | ), 42 | ], 43 | ), 44 | ); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /lib/widgets/rounded_input.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class RoundedInput extends StatelessWidget { 4 | final String hintText; 5 | final Function(String)? onSubmit; 6 | final TextEditingController? controller; 7 | 8 | const RoundedInput({ 9 | this.controller, 10 | required this.hintText, 11 | this.onSubmit, 12 | }); 13 | 14 | @override 15 | Widget build(BuildContext context) { 16 | return TextField( 17 | autofocus: true, 18 | controller: controller, 19 | decoration: InputDecoration( 20 | isDense: true, 21 | hintText: hintText, 22 | hintStyle: const TextStyle(color: Colors.grey), 23 | fillColor: Colors.white, 24 | filled: true, 25 | border: OutlineInputBorder( 26 | borderRadius: BorderRadius.circular(5), 27 | ), 28 | ), 29 | onSubmitted: onSubmit, 30 | ); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /lib/widgets/side_drawer.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:get/route_manager.dart'; 3 | import 'package:get/get.dart'; 4 | import 'package:getx_restaurant/constants/color_constants.dart'; 5 | 6 | class SideDrawer extends StatelessWidget { 7 | const SideDrawer({Key? key}) : super(key: key); 8 | 9 | @override 10 | Widget build(BuildContext context) { 11 | return Drawer( 12 | child: ListView( 13 | children: [ 14 | DrawerHeader( 15 | child: Text( 16 | 'GetX Store', 17 | textAlign: TextAlign.center, 18 | style: TextStyle( 19 | color: 20 | Get.isDarkMode ? AppColors.spaceCadet : AppColors.spaceBlue, 21 | fontSize: 24, 22 | ), 23 | ), 24 | ), 25 | ListTile( 26 | leading: Icon( 27 | Icons.change_circle_sharp, 28 | color: 29 | Get.isDarkMode ? AppColors.spaceCadet : AppColors.spaceBlue, 30 | ), 31 | title: Text( 32 | "Change Store Name", 33 | style: TextStyle( 34 | fontSize: 18.0, 35 | color: Get.isDarkMode 36 | ? AppColors.spaceCadet 37 | : AppColors.spaceBlue, 38 | ), 39 | ), 40 | onTap: () { 41 | // closes the drawer and goes to another screen 42 | Get.offAndToNamed('/edit_name'); 43 | //Get.back(); 44 | }), 45 | ListTile( 46 | leading: Icon( 47 | Icons.add_reaction_sharp, 48 | color: 49 | Get.isDarkMode ? AppColors.spaceCadet : AppColors.spaceBlue, 50 | ), 51 | title: Text( 52 | "Add Followers", 53 | style: TextStyle( 54 | fontSize: 18.0, 55 | color: 56 | Get.isDarkMode ? AppColors.spaceCadet : AppColors.spaceBlue, 57 | ), 58 | ), 59 | onTap: () => Get.offAndToNamed('/add_followers'), 60 | ), 61 | ListTile( 62 | leading: Icon( 63 | Icons.add_task_sharp, 64 | color: 65 | Get.isDarkMode ? AppColors.spaceCadet : AppColors.spaceBlue, 66 | ), 67 | title: Text( 68 | "Increment Followers", 69 | style: TextStyle( 70 | fontSize: 18.0, 71 | color: 72 | Get.isDarkMode ? AppColors.spaceCadet : AppColors.spaceBlue, 73 | ), 74 | ), 75 | onTap: () => Get.offAndToNamed('/edit_follower_count'), 76 | ), 77 | ListTile( 78 | leading: Icon( 79 | Icons.toggle_on_sharp, 80 | color: 81 | Get.isDarkMode ? AppColors.spaceCadet : AppColors.spaceBlue, 82 | ), 83 | title: Text( 84 | "Toggle Store Status", 85 | style: TextStyle( 86 | fontSize: 18.0, 87 | color: 88 | Get.isDarkMode ? AppColors.spaceCadet : AppColors.spaceBlue, 89 | ), 90 | ), 91 | onTap: () => Get.offAndToNamed('/toggle_status'), 92 | ), 93 | ListTile( 94 | leading: Icon( 95 | Icons.add_comment_sharp, 96 | color: 97 | Get.isDarkMode ? AppColors.spaceCadet : AppColors.spaceBlue, 98 | ), 99 | title: Text( 100 | "Add Reviews", 101 | style: TextStyle( 102 | fontSize: 18.0, 103 | color: 104 | Get.isDarkMode ? AppColors.spaceCadet : AppColors.spaceBlue, 105 | ), 106 | ), 107 | onTap: () => Get.offAndToNamed('/add_reviews'), 108 | ), 109 | /*ListTile( 110 | leading: Icon( 111 | Icons.update_sharp, 112 | color: 113 | Get.isDarkMode ? AppColors.spaceCadet : AppColors.spaceBlue, 114 | ), 115 | title: Text( 116 | "Update Menu", 117 | style: TextStyle( 118 | fontSize: 18.0, 119 | color: 120 | Get.isDarkMode ? AppColors.spaceCadet : AppColors.spaceBlue, 121 | ), 122 | ), 123 | onTap: () => Get.offAndToNamed('/update_menu'), 124 | ),*/ 125 | ], 126 | ), 127 | ); 128 | } 129 | } 130 | -------------------------------------------------------------------------------- /pubspec.lock: -------------------------------------------------------------------------------- 1 | # Generated by pub 2 | # See https://dart.dev/tools/pub/glossary#lockfile 3 | packages: 4 | async: 5 | dependency: transitive 6 | description: 7 | name: async 8 | url: "https://pub.dartlang.org" 9 | source: hosted 10 | version: "2.8.2" 11 | boolean_selector: 12 | dependency: transitive 13 | description: 14 | name: boolean_selector 15 | url: "https://pub.dartlang.org" 16 | source: hosted 17 | version: "2.1.0" 18 | characters: 19 | dependency: transitive 20 | description: 21 | name: characters 22 | url: "https://pub.dartlang.org" 23 | source: hosted 24 | version: "1.2.0" 25 | charcode: 26 | dependency: transitive 27 | description: 28 | name: charcode 29 | url: "https://pub.dartlang.org" 30 | source: hosted 31 | version: "1.3.1" 32 | clock: 33 | dependency: transitive 34 | description: 35 | name: clock 36 | url: "https://pub.dartlang.org" 37 | source: hosted 38 | version: "1.1.0" 39 | collection: 40 | dependency: transitive 41 | description: 42 | name: collection 43 | url: "https://pub.dartlang.org" 44 | source: hosted 45 | version: "1.15.0" 46 | cupertino_icons: 47 | dependency: "direct main" 48 | description: 49 | name: cupertino_icons 50 | url: "https://pub.dartlang.org" 51 | source: hosted 52 | version: "1.0.4" 53 | equatable: 54 | dependency: "direct main" 55 | description: 56 | name: equatable 57 | url: "https://pub.dartlang.org" 58 | source: hosted 59 | version: "2.0.3" 60 | fake_async: 61 | dependency: transitive 62 | description: 63 | name: fake_async 64 | url: "https://pub.dartlang.org" 65 | source: hosted 66 | version: "1.2.0" 67 | ffi: 68 | dependency: transitive 69 | description: 70 | name: ffi 71 | url: "https://pub.dartlang.org" 72 | source: hosted 73 | version: "1.1.2" 74 | file: 75 | dependency: transitive 76 | description: 77 | name: file 78 | url: "https://pub.dartlang.org" 79 | source: hosted 80 | version: "6.1.2" 81 | flutter: 82 | dependency: "direct main" 83 | description: flutter 84 | source: sdk 85 | version: "0.0.0" 86 | flutter_lints: 87 | dependency: "direct dev" 88 | description: 89 | name: flutter_lints 90 | url: "https://pub.dartlang.org" 91 | source: hosted 92 | version: "1.0.4" 93 | flutter_test: 94 | dependency: "direct dev" 95 | description: flutter 96 | source: sdk 97 | version: "0.0.0" 98 | get: 99 | dependency: "direct main" 100 | description: 101 | name: get 102 | url: "https://pub.dartlang.org" 103 | source: hosted 104 | version: "4.6.1" 105 | get_storage: 106 | dependency: "direct main" 107 | description: 108 | name: get_storage 109 | url: "https://pub.dartlang.org" 110 | source: hosted 111 | version: "2.0.3" 112 | lints: 113 | dependency: transitive 114 | description: 115 | name: lints 116 | url: "https://pub.dartlang.org" 117 | source: hosted 118 | version: "1.0.1" 119 | matcher: 120 | dependency: transitive 121 | description: 122 | name: matcher 123 | url: "https://pub.dartlang.org" 124 | source: hosted 125 | version: "0.12.11" 126 | meta: 127 | dependency: transitive 128 | description: 129 | name: meta 130 | url: "https://pub.dartlang.org" 131 | source: hosted 132 | version: "1.7.0" 133 | path: 134 | dependency: transitive 135 | description: 136 | name: path 137 | url: "https://pub.dartlang.org" 138 | source: hosted 139 | version: "1.8.0" 140 | path_provider: 141 | dependency: transitive 142 | description: 143 | name: path_provider 144 | url: "https://pub.dartlang.org" 145 | source: hosted 146 | version: "2.0.8" 147 | path_provider_android: 148 | dependency: transitive 149 | description: 150 | name: path_provider_android 151 | url: "https://pub.dartlang.org" 152 | source: hosted 153 | version: "2.0.10" 154 | path_provider_ios: 155 | dependency: transitive 156 | description: 157 | name: path_provider_ios 158 | url: "https://pub.dartlang.org" 159 | source: hosted 160 | version: "2.0.7" 161 | path_provider_linux: 162 | dependency: transitive 163 | description: 164 | name: path_provider_linux 165 | url: "https://pub.dartlang.org" 166 | source: hosted 167 | version: "2.1.4" 168 | path_provider_macos: 169 | dependency: transitive 170 | description: 171 | name: path_provider_macos 172 | url: "https://pub.dartlang.org" 173 | source: hosted 174 | version: "2.0.4" 175 | path_provider_platform_interface: 176 | dependency: transitive 177 | description: 178 | name: path_provider_platform_interface 179 | url: "https://pub.dartlang.org" 180 | source: hosted 181 | version: "2.0.1" 182 | path_provider_windows: 183 | dependency: transitive 184 | description: 185 | name: path_provider_windows 186 | url: "https://pub.dartlang.org" 187 | source: hosted 188 | version: "2.0.4" 189 | platform: 190 | dependency: transitive 191 | description: 192 | name: platform 193 | url: "https://pub.dartlang.org" 194 | source: hosted 195 | version: "3.1.0" 196 | plugin_platform_interface: 197 | dependency: transitive 198 | description: 199 | name: plugin_platform_interface 200 | url: "https://pub.dartlang.org" 201 | source: hosted 202 | version: "2.0.2" 203 | process: 204 | dependency: transitive 205 | description: 206 | name: process 207 | url: "https://pub.dartlang.org" 208 | source: hosted 209 | version: "4.2.4" 210 | sky_engine: 211 | dependency: transitive 212 | description: flutter 213 | source: sdk 214 | version: "0.0.99" 215 | source_span: 216 | dependency: transitive 217 | description: 218 | name: source_span 219 | url: "https://pub.dartlang.org" 220 | source: hosted 221 | version: "1.8.1" 222 | stack_trace: 223 | dependency: transitive 224 | description: 225 | name: stack_trace 226 | url: "https://pub.dartlang.org" 227 | source: hosted 228 | version: "1.10.0" 229 | stream_channel: 230 | dependency: transitive 231 | description: 232 | name: stream_channel 233 | url: "https://pub.dartlang.org" 234 | source: hosted 235 | version: "2.1.0" 236 | string_scanner: 237 | dependency: transitive 238 | description: 239 | name: string_scanner 240 | url: "https://pub.dartlang.org" 241 | source: hosted 242 | version: "1.1.0" 243 | term_glyph: 244 | dependency: transitive 245 | description: 246 | name: term_glyph 247 | url: "https://pub.dartlang.org" 248 | source: hosted 249 | version: "1.2.0" 250 | test_api: 251 | dependency: transitive 252 | description: 253 | name: test_api 254 | url: "https://pub.dartlang.org" 255 | source: hosted 256 | version: "0.4.3" 257 | typed_data: 258 | dependency: transitive 259 | description: 260 | name: typed_data 261 | url: "https://pub.dartlang.org" 262 | source: hosted 263 | version: "1.3.0" 264 | vector_math: 265 | dependency: transitive 266 | description: 267 | name: vector_math 268 | url: "https://pub.dartlang.org" 269 | source: hosted 270 | version: "2.1.1" 271 | win32: 272 | dependency: transitive 273 | description: 274 | name: win32 275 | url: "https://pub.dartlang.org" 276 | source: hosted 277 | version: "2.3.2" 278 | xdg_directories: 279 | dependency: transitive 280 | description: 281 | name: xdg_directories 282 | url: "https://pub.dartlang.org" 283 | source: hosted 284 | version: "0.2.0" 285 | sdks: 286 | dart: ">=2.15.0 <3.0.0" 287 | flutter: ">=2.5.0" 288 | -------------------------------------------------------------------------------- /pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: getx_restaurant 2 | description: A new Flutter project. 3 | 4 | # The following line prevents the package from being accidentally published to 5 | # pub.dev using `flutter pub publish`. This is preferred for private packages. 6 | publish_to: 'none' # Remove this line if you wish to publish to pub.dev 7 | 8 | # The following defines the version and build number for your application. 9 | # A version number is three numbers separated by dots, like 1.2.43 10 | # followed by an optional build number separated by a +. 11 | # Both the version and the builder number may be overridden in flutter 12 | # build by specifying --build-name and --build-number, respectively. 13 | # In Android, build-name is used as versionName while build-number used as versionCode. 14 | # Read more about Android versioning at https://developer.android.com/studio/publish/versioning 15 | # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. 16 | # Read more about iOS versioning at 17 | # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html 18 | version: 1.0.0+1 19 | 20 | environment: 21 | sdk: ">=2.15.0 <3.0.0" 22 | 23 | # Dependencies specify other packages that your package needs in order to work. 24 | # To automatically upgrade your package dependencies to the latest versions 25 | # consider running `flutter pub upgrade --major-versions`. Alternatively, 26 | # dependencies can be manually updated by changing the version numbers below to 27 | # the latest version available on pub.dev. To see which dependencies have newer 28 | # versions available, run `flutter pub outdated`. 29 | dependencies: 30 | flutter: 31 | sdk: flutter 32 | 33 | 34 | # The following adds the Cupertino Icons font to your application. 35 | # Use with the CupertinoIcons class for iOS style icons. 36 | cupertino_icons: ^1.0.4 37 | get: ^4.6.1 38 | get_storage: ^2.0.3 39 | equatable: ^2.0.3 40 | 41 | 42 | dev_dependencies: 43 | flutter_test: 44 | sdk: flutter 45 | 46 | # The "flutter_lints" package below contains a set of recommended lints to 47 | # encourage good coding practices. The lint set provided by the package is 48 | # activated in the `analysis_options.yaml` file located at the root of your 49 | # package. See that file for information about deactivating specific lint 50 | # rules and activating additional ones. 51 | flutter_lints: ^1.0.0 52 | 53 | # For information on the generic Dart part of this file, see the 54 | # following page: https://dart.dev/tools/pub/pubspec 55 | 56 | # The following section is specific to Flutter. 57 | flutter: 58 | 59 | # The following line ensures that the Material Icons font is 60 | # included with your application, so that you can use the icons in 61 | # the material Icons class. 62 | uses-material-design: true 63 | 64 | # To add assets to your application, add an assets section, like this: 65 | # assets: 66 | # - images/a_dot_burr.jpeg 67 | # - images/a_dot_ham.jpeg 68 | 69 | # An image asset can refer to one or more resolution-specific "variants", see 70 | # https://flutter.dev/assets-and-images/#resolution-aware. 71 | 72 | # For details regarding adding assets from package dependencies, see 73 | # https://flutter.dev/assets-and-images/#from-packages 74 | 75 | # To add custom fonts to your application, add a fonts section here, 76 | # in this "flutter" section. Each entry in this list should have a 77 | # "family" key with the font family name, and a "fonts" key with a 78 | # list giving the asset and other descriptors for the font. For 79 | # example: 80 | # fonts: 81 | # - family: Schyler 82 | # fonts: 83 | # - asset: fonts/Schyler-Regular.ttf 84 | # - asset: fonts/Schyler-Italic.ttf 85 | # style: italic 86 | # - family: Trajan Pro 87 | # fonts: 88 | # - asset: fonts/TrajanPro.ttf 89 | # - asset: fonts/TrajanPro_Bold.ttf 90 | # weight: 700 91 | # 92 | # For details regarding fonts from package dependencies, 93 | # see https://flutter.dev/custom-fonts/#from-packages 94 | -------------------------------------------------------------------------------- /web/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/web/favicon.png -------------------------------------------------------------------------------- /web/icons/Icon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/web/icons/Icon-192.png -------------------------------------------------------------------------------- /web/icons/Icon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/web/icons/Icon-512.png -------------------------------------------------------------------------------- /web/icons/Icon-maskable-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/web/icons/Icon-maskable-192.png -------------------------------------------------------------------------------- /web/icons/Icon-maskable-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/timelessfusionapps/getx_store/5f79c656c07f650d9dbf4c011002b19237a1e988/web/icons/Icon-maskable-512.png -------------------------------------------------------------------------------- /web/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | getx_restaurant 33 | 34 | 35 | 36 | 39 | 103 | 104 | 105 | -------------------------------------------------------------------------------- /web/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "getx_restaurant", 3 | "short_name": "getx_restaurant", 4 | "start_url": ".", 5 | "display": "standalone", 6 | "background_color": "#0175C2", 7 | "theme_color": "#0175C2", 8 | "description": "A new Flutter project.", 9 | "orientation": "portrait-primary", 10 | "prefer_related_applications": false, 11 | "icons": [ 12 | { 13 | "src": "icons/Icon-192.png", 14 | "sizes": "192x192", 15 | "type": "image/png" 16 | }, 17 | { 18 | "src": "icons/Icon-512.png", 19 | "sizes": "512x512", 20 | "type": "image/png" 21 | }, 22 | { 23 | "src": "icons/Icon-maskable-192.png", 24 | "sizes": "192x192", 25 | "type": "image/png", 26 | "purpose": "maskable" 27 | }, 28 | { 29 | "src": "icons/Icon-maskable-512.png", 30 | "sizes": "512x512", 31 | "type": "image/png", 32 | "purpose": "maskable" 33 | } 34 | ] 35 | } 36 | --------------------------------------------------------------------------------