├── linux
├── .gitignore
├── main.cc
├── flutter
│ ├── generated_plugin_registrant.cc
│ ├── generated_plugin_registrant.h
│ └── generated_plugins.cmake
└── my_application.h
├── ios
├── Runner
│ ├── Runner-Bridging-Header.h
│ ├── Assets.xcassets
│ │ ├── LaunchImage.imageset
│ │ │ ├── LaunchImage.png
│ │ │ ├── LaunchImage@2x.png
│ │ │ ├── LaunchImage@3x.png
│ │ │ ├── README.md
│ │ │ └── Contents.json
│ │ └── AppIcon.appiconset
│ │ │ ├── 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-1024x1024@1x.png
│ │ │ └── Icon-App-83.5x83.5@2x.png
│ ├── AppDelegate.swift
│ ├── Base.lproj
│ │ ├── Main.storyboard
│ │ └── LaunchScreen.storyboard
│ └── Info.plist
├── Flutter
│ ├── Debug.xcconfig
│ ├── Release.xcconfig
│ └── AppFrameworkInfo.plist
├── Runner.xcodeproj
│ └── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ ├── WorkspaceSettings.xcsettings
│ │ └── IDEWorkspaceChecks.plist
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ ├── WorkspaceSettings.xcsettings
│ │ └── IDEWorkspaceChecks.plist
├── Podfile.lock
├── .gitignore
└── Podfile
├── web
├── favicon.png
├── icons
│ ├── Icon-192.png
│ ├── Icon-512.png
│ ├── Icon-maskable-192.png
│ └── Icon-maskable-512.png
├── manifest.json
└── index.html
├── assets
├── images
│ ├── borg.png
│ ├── food.png
│ ├── map.png
│ ├── user.png
│ ├── viza.jpg
│ ├── coffe.png
│ ├── masimo.png
│ ├── pizza.png
│ ├── pizzat.png
│ ├── pizzatt.png
│ └── Group Background initScreen .svg
└── icons
│ ├── menu2.svg
│ ├── 004-inbox-mail.svg
│ ├── shopping-bag.svg
│ ├── star.svg
│ ├── Group 8081.svg
│ ├── 005-info.svg
│ ├── favoritebutton.svg
│ ├── 002-income.svg
│ └── menu.svg
├── android
├── gradle.properties
├── app
│ ├── src
│ │ ├── main
│ │ │ ├── res
│ │ │ │ ├── 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
│ │ │ │ ├── drawable
│ │ │ │ │ └── launch_background.xml
│ │ │ │ ├── drawable-v21
│ │ │ │ │ └── launch_background.xml
│ │ │ │ ├── values
│ │ │ │ │ └── styles.xml
│ │ │ │ └── values-night
│ │ │ │ │ └── styles.xml
│ │ │ ├── kotlin
│ │ │ │ └── com
│ │ │ │ │ └── example
│ │ │ │ │ └── meal_monkey_mobile_project
│ │ │ │ │ └── MainActivity.kt
│ │ │ └── AndroidManifest.xml
│ │ ├── debug
│ │ │ └── AndroidManifest.xml
│ │ └── profile
│ │ │ └── AndroidManifest.xml
│ └── build.gradle
├── gradle
│ └── wrapper
│ │ └── gradle-wrapper.properties
├── .gitignore
├── settings.gradle
└── build.gradle
├── macos
├── Runner
│ ├── Configs
│ │ ├── Debug.xcconfig
│ │ ├── Release.xcconfig
│ │ ├── Warnings.xcconfig
│ │ └── AppInfo.xcconfig
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ ├── app_icon_128.png
│ │ │ ├── app_icon_16.png
│ │ │ ├── app_icon_256.png
│ │ │ ├── app_icon_32.png
│ │ │ ├── app_icon_512.png
│ │ │ ├── app_icon_64.png
│ │ │ ├── app_icon_1024.png
│ │ │ └── Contents.json
│ ├── AppDelegate.swift
│ ├── Release.entitlements
│ ├── DebugProfile.entitlements
│ ├── MainFlutterWindow.swift
│ └── Info.plist
├── .gitignore
├── Flutter
│ ├── Flutter-Debug.xcconfig
│ ├── Flutter-Release.xcconfig
│ └── GeneratedPluginRegistrant.swift
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
├── Runner.xcodeproj
│ └── project.xcworkspace
│ │ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
└── Podfile
├── windows
├── runner
│ ├── resources
│ │ └── app_icon.ico
│ ├── resource.h
│ ├── utils.h
│ ├── runner.exe.manifest
│ ├── flutter_window.h
│ ├── main.cpp
│ ├── CMakeLists.txt
│ ├── utils.cpp
│ └── flutter_window.cpp
├── flutter
│ ├── generated_plugin_registrant.cc
│ ├── generated_plugin_registrant.h
│ └── generated_plugins.cmake
└── .gitignore
├── lib
├── screens
│ ├── desserts_screen
│ │ ├── det_screen
│ │ │ ├── widget
│ │ │ │ ├── DivLine.dart
│ │ │ │ ├── head_txt.dart
│ │ │ │ ├── decrip_det.dart
│ │ │ │ ├── show_result.dart
│ │ │ │ ├── shape_rating.dart
│ │ │ │ ├── box_options.dart
│ │ │ │ ├── num_of_portions.dart
│ │ │ │ ├── custom_appbar_det.dart
│ │ │ │ ├── custom_button.dart
│ │ │ │ ├── Rating_pos.dart
│ │ │ │ └── image_det.dart
│ │ │ └── det_screen.dart
│ │ ├── widget
│ │ │ ├── body_builder.dart
│ │ │ ├── app_bar_dessets.dart
│ │ │ └── body_desserts.dart
│ │ └── desserts_screen.dart
│ ├── logins_screens
│ │ ├── reset_password_screen
│ │ │ ├── widget
│ │ │ │ ├── reset_hedertxt.dart
│ │ │ │ └── resrt_secandTxt.dart
│ │ │ └── reset_passwrod_screen.dart
│ │ ├── conform_screen
│ │ │ ├── widget
│ │ │ │ ├── conform_fields.dart
│ │ │ │ ├── conform_clickHere.dart
│ │ │ │ └── password_feild.dart
│ │ │ └── conform_screen.dart
│ │ └── init_screen
│ │ │ ├── widget
│ │ │ └── init_screen_stacks.dart
│ │ │ └── int_screen.dart
│ ├── body_nav_bar
│ │ ├── more
│ │ │ ├── payment_screen
│ │ │ │ ├── widget
│ │ │ │ │ ├── Sheet
│ │ │ │ │ │ ├── header_txt_sheet.dart
│ │ │ │ │ │ ├── icon_closebottom_sheet_pay_mayment.dart
│ │ │ │ │ │ ├── contentInPayment.dart
│ │ │ │ │ │ ├── cust_txtfiled_payment.dart
│ │ │ │ │ │ └── cust_button_sheet_payment.dart
│ │ │ │ │ ├── hedar_txt_payment.dart
│ │ │ │ │ ├── cust_button_payment.dart
│ │ │ │ │ └── cust_card_payment.dart
│ │ │ │ └── payment_screen.dart
│ │ │ ├── my_order
│ │ │ │ ├── check_out
│ │ │ │ │ ├── widget
│ │ │ │ │ │ ├── delivery_address_check.dart
│ │ │ │ │ │ ├── change_address_check.dart
│ │ │ │ │ │ ├── list_radio_check_out.dart
│ │ │ │ │ │ ├── payment_method_check.dart
│ │ │ │ │ │ └── send_order_sheet.dart
│ │ │ │ │ └── change_address
│ │ │ │ │ │ └── widget
│ │ │ │ │ │ └── change_address.dart
│ │ │ │ └── widget
│ │ │ │ │ ├── first_sections_in_myOrder.dart
│ │ │ │ │ ├── list_of_order_det.dart
│ │ │ │ │ ├── sum_txt_ofFirs_sectionMyOrder.dart
│ │ │ │ │ └── two_sections_in_myorder.dart
│ │ │ ├── widget
│ │ │ │ ├── body_more.dart
│ │ │ │ ├── custom_button_more.dart
│ │ │ │ └── cus_container_more.dart
│ │ │ ├── Inbox
│ │ │ │ ├── widget
│ │ │ │ │ ├── custom_trailing_inbox.dart
│ │ │ │ │ └── custom_title_inbox.dart
│ │ │ │ └── inbox_screen.dart
│ │ │ ├── notifications
│ │ │ │ └── notification_screen.dart
│ │ │ └── more_nav.dart
│ │ ├── offers
│ │ │ ├── widget
│ │ │ │ ├── head_offer.dart
│ │ │ │ └── CustButton.dart
│ │ │ └── offers_nav.dart
│ │ ├── home
│ │ │ ├── widget
│ │ │ │ ├── delivering_to_txt.dart
│ │ │ │ ├── contentInListHome
│ │ │ │ │ ├── mianTxt_inList_home.dart
│ │ │ │ │ ├── images_in_list_ofhome.dart
│ │ │ │ │ └── secaodtxt_list_home.dart
│ │ │ │ ├── custom_listView_verTwo.dart
│ │ │ │ ├── custom_list_comp.dart
│ │ │ │ ├── list_recent_item_home.dart
│ │ │ │ ├── hedar.dart
│ │ │ │ ├── search_appbar.dart
│ │ │ │ ├── custom_list_ver_one.dart
│ │ │ │ ├── Content_Recent_Item_inhome.dart
│ │ │ │ └── custom_list_view_hori.dart
│ │ │ └── home_nav_screen.dart
│ │ ├── menu
│ │ │ ├── widget
│ │ │ │ ├── image_Body_Menu.dart
│ │ │ │ ├── container_orang.dart
│ │ │ │ ├── card_menu_body.dart
│ │ │ │ ├── button_Body_Menu.dart
│ │ │ │ ├── body_menu.dart
│ │ │ │ └── card_Body_Menu.dart
│ │ │ └── menu_nav.dart
│ │ └── profile
│ │ │ └── widget
│ │ │ └── col_txt.dart
│ ├── on_bording_screens
│ │ ├── on_boarding_indicatort.dart
│ │ └── page_view
│ │ │ └── widget
│ │ │ ├── pageView_indecator.dart
│ │ │ ├── pageView_secand_txt.dart
│ │ │ ├── pageView_heder_txt.dart
│ │ │ └── pageView_button.dart
│ ├── nav_buttom_bar
│ │ ├── custom_floating.dart
│ │ └── bottom_nav.dart
│ ├── home_screen
│ │ ├── widget
│ │ │ └── app_bar.dart
│ │ └── home_screen.dart
│ └── launch_screen.dart
├── bloc
│ ├── test_state.dart
│ └── test_cubit.dart
├── util
│ ├── constant.dart
│ └── const_assets.dart
├── models
│ ├── bottom_nav_model.dart
│ └── p_models.dart
├── cubitUi
│ └── cubitUiTest.dart
├── shared
│ ├── cust_appbar_other.dart
│ └── my_button.dart
└── localData
│ └── shared_pref.dart
├── README.md
├── .github
└── workflows
│ └── dart.yml
├── .gitignore
├── test
└── widget_test.dart
├── analysis_options.yaml
└── .metadata
/linux/.gitignore:
--------------------------------------------------------------------------------
1 | flutter/ephemeral
2 |
--------------------------------------------------------------------------------
/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
2 |
--------------------------------------------------------------------------------
/web/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/web/favicon.png
--------------------------------------------------------------------------------
/assets/images/borg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/assets/images/borg.png
--------------------------------------------------------------------------------
/assets/images/food.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/assets/images/food.png
--------------------------------------------------------------------------------
/assets/images/map.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/assets/images/map.png
--------------------------------------------------------------------------------
/assets/images/user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/assets/images/user.png
--------------------------------------------------------------------------------
/assets/images/viza.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/assets/images/viza.jpg
--------------------------------------------------------------------------------
/web/icons/Icon-192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/web/icons/Icon-192.png
--------------------------------------------------------------------------------
/web/icons/Icon-512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/web/icons/Icon-512.png
--------------------------------------------------------------------------------
/assets/images/coffe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/assets/images/coffe.png
--------------------------------------------------------------------------------
/assets/images/masimo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/assets/images/masimo.png
--------------------------------------------------------------------------------
/assets/images/pizza.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/assets/images/pizza.png
--------------------------------------------------------------------------------
/assets/images/pizzat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/assets/images/pizzat.png
--------------------------------------------------------------------------------
/assets/images/pizzatt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/assets/images/pizzatt.png
--------------------------------------------------------------------------------
/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.useAndroidX=true
3 | android.enableJetifier=true
4 |
--------------------------------------------------------------------------------
/macos/Runner/Configs/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include "../../Flutter/Flutter-Debug.xcconfig"
2 | #include "Warnings.xcconfig"
3 |
--------------------------------------------------------------------------------
/web/icons/Icon-maskable-192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/web/icons/Icon-maskable-192.png
--------------------------------------------------------------------------------
/web/icons/Icon-maskable-512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/web/icons/Icon-maskable-512.png
--------------------------------------------------------------------------------
/macos/Runner/Configs/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include "../../Flutter/Flutter-Release.xcconfig"
2 | #include "Warnings.xcconfig"
3 |
--------------------------------------------------------------------------------
/macos/.gitignore:
--------------------------------------------------------------------------------
1 | # Flutter-related
2 | **/Flutter/ephemeral/
3 | **/Pods/
4 |
5 | # Xcode-related
6 | **/dgph
7 | **/xcuserdata/
8 |
--------------------------------------------------------------------------------
/windows/runner/resources/app_icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/windows/runner/resources/app_icon.ico
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/macos/Flutter/Flutter-Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2 | #include "ephemeral/Flutter-Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/macos/Flutter/Flutter-Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2 | #include "ephemeral/Flutter-Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png
--------------------------------------------------------------------------------
/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png
--------------------------------------------------------------------------------
/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png
--------------------------------------------------------------------------------
/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png
--------------------------------------------------------------------------------
/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png
--------------------------------------------------------------------------------
/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/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/Ahedeid/Meal-monkey-App/HEAD/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/Ahedeid/Meal-monkey-App/HEAD/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/Ahedeid/Meal-monkey-App/HEAD/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/Ahedeid/Meal-monkey-App/HEAD/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/Ahedeid/Meal-monkey-App/HEAD/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/Ahedeid/Meal-monkey-App/HEAD/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/Ahedeid/Meal-monkey-App/HEAD/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/Ahedeid/Meal-monkey-App/HEAD/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/Ahedeid/Meal-monkey-App/HEAD/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/Ahedeid/Meal-monkey-App/HEAD/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/Ahedeid/Meal-monkey-App/HEAD/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/Ahedeid/Meal-monkey-App/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ahedeid/Meal-monkey-App/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/linux/main.cc:
--------------------------------------------------------------------------------
1 | #include "my_application.h"
2 |
3 | int main(int argc, char** argv) {
4 | g_autoptr(MyApplication) app = my_application_new();
5 | return g_application_run(G_APPLICATION(app), argc, argv);
6 | }
7 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/macos/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/app/src/main/kotlin/com/example/meal_monkey_mobile_project/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package com.example.meal_monkey_mobile_project
2 |
3 | import io.flutter.embedding.android.FlutterActivity
4 |
5 | class MainActivity: FlutterActivity() {
6 | }
7 |
--------------------------------------------------------------------------------
/linux/flutter/generated_plugin_registrant.cc:
--------------------------------------------------------------------------------
1 | //
2 | // Generated file. Do not edit.
3 | //
4 |
5 | // clang-format off
6 |
7 | #include "generated_plugin_registrant.h"
8 |
9 |
10 | void fl_register_plugins(FlPluginRegistry* registry) {
11 | }
12 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | zipStoreBase=GRADLE_USER_HOME
4 | zipStorePath=wrapper/dists
5 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
6 |
--------------------------------------------------------------------------------
/windows/flutter/generated_plugin_registrant.cc:
--------------------------------------------------------------------------------
1 | //
2 | // Generated file. Do not edit.
3 | //
4 |
5 | // clang-format off
6 |
7 | #include "generated_plugin_registrant.h"
8 |
9 |
10 | void RegisterPlugins(flutter::PluginRegistry* registry) {
11 | }
12 |
--------------------------------------------------------------------------------
/macos/Runner/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import Cocoa
2 | import FlutterMacOS
3 |
4 | @NSApplicationMain
5 | class AppDelegate: FlutterAppDelegate {
6 | override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
7 | return true
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/macos/Runner/Release.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.app-sandbox
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/macos/Runner.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/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/macos/Flutter/GeneratedPluginRegistrant.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Generated file. Do not edit.
3 | //
4 |
5 | import FlutterMacOS
6 | import Foundation
7 |
8 | import shared_preferences_foundation
9 |
10 | func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
11 | SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
12 | }
13 |
--------------------------------------------------------------------------------
/windows/.gitignore:
--------------------------------------------------------------------------------
1 | flutter/ephemeral/
2 |
3 | # Visual Studio user-specific files.
4 | *.suo
5 | *.user
6 | *.userosscache
7 | *.sln.docstates
8 |
9 | # Visual Studio build-related files.
10 | x64/
11 | x86/
12 |
13 | # Visual Studio cache files
14 | # files ending in .cache can be ignored
15 | *.[Cc]ache
16 | # but keep track of directories ending in .cache
17 | !*.[Cc]ache/
18 |
--------------------------------------------------------------------------------
/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.
--------------------------------------------------------------------------------
/linux/flutter/generated_plugin_registrant.h:
--------------------------------------------------------------------------------
1 | //
2 | // Generated file. Do not edit.
3 | //
4 |
5 | // clang-format off
6 |
7 | #ifndef GENERATED_PLUGIN_REGISTRANT_
8 | #define GENERATED_PLUGIN_REGISTRANT_
9 |
10 | #include
11 |
12 | // Registers Flutter plugins.
13 | void fl_register_plugins(FlPluginRegistry* registry);
14 |
15 | #endif // GENERATED_PLUGIN_REGISTRANT_
16 |
--------------------------------------------------------------------------------
/windows/flutter/generated_plugin_registrant.h:
--------------------------------------------------------------------------------
1 | //
2 | // Generated file. Do not edit.
3 | //
4 |
5 | // clang-format off
6 |
7 | #ifndef GENERATED_PLUGIN_REGISTRANT_
8 | #define GENERATED_PLUGIN_REGISTRANT_
9 |
10 | #include
11 |
12 | // Registers Flutter plugins.
13 | void RegisterPlugins(flutter::PluginRegistry* registry);
14 |
15 | #endif // GENERATED_PLUGIN_REGISTRANT_
16 |
--------------------------------------------------------------------------------
/lib/screens/desserts_screen/det_screen/widget/DivLine.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class DevLine extends StatelessWidget {
4 | const DevLine({
5 | Key? key,
6 | }) : super(key: key);
7 |
8 | @override
9 | Widget build(BuildContext context) {
10 | return const Divider(
11 | indent: 15,
12 | endIndent: 15,
13 | thickness: 1.5,
14 | );
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/macos/Runner/DebugProfile.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.app-sandbox
6 |
7 | com.apple.security.cs.allow-jit
8 |
9 | com.apple.security.network.server
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/lib/bloc/test_state.dart:
--------------------------------------------------------------------------------
1 | part of 'test_cubit.dart';
2 |
3 | @immutable
4 | abstract class TestState {}
5 |
6 | class TestInitial extends TestState {}
7 |
8 | class TestLoading extends TestState {}
9 |
10 | class TestError extends TestState {
11 | final String error ;
12 |
13 | TestError(this.error);
14 | }
15 |
16 | class TestLoaded extends TestState {
17 | final List testList;
18 |
19 | TestLoaded({required this.testList});
20 | }
21 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/linux/my_application.h:
--------------------------------------------------------------------------------
1 | #ifndef FLUTTER_MY_APPLICATION_H_
2 | #define FLUTTER_MY_APPLICATION_H_
3 |
4 | #include
5 |
6 | G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION,
7 | GtkApplication)
8 |
9 | /**
10 | * my_application_new:
11 | *
12 | * Creates a new Flutter-based application.
13 | *
14 | * Returns: a new #MyApplication.
15 | */
16 | MyApplication* my_application_new();
17 |
18 | #endif // FLUTTER_MY_APPLICATION_H_
19 |
--------------------------------------------------------------------------------
/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/android/app/src/profile/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/macos/Runner/MainFlutterWindow.swift:
--------------------------------------------------------------------------------
1 | import Cocoa
2 | import FlutterMacOS
3 |
4 | class MainFlutterWindow: NSWindow {
5 | override func awakeFromNib() {
6 | let flutterViewController = FlutterViewController.init()
7 | let windowFrame = self.frame
8 | self.contentViewController = flutterViewController
9 | self.setFrame(windowFrame, display: true)
10 |
11 | RegisterGeneratedPlugins(registry: flutterViewController)
12 |
13 | super.awakeFromNib()
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/lib/bloc/test_cubit.dart:
--------------------------------------------------------------------------------
1 | import 'package:bloc/bloc.dart';
2 | import 'package:meta/meta.dart';
3 |
4 | part 'test_state.dart';
5 |
6 | class TestCubit extends Cubit {
7 | TestCubit() : super(TestInitial()) {
8 | getData();
9 | }
10 |
11 | void getData() {
12 | try {
13 | emit(TestLoading());
14 | var response = [];
15 | emit(TestLoaded(testList: response));
16 | } catch (error) {
17 | emit(TestError(error.toString()));
18 | }
19 | }
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/windows/runner/resource.h:
--------------------------------------------------------------------------------
1 | //{{NO_DEPENDENCIES}}
2 | // Microsoft Visual C++ generated include file.
3 | // Used by Runner.rc
4 | //
5 | #define IDI_APP_ICON 101
6 |
7 | // Next default values for new objects
8 | //
9 | #ifdef APSTUDIO_INVOKED
10 | #ifndef APSTUDIO_READONLY_SYMBOLS
11 | #define _APS_NEXT_RESOURCE_VALUE 102
12 | #define _APS_NEXT_COMMAND_VALUE 40001
13 | #define _APS_NEXT_CONTROL_VALUE 1001
14 | #define _APS_NEXT_SYMED_VALUE 101
15 | #endif
16 | #endif
17 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/lib/screens/desserts_screen/det_screen/widget/head_txt.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class HeadTex extends StatelessWidget {
4 | final String str;
5 |
6 | const HeadTex({super.key, required this.str});
7 |
8 | @override
9 | Widget build(BuildContext context) {
10 | return Padding(
11 | padding: const EdgeInsets.only(left: 15),
12 | child: Text(
13 | str,
14 | style: const TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
15 | ),
16 | );
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-v21/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/lib/screens/logins_screens/reset_password_screen/widget/reset_hedertxt.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | import '../../../../util/constant.dart';
4 |
5 | class ResetHedertxt extends StatelessWidget {
6 | const ResetHedertxt({
7 | Key? key,
8 | }) : super(key: key);
9 |
10 | @override
11 | Widget build(BuildContext context) {
12 | return const Text(
13 | 'Reset Password',
14 | style: TextStyle(
15 | fontSize: largeTxt,
16 | fontWeight: FontWeight.bold,
17 | color: Color(primaryTextColor),
18 | ),
19 | );
20 | }
21 | }
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/payment_screen/widget/Sheet/header_txt_sheet.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class HeaderTxtSheetPayment extends StatelessWidget {
5 | const HeaderTxtSheetPayment({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return const Text(
12 | 'Add Credit/Debit Card',
13 | style: TextStyle(
14 | fontWeight: FontWeight.bold,
15 | fontSize: mediumTxt,
16 | ),
17 | );
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Meal monkey App
2 |
3 | A new Flutter project.
4 |
5 | ## Getting Started
6 |
7 | This project is a starting point for a Flutter application.
8 |
9 | A few resources to get you started if this is your first Flutter project:
10 |
11 | - [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab)
12 | - [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook)
13 |
14 | For help getting started with Flutter development, view the
15 | [online documentation](https://docs.flutter.dev/), which offers tutorials,
16 | samples, guidance on mobile development, and a full API reference.
17 |
--------------------------------------------------------------------------------
/lib/screens/logins_screens/reset_password_screen/widget/resrt_secandTxt.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | import '../../../../util/constant.dart';
4 |
5 | class ResrtSecandTxt extends StatelessWidget {
6 | const ResrtSecandTxt({
7 | Key? key,
8 | }) : super(key: key);
9 |
10 | @override
11 | Widget build(BuildContext context) {
12 | return const Text(
13 | ' Please enter your email to receive a\nlink to create a new password via email',
14 | style: TextStyle(
15 | color: Color(secondaryTextColor),
16 | fontSize: sizeText,
17 | ),
18 | );
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/.github/workflows/dart.yml:
--------------------------------------------------------------------------------
1 | # This workflow uses actions that are not certified by GitHub.
2 | # They are provided by a third-party and are governed by
3 | # separate terms of service, privacy policy, and support
4 | # documentation.
5 |
6 | name: Dart
7 |
8 | on:
9 | push:
10 | branches: [ "master" ]
11 | pull_request:
12 | branches: [ "master" ]
13 |
14 | jobs:
15 | build:
16 | runs-on: ubuntu-latest
17 |
18 | steps:
19 | - uses: actions/checkout@v3
20 | - uses: subosito/flutter-action@v2
21 | with:
22 | channel: 'stable' # or: 'beta', 'dev' or 'master'
23 | - run: flutter --version
24 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/offers/widget/head_offer.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class HeadOfferSc extends StatelessWidget {
5 | const HeadOfferSc({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return const Padding(
12 | padding: EdgeInsets.symmetric(horizontal: 20, vertical: 5),
13 | child: Text(
14 | '''Find discounts, Offers special
15 | meals and more!''',
16 | style: TextStyle(fontSize: 17, color: Color(secondaryTextColor)),
17 | ),
18 | );
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/macos/Runner/Configs/Warnings.xcconfig:
--------------------------------------------------------------------------------
1 | WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings
2 | GCC_WARN_UNDECLARED_SELECTOR = YES
3 | CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES
4 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE
5 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES
6 | CLANG_WARN_PRAGMA_PACK = YES
7 | CLANG_WARN_STRICT_PROTOTYPES = YES
8 | CLANG_WARN_COMMA = YES
9 | GCC_WARN_STRICT_SELECTOR_MATCH = YES
10 | CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES
11 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES
12 | GCC_WARN_SHADOW = YES
13 | CLANG_WARN_UNREACHABLE_CODE = YES
14 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/payment_screen/widget/hedar_txt_payment.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class HeaderTxtPayment extends StatelessWidget {
5 | const HeaderTxtPayment({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return const Padding(
12 | padding: EdgeInsets.symmetric(vertical: 15, horizontal: 22),
13 | child: Text(
14 | 'Customize your payment method',
15 | style: TextStyle(fontWeight: FontWeight.bold, fontSize: mediumTxt),
16 | ),
17 | );
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/lib/util/constant.dart:
--------------------------------------------------------------------------------
1 | // Colors in App
2 | const int primaryColor = 0xffFC6011;
3 |
4 | const int secondaryTextColor = 0xff7C7D7E;
5 |
6 | const int primaryTextColor = 0xff4A4B4D;
7 | const int backGroundColor = 0xffF2F2F2;
8 |
9 | const int textInButtonColor = 0xffFFFFFF;
10 |
11 | // Size Text in App
12 | const double sizeText = 16;
13 |
14 | const double mediumTxt = 16;
15 |
16 | const double largeTxt = 25;
17 |
18 | // Width && Height Button in App
19 | const double buttonWidth = double.infinity;
20 | const double buttonHeight = 56;
21 |
22 | // Width && Height TextField in App
23 | const double textFieldWidth = 340;
24 | const double textFieldHeight = 60;
25 |
--------------------------------------------------------------------------------
/lib/screens/logins_screens/conform_screen/widget/conform_fields.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/screens/logins_screens/conform_screen/widget/password_feild.dart';
3 |
4 | class ConformFields extends StatelessWidget {
5 | const ConformFields({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return const Row(
12 | mainAxisAlignment: MainAxisAlignment.spaceEvenly,
13 | children: [
14 | PasswordFeild(),
15 | PasswordFeild(),
16 | PasswordFeild(),
17 | PasswordFeild(),
18 | ],
19 | );
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/my_order/check_out/widget/delivery_address_check.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class DeliveryAddressTxt extends StatelessWidget {
5 | const DeliveryAddressTxt({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return const Padding(
12 | padding: EdgeInsets.symmetric(horizontal: 22),
13 | child: Text(
14 | 'Delivery Address',
15 | style: TextStyle(
16 | color: Color(secondaryTextColor),
17 | fontSize: sizeText,
18 | ),
19 | ),
20 | );
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/lib/screens/on_bording_screens/on_boarding_indicatort.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class OnBoardingIndicator extends StatelessWidget {
4 | final double marginEnd;
5 | final bool selected;
6 |
7 | const OnBoardingIndicator({
8 | super.key,
9 | required this.selected,
10 | this.marginEnd = 0,
11 | });
12 |
13 | @override
14 | Widget build(BuildContext context) {
15 | return Container(
16 | margin: EdgeInsetsDirectional.only(end: marginEnd),
17 | width: 10,
18 | height: 10,
19 | decoration: BoxDecoration(
20 | color: selected ? Colors.orange : Colors.grey,
21 | shape: BoxShape.circle),
22 | );
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/home/widget/delivering_to_txt.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 |
5 | class DeliveringToTxt extends StatelessWidget {
6 | const DeliveringToTxt({
7 | Key? key,
8 | }) : super(key: key);
9 |
10 | @override
11 | Widget build(BuildContext context) {
12 | return const Padding(
13 | padding: EdgeInsets.only(
14 | left: 22,
15 | top: 10,
16 | ),
17 | child: Text(
18 | 'Delivering to',
19 | style: TextStyle(
20 | fontSize: sizeText,
21 | color: Color(secondaryTextColor),
22 | ),
23 | ),
24 | );
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/macos/Runner/Configs/AppInfo.xcconfig:
--------------------------------------------------------------------------------
1 | // Application-level settings for the Runner target.
2 | //
3 | // This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the
4 | // future. If not, the values below would default to using the project name when this becomes a
5 | // 'flutter create' template.
6 |
7 | // The application's name. By default this is also the title of the Flutter window.
8 | PRODUCT_NAME = meal_monkey_mobile_project
9 |
10 | // The application's bundle identifier
11 | PRODUCT_BUNDLE_IDENTIFIER = com.example.mealMonkeyMobileProject
12 |
13 | // The copyright displayed in application information
14 | PRODUCT_COPYRIGHT = Copyright © 2023 com.example. All rights reserved.
15 |
--------------------------------------------------------------------------------
/ios/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Flutter (1.0.0)
3 | - shared_preferences_foundation (0.0.1):
4 | - Flutter
5 | - FlutterMacOS
6 |
7 | DEPENDENCIES:
8 | - Flutter (from `Flutter`)
9 | - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
10 |
11 | EXTERNAL SOURCES:
12 | Flutter:
13 | :path: Flutter
14 | shared_preferences_foundation:
15 | :path: ".symlinks/plugins/shared_preferences_foundation/darwin"
16 |
17 | SPEC CHECKSUMS:
18 | Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
19 | shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126
20 |
21 | PODFILE CHECKSUM: b17e1ecfe97aba85f3997d462fe23d9e4313a8d8
22 |
23 | COCOAPODS: 1.12.1
24 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/home/widget/contentInListHome/mianTxt_inList_home.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class MainTxtInListHome extends StatelessWidget {
5 | const MainTxtInListHome({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return const Padding(
12 | padding: EdgeInsets.only(left: 22, top: 15),
13 | child: Text(
14 | 'Minute by tuk tuk',
15 | style: TextStyle(
16 | fontSize: 20,
17 | color: Color(primaryTextColor),
18 | fontWeight: FontWeight.bold),
19 | ),
20 | );
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | ext.kotlin_version = '1.6.10'
3 | repositories {
4 | google()
5 | mavenCentral()
6 | }
7 |
8 | dependencies {
9 | classpath 'com.android.tools.build:gradle:7.1.2'
10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
11 | }
12 | }
13 |
14 | allprojects {
15 | repositories {
16 | google()
17 | mavenCentral()
18 | }
19 | }
20 |
21 | rootProject.buildDir = '../build'
22 | subprojects {
23 | project.buildDir = "${rootProject.buildDir}/${project.name}"
24 | }
25 | subprojects {
26 | project.evaluationDependsOn(':app')
27 | }
28 |
29 | task clean(type: Delete) {
30 | delete rootProject.buildDir
31 | }
32 |
--------------------------------------------------------------------------------
/assets/icons/menu2.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/home/widget/contentInListHome/images_in_list_ofhome.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class ImagesInListOfHome extends StatelessWidget {
4 | const ImagesInListOfHome({
5 | Key? key,
6 | required this.index,
7 | required this.images,
8 | }) : super(key: key);
9 | final int index;
10 |
11 | final List images;
12 |
13 | @override
14 | Widget build(BuildContext context) {
15 | return SizedBox(
16 | width: double.infinity,
17 | height: 180,
18 | child: Image.asset(
19 | images[index],
20 | color: Colors.black.withOpacity(0.1),
21 | colorBlendMode: BlendMode.darken,
22 | fit: BoxFit.cover,
23 | ),
24 | );
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/menu/widget/image_Body_Menu.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class ImageINBodyMenu extends StatelessWidget {
4 | const ImageINBodyMenu({
5 | Key? key,
6 | }) : super(key: key);
7 |
8 | @override
9 | Widget build(BuildContext context) {
10 | return SizedBox(
11 | width: 75,
12 | height: 75,
13 | // decoration: BoxDecoration(shape: BoxShape.circle),
14 | child: ClipRRect(
15 | borderRadius: BorderRadius.circular(35),
16 | child: Image.asset(
17 | 'assets/images/borg.png',
18 | color: Colors.black.withOpacity(0.1),
19 | colorBlendMode: BlendMode.darken,
20 | ),
21 | ));
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/lib/models/bottom_nav_model.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class BottomNavModel {
4 | final IconData? icon;
5 |
6 | final String? label;
7 |
8 | BottomNavModel({
9 | this.icon,
10 | this.label,
11 | });
12 |
13 | static List list = [
14 | BottomNavModel(
15 | icon: Icons.menu,
16 | label: 'Menu',
17 | ),
18 | BottomNavModel(
19 | icon: Icons.shopping_bag_outlined,
20 | label: 'Offers',
21 | ),
22 | BottomNavModel(
23 | label: '',
24 | ),
25 | BottomNavModel(
26 | icon: Icons.person,
27 | label: 'Profile',
28 | ),
29 | BottomNavModel(
30 | icon: Icons.more,
31 | label: 'More',
32 | ),
33 | ];
34 | }
35 |
--------------------------------------------------------------------------------
/lib/screens/desserts_screen/det_screen/widget/decrip_det.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class DescriptionDet extends StatelessWidget {
5 | const DescriptionDet({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return const Padding(
12 | padding: EdgeInsets.all(15),
13 | child: Text(
14 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ornare leo non mollis id cursus. Eu euismod faucibus in leo malesuada',
15 | style: TextStyle(
16 | fontSize: 16,
17 | color: Color(secondaryTextColor),
18 | ),
19 | ),
20 | );
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/windows/runner/utils.h:
--------------------------------------------------------------------------------
1 | #ifndef RUNNER_UTILS_H_
2 | #define RUNNER_UTILS_H_
3 |
4 | #include
5 | #include
6 |
7 | // Creates a console for the process, and redirects stdout and stderr to
8 | // it for both the runner and the Flutter library.
9 | void CreateAndAttachConsole();
10 |
11 | // Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string
12 | // encoded in UTF-8. Returns an empty std::string on failure.
13 | std::string Utf8FromUtf16(const wchar_t* utf16_string);
14 |
15 | // Gets the command line arguments passed in as a std::vector,
16 | // encoded in UTF-8. Returns an empty std::vector on failure.
17 | std::vector GetCommandLineArguments();
18 |
19 | #endif // RUNNER_UTILS_H_
20 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/profile/widget/col_txt.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class ColTxt extends StatelessWidget {
5 | const ColTxt({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return const Row(
12 | mainAxisAlignment: MainAxisAlignment.center,
13 | children: [
14 | Icon(
15 | Icons.edit,
16 | color: Color(primaryColor),
17 | size: 12,
18 | ),
19 | SizedBox(width: 7),
20 | Text(
21 | 'Edit Profile',
22 | style: TextStyle(color: Color(primaryColor), fontSize: 13),
23 | ),
24 | ],
25 | );
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/menu/widget/container_orang.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class ContainerOrange extends StatelessWidget {
5 | const ContainerOrange({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return Container(
12 | height: MediaQuery.of(context).size.height * 0.6,
13 | width: MediaQuery.of(context).size.width * 0.24,
14 | decoration: const BoxDecoration(
15 | color: Color(primaryColor),
16 | borderRadius: BorderRadius.only(
17 | topRight: Radius.circular(38),
18 | bottomRight: Radius.circular(38),
19 | ),
20 | ),
21 | );
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/payment_screen/widget/Sheet/icon_closebottom_sheet_pay_mayment.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class IconCloseBottomSheetPayment extends StatelessWidget {
4 | const IconCloseBottomSheetPayment({
5 | Key? key,
6 | }) : super(key: key);
7 |
8 | @override
9 | Widget build(BuildContext context) {
10 | return SizedBox(
11 | height: 20,
12 | child: Row(
13 | mainAxisAlignment: MainAxisAlignment.spaceBetween,
14 | children: [
15 | const SizedBox(width: 5),
16 | IconButton(
17 | onPressed: () {
18 | Navigator.pop(context);
19 | },
20 | icon: const Icon(Icons.close),
21 | ),
22 | ],
23 | ),
24 | );
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/assets/icons/004-inbox-mail.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/home/widget/custom_listView_verTwo.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | import 'list_recent_item_home.dart';
4 |
5 | class CustomListViewVerTwo extends StatelessWidget {
6 | const CustomListViewVerTwo({
7 | Key? key,
8 | }) : super(key: key);
9 |
10 | @override
11 | Widget build(BuildContext context) {
12 | return Padding(
13 | padding: const EdgeInsets.symmetric(horizontal: 22),
14 | child: Expanded(
15 | child: ListView.builder(
16 | shrinkWrap: true,
17 | physics: const NeverScrollableScrollPhysics(),
18 | itemCount: 3,
19 | itemBuilder: (context, index) {
20 | return const ListRecentItemsHome();
21 | })),
22 | );
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/widget/body_more.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | import 'cus_container_more.dart';
4 | import 'custom_button_more.dart';
5 |
6 | class BodyMore extends StatelessWidget {
7 | String str;
8 | String nav;
9 |
10 | String image;
11 |
12 | BodyMore(
13 | {super.key, required this.nav, required this.str, required this.image});
14 |
15 | @override
16 | Widget build(BuildContext context) {
17 | return InkWell(
18 | onTap: () {
19 | Navigator.pushNamed(context, nav);
20 | },
21 | child: Stack(
22 | children: [
23 | CusContainerMore(image: image, str: str),
24 | CustomButtonMore(
25 | nav: nav,
26 | ),
27 | ],
28 | ),
29 | );
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/home/widget/custom_list_comp.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class CustomListComp extends StatelessWidget {
5 | const CustomListComp({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return const ExpansionTile(
12 | // controlAffinity: ListTileControlAffinity.trailing,
13 | // childrenPadding: EdgeInsets.all(50),
14 | tilePadding: EdgeInsets.symmetric(horizontal: 21),
15 | title: Text(
16 | 'Current Location',
17 | style: TextStyle(
18 | fontSize: largeTxt,
19 | color: Color(primaryTextColor),
20 | fontWeight: FontWeight.bold),
21 | ));
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/lib/util/const_assets.dart:
--------------------------------------------------------------------------------
1 | // Images In Home Screen
2 |
3 | const String porgar = 'assets/images/borg.png';
4 | const String coffe = 'assets/images/coffe.png';
5 | const String masimo = 'assets/images/masimo.png';
6 | const String pizza1 = 'assets/images/pizza.png';
7 | const String pizza2 = 'assets/images/pizzat.png';
8 | const String pizza3 = 'assets/images/pizzatt.png';
9 | const String food = 'assets/images/food.png';
10 |
11 | // Icons IN BottomNavBar
12 |
13 | const String more = 'assets/icons/menu';
14 | const String menu = 'assets/icons/menu2';
15 |
16 | // Image in Send Order Sheet
17 | const String moneyAndPayment = 'assets/images/monye.svg';
18 |
19 | // Images in init Screen
20 |
21 | const String logo = 'assets/images/Logo.svg';
22 | const String backgroundinitScreen =
23 | 'assets/images/Group Background initScreen .svg';
24 |
--------------------------------------------------------------------------------
/lib/screens/desserts_screen/det_screen/widget/show_result.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class ShowResultDet extends StatelessWidget {
5 | const ShowResultDet({super.key, required this.count});
6 |
7 | final int count;
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return Container(
12 | width: 60,
13 | height: 35,
14 | decoration: BoxDecoration(
15 | borderRadius: BorderRadius.circular(18),
16 | border: Border.all(
17 | color: const Color(primaryColor),
18 | width: 2,
19 | )),
20 | child: Center(
21 | child: Text(
22 | '$count',
23 | style: const TextStyle(fontSize: 16),
24 | ),
25 | ),
26 | );
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/home/widget/list_recent_item_home.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/const_assets.dart';
3 |
4 | import 'Content_Recent_Item_inhome.dart';
5 |
6 | class ListRecentItemsHome extends StatelessWidget {
7 | const ListRecentItemsHome({
8 | Key? key,
9 | }) : super(key: key);
10 |
11 | @override
12 | Widget build(BuildContext context) {
13 | return Padding(
14 | padding: const EdgeInsets.symmetric(vertical: 15),
15 | child: SizedBox(
16 | width: double.infinity,
17 | height: 100,
18 | child: Row(
19 | children: [
20 | Image.asset(pizza2),
21 | const SizedBox(width: 17),
22 | const ContentRecentItemInHome(),
23 | ],
24 | ),
25 | ),
26 | );
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/lib/screens/desserts_screen/det_screen/widget/shape_rating.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:flutter_rating_bar/flutter_rating_bar.dart';
3 |
4 | class ShapeRating extends StatelessWidget {
5 | const ShapeRating({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return RatingBar.builder(
12 | itemSize: 28,
13 | initialRating: 3,
14 | minRating: 1,
15 | direction: Axis.horizontal,
16 | allowHalfRating: true,
17 | itemCount: 5,
18 | itemPadding: const EdgeInsets.symmetric(horizontal: 3),
19 | itemBuilder: (context, _) => const Icon(
20 | Icons.star,
21 | color: Colors.amber,
22 | ),
23 | onRatingUpdate: (rating) {
24 | print(rating);
25 | },
26 | );
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/linux/flutter/generated_plugins.cmake:
--------------------------------------------------------------------------------
1 | #
2 | # Generated file, do not edit.
3 | #
4 |
5 | list(APPEND FLUTTER_PLUGIN_LIST
6 | )
7 |
8 | list(APPEND FLUTTER_FFI_PLUGIN_LIST
9 | )
10 |
11 | set(PLUGIN_BUNDLED_LIBRARIES)
12 |
13 | foreach(plugin ${FLUTTER_PLUGIN_LIST})
14 | add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin})
15 | target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin)
16 | list(APPEND PLUGIN_BUNDLED_LIBRARIES $)
17 | list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
18 | endforeach(plugin)
19 |
20 | foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
21 | add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin})
22 | list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
23 | endforeach(ffi_plugin)
24 |
--------------------------------------------------------------------------------
/windows/flutter/generated_plugins.cmake:
--------------------------------------------------------------------------------
1 | #
2 | # Generated file, do not edit.
3 | #
4 |
5 | list(APPEND FLUTTER_PLUGIN_LIST
6 | )
7 |
8 | list(APPEND FLUTTER_FFI_PLUGIN_LIST
9 | )
10 |
11 | set(PLUGIN_BUNDLED_LIBRARIES)
12 |
13 | foreach(plugin ${FLUTTER_PLUGIN_LIST})
14 | add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin})
15 | target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin)
16 | list(APPEND PLUGIN_BUNDLED_LIBRARIES $)
17 | list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
18 | endforeach(plugin)
19 |
20 | foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
21 | add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin})
22 | list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
23 | endforeach(ffi_plugin)
24 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/Inbox/widget/custom_trailing_inbox.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class CustomTrailingInbox extends StatelessWidget {
5 | const CustomTrailingInbox({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return Column(
12 | children: [
13 | const Text(
14 | '6th July',
15 | style: TextStyle(color: Color(secondaryTextColor)),
16 | ),
17 | const SizedBox(height: 15),
18 | Expanded(
19 | child: IconButton(
20 | onPressed: () {},
21 | icon: const Icon(
22 | Icons.star_outline,
23 | color: Color(primaryColor),
24 | ),
25 | ))
26 | ],
27 | );
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/menu/menu_nav.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/home/widget/search_appbar.dart';
3 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/menu/widget/body_menu.dart';
4 |
5 |
6 | class MenuNav extends StatefulWidget {
7 | const MenuNav({Key? key}) : super(key: key);
8 |
9 | @override
10 | State createState() => _MenuNavState();
11 | }
12 |
13 | class _MenuNavState extends State {
14 | @override
15 | Widget build(BuildContext context) {
16 | return const Column(
17 | crossAxisAlignment: CrossAxisAlignment.stretch,
18 | children: [
19 | SizedBox(height: 5),
20 | SearchBarWidget(),
21 | SizedBox(height: 35),
22 | BodyMenu(),
23 | ],
24 | );
25 | }
26 | }
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/lib/screens/on_bording_screens/page_view/widget/pageView_indecator.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | import '../../on_boarding_indicatort.dart';
4 |
5 |
6 | class PageViewIndecator extends StatelessWidget {
7 | const PageViewIndecator({
8 | Key? key,
9 | required int index,
10 | }) : _index = index, super(key: key);
11 |
12 | final int _index;
13 |
14 | @override
15 | Widget build(BuildContext context) {
16 | return Row(
17 | mainAxisAlignment: MainAxisAlignment.center,
18 | children: [
19 | OnBoardingIndicator(
20 | marginEnd: 5,
21 | selected: _index == 0,
22 | ),
23 | OnBoardingIndicator(
24 | marginEnd: 5,
25 | selected: _index == 1,
26 | ),
27 | OnBoardingIndicator(
28 | selected: _index == 2,
29 | ),
30 | ],
31 | );
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Miscellaneous
2 | *.class
3 | *.log
4 | *.pyc
5 | *.swp
6 | .DS_Store
7 | .atom/
8 | .buildlog/
9 | .history
10 | .svn/
11 | migrate_working_dir/
12 |
13 | # IntelliJ related
14 | *.iml
15 | *.ipr
16 | *.iws
17 | .idea/
18 |
19 | # The .vscode folder contains launch configuration and tasks you configure in
20 | # VS Code which you may wish to be included in version control, so this line
21 | # is commented out by default.
22 | #.vscode/
23 |
24 | # Flutter/Dart/Pub related
25 | **/doc/api/
26 | **/ios/Flutter/.last_build_id
27 | .dart_tool/
28 | .flutter-plugins
29 | .flutter-plugins-dependencies
30 | .packages
31 | .pub-cache/
32 | .pub/
33 | /build/
34 |
35 | # Symbolication related
36 | app.*.symbols
37 |
38 | # Obfuscation related
39 | app.*.map.json
40 |
41 | # Android Studio will place build artifacts here
42 | /android/app/debug
43 | /android/app/profile
44 | /android/app/release
45 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/offers/offers_nav.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/offers/widget/CustButton.dart';
3 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/offers/widget/head_offer.dart';
4 |
5 | import '../home/widget/custom_list_ver_one.dart';
6 |
7 |
8 | class OffersNav extends StatefulWidget {
9 | const OffersNav({Key? key}) : super(key: key);
10 |
11 | @override
12 | State createState() => _OffersNavState();
13 | }
14 |
15 | class _OffersNavState extends State {
16 | @override
17 | Widget build(BuildContext context) {
18 | return ListView(
19 | shrinkWrap: true,
20 | children: [
21 | const HeadOfferSc(),
22 | const CustomButtonOffer(),
23 | BodyOffer()
24 | ],
25 | );
26 | }
27 | }
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/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 | 11.0
25 |
26 |
27 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/widget/custom_button_more.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class CustomButtonMore extends StatelessWidget {
4 | final String nav;
5 |
6 | const CustomButtonMore({
7 | super.key,
8 | required this.nav,
9 | });
10 |
11 | @override
12 | Widget build(BuildContext context) {
13 | return Positioned(
14 | top: 30,
15 | right: 0,
16 | child: Container(
17 | width: 35,
18 | height: 35,
19 | decoration: BoxDecoration(
20 | shape: BoxShape.circle,
21 | color: Colors.grey.shade200,
22 | ),
23 | child: IconButton(
24 | onPressed: () {
25 | Navigator.pushNamed(context, nav);
26 | },
27 | icon: const Icon(
28 | Icons.arrow_forward_ios,
29 | size: 20,
30 | ),
31 | ),
32 | ),
33 | );
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/lib/screens/on_bording_screens/page_view/widget/pageView_secand_txt.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/models/p_models.dart';
3 | import 'package:meal_monkey_mobile_project/util/constant.dart';
4 |
5 | class PageViewSecandTxt extends StatelessWidget {
6 | const PageViewSecandTxt({
7 | Key? key,
8 | required List data,
9 | required int index,
10 | }) : _data = data,
11 | _index = index,
12 | super(key: key);
13 |
14 | final List _data;
15 | final int _index;
16 |
17 | @override
18 | Widget build(BuildContext context) {
19 | return SizedBox(
20 | height: 58,
21 | child: Text(
22 | _data[_index].det,
23 | style: const TextStyle(
24 | color: Color(secondaryTextColor),
25 | fontSize: sizeText,
26 | ),
27 | ));
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/Inbox/widget/custom_title_inbox.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class CustomTitleIndox extends StatelessWidget {
5 | const CustomTitleIndox({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return const Column(
12 | crossAxisAlignment: CrossAxisAlignment.start,
13 | children: [
14 | Text(
15 | 'MealMonkey Promotions',
16 | style: TextStyle(
17 | fontSize: mediumTxt,
18 | ),
19 | ),
20 | SizedBox(height: 5),
21 | Text(
22 | 'Lorem ipsum dolor sit amet, consectetur consectetur adipiscing elit, adipiscing',
23 | style: TextStyle(color: Color(secondaryTextColor)),
24 | ),
25 | ]);
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/offers/widget/CustButton.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 |
5 | class CustomButtonOffer extends StatelessWidget {
6 | const CustomButtonOffer({
7 | Key? key,
8 | }) : super(key: key);
9 |
10 | @override
11 | Widget build(BuildContext context) {
12 | return Padding(
13 | padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 10),
14 | child: ElevatedButton(
15 | style: ButtonStyle(
16 | backgroundColor: const MaterialStatePropertyAll(Color(primaryColor)),
17 | shape: MaterialStatePropertyAll(
18 | RoundedRectangleBorder(
19 | borderRadius: BorderRadius.circular(28),
20 | ),
21 | ),
22 | ),
23 | onPressed: () {},
24 | child: const Text('Check Offers'),
25 | ),
26 | );
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/assets/icons/shopping-bag.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/menu/widget/card_menu_body.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | import 'button_Body_Menu.dart';
4 | import 'card_Body_Menu.dart';
5 | import 'image_Body_Menu.dart';
6 |
7 | class CardMuneBady extends StatelessWidget {
8 | const CardMuneBady({
9 | Key? key,
10 | }) : super(key: key);
11 |
12 | @override
13 | Widget build(BuildContext context) {
14 | return Stack(
15 | children: [
16 | InkWell(
17 | onTap: () {
18 | Navigator.pushNamed(context, 'desserts_screen');
19 | },
20 | child: const CardINBodyMenu()),
21 | const Padding(
22 | padding: EdgeInsets.symmetric(vertical: 10),
23 | child: Row(
24 | mainAxisAlignment: MainAxisAlignment.spaceBetween,
25 | children: [ImageINBodyMenu(), ButtonINBodyMenu()],
26 | ),
27 | )
28 | ],
29 | );
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/my_order/widget/first_sections_in_myOrder.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/more/my_order/widget/sum_txt_ofFirs_sectionMyOrder.dart';
3 | import 'package:meal_monkey_mobile_project/util/const_assets.dart';
4 |
5 | class FirstSectionsInMyOrder extends StatelessWidget {
6 | const FirstSectionsInMyOrder({
7 | Key? key,
8 | }) : super(key: key);
9 |
10 | @override
11 | Widget build(BuildContext context) {
12 | return Padding(
13 | padding: const EdgeInsets.symmetric(vertical: 15),
14 | child: SizedBox(
15 | width: double.infinity,
16 | height: 100,
17 | child: Row(
18 | children: [
19 | Image.asset(porgar),
20 | const SizedBox(width: 17),
21 | const SumTxtOfFirsSectionMyOrder()
22 | ],
23 | ),
24 | ),
25 | );
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/lib/screens/on_bording_screens/page_view/widget/pageView_heder_txt.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/models/p_models.dart';
3 | import 'package:meal_monkey_mobile_project/util/constant.dart';
4 |
5 | class PageViewHeaderTxt extends StatelessWidget {
6 | const PageViewHeaderTxt({
7 | Key? key,
8 | required List data,
9 | required int index,
10 | }) : _data = data,
11 | _index = index,
12 | super(key: key);
13 |
14 | final List _data;
15 | final int _index;
16 |
17 | @override
18 | Widget build(BuildContext context) {
19 | return SizedBox(
20 | height: 60,
21 | child: Text(
22 | _data[_index].title,
23 | style: const TextStyle(
24 | fontSize: largeTxt,
25 | fontWeight: FontWeight.bold,
26 | color: Color(primaryTextColor)),
27 | ));
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/payment_screen/widget/Sheet/contentInPayment.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class ContentInButtonPayment extends StatelessWidget {
5 | const ContentInButtonPayment({
6 | Key? key,
7 | required this.str,
8 | }) : super(key: key);
9 |
10 | final String str;
11 |
12 | @override
13 | Widget build(BuildContext context) {
14 | return Row(
15 | mainAxisAlignment: MainAxisAlignment.center,
16 | children: [
17 | str == 'Send Order'
18 | ? const Text('')
19 | : const Icon(
20 | Icons.add,
21 | size: 28,
22 | ),
23 | const SizedBox(width: 25),
24 | Text(
25 | str,
26 | style: const TextStyle(
27 | fontSize: sizeText,
28 | ),
29 | ),
30 | ],
31 | );
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/lib/screens/nav_buttom_bar/custom_floating.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class CustomFloating extends StatelessWidget {
5 | final int currentIndex;
6 |
7 | final Function() onTab;
8 |
9 | const CustomFloating({
10 | super.key,
11 | required this.onTab,
12 | required this.currentIndex,
13 | });
14 |
15 | @override
16 | Widget build(BuildContext context) {
17 | return SizedBox(
18 | height: 65,
19 | width: 65,
20 | child: FloatingActionButton(
21 | elevation: 10,
22 | focusColor: currentIndex == 2
23 | ? const Color(primaryColor)
24 | : const Color(secondaryTextColor),
25 | onPressed: onTab,
26 | backgroundColor: const Color(primaryColor),
27 | child: const Icon(
28 | Icons.home,
29 | size: 40,
30 | ),
31 | ),
32 | );
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/lib/screens/desserts_screen/widget/body_builder.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | import 'body_desserts.dart';
4 |
5 | class BodyDessertsScreen extends StatelessWidget {
6 | const BodyDessertsScreen({
7 | Key? key,
8 | }) : super(key: key);
9 |
10 | @override
11 | Widget build(BuildContext context) {
12 | return ListView(
13 | children: const [
14 | SearchBar(),
15 | SizedBox(height: 20),
16 | BodyDesserts(),
17 | SizedBox(height: 4),
18 | BodyDesserts(),
19 | SizedBox(height: 4),
20 | BodyDesserts(),
21 | SizedBox(height: 4),
22 | BodyDesserts(),
23 | SizedBox(height: 4),
24 | BodyDesserts(),
25 | SizedBox(height: 4),
26 | BodyDesserts(),
27 | SizedBox(height: 4),
28 | BodyDesserts(),
29 | SizedBox(height: 4),
30 | BodyDesserts(),
31 | SizedBox(height: 4),
32 | ],
33 | );
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/windows/runner/runner.exe.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PerMonitorV2
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/lib/screens/logins_screens/conform_screen/widget/conform_clickHere.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class ConformClickHere extends StatelessWidget {
5 | const ConformClickHere({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return Row(
12 | mainAxisAlignment: MainAxisAlignment.center,
13 | children: [
14 | const Text(
15 | 'Didn\'t Receive?',
16 | style:
17 | TextStyle(color: Color(secondaryTextColor), fontSize: sizeText),
18 | ),
19 | TextButton(
20 | onPressed: () {
21 | Navigator.pushNamed(context, '');
22 | },
23 | child: const Text(
24 | 'Click Here',
25 | style: TextStyle(color: Color(primaryColor), fontSize: sizeText),
26 | ))
27 | ],
28 | );
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/assets/icons/star.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/lib/models/p_models.dart:
--------------------------------------------------------------------------------
1 | class PageModel {
2 | final String? imagePath;
3 |
4 | final String title;
5 |
6 | final String det;
7 |
8 | PageModel({required this.imagePath, required this.title, required this.det});
9 |
10 | static List data = [
11 | PageModel(
12 | imagePath: 'assets/images/Find food you love vector.svg',
13 | title: 'Find food you love',
14 | det:
15 | ' Discover the best foods from over 1,000\nrestaurants and fast delivery to your doorstep',
16 | ),
17 | PageModel(
18 | imagePath: 'assets/images/Delivery vector.svg',
19 | title: 'Fast Delivery',
20 | det:
21 | 'Fast food delivery to your home, office\n wherever you are',
22 | ),
23 | PageModel(
24 | imagePath: 'assets/images/Live tracking vector.svg',
25 | title: 'Live Traching',
26 | det:
27 | 'Real time tracking of your food on the\n app once you placed the order',
28 | )
29 | ];
30 | }
31 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/menu/widget/button_Body_Menu.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class ButtonINBodyMenu extends StatelessWidget {
5 | const ButtonINBodyMenu({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return Container(
12 | width: 35,
13 | height: 35,
14 | decoration: const BoxDecoration(boxShadow: [
15 | BoxShadow(color: Colors.black12, offset: Offset(1.5, 1.5)),
16 | BoxShadow(color: Colors.black12, offset: Offset(-1.5, -1.5)),
17 | ], shape: BoxShape.circle, color: Colors.white),
18 | child: IconButton(
19 | onPressed: () {
20 | Navigator.pushNamed(context, 'desserts_screen');
21 | },
22 | icon: const Icon(
23 | Icons.arrow_forward_ios,
24 | color: Color(primaryColor),
25 | size: 20,
26 | ),
27 | ),
28 | );
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/lib/screens/desserts_screen/det_screen/widget/box_options.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class BoxOptions extends StatelessWidget {
4 | final String str;
5 |
6 | const BoxOptions({super.key, required this.str});
7 |
8 | @override
9 | Widget build(BuildContext context) {
10 | return Padding(
11 | padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 15),
12 | child: Container(
13 | decoration: BoxDecoration(
14 | color: const Color(0xffF2F2F2),
15 | borderRadius: BorderRadius.circular(4)),
16 | child: ExpansionTile(
17 | trailing: const Icon(
18 | Icons.keyboard_arrow_down,
19 | size: 35,
20 | ),
21 | //tilePadding: EdgeInsets.only(left: 15, right: 15),
22 | title: Text(
23 | str,
24 | style: const TextStyle(
25 | fontSize: 18,
26 | color: Color(0xff4A4B4D),
27 | ),
28 | ),
29 | ),
30 | ),
31 | );
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/windows/runner/flutter_window.h:
--------------------------------------------------------------------------------
1 | #ifndef RUNNER_FLUTTER_WINDOW_H_
2 | #define RUNNER_FLUTTER_WINDOW_H_
3 |
4 | #include
5 | #include
6 |
7 | #include
8 |
9 | #include "win32_window.h"
10 |
11 | // A window that does nothing but host a Flutter view.
12 | class FlutterWindow : public Win32Window {
13 | public:
14 | // Creates a new FlutterWindow hosting a Flutter view running |project|.
15 | explicit FlutterWindow(const flutter::DartProject& project);
16 | virtual ~FlutterWindow();
17 |
18 | protected:
19 | // Win32Window:
20 | bool OnCreate() override;
21 | void OnDestroy() override;
22 | LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam,
23 | LPARAM const lparam) noexcept override;
24 |
25 | private:
26 | // The project to run.
27 | flutter::DartProject project_;
28 |
29 | // The Flutter instance hosted by this window.
30 | std::unique_ptr flutter_controller_;
31 | };
32 |
33 | #endif // RUNNER_FLUTTER_WINDOW_H_
34 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
15 |
18 |
19 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/menu/widget/body_menu.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | import 'card_menu_body.dart';
4 | import 'container_orang.dart';
5 |
6 | class BodyMenu extends StatelessWidget {
7 | const BodyMenu({
8 | Key? key,
9 | }) : super(key: key);
10 |
11 | @override
12 | Widget build(BuildContext context) {
13 | return Expanded(
14 | child: Stack(
15 | children: [
16 | const ContainerOrange(),
17 | Padding(
18 | padding: const EdgeInsets.symmetric(horizontal: 14, vertical: 15),
19 | child: Expanded(
20 | child: ListView(
21 | children: const [
22 | CardMuneBady(),
23 | SizedBox(height: 20),
24 | CardMuneBady(),
25 | SizedBox(height: 20),
26 | CardMuneBady(),
27 | SizedBox(height: 20),
28 | CardMuneBady(),
29 | ],
30 | ),
31 | ),
32 | ),
33 | ],
34 | ),
35 | );
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values-night/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
15 |
18 |
19 |
--------------------------------------------------------------------------------
/lib/screens/desserts_screen/det_screen/widget/num_of_portions.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/screens/desserts_screen/det_screen/widget/show_result.dart';
3 |
4 | import 'custom_button.dart';
5 | import 'head_txt.dart';
6 |
7 | class NumOfPortions extends StatelessWidget {
8 | final int count = 1;
9 |
10 | const NumOfPortions({
11 | Key? key,
12 | }) : super(key: key);
13 |
14 | @override
15 | Widget build(BuildContext context) {
16 | return Padding(
17 | padding: const EdgeInsets.only(right: 15),
18 | child: Row(
19 | mainAxisAlignment: MainAxisAlignment.spaceEvenly,
20 | children: [
21 | const Expanded(child: HeadTex(str: 'Number of Portions')),
22 | CustomButton(
23 | str: '-',
24 | count: count,
25 | ),
26 | ShowResultDet(
27 | count: count,
28 | ),
29 | CustomButton(
30 | str: '+',
31 | count: count,
32 | ),
33 | ],
34 | ),
35 | );
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/web/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "meal_monkey_mobile_project",
3 | "short_name": "meal_monkey_mobile_project",
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 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/home/widget/contentInListHome/secaodtxt_list_home.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class SecaondTxtInListHome extends StatelessWidget {
5 | const SecaondTxtInListHome({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return const Row(
12 | children: [
13 | SizedBox(width: 22),
14 | Icon(
15 | Icons.star_outlined,
16 | color: Color(primaryColor),
17 | size: 25,
18 | ),
19 | SizedBox(width: 5),
20 | Text(
21 | '562',
22 | style: TextStyle(
23 | fontSize: sizeText,
24 | color: Color(secondaryTextColor),
25 | ),
26 | ),
27 | SizedBox(width: 5),
28 | Text(
29 | '(124 ratings) Café Western Food',
30 | style: TextStyle(
31 | color: Color(secondaryTextColor),
32 | fontSize: sizeText,
33 | ),
34 | ),
35 | ],
36 | );
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/my_order/widget/list_of_order_det.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class ListOfOrderDet extends StatelessWidget {
5 | final String name;
6 | final String prise;
7 |
8 | final bool isBold;
9 | final Color colors;
10 | final double size;
11 |
12 | const ListOfOrderDet({
13 | super.key,
14 | required this.name,
15 | required this.prise,
16 | required this.isBold,
17 | required this.colors,
18 | required this.size,
19 | });
20 |
21 | @override
22 | Widget build(BuildContext context) {
23 | return Row(
24 | mainAxisAlignment: MainAxisAlignment.spaceBetween,
25 | children: [
26 | Text(
27 | name,
28 | style: TextStyle(
29 | fontSize: sizeText,
30 | fontWeight: isBold == true ? FontWeight.bold : FontWeight.normal,
31 | ),
32 | ),
33 | Text(
34 | prise,
35 | style: TextStyle(fontSize: size, color: colors),
36 | ),
37 | ],
38 | );
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/assets/icons/Group 8081.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/lib/screens/logins_screens/conform_screen/widget/password_feild.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class PasswordFeild extends StatelessWidget {
5 | const PasswordFeild({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return Container(
12 | alignment: Alignment.center,
13 | height: 60,
14 | width: 60,
15 | decoration: BoxDecoration(
16 | color: const Color(backGroundColor),
17 | borderRadius: BorderRadius.circular(13)),
18 | child: TextField(
19 | style: const TextStyle(color: Colors.black, fontSize: 35),
20 | decoration: InputDecoration(
21 | contentPadding:
22 | const EdgeInsets.symmetric(horizontal: 20, vertical: 5),
23 | border: OutlineInputBorder(
24 | borderRadius: BorderRadius.circular(13),
25 | borderSide: BorderSide.none)),
26 | obscureText: true,
27 | obscuringCharacter: '*',
28 | ),
29 | );
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/assets/icons/005-info.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/lib/screens/desserts_screen/det_screen/widget/custom_appbar_det.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class CusAppBarDet extends StatelessWidget {
4 | const CusAppBarDet({
5 | Key? key,
6 | }) : super(key: key);
7 |
8 | @override
9 | Widget build(BuildContext context) {
10 | return Positioned(
11 | top: 35,
12 | right: 20,
13 | left: 10,
14 | child: Row(
15 | mainAxisAlignment: MainAxisAlignment.spaceBetween,
16 | children: [
17 | IconButton(
18 | onPressed: () {
19 | Navigator.pop(context);
20 | },
21 | icon: const Icon(
22 | Icons.arrow_back_ios,
23 | color: Colors.white,
24 | size: 30,
25 | ),
26 | ),
27 | IconButton(
28 | onPressed: () {
29 | Navigator.pushReplacementNamed(context, 'my_cart');
30 | },
31 | icon: const Icon(
32 | Icons.shopping_cart_outlined,
33 | color: Colors.white,
34 | size: 30,
35 | ),
36 | )
37 | ],
38 | ),
39 | );
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/home/widget/hedar.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class HeaderName extends StatelessWidget {
5 | final String title;
6 |
7 | const HeaderName({
8 | super.key,
9 | required this.title,
10 | });
11 |
12 | @override
13 | Widget build(BuildContext context) {
14 | return Padding(
15 | padding: const EdgeInsets.symmetric(horizontal: 22),
16 | child: Row(
17 | mainAxisAlignment: MainAxisAlignment.spaceBetween,
18 | children: [
19 | Text(
20 | title,
21 | style: const TextStyle(
22 | fontSize: largeTxt,
23 | color: Color(primaryTextColor),
24 | fontWeight: FontWeight.bold,
25 | ),
26 | ),
27 | TextButton(
28 | onPressed: () {},
29 | child: const Text(
30 | 'View all',
31 | style: TextStyle(
32 | color: Color(primaryColor),
33 | fontSize: sizeText,
34 | ),
35 | ))
36 | ],
37 | ),
38 | );
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/macos/Runner/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIconFile
10 |
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | $(PRODUCT_NAME)
17 | CFBundlePackageType
18 | APPL
19 | CFBundleShortVersionString
20 | $(FLUTTER_BUILD_NAME)
21 | CFBundleVersion
22 | $(FLUTTER_BUILD_NUMBER)
23 | LSMinimumSystemVersion
24 | $(MACOSX_DEPLOYMENT_TARGET)
25 | NSHumanReadableCopyright
26 | $(PRODUCT_COPYRIGHT)
27 | NSMainNibFile
28 | MainMenu
29 | NSPrincipalClass
30 | NSApplication
31 |
32 |
33 |
--------------------------------------------------------------------------------
/test/widget_test.dart:
--------------------------------------------------------------------------------
1 | // This is a basic Flutter widget test.
2 | //
3 | // To perform an interaction with a widget in your test, use the WidgetTester
4 | // utility in the flutter_test package. For example, you can send tap and scroll
5 | // gestures. You can also use WidgetTester to find child widgets in the widget
6 | // tree, read text, and verify that the values of widget properties are correct.
7 |
8 | import 'package:flutter/material.dart';
9 | import 'package:flutter_test/flutter_test.dart';
10 |
11 | import 'package:meal_monkey_mobile_project/main.dart';
12 |
13 | void main() {
14 | testWidgets('Counter increments smoke test', (WidgetTester tester) async {
15 | // Build our app and trigger a frame.
16 | await tester.pumpWidget(const MonkeyApp());
17 |
18 | // Verify that our counter starts at 0.
19 | expect(find.text('0'), findsOneWidget);
20 | expect(find.text('1'), findsNothing);
21 |
22 | // Tap the '+' icon and trigger a frame.
23 | await tester.tap(find.byIcon(Icons.add));
24 | await tester.pump();
25 |
26 | // Verify that our counter has incremented.
27 | expect(find.text('0'), findsNothing);
28 | expect(find.text('1'), findsOneWidget);
29 | });
30 | }
31 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/home/widget/search_appbar.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class SearchBarWidget extends StatelessWidget {
5 | const SearchBarWidget({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return Padding(
12 | padding: const EdgeInsets.symmetric(horizontal: 22),
13 | child: Material(
14 | borderRadius: BorderRadius.circular(28),
15 | child: TextField(
16 | style: const TextStyle(
17 | color: Color(primaryTextColor),
18 | ),
19 | decoration: InputDecoration(
20 | filled: true,
21 | fillColor: const Color(backGroundColor),
22 | border: OutlineInputBorder(
23 | borderRadius: BorderRadius.circular(30),
24 | borderSide: BorderSide.none,
25 | ),
26 | hintText: 'Search food',
27 | prefixIcon: const Icon(
28 | Icons.search,
29 | color: Colors.black,
30 | ),
31 | // prefixIconColor: Colors.black,
32 | ),
33 | ),
34 | ),
35 | );
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/payment_screen/widget/Sheet/cust_txtfiled_payment.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class CustomTxtFiledPayment extends StatelessWidget {
5 | final String hint;
6 | final double wSizeFiled;
7 |
8 | const CustomTxtFiledPayment(
9 | {super.key, required this.wSizeFiled, required this.hint});
10 |
11 | @override
12 | Widget build(BuildContext context) {
13 | return Padding(
14 | padding: const EdgeInsets.symmetric(horizontal: 5),
15 | child: SizedBox(
16 | height: textFieldHeight,
17 | width: wSizeFiled,
18 | child: TextField(
19 | decoration: InputDecoration(
20 | prefix: const Text(" "),
21 | hintText: hint,
22 | hintStyle: const TextStyle(
23 | color: Color(primaryTextColor),
24 | ),
25 | filled: true,
26 | fillColor: const Color(backGroundColor),
27 | border: OutlineInputBorder(
28 | borderSide: BorderSide.none,
29 | borderRadius: BorderRadius.circular(50),
30 | ),
31 | ),
32 | ),
33 | ),
34 | );
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/my_order/check_out/widget/change_address_check.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class ChangeAddress extends StatelessWidget {
5 | const ChangeAddress({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return Padding(
12 | padding: const EdgeInsets.symmetric(horizontal: 22),
13 | child: Row(
14 | mainAxisAlignment: MainAxisAlignment.spaceBetween,
15 | children: [
16 | const Text(
17 | '''653 Nostrand Ave.,
18 | Brooklyn, NY 11216''',
19 | style: TextStyle(fontSize: mediumTxt, fontWeight: FontWeight.bold),
20 | ),
21 | TextButton(
22 | onPressed: () {
23 | Navigator.pushNamed(context, 'change_address_screen');
24 | },
25 | child: const Text(
26 | 'Change',
27 | style: TextStyle(
28 | fontWeight: FontWeight.bold,
29 | fontSize: mediumTxt,
30 | color: Color(primaryColor),
31 | ),
32 | ),
33 | )
34 | ],
35 | ),
36 | );
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/lib/cubitUi/cubitUiTest.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:flutter_bloc/flutter_bloc.dart';
3 | import 'package:meal_monkey_mobile_project/bloc/test_cubit.dart';
4 |
5 | class CubitTestUi extends StatelessWidget {
6 | const CubitTestUi({super.key});
7 |
8 | @override
9 | Widget build(BuildContext context) {
10 | return BlocProvider(
11 | create: (BuildContext context) {
12 | return TestCubit();
13 | },
14 | child: const BodyList());
15 | }
16 | }
17 |
18 | class BodyList extends StatelessWidget {
19 | const BodyList({super.key});
20 |
21 | @override
22 | Widget build(BuildContext context) {
23 | return BlocBuilder(
24 | builder: (BuildContext context, state) {
25 | print(state);
26 | if (state is TestLoading) {
27 | return const CircularProgressIndicator();
28 | } else if (state is TestLoaded) {
29 | var dataList = state.testList;
30 | return ListView.builder(
31 | itemCount: dataList.length,
32 | itemBuilder: (BuildContext context, int index) {},
33 | );
34 | } else {
35 | return Container();
36 | }
37 | },
38 | );
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/home/widget/custom_list_ver_one.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | import '../../../../util/const_assets.dart';
4 | import 'contentInListHome/images_in_list_ofhome.dart';
5 | import 'contentInListHome/mianTxt_inList_home.dart';
6 | import 'contentInListHome/secaodtxt_list_home.dart';
7 |
8 |
9 |
10 | class BodyOffer extends StatelessWidget {
11 | BodyOffer({
12 | Key? key,
13 | }) : super(key: key);
14 |
15 | List images= [
16 | pizza1,
17 | pizza2,
18 | pizza3,
19 | food
20 | ];
21 |
22 | @override
23 | Widget build(BuildContext context) {
24 | return Expanded(
25 | child: ListView.builder(
26 | shrinkWrap: true,
27 | physics: const NeverScrollableScrollPhysics(),
28 | itemCount: images.length,
29 | itemBuilder: (context, index) {
30 | return Column(
31 | crossAxisAlignment: CrossAxisAlignment.start,
32 | children: [
33 | ImagesInListOfHome(index: index, images: images,),
34 | const MainTxtInListHome(),
35 | const SizedBox(height: 10),
36 | const SecaondTxtInListHome(),
37 | const SizedBox(height: 15),
38 | ],
39 | );
40 | },
41 | ),
42 | );
43 | }
44 | }
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/lib/screens/desserts_screen/det_screen/widget/custom_button.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class CustomButton extends StatefulWidget {
5 | final String str;
6 | int count;
7 |
8 | CustomButton({super.key, required this.count, required this.str});
9 |
10 | @override
11 | State createState() => _CustomButtonState();
12 | }
13 |
14 | class _CustomButtonState extends State {
15 | @override
16 | Widget build(BuildContext context) {
17 | return SizedBox(
18 | height: 30,
19 | width: 52,
20 | child: ElevatedButton(
21 | style: ButtonStyle(
22 | shape: MaterialStateProperty.all(
23 | RoundedRectangleBorder(
24 | borderRadius: BorderRadius.circular(20),
25 | ),
26 | ),
27 | backgroundColor:
28 | MaterialStateProperty.all(const Color(primaryColor)),
29 | ),
30 | onPressed: () {
31 | setState(() {
32 | widget.str == '+' ? widget.count++ : widget.count--;
33 | });
34 | },
35 | child: Text(
36 | widget.str,
37 | style: const TextStyle(fontSize: 18),
38 | )),
39 | );
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/assets/icons/favoritebutton.svg:
--------------------------------------------------------------------------------
1 |
20 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/payment_screen/payment_screen.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/more/payment_screen/widget/cust_button_payment.dart';
3 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/more/payment_screen/widget/cust_card_payment.dart';
4 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/more/payment_screen/widget/hedar_txt_payment.dart';
5 | import 'package:meal_monkey_mobile_project/shared/cust_appbar_other.dart';
6 |
7 | class PaymentScreen extends StatelessWidget {
8 | const PaymentScreen({Key? key}) : super(key: key);
9 |
10 | @override
11 | Widget build(BuildContext context) {
12 | return Scaffold(
13 | appBar: CustomAppBarOther(
14 | txt: 'Payment Details',
15 | ),
16 | body: const Column(
17 | crossAxisAlignment: CrossAxisAlignment.start,
18 | children: [
19 | HeaderTxtPayment(),
20 | Divider(
21 | indent: 22,
22 | endIndent: 22,
23 | thickness: 1.5,
24 | ),
25 | SizedBox(height: 18),
26 | CustomCardPayment(),
27 | CustButtonPayment(
28 | str: 'Add Another Credit/Debit Card',
29 | virtial: 60,
30 | )
31 | ],
32 | ),
33 | );
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/widget/cus_container_more.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:flutter_svg/svg.dart';
3 |
4 | class CusContainerMore extends StatelessWidget {
5 | const CusContainerMore({
6 | Key? key,
7 | required this.image,
8 | required this.str,
9 | }) : super(key: key);
10 |
11 | final String image;
12 | final String str;
13 |
14 | @override
15 | Widget build(BuildContext context) {
16 | return Padding(
17 | padding: const EdgeInsets.only(right: 18),
18 | child: Container(
19 | height: 95,
20 | decoration: BoxDecoration(
21 | color: Colors.grey.shade200,
22 | borderRadius: BorderRadius.circular(10),
23 | ),
24 | child: Row(
25 | children: [
26 | const SizedBox(width: 15),
27 | CircleAvatar(
28 | backgroundColor: const Color(0xffD8D8D8),
29 | radius: 32,
30 | child: SvgPicture.asset(
31 | image,
32 | height: str == 'Inbox' ? 20 : 30,
33 | ),
34 | ),
35 | const SizedBox(width: 20),
36 | Text(
37 | str,
38 | style: const TextStyle(
39 | fontSize: 18,
40 | ),
41 | ),
42 | ],
43 | ),
44 | ),
45 | );
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/lib/screens/logins_screens/init_screen/widget/init_screen_stacks.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:flutter_svg/svg.dart';
3 | import 'package:meal_monkey_mobile_project/util/const_assets.dart';
4 |
5 | class InitScreenStacks extends StatelessWidget {
6 | const InitScreenStacks({
7 | Key? key,
8 | }) : super(key: key);
9 |
10 | @override
11 | Widget build(BuildContext context) {
12 | return Stack(
13 | children: [
14 | Column(
15 | children: [
16 | Container(
17 | width: double.infinity,
18 | height: 390,
19 | decoration: BoxDecoration(boxShadow: [
20 | BoxShadow(
21 | spreadRadius: 15,
22 | blurRadius: 5,
23 | color: Colors.grey.shade300,
24 | blurStyle: BlurStyle.normal,
25 | ),
26 | ]),
27 | child: SvgPicture.asset(
28 | backgroundinitScreen,
29 | fit: BoxFit.cover,
30 | )),
31 | const SizedBox(
32 | height: 130,
33 | )
34 | ],
35 | ),
36 | Positioned(
37 | right: 1,
38 | left: 1,
39 | bottom: 0,
40 | child: SvgPicture.asset(logo),
41 | )
42 | ],
43 | );
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/lib/screens/on_bording_screens/page_view/widget/pageView_button.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class PageViewButton extends StatelessWidget {
5 | const PageViewButton({
6 | Key? key,
7 | required int index,
8 | required PageController controller,
9 | }) : _index = index,
10 | _controller = controller,
11 | super(key: key);
12 |
13 | final int _index;
14 | final PageController _controller;
15 |
16 | @override
17 | Widget build(BuildContext context) {
18 | return ElevatedButton(
19 | onPressed: () {
20 | _index == 2
21 | ? Navigator.pushReplacementNamed(context, 'int_screen')
22 | : _controller.nextPage(
23 | duration: const Duration(seconds: 1), curve: Curves.easeInOut);
24 | },
25 | style: ButtonStyle(
26 | minimumSize:
27 | MaterialStateProperty.all(const Size(buttonWidth, buttonHeight)),
28 | backgroundColor: MaterialStateProperty.all(const Color(primaryColor)),
29 | shape: MaterialStateProperty.all(
30 | RoundedRectangleBorder(
31 | borderRadius: BorderRadius.circular(28),
32 | ),
33 | ),
34 | ),
35 | child: const Text(
36 | 'Next',
37 | style: TextStyle(fontSize: sizeText),
38 | ),
39 | );
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/payment_screen/widget/Sheet/cust_button_sheet_payment.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class CustomButtonSheetPayment extends StatelessWidget {
5 | const CustomButtonSheetPayment({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return Padding(
12 | padding: const EdgeInsets.symmetric(horizontal: 35, vertical: 30),
13 | child: SizedBox(
14 | height: 65,
15 | child: ElevatedButton(
16 | style: ButtonStyle(
17 | backgroundColor:
18 | const MaterialStatePropertyAll(Color(primaryColor)),
19 | shape: MaterialStatePropertyAll(
20 | RoundedRectangleBorder(
21 | borderRadius: BorderRadius.circular(35),
22 | ),
23 | ),
24 | ),
25 | onPressed: () {},
26 | child: const Row(
27 | children: [
28 | SizedBox(width: 60),
29 | Icon(
30 | Icons.add,
31 | size: 30,
32 | ),
33 | SizedBox(width: 33),
34 | Text(
35 | 'Add Card',
36 | style: TextStyle(fontSize: mediumTxt),
37 | ),
38 | ],
39 | ),
40 | ),
41 | ),
42 | );
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/Inbox/inbox_screen.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/more/Inbox/widget/custom_title_inbox.dart';
3 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/more/Inbox/widget/custom_trailing_inbox.dart';
4 | import 'package:meal_monkey_mobile_project/shared/cust_appbar_other.dart';
5 | import 'package:meal_monkey_mobile_project/util/constant.dart';
6 |
7 | class InboxScreen extends StatefulWidget {
8 | const InboxScreen({Key? key}) : super(key: key);
9 |
10 | @override
11 | State createState() => _InboxScreenState();
12 | }
13 |
14 | class _InboxScreenState extends State {
15 | @override
16 | Widget build(BuildContext context) {
17 | return Scaffold(
18 | appBar: CustomAppBarOther(
19 | txt: 'Inbox',
20 | ),
21 | body: ListView.builder(
22 | itemCount: 15,
23 | itemBuilder: (context, index) {
24 | return const ListTile(
25 | horizontalTitleGap: 5,
26 | minVerticalPadding: 12,
27 | leading: Icon(
28 | Icons.fiber_manual_record,
29 | color: Color(primaryColor),
30 | size: 18,
31 | ),
32 | title: CustomTitleIndox(),
33 | trailing: CustomTrailingInbox(),
34 | );
35 | },
36 | ));
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/windows/runner/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 |
5 | #include "flutter_window.h"
6 | #include "utils.h"
7 |
8 | int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev,
9 | _In_ wchar_t *command_line, _In_ int show_command) {
10 | // Attach to console when present (e.g., 'flutter run') or create a
11 | // new console when running with a debugger.
12 | if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) {
13 | CreateAndAttachConsole();
14 | }
15 |
16 | // Initialize COM, so that it is available for use in the library and/or
17 | // plugins.
18 | ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED);
19 |
20 | flutter::DartProject project(L"data");
21 |
22 | std::vector command_line_arguments =
23 | GetCommandLineArguments();
24 |
25 | project.set_dart_entrypoint_arguments(std::move(command_line_arguments));
26 |
27 | FlutterWindow window(project);
28 | Win32Window::Point origin(10, 10);
29 | Win32Window::Size size(1280, 720);
30 | if (!window.CreateAndShow(L"meal_monkey_mobile_project", origin, size)) {
31 | return EXIT_FAILURE;
32 | }
33 | window.SetQuitOnClose(true);
34 |
35 | ::MSG msg;
36 | while (::GetMessage(&msg, nullptr, 0, 0)) {
37 | ::TranslateMessage(&msg);
38 | ::DispatchMessage(&msg);
39 | }
40 |
41 | ::CoUninitialize();
42 | return EXIT_SUCCESS;
43 | }
44 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/notifications/notification_screen.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/shared/cust_appbar_other.dart';
3 | import 'package:meal_monkey_mobile_project/util/constant.dart';
4 |
5 | class NotificationScreen extends StatelessWidget {
6 | const NotificationScreen({Key? key}) : super(key: key);
7 |
8 | @override
9 | Widget build(BuildContext context) {
10 | return Scaffold(
11 | appBar: CustomAppBarOther(
12 | txt: 'Notifications',
13 | ),
14 | body: ListView.builder(
15 | itemCount: 15,
16 | itemBuilder: (context, index) {
17 | return const ListTile(
18 | minVerticalPadding: 12,
19 | leading: Icon(
20 | Icons.fiber_manual_record,
21 | color: Color(primaryColor),
22 | size: 18,
23 | ),
24 | title:
25 | Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
26 | Text(
27 | 'Your orders has been picked up',
28 | style: TextStyle(
29 | fontSize: mediumTxt,
30 | ),
31 | ),
32 | SizedBox(height: 5),
33 | Text(
34 | 'Now',
35 | style: TextStyle(color: Color(secondaryTextColor)),
36 | ),
37 | ]),
38 | );
39 | },
40 | ),
41 | );
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/lib/screens/desserts_screen/widget/app_bar_dessets.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 |
5 | class CustomAppBarDesserts extends StatelessWidget implements PreferredSizeWidget{
6 | const CustomAppBarDesserts({
7 | Key? key,
8 | }) : super(key: key);
9 |
10 | @override
11 | Widget build(BuildContext context) {
12 | return Padding(
13 | padding: const EdgeInsets.symmetric(horizontal:10 ,vertical:10),
14 | child: AppBar(
15 | backgroundColor: Colors.transparent,
16 | elevation: 0,
17 | title: const Text(
18 | 'Desserts',
19 | style: TextStyle(
20 | fontSize: 24,
21 | fontWeight: FontWeight.bold,
22 | color: Color(primaryTextColor),
23 | ),
24 | ),
25 | leading: IconButton(
26 | onPressed: () {
27 | Navigator.pop(context);
28 | },
29 | icon: const Icon(
30 | Icons.arrow_back_ios,
31 | color: Colors.black,
32 | ),
33 | ),
34 | actions: [
35 | IconButton(
36 | onPressed: () {},
37 | icon: const Icon(
38 | Icons.shopping_cart,
39 | color: Colors.black,
40 | ))
41 | ],
42 | ),
43 | );
44 | }
45 |
46 |
47 | // TODO: implement preferredSize
48 | @override
49 | Size get preferredSize => const Size.fromHeight(80);
50 |
51 | }
--------------------------------------------------------------------------------
/lib/screens/nav_buttom_bar/bottom_nav.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/models/bottom_nav_model.dart';
3 | import 'package:meal_monkey_mobile_project/util/constant.dart';
4 |
5 | class CustomBottomNavBar extends StatelessWidget {
6 | final int currentIndex1;
7 |
8 | final Function(int index) oTab;
9 |
10 | const CustomBottomNavBar({
11 | super.key,
12 | required this.oTab,
13 | required this.currentIndex1,
14 | });
15 |
16 | // void _onItemTapped(int index) {
17 | @override
18 | Widget build(BuildContext context) {
19 | return BottomAppBar(
20 | shape: const CircularNotchedRectangle(),
21 | notchMargin: 10,
22 | elevation: 25,
23 | clipBehavior: Clip.antiAlias,
24 | child: BottomNavigationBar(
25 | elevation: 0,
26 | iconSize: 28,
27 | type: BottomNavigationBarType.fixed,
28 | unselectedItemColor: Colors.grey,
29 | selectedItemColor: const Color(primaryColor),
30 | currentIndex: currentIndex1,
31 | onTap: oTab,
32 | selectedFontSize: 14,
33 | unselectedFontSize: 14,
34 | items: [
35 | ...BottomNavModel.list.map((BottomNavModel data) {
36 | return BottomNavigationBarItem(
37 | icon: Icon(
38 | data.icon,
39 | ),
40 | label: data.label);
41 | })
42 | ],
43 | ));
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/macos/Podfile:
--------------------------------------------------------------------------------
1 | platform :osx, '10.14'
2 |
3 | # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
4 | ENV['COCOAPODS_DISABLE_STATS'] = 'true'
5 |
6 | project 'Runner', {
7 | 'Debug' => :debug,
8 | 'Profile' => :release,
9 | 'Release' => :release,
10 | }
11 |
12 | def flutter_root
13 | generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__)
14 | unless File.exist?(generated_xcode_build_settings_path)
15 | raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first"
16 | end
17 |
18 | File.foreach(generated_xcode_build_settings_path) do |line|
19 | matches = line.match(/FLUTTER_ROOT\=(.*)/)
20 | return matches[1].strip if matches
21 | end
22 | raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\""
23 | end
24 |
25 | require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
26 |
27 | flutter_macos_podfile_setup
28 |
29 | target 'Runner' do
30 | use_frameworks!
31 | use_modular_headers!
32 |
33 | flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__))
34 | target 'RunnerTests' do
35 | inherit! :search_paths
36 | end
37 | end
38 |
39 | post_install do |installer|
40 | installer.pods_project.targets.each do |target|
41 | flutter_additional_macos_build_settings(target)
42 | end
43 | end
44 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/home/widget/Content_Recent_Item_inhome.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class ContentRecentItemInHome extends StatelessWidget {
5 | const ContentRecentItemInHome({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return const Column(
12 | crossAxisAlignment: CrossAxisAlignment.start,
13 | children: [
14 | SizedBox(height: 8),
15 | Text(
16 | 'Mulberry Pizza by Josh',
17 | style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
18 | ),
19 | SizedBox(height: 8),
20 | Text(
21 | 'Café Western Food',
22 | style: TextStyle(color: Color(secondaryTextColor)),
23 | ),
24 | SizedBox(height: 8),
25 | Row(
26 | children: [
27 | Icon(
28 | Icons.location_on,
29 | color: Color(primaryColor),
30 | size: 18,
31 | ),
32 | SizedBox(width: 4),
33 | Text(
34 | '4.9',
35 | style: TextStyle(
36 | color: Color(primaryColor),
37 | ),
38 | ),
39 | SizedBox(width: 5),
40 | Text(
41 | '(124 Ratings)',
42 | style: TextStyle(
43 | color: Color(secondaryTextColor),
44 | ),
45 | ),
46 | ],
47 | )
48 | ],
49 | );
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/assets/icons/002-income.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/ios/Podfile:
--------------------------------------------------------------------------------
1 | # Uncomment this line to define a global platform for your project
2 | # platform :ios, '11.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 | # target 'RunnerTests' do
36 | # inherit! :search_paths
37 | # end
38 | end
39 |
40 | post_install do |installer|
41 | installer.pods_project.targets.each do |target|
42 | flutter_additional_ios_build_settings(target)
43 | end
44 | end
45 |
--------------------------------------------------------------------------------
/assets/icons/menu.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/lib/screens/desserts_screen/det_screen/widget/Rating_pos.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/screens/desserts_screen/det_screen/widget/shape_rating.dart';
3 |
4 | class RatingPos extends StatelessWidget {
5 | const RatingPos({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return const Padding(
12 | padding: EdgeInsets.symmetric(horizontal: 15),
13 | child: Column(
14 | crossAxisAlignment: CrossAxisAlignment.start,
15 | children: [
16 | Text(
17 | 'Tandoori Chicken Pizza',
18 | style: TextStyle(fontSize: 25, fontWeight: FontWeight.bold),
19 | ),
20 | SizedBox(height: 5),
21 | Row(
22 | mainAxisAlignment: MainAxisAlignment.spaceBetween,
23 | children: [
24 | ShapeRating(),
25 | Column(
26 | crossAxisAlignment: CrossAxisAlignment.end,
27 | children: [
28 | Text(
29 | 'Rs. 750',
30 | style: TextStyle(
31 | fontSize: 31,
32 | fontWeight: FontWeight.bold,
33 | color: Color(0xff4A4B4D)),
34 | ),
35 | Text(
36 | '/ per Portion',
37 | style: TextStyle(color: Color(0xff4A4B4D)),
38 | ),
39 | ],
40 | )
41 | ],
42 | ),
43 | ],
44 | ),
45 | );
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "16x16",
5 | "idiom" : "mac",
6 | "filename" : "app_icon_16.png",
7 | "scale" : "1x"
8 | },
9 | {
10 | "size" : "16x16",
11 | "idiom" : "mac",
12 | "filename" : "app_icon_32.png",
13 | "scale" : "2x"
14 | },
15 | {
16 | "size" : "32x32",
17 | "idiom" : "mac",
18 | "filename" : "app_icon_32.png",
19 | "scale" : "1x"
20 | },
21 | {
22 | "size" : "32x32",
23 | "idiom" : "mac",
24 | "filename" : "app_icon_64.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "128x128",
29 | "idiom" : "mac",
30 | "filename" : "app_icon_128.png",
31 | "scale" : "1x"
32 | },
33 | {
34 | "size" : "128x128",
35 | "idiom" : "mac",
36 | "filename" : "app_icon_256.png",
37 | "scale" : "2x"
38 | },
39 | {
40 | "size" : "256x256",
41 | "idiom" : "mac",
42 | "filename" : "app_icon_256.png",
43 | "scale" : "1x"
44 | },
45 | {
46 | "size" : "256x256",
47 | "idiom" : "mac",
48 | "filename" : "app_icon_512.png",
49 | "scale" : "2x"
50 | },
51 | {
52 | "size" : "512x512",
53 | "idiom" : "mac",
54 | "filename" : "app_icon_512.png",
55 | "scale" : "1x"
56 | },
57 | {
58 | "size" : "512x512",
59 | "idiom" : "mac",
60 | "filename" : "app_icon_1024.png",
61 | "scale" : "2x"
62 | }
63 | ],
64 | "info" : {
65 | "version" : 1,
66 | "author" : "xcode"
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/more_nav.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/more/widget/body_more.dart';
3 |
4 | class MoreNav extends StatefulWidget {
5 | const MoreNav({Key? key}) : super(key: key);
6 |
7 | @override
8 | State createState() => _MoreNavState();
9 | }
10 |
11 | class _MoreNavState extends State {
12 | @override
13 | Widget build(BuildContext context) {
14 | return Padding(
15 | padding: const EdgeInsets.symmetric(horizontal: 25, vertical: 10),
16 | child: ListView(
17 | children: [
18 | BodyMore(
19 | image: 'assets/icons/002-income.svg',
20 | str: 'Payment Details',
21 | nav: 'payment_screen'),
22 | const SizedBox(height: 19),
23 | BodyMore(
24 | image: 'assets/icons/shopping-bag.svg',
25 | str: 'My Orders',
26 | nav: 'myoeder_screen'),
27 | const SizedBox(height: 19),
28 | BodyMore(
29 | image: 'assets/icons/Group 8081.svg',
30 | str: 'Notifications',
31 | nav: 'Notification_screen'),
32 | const SizedBox(height: 19),
33 | BodyMore(
34 | image: 'assets/icons/004-inbox-mail.svg',
35 | str: 'Inbox',
36 | nav: 'inboxScreen_screen'),
37 | const SizedBox(height: 19),
38 | BodyMore(
39 | image: 'assets/icons/005-info.svg',
40 | str: 'About Us',
41 | nav: 'aboutUsScreen_screen'),
42 | ],
43 | ),
44 | );
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/lib/screens/home_screen/widget/app_bar.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:flutter/services.dart';
3 | import 'package:meal_monkey_mobile_project/util/constant.dart';
4 |
5 | class CustomAppBar extends StatelessWidget implements PreferredSizeWidget {
6 | CustomAppBar({super.key, required this.index});
7 |
8 | final int index;
9 |
10 | final tex = [
11 | 'Menu',
12 | 'Latest Offers',
13 | 'Good morning Akila!',
14 | 'Profile',
15 | 'More',
16 | ];
17 |
18 | @override
19 | Widget build(BuildContext context) {
20 | return Padding(
21 | padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 10),
22 | child: AppBar(
23 | systemOverlayStyle: const SystemUiOverlayStyle(
24 | statusBarColor: Colors.transparent,
25 | statusBarIconBrightness: Brightness.dark,
26 | statusBarBrightness: Brightness.light,
27 | ),
28 | backgroundColor: Colors.transparent,
29 | elevation: 0,
30 | title: Text(
31 | tex[index],
32 | style: const TextStyle(
33 | fontSize: 24,
34 | fontWeight: FontWeight.bold,
35 | color: Color(primaryTextColor),
36 | ),
37 | ),
38 | actions: [
39 | IconButton(
40 | onPressed: () {},
41 | icon: const Icon(
42 | Icons.shopping_cart,
43 | color: Colors.black,
44 | ))
45 | ],
46 | ),
47 | );
48 | }
49 |
50 | @override
51 | // TODO: implement preferredSize
52 | @override
53 | Size get preferredSize => const Size.fromHeight(60);
54 | }
55 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/my_order/check_out/widget/list_radio_check_out.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:flutter_svg/flutter_svg.dart';
3 | import 'package:meal_monkey_mobile_project/util/constant.dart';
4 |
5 | class ListRadioCheckOut extends StatefulWidget {
6 | const ListRadioCheckOut({
7 | super.key,
8 | required this.val,
9 | required this.txt,
10 | required this.image,
11 | });
12 |
13 | final int val;
14 |
15 | final String txt;
16 |
17 | final String image;
18 |
19 | @override
20 | State createState() => _ListRadioCheckOutState();
21 | }
22 |
23 | class _ListRadioCheckOutState extends State {
24 | int radioVal = 0;
25 |
26 | @override
27 | Widget build(BuildContext context) {
28 | return Padding(
29 | padding: const EdgeInsets.symmetric(horizontal: 22, vertical: 5),
30 | child: RadioListTile(
31 | shape: RoundedRectangleBorder(
32 | borderRadius: BorderRadius.circular(15),
33 | ),
34 | tileColor: const Color(0xffF6F6F6),
35 | activeColor: const Color(primaryColor),
36 | //contentPadding: EdgeInsets.symmetric(horizontal: 10),
37 | controlAffinity: ListTileControlAffinity.trailing,
38 | title: Row(
39 | children: [
40 | SvgPicture.asset(widget.image),
41 | const SizedBox(width: 8),
42 | Text(widget.txt),
43 | ],
44 | ),
45 | value: widget.val,
46 | groupValue: radioVal,
47 | onChanged: (value) {
48 | setState(() {
49 | radioVal = value!;
50 | });
51 | }),
52 | );
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/menu/widget/card_Body_Menu.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 |
5 | class CardINBodyMenu extends StatelessWidget {
6 | const CardINBodyMenu({
7 | Key? key,
8 | }) : super(key: key);
9 |
10 | @override
11 | Widget build(BuildContext context) {
12 | return const Padding(
13 | padding: EdgeInsets.only(left: 35, right: 14),
14 | child: SizedBox(
15 | height: 100,
16 | child: Card(
17 | elevation: 8,
18 | // shadowColor: Color(0xff00000029),
19 | shape: RoundedRectangleBorder(
20 | borderRadius: BorderRadius.only(
21 | topRight: Radius.circular(12),
22 | bottomRight: Radius.circular(12),
23 | bottomLeft: Radius.circular(30),
24 | topLeft: Radius.circular(30),
25 | ),
26 | ),
27 | child: Padding(
28 | padding: EdgeInsets.only(left: 56, top: 18),
29 | child: Column(
30 | crossAxisAlignment: CrossAxisAlignment.stretch,
31 | children: [
32 | Text(
33 | 'Food',
34 | style: TextStyle(fontSize: 26, fontWeight: FontWeight.bold),
35 | ),
36 | SizedBox(
37 | height: 5,
38 | ),
39 | Text(
40 | '25 Item',
41 | style: TextStyle(
42 | fontSize: sizeText,
43 | color: Color(secondaryTextColor),
44 | ),
45 | ),
46 | ]),
47 | ),
48 | ),
49 | ),
50 | );
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/lib/shared/cust_appbar_other.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:flutter/services.dart';
3 | import 'package:meal_monkey_mobile_project/util/constant.dart';
4 |
5 | class CustomAppBarOther extends StatelessWidget implements PreferredSizeWidget {
6 | final String txt;
7 |
8 | const CustomAppBarOther({super.key, required this.txt});
9 |
10 | @override
11 | Widget build(BuildContext context) {
12 | return Padding(
13 | padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 10),
14 | child: AppBar(
15 | systemOverlayStyle: const SystemUiOverlayStyle(
16 | statusBarColor: Colors.transparent,
17 | // <-- SEE HERE
18 | statusBarIconBrightness: Brightness.dark,
19 | //<-- For Android SEE HERE (dark icons)
20 | statusBarBrightness:
21 | Brightness.light, //<-- For iOS SEE HERE (dark icons)
22 | ),
23 | backgroundColor: Colors.transparent,
24 | elevation: 0,
25 | leading: IconButton(
26 | onPressed: () {
27 | Navigator.pop(context);
28 | },
29 | icon: const Icon(Icons.arrow_back_ios),
30 | color: Colors.black,
31 | ),
32 | title: Text(
33 | txt,
34 | style: const TextStyle(
35 | fontSize: 24,
36 | fontWeight: FontWeight.bold,
37 | color: Color(primaryTextColor),
38 | ),
39 | ),
40 | actions: [
41 | IconButton(
42 | onPressed: () {},
43 | icon: const Icon(
44 | Icons.shopping_cart,
45 | color: Colors.black,
46 | ))
47 | ],
48 | ),
49 | );
50 | }
51 |
52 | @override
53 | Size get preferredSize => const Size.fromHeight(70);
54 | }
55 |
--------------------------------------------------------------------------------
/lib/screens/desserts_screen/desserts_screen.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | import 'package:meal_monkey_mobile_project/screens/desserts_screen/widget/app_bar_dessets.dart';
4 | import 'package:meal_monkey_mobile_project/screens/desserts_screen/widget/body_builder.dart';
5 |
6 | class DessertsScreen extends StatefulWidget {
7 | const DessertsScreen({Key? key}) : super(key: key);
8 |
9 | @override
10 | State createState() => _DessertsScreenState();
11 | }
12 |
13 | class _DessertsScreenState extends State {
14 | int currentIndex = 2;
15 |
16 | @override
17 | Widget build(BuildContext context) {
18 | return const Scaffold(
19 | //extendBodyBehindAppBar: true,
20 | appBar: CustomAppBarDesserts(),
21 | body: BodyDessertsScreen(),
22 | );
23 | }
24 | }
25 |
26 | // body: ListView(
27 | // physics: const NeverScrollableScrollPhysics(),
28 | // children: [
29 | // SearchBar(),
30 | // SizedBox(height: 20),
31 | // Expanded(
32 | // child: ListView.builder(
33 | // // physics: const NeverScrollableScrollPhysics(),
34 | // itemCount: 8,
35 | // itemBuilder: (context, index) {
36 | // return body_desserts();
37 | // },
38 | // ),
39 | // ),
40 | // ],
41 | //
42 | // ),
43 |
44 | // floatingActionButton: CustomFloating(
45 | // onTab: () {
46 | // setState(() {
47 | // currentIndex = 2;
48 | // });
49 | // },
50 | // currentIndex: currentIndex),
51 | // floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
52 | // bottomNavigationBar: CustomBottomNavBar(
53 | // oTab: (index) {
54 | // setState(() {
55 | // currentIndex = index ;
56 | // });
57 | // },
58 | // currentIndex1: currentIndex),
59 |
--------------------------------------------------------------------------------
/.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.
5 |
6 | version:
7 | revision: 135454af32477f815a7525073027a3ff9eff1bfd
8 | channel: stable
9 |
10 | project_type: app
11 |
12 | # Tracks metadata for the flutter migrate command
13 | migration:
14 | platforms:
15 | - platform: root
16 | create_revision: 135454af32477f815a7525073027a3ff9eff1bfd
17 | base_revision: 135454af32477f815a7525073027a3ff9eff1bfd
18 | - platform: android
19 | create_revision: 135454af32477f815a7525073027a3ff9eff1bfd
20 | base_revision: 135454af32477f815a7525073027a3ff9eff1bfd
21 | - platform: ios
22 | create_revision: 135454af32477f815a7525073027a3ff9eff1bfd
23 | base_revision: 135454af32477f815a7525073027a3ff9eff1bfd
24 | - platform: linux
25 | create_revision: 135454af32477f815a7525073027a3ff9eff1bfd
26 | base_revision: 135454af32477f815a7525073027a3ff9eff1bfd
27 | - platform: macos
28 | create_revision: 135454af32477f815a7525073027a3ff9eff1bfd
29 | base_revision: 135454af32477f815a7525073027a3ff9eff1bfd
30 | - platform: web
31 | create_revision: 135454af32477f815a7525073027a3ff9eff1bfd
32 | base_revision: 135454af32477f815a7525073027a3ff9eff1bfd
33 | - platform: windows
34 | create_revision: 135454af32477f815a7525073027a3ff9eff1bfd
35 | base_revision: 135454af32477f815a7525073027a3ff9eff1bfd
36 |
37 | # User provided section
38 |
39 | # List of Local paths (relative to this file) that should be
40 | # ignored by the migrate tool.
41 | #
42 | # Files that are not part of the templates will be ignored by default.
43 | unmanaged_files:
44 | - 'lib/main.dart'
45 | - 'ios/Runner.xcodeproj/project.pbxproj'
46 |
--------------------------------------------------------------------------------
/lib/localData/shared_pref.dart:
--------------------------------------------------------------------------------
1 | import 'package:shared_preferences/shared_preferences.dart';
2 |
3 | enum PrefKeys { user, token, logedIn, showOnce }
4 |
5 | class SharedPrefController {
6 | static final _instance = SharedPrefController._();
7 |
8 | factory SharedPrefController() {
9 | return _instance;
10 | }
11 |
12 | late SharedPreferences preferences;
13 |
14 | SharedPrefController._();
15 |
16 | Future init() async {
17 | preferences = await SharedPreferences.getInstance();
18 | }
19 |
20 | setShowOnce(bool showOnce) async {
21 | await preferences.setBool(PrefKeys.showOnce.toString(), showOnce);
22 | }
23 |
24 | bool getShowOnce() =>
25 | preferences.getBool(PrefKeys.showOnce.toString()) ?? false;
26 |
27 | // save(UserModel user) async {
28 | // String userEncoded = jsonEncode(user.toJson());
29 | // await preferences.setString(
30 | // PrefKeys.user.toString(),
31 | // userEncoded,
32 | // );
33 | // }
34 |
35 | // setLang(String lang ) async{
36 | // await preferences.setString('lang', lang);
37 | // }
38 | //
39 | // getLang() async{
40 | // await preferences.getString('lang');
41 | // }
42 |
43 | setLogedin() async {
44 | await preferences.setBool(PrefKeys.logedIn.toString(), true);
45 | }
46 |
47 | bool getLogedin() =>
48 | preferences.getBool(PrefKeys.logedIn.toString()) ?? false;
49 |
50 | // UserModel getUser() {
51 | // String userJson = preferences.getString(PrefKeys.user.toString()) ?? '';
52 | // final userObject = jsonDecode(userJson);
53 | // return UserModel.fromJson(userObject);
54 | // }
55 |
56 | void removeUser() {
57 | preferences.remove(PrefKeys.user.toString());
58 | preferences.remove(PrefKeys.logedIn.toString());
59 | }
60 |
61 | clear() {
62 | preferences.clear();
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
7 |
15 |
19 |
23 |
24 |
25 |
26 |
27 |
28 |
30 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/windows/runner/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.14)
2 | project(runner LANGUAGES CXX)
3 |
4 | # Define the application target. To change its name, change BINARY_NAME in the
5 | # top-level CMakeLists.txt, not the value here, or `flutter run` will no longer
6 | # work.
7 | #
8 | # Any new source files that you add to the application should be added here.
9 | add_executable(${BINARY_NAME} WIN32
10 | "flutter_window.cpp"
11 | "main.cpp"
12 | "utils.cpp"
13 | "win32_window.cpp"
14 | "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc"
15 | "Runner.rc"
16 | "runner.exe.manifest"
17 | )
18 |
19 | # Apply the standard set of build settings. This can be removed for applications
20 | # that need different build settings.
21 | apply_standard_settings(${BINARY_NAME})
22 |
23 | # Add preprocessor definitions for the build version.
24 | target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION=\"${FLUTTER_VERSION}\"")
25 | target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MAJOR=${FLUTTER_VERSION_MAJOR}")
26 | target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MINOR=${FLUTTER_VERSION_MINOR}")
27 | target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_PATCH=${FLUTTER_VERSION_PATCH}")
28 | target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_BUILD=${FLUTTER_VERSION_BUILD}")
29 |
30 | # Disable Windows macros that collide with C++ standard library functions.
31 | target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX")
32 |
33 | # Add dependency libraries and include directories. Add any application-specific
34 | # dependencies here.
35 | target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app)
36 | target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}")
37 |
38 | # Run the Flutter tool portions of the build. This must not be removed.
39 | add_dependencies(${BINARY_NAME} flutter_assemble)
40 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/home/home_nav_screen.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/home/widget/custom_listHoris_two.dart';
3 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/home/widget/custom_listView_verTwo.dart';
4 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/home/widget/custom_list_comp.dart';
5 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/home/widget/custom_list_ver_one.dart';
6 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/home/widget/custom_list_view_hori.dart';
7 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/home/widget/delivering_to_txt.dart';
8 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/home/widget/hedar.dart';
9 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/home/widget/search_appbar.dart';
10 |
11 | class HomeNavScreen extends StatelessWidget {
12 | const HomeNavScreen({
13 | Key? key,
14 | }) : super(key: key);
15 |
16 | @override
17 | Widget build(BuildContext context) {
18 | return ListView(
19 | children: [
20 | const DeliveringToTxt(),
21 | const CustomListComp(),
22 | const SizedBox(height: 15),
23 | const SearchBarWidget(),
24 | const SizedBox(height: 18),
25 | CustomListHorisntal(),
26 | const SizedBox(height: 28),
27 | const HeaderName(title: 'Popular Restaurants'),
28 | const SizedBox(height: 25),
29 | BodyOffer(),
30 | const SizedBox(height: 28),
31 | const HeaderName(title: 'Most Popular'),
32 | const SizedBox(height: 20),
33 | const CustomListHorisTwo(),
34 | const SizedBox(height: 28),
35 | const HeaderName(title: 'Recent Items'),
36 | const SizedBox(height: 20),
37 | const CustomListViewVerTwo(),
38 | ],
39 | );
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/lib/screens/launch_screen.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:flutter_svg/flutter_svg.dart';
3 | import 'package:meal_monkey_mobile_project/localData/shared_pref.dart';
4 | import 'package:meal_monkey_mobile_project/screens/home_screen/home_screen.dart';
5 | import 'package:meal_monkey_mobile_project/screens/logins_screens/login_screen/login_screen.dart';
6 |
7 | import 'on_bording_screens/page_view/page_view.dart';
8 |
9 | class LaunchScreen extends StatefulWidget {
10 | const LaunchScreen({Key? key}) : super(key: key);
11 |
12 | @override
13 | State createState() => _LaunchScreenState();
14 | }
15 |
16 | class _LaunchScreenState extends State {
17 | @override
18 | void initState() {
19 | super.initState();
20 | bool loggedIn = SharedPrefController().getLogedin();
21 | bool onBoarding = SharedPrefController().getShowOnce();
22 | Future.delayed(const Duration(seconds: 4), () {
23 | Navigator.pushReplacement(
24 | context,
25 | MaterialPageRoute(
26 | builder: (context) => onBoarding
27 | ? loggedIn
28 | ? const HomeScreen()
29 | : const LoginScreen()
30 | : const MPageView()),
31 | );
32 | });
33 | }
34 |
35 | @override
36 | Widget build(BuildContext context) {
37 | return Scaffold(
38 | body: Stack(
39 | children: [
40 | SizedBox(
41 | width: double.infinity,
42 | child: SvgPicture.asset(
43 | 'assets/images/Background icons.svg',
44 | fit: BoxFit.cover,
45 | ),
46 | ),
47 | SizedBox(
48 | width: double.infinity,
49 | //color: Color(backGroundColor),
50 | child: Center(child: SvgPicture.asset('assets/images/Logo.svg')),
51 | ),
52 | ],
53 | ),
54 | );
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/ios/Runner/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleDisplayName
8 | Meal Monkey Mobile Project
9 | CFBundleExecutable
10 | $(EXECUTABLE_NAME)
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | meal_monkey_mobile_project
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 | CADisableMinimumFrameDurationOnPhone
47 |
48 | UIApplicationSupportsIndirectInputEvents
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/windows/runner/utils.cpp:
--------------------------------------------------------------------------------
1 | #include "utils.h"
2 |
3 | #include
4 | #include
5 | #include
6 | #include
7 |
8 | #include
9 |
10 | void CreateAndAttachConsole() {
11 | if (::AllocConsole()) {
12 | FILE *unused;
13 | if (freopen_s(&unused, "CONOUT$", "w", stdout)) {
14 | _dup2(_fileno(stdout), 1);
15 | }
16 | if (freopen_s(&unused, "CONOUT$", "w", stderr)) {
17 | _dup2(_fileno(stdout), 2);
18 | }
19 | std::ios::sync_with_stdio();
20 | FlutterDesktopResyncOutputStreams();
21 | }
22 | }
23 |
24 | std::vector GetCommandLineArguments() {
25 | // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use.
26 | int argc;
27 | wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc);
28 | if (argv == nullptr) {
29 | return std::vector();
30 | }
31 |
32 | std::vector command_line_arguments;
33 |
34 | // Skip the first argument as it's the binary name.
35 | for (int i = 1; i < argc; i++) {
36 | command_line_arguments.push_back(Utf8FromUtf16(argv[i]));
37 | }
38 |
39 | ::LocalFree(argv);
40 |
41 | return command_line_arguments;
42 | }
43 |
44 | std::string Utf8FromUtf16(const wchar_t* utf16_string) {
45 | if (utf16_string == nullptr) {
46 | return std::string();
47 | }
48 | int target_length = ::WideCharToMultiByte(
49 | CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string,
50 | -1, nullptr, 0, nullptr, nullptr);
51 | std::string utf8_string;
52 | if (target_length == 0 || target_length > utf8_string.max_size()) {
53 | return utf8_string;
54 | }
55 | utf8_string.resize(target_length);
56 | int converted_length = ::WideCharToMultiByte(
57 | CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string,
58 | -1, utf8_string.data(),
59 | target_length, nullptr, nullptr);
60 | if (converted_length == 0) {
61 | return std::string();
62 | }
63 | return utf8_string;
64 | }
65 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/my_order/check_out/widget/payment_method_check.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/more/payment_screen/widget/Sheet/csut_bottomsheet_payment.dart';
3 | import 'package:meal_monkey_mobile_project/util/constant.dart';
4 |
5 | class PaymentMethod extends StatelessWidget {
6 | const PaymentMethod({
7 | Key? key,
8 | }) : super(key: key);
9 |
10 | @override
11 | Widget build(BuildContext context) {
12 | return Padding(
13 | padding: const EdgeInsets.symmetric(horizontal: 22),
14 | child: InkWell(
15 | onTap: () {
16 | showModalBottomSheet(
17 | isScrollControlled: true,
18 | context: context,
19 | shape: const RoundedRectangleBorder(
20 | borderRadius: BorderRadius.only(
21 | topLeft: Radius.circular(18),
22 | topRight: Radius.circular(18)),
23 | ),
24 | builder: (context) {
25 | return const CusBottomSheetPayMent();
26 | });
27 | },
28 | child: const Row(
29 | mainAxisAlignment: MainAxisAlignment.spaceBetween,
30 | children: [
31 | Text(
32 | 'Payment method',
33 | style: TextStyle(
34 | fontSize: sizeText, color: Color(secondaryTextColor)),
35 | ),
36 | Row(
37 | children: [
38 | Icon(
39 | Icons.add,
40 | color: Color(primaryColor),
41 | ),
42 | SizedBox(width: 10),
43 | Text(
44 | 'Add Card',
45 | style:
46 | TextStyle(fontSize: sizeText, color: Color(primaryColor)),
47 | )
48 | ],
49 | )
50 | ],
51 | ),
52 | ),
53 | );
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/lib/shared/my_button.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class CustomButton extends StatelessWidget {
5 | final String title;
6 |
7 | final Color color;
8 |
9 | final double textSize;
10 |
11 | final void Function()? onPressed;
12 |
13 | const CustomButton(
14 | {super.key,
15 | required this.onPressed,
16 | required this.title,
17 | required this.color,
18 | required this.textSize});
19 |
20 | @override
21 | Widget build(BuildContext context) {
22 | return ElevatedButton(
23 | onPressed: onPressed,
24 | style: title == 'Create an Account'
25 | ? ButtonStyle(
26 | minimumSize: MaterialStateProperty.all(
27 | const Size(buttonWidth, buttonHeight)),
28 | backgroundColor:
29 | MaterialStateProperty.all(const Color(backGroundColor)),
30 | shape: MaterialStateProperty.all(
31 | RoundedRectangleBorder(
32 | borderRadius: BorderRadius.circular(28),
33 | side: const BorderSide(color: Color(primaryColor), width: 2),
34 | ),
35 | ),
36 | )
37 | : ButtonStyle(
38 | minimumSize: MaterialStateProperty.all(
39 | const Size(buttonWidth, buttonHeight)),
40 | backgroundColor: MaterialStateProperty.all(color),
41 | shape: MaterialStateProperty.all(
42 | RoundedRectangleBorder(
43 | borderRadius: BorderRadius.circular(28),
44 | ),
45 | ),
46 | ),
47 | child: Text(
48 | title,
49 | style: TextStyle(
50 | fontSize: textSize,
51 | color: title == 'Create an Account'
52 | ? const Color(primaryColor)
53 | : const Color(textInButtonColor)),
54 | ),
55 | );
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/windows/runner/flutter_window.cpp:
--------------------------------------------------------------------------------
1 | #include "flutter_window.h"
2 |
3 | #include
4 |
5 | #include "flutter/generated_plugin_registrant.h"
6 |
7 | FlutterWindow::FlutterWindow(const flutter::DartProject& project)
8 | : project_(project) {}
9 |
10 | FlutterWindow::~FlutterWindow() {}
11 |
12 | bool FlutterWindow::OnCreate() {
13 | if (!Win32Window::OnCreate()) {
14 | return false;
15 | }
16 |
17 | RECT frame = GetClientArea();
18 |
19 | // The size here must match the window dimensions to avoid unnecessary surface
20 | // creation / destruction in the startup path.
21 | flutter_controller_ = std::make_unique(
22 | frame.right - frame.left, frame.bottom - frame.top, project_);
23 | // Ensure that basic setup of the controller was successful.
24 | if (!flutter_controller_->engine() || !flutter_controller_->view()) {
25 | return false;
26 | }
27 | RegisterPlugins(flutter_controller_->engine());
28 | SetChildContent(flutter_controller_->view()->GetNativeWindow());
29 | return true;
30 | }
31 |
32 | void FlutterWindow::OnDestroy() {
33 | if (flutter_controller_) {
34 | flutter_controller_ = nullptr;
35 | }
36 |
37 | Win32Window::OnDestroy();
38 | }
39 |
40 | LRESULT
41 | FlutterWindow::MessageHandler(HWND hwnd, UINT const message,
42 | WPARAM const wparam,
43 | LPARAM const lparam) noexcept {
44 | // Give Flutter, including plugins, an opportunity to handle window messages.
45 | if (flutter_controller_) {
46 | std::optional result =
47 | flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam,
48 | lparam);
49 | if (result) {
50 | return *result;
51 | }
52 | }
53 |
54 | switch (message) {
55 | case WM_FONTCHANGE:
56 | flutter_controller_->engine()->ReloadSystemFonts();
57 | break;
58 | }
59 |
60 | return Win32Window::MessageHandler(hwnd, message, wparam, lparam);
61 | }
62 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/my_order/widget/sum_txt_ofFirs_sectionMyOrder.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class SumTxtOfFirsSectionMyOrder extends StatelessWidget {
5 | const SumTxtOfFirsSectionMyOrder({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return const Column(
12 | crossAxisAlignment: CrossAxisAlignment.start,
13 | children: [
14 | SizedBox(height: 5),
15 | Text(
16 | 'King Burgers',
17 | style: TextStyle(fontSize: mediumTxt, fontWeight: FontWeight.bold),
18 | ),
19 | SizedBox(height: 5),
20 | Row(
21 | children: [
22 | Icon(
23 | Icons.star,
24 | color: Color(primaryColor),
25 | size: 18,
26 | ),
27 | SizedBox(width: 5),
28 | Text(
29 | '4.9',
30 | style: TextStyle(color: Color(primaryColor)),
31 | ),
32 | SizedBox(width: 5),
33 | Text(
34 | '(124 ratings)',
35 | style: TextStyle(
36 | color: Color(secondaryTextColor),
37 | ),
38 | ),
39 | ],
40 | ),
41 | SizedBox(height: 5),
42 | Text(
43 | 'Burger Western Food',
44 | style: TextStyle(color: Color(secondaryTextColor)),
45 | ),
46 | SizedBox(height: 5),
47 | Row(
48 | children: [
49 | Icon(
50 | Icons.location_on,
51 | color: Color(primaryColor),
52 | size: 18,
53 | ),
54 | SizedBox(width: 5),
55 | Text(
56 | 'No 03, 4th Lane, Newyork',
57 | style: TextStyle(
58 | color: Color(secondaryTextColor),
59 | ),
60 | ),
61 | ],
62 | )
63 | ],
64 | );
65 | }
66 | }
67 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/home/widget/custom_list_view_hori.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/const_assets.dart';
3 | import 'package:meal_monkey_mobile_project/util/constant.dart';
4 |
5 | class CustomListHorisntal extends StatelessWidget {
6 | CustomListHorisntal({
7 | Key? key,
8 | }) : super(key: key);
9 | final List images = [coffe, pizza1, pizza2, pizza3, food];
10 |
11 | @override
12 | Widget build(BuildContext context) {
13 | return SizedBox(
14 | width: double.infinity,
15 | height: 120,
16 | child: Padding(
17 | padding: const EdgeInsets.only(left: 20),
18 | child: ListView.builder(
19 | scrollDirection: Axis.horizontal,
20 | itemCount: images.length,
21 | itemBuilder: (context, index) {
22 | return Padding(
23 | padding: const EdgeInsetsDirectional.only(end: 10),
24 | child: Column(
25 | children: [
26 | Expanded(
27 | child: SizedBox(
28 | width: 100,
29 | height: 100,
30 | child: ClipRRect(
31 | borderRadius: BorderRadius.circular(20),
32 | child: Image.asset(
33 | images[index],
34 | fit: BoxFit.cover,
35 | )),
36 | ),
37 | ),
38 | const SizedBox(height: 8),
39 | const Text(
40 | 'Offers',
41 | style: TextStyle(
42 | color: Color(primaryTextColor),
43 | fontWeight: FontWeight.bold,
44 | fontSize: sizeText,
45 | ),
46 | )
47 | ],
48 | ),
49 | );
50 | }),
51 | ),
52 | );
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/web/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 | meal_monkey_mobile_project
33 |
34 |
35 |
39 |
40 |
41 |
42 |
43 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/lib/screens/home_screen/home_screen.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/home/home_nav_screen.dart';
3 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/menu/menu_nav.dart';
4 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/more/more_nav.dart';
5 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/offers/offers_nav.dart';
6 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/profile/profile_anv.dart';
7 | import 'package:meal_monkey_mobile_project/screens/home_screen/widget/app_bar.dart';
8 | import 'package:meal_monkey_mobile_project/screens/nav_buttom_bar/bottom_nav.dart';
9 | import 'package:meal_monkey_mobile_project/screens/nav_buttom_bar/custom_floating.dart';
10 |
11 | class HomeScreen extends StatefulWidget {
12 | const HomeScreen({Key? key}) : super(key: key);
13 |
14 | @override
15 | State createState() => _HomeScreenState();
16 | }
17 |
18 | class _HomeScreenState extends State {
19 | int currentIndex = 2;
20 |
21 | final pages = [
22 | const MenuNav(),
23 | const OffersNav(),
24 | const HomeNavScreen(),
25 | const ProfileNav(),
26 | const MoreNav(),
27 | ];
28 |
29 | @override
30 | Widget build(BuildContext context) {
31 | return Scaffold(
32 | //extendBodyBehindAppBar: true,
33 | resizeToAvoidBottomInset: false,
34 | // backgroundColor: Colors.white,
35 | appBar: CustomAppBar(index: currentIndex),
36 | body: pages[currentIndex],
37 | floatingActionButton: CustomFloating(
38 | onTab: () {
39 | setState(() {
40 | currentIndex = 2;
41 | });
42 | },
43 | currentIndex: currentIndex),
44 | floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
45 | bottomNavigationBar: CustomBottomNavBar(
46 | oTab: (index) {
47 | setState(() {
48 | currentIndex = index;
49 | });
50 | },
51 | currentIndex1: currentIndex),
52 | );
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/lib/screens/logins_screens/init_screen/int_screen.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/screens/logins_screens/init_screen/widget/init_screen_stacks.dart';
3 | import 'package:meal_monkey_mobile_project/shared/my_button.dart';
4 | import 'package:meal_monkey_mobile_project/util/constant.dart';
5 |
6 | class IntScreen extends StatefulWidget {
7 | const IntScreen({Key? key}) : super(key: key);
8 |
9 | @override
10 | State createState() => _IntScreenState();
11 | }
12 |
13 | class _IntScreenState extends State {
14 | @override
15 | Widget build(BuildContext context) {
16 | return Scaffold(
17 | body: SingleChildScrollView(
18 | child: Column(
19 | children: [
20 | const InitScreenStacks(),
21 | const SizedBox(height: 40),
22 | const Padding(
23 | padding: EdgeInsets.symmetric(horizontal: 40),
24 | child: Text(
25 | ''' Discover the best foods from over 1,000
26 | restaurants and fast delivery to your doorstep''',
27 | style: TextStyle(fontSize: sizeText),
28 | )),
29 | const SizedBox(height: 36),
30 | Padding(
31 | padding: const EdgeInsets.symmetric(horizontal: 34),
32 | child: CustomButton(
33 | title: 'Login',
34 | color: const Color(primaryColor),
35 | onPressed: () => Navigator.pushNamed(context, 'login_screen'),
36 | textSize: sizeText,
37 | ),
38 | ),
39 | const SizedBox(height: 20),
40 | Padding(
41 | padding: const EdgeInsets.symmetric(horizontal: 34),
42 | child: CustomButton(
43 | title: 'Create an Account',
44 | color: const Color(primaryColor),
45 | onPressed: () => Navigator.pushNamed(context, 'sign_up_screen'),
46 | textSize: sizeText,
47 | ),
48 | ),
49 | ],
50 | ),
51 | ),
52 | );
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/lib/screens/desserts_screen/det_screen/widget/image_det.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class ImageDet extends StatelessWidget {
5 | const ImageDet({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return Stack(
12 | alignment: Alignment.bottomRight,
13 | children: [
14 | Column(
15 | children: [
16 | SizedBox(
17 | width: double.infinity,
18 | height: 360,
19 | child: ClipRRect(
20 | borderRadius: const BorderRadius.only(
21 | bottomLeft: Radius.circular(50),
22 | bottomRight: Radius.circular(50)),
23 | child: Image.asset(
24 | 'assets/images/pizzat.png',
25 | color: Colors.black.withOpacity(0.2),
26 | colorBlendMode: BlendMode.darken,
27 | fit: BoxFit.cover,
28 | ),
29 | ),
30 | ),
31 | const SizedBox(
32 | height: 38,
33 | width: double.infinity,
34 | ),
35 | ],
36 | ),
37 | Positioned(
38 | bottom: 0,
39 | right: 35,
40 | child: Container(
41 | width: 70,
42 | height: 70,
43 | decoration: const BoxDecoration(
44 | shape: BoxShape.circle,
45 | color: Colors.white,
46 | boxShadow: [
47 | BoxShadow(color: Colors.black12, offset: Offset(1, 1)),
48 | BoxShadow(color: Colors.black12, offset: Offset(-1, -1)),
49 | ]),
50 | // child: SvgPicture.asset(''),
51 | child: IconButton(
52 | onPressed: () {},
53 | icon: const Icon(
54 | Icons.favorite,
55 | color: Color(primaryColor),
56 | size: 40,
57 | ),
58 | ),
59 | ),
60 | )
61 | ],
62 | );
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/lib/screens/logins_screens/conform_screen/conform_screen.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/screens/logins_screens/conform_screen/widget/conform_clickHere.dart';
3 | import 'package:meal_monkey_mobile_project/screens/logins_screens/conform_screen/widget/conform_fields.dart';
4 | import 'package:meal_monkey_mobile_project/shared/my_button.dart';
5 | import 'package:meal_monkey_mobile_project/util/constant.dart';
6 |
7 | class ConformScreen extends StatefulWidget {
8 | const ConformScreen({Key? key}) : super(key: key);
9 |
10 | @override
11 | State createState() => _ConformScreenState();
12 | }
13 |
14 | class _ConformScreenState extends State {
15 | @override
16 | Widget build(BuildContext context) {
17 | return Scaffold(
18 | body: SingleChildScrollView(
19 | child: Padding(
20 | padding: const EdgeInsets.symmetric(horizontal: 34, vertical: 90),
21 | child: Column(children: [
22 | const Text(
23 | '''We have sent an OTP to
24 | your Mobile ''',
25 | style: TextStyle(
26 | fontSize: largeTxt,
27 | fontWeight: FontWeight.bold,
28 | color: Color(primaryTextColor),
29 | ),
30 | ),
31 | const SizedBox(height: 20),
32 | const Text(
33 | 'Please check your mobile number 071*****12\n continue to reset your password',
34 | style: TextStyle(
35 | color: Color(secondaryTextColor), fontSize: sizeText),
36 | ),
37 | const SizedBox(height: 54),
38 | const ConformFields(),
39 | const SizedBox(height: 40),
40 | CustomButton(
41 | title: 'Next',
42 | color: const Color(primaryColor),
43 | onPressed: () =>
44 | Navigator.pushNamed(context, 'new_password_screen'),
45 | textSize: sizeText),
46 | const SizedBox(height: 32),
47 | const ConformClickHere()
48 | ]),
49 | ),
50 | ),
51 | );
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/lib/screens/desserts_screen/det_screen/det_screen.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/screens/desserts_screen/det_screen/widget/DivLine.dart';
3 | import 'package:meal_monkey_mobile_project/screens/desserts_screen/det_screen/widget/Rating_pos.dart';
4 | import 'package:meal_monkey_mobile_project/screens/desserts_screen/det_screen/widget/box_options.dart';
5 | import 'package:meal_monkey_mobile_project/screens/desserts_screen/det_screen/widget/custom_appbar_det.dart';
6 | import 'package:meal_monkey_mobile_project/screens/desserts_screen/det_screen/widget/decrip_det.dart';
7 | import 'package:meal_monkey_mobile_project/screens/desserts_screen/det_screen/widget/head_txt.dart';
8 | import 'package:meal_monkey_mobile_project/screens/desserts_screen/det_screen/widget/image_det.dart';
9 | import 'package:meal_monkey_mobile_project/screens/desserts_screen/det_screen/widget/num_of_portions.dart';
10 | import 'package:meal_monkey_mobile_project/screens/desserts_screen/det_screen/widget/total_price.dart';
11 |
12 | class DetScreen extends StatefulWidget {
13 | const DetScreen({Key? key}) : super(key: key);
14 |
15 | @override
16 | State createState() => _DetScreenState();
17 | }
18 |
19 | class _DetScreenState extends State {
20 | @override
21 | Widget build(BuildContext context) {
22 | return Scaffold(
23 | extendBodyBehindAppBar: true,
24 | body: Stack(
25 | alignment: Alignment.center,
26 | children: [
27 | ListView(
28 | children: const [
29 | ImageDet(),
30 | RatingPos(),
31 | SizedBox(height: 15),
32 | HeadTex(str: 'Descriptions'),
33 | DescriptionDet(),
34 | DevLine(),
35 | SizedBox(height: 15),
36 | HeadTex(str: 'Customize your Order'),
37 | SizedBox(height: 15),
38 | BoxOptions(str: '- Select the size of portion -'),
39 | BoxOptions(str: '- Select the ingredients -'),
40 | SizedBox(height: 15),
41 | NumOfPortions(),
42 | SizedBox(height: 35),
43 | TotalPrice()
44 | ],
45 | ),
46 | const CusAppBarDet(),
47 | ],
48 | ),
49 | );
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/lib/screens/desserts_screen/widget/body_desserts.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class BodyDesserts extends StatelessWidget {
5 | const BodyDesserts({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return InkWell(
12 | onTap: () {
13 | Navigator.pushNamed(context, 'det_screen');
14 | },
15 | child: Padding(
16 | padding: const EdgeInsets.only(bottom: 5),
17 | child: Stack(
18 | children: [
19 | SizedBox(
20 | width: double.infinity,
21 | child: Image.asset(
22 | 'assets/images/food.png',
23 | color: Colors.black.withOpacity(0.2),
24 | colorBlendMode: BlendMode.darken,
25 | ),
26 | ),
27 | const Positioned(
28 | bottom: 50,
29 | left: 25,
30 | child: Text(
31 | 'French Apple Pie',
32 | style: TextStyle(
33 | fontSize: 20,
34 | color: Colors.white,
35 | fontWeight: FontWeight.bold),
36 | ),
37 | ),
38 | const SizedBox(height: 10),
39 | const Positioned(
40 | bottom: 20,
41 | child: Row(
42 | children: [
43 | SizedBox(width: 22),
44 | Icon(
45 | Icons.star_outlined,
46 | color: Color(primaryColor),
47 | size: 25,
48 | ),
49 | SizedBox(width: 5),
50 | Text(
51 | '562',
52 | style: TextStyle(
53 | fontSize: sizeText, color: Color(primaryColor)),
54 | ),
55 | SizedBox(width: 10),
56 | Text(
57 | 'Minute by tuk tuk Desserts',
58 | style: TextStyle(
59 | color: Colors.white,
60 | fontSize: sizeText,
61 | ),
62 | ),
63 | ],
64 | ),
65 | ),
66 | ],
67 | ),
68 | ),
69 | );
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/payment_screen/widget/cust_button_payment.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/more/my_order/check_out/widget/send_order_sheet.dart';
3 | import 'package:meal_monkey_mobile_project/util/constant.dart';
4 | import 'Sheet/contentInPayment.dart';
5 | import 'Sheet/csut_bottomsheet_payment.dart';
6 |
7 | class CustButtonPayment extends StatelessWidget {
8 | final String str;
9 |
10 | final double virtial;
11 |
12 | const CustButtonPayment(
13 | {super.key, required this.str, required this.virtial});
14 |
15 | @override
16 | Widget build(BuildContext context) {
17 | return Padding(
18 | padding: EdgeInsets.symmetric(horizontal: 35, vertical: virtial),
19 | child: SizedBox(
20 | height: 65,
21 | child: ElevatedButton(
22 | style: ButtonStyle(
23 | backgroundColor:
24 | const MaterialStatePropertyAll(Color(primaryColor)),
25 | shape: MaterialStatePropertyAll(
26 | RoundedRectangleBorder(
27 | borderRadius: BorderRadius.circular(35),
28 | ),
29 | ),
30 | ),
31 | onPressed: () {
32 | str == 'Send Order'
33 | ? showModalBottomSheet(
34 | context: context,
35 | isScrollControlled: true,
36 | shape: const RoundedRectangleBorder(
37 | borderRadius: BorderRadius.only(
38 | topLeft: Radius.circular(18),
39 | topRight: Radius.circular(18)),
40 | ),
41 | builder: ((context) {
42 | return const SendOrderSheet();
43 | }))
44 | : showModalBottomSheet(
45 | isScrollControlled: true,
46 | context: context,
47 | shape: const RoundedRectangleBorder(
48 | borderRadius: BorderRadius.only(
49 | topLeft: Radius.circular(18),
50 | topRight: Radius.circular(18)),
51 | ),
52 | builder: (context) {
53 | return const CusBottomSheetPayMent();
54 | });
55 | },
56 | child: ContentInButtonPayment(str: str),
57 | ),
58 | ),
59 | );
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/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 plugin: 'kotlin-android'
26 | apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
27 |
28 | android {
29 | compileSdkVersion flutter.compileSdkVersion
30 | ndkVersion flutter.ndkVersion
31 |
32 | compileOptions {
33 | sourceCompatibility JavaVersion.VERSION_1_8
34 | targetCompatibility JavaVersion.VERSION_1_8
35 | }
36 |
37 | kotlinOptions {
38 | jvmTarget = '1.8'
39 | }
40 |
41 | sourceSets {
42 | main.java.srcDirs += 'src/main/kotlin'
43 | }
44 |
45 | defaultConfig {
46 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
47 | applicationId "com.example.meal_monkey_mobile_project"
48 | // You can update the following values to match your application needs.
49 | // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration.
50 | minSdkVersion flutter.minSdkVersion
51 | targetSdkVersion flutter.targetSdkVersion
52 | versionCode flutterVersionCode.toInteger()
53 | versionName flutterVersionName
54 | }
55 |
56 | buildTypes {
57 | release {
58 | // TODO: Add your own signing config for the release build.
59 | // Signing with the debug keys for now, so `flutter run --release` works.
60 | signingConfig signingConfigs.debug
61 | }
62 | }
63 | }
64 |
65 | flutter {
66 | source '../..'
67 | }
68 |
69 | dependencies {
70 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
71 | }
72 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/my_order/check_out/change_address/widget/change_address.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:flutter_svg/svg.dart';
3 | import 'package:meal_monkey_mobile_project/shared/cust_appbar_other.dart';
4 | import 'package:meal_monkey_mobile_project/util/constant.dart';
5 |
6 | class ChangeAddressScreen extends StatelessWidget {
7 | const ChangeAddressScreen({Key? key}) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return Scaffold(
12 | appBar: CustomAppBarOther(txt: 'Change Address'),
13 | body: Stack(
14 | children: [
15 | const SizedBox(height: 25),
16 | InkWell(
17 | onTap: () {
18 | showModalBottomSheet(
19 | elevation: 5,
20 | barrierColor: Colors.transparent,
21 | context: context,
22 | builder: (context) {
23 | return SizedBox(
24 | height: 170,
25 | child: Column(
26 | children: [
27 | const SizedBox(height: 20),
28 | const SearchBar(),
29 | const SizedBox(height: 15),
30 | Padding(
31 | padding: const EdgeInsets.symmetric(horizontal: 10),
32 | child: ListTile(
33 | leading:
34 | SvgPicture.asset('assets/icons/star.svg'),
35 | title: const Text(
36 | 'Choose a saved place',
37 | style: TextStyle(fontSize: sizeText),
38 | ),
39 | trailing: IconButton(
40 | onPressed: () {},
41 | icon: const Icon(Icons.arrow_forward_ios),
42 | ),
43 | ),
44 | )
45 | ],
46 | ),
47 | );
48 | });
49 | },
50 | child: SizedBox(
51 | width: double.infinity,
52 | child: Image.asset(
53 | 'assets/images/map.png',
54 | fit: BoxFit.fitWidth,
55 | ),
56 | ),
57 | ),
58 | ],
59 | ),
60 | );
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/my_order/widget/two_sections_in_myorder.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | import '../../../../../util/constant.dart';
4 | import 'list_of_order_det.dart';
5 |
6 |
7 | class TwoSectionsInMyOrder extends StatelessWidget {
8 | const TwoSectionsInMyOrder({
9 | Key? key,
10 | }) : super(key: key);
11 |
12 | @override
13 | Widget build(BuildContext context) {
14 | return Container(
15 | width: double.infinity,
16 | height: 250,
17 | color: const Color(0xffF6F6F6),
18 | child: Column(
19 | children: [
20 | ListOfOrderDet(
21 | name: 'Beef Burger x1',
22 | prise: '\$16',
23 | isBold: false,
24 | colors: const Color(primaryTextColor),
25 | size: sizeText),
26 | const SizedBox(height: 15),
27 | const Divider(
28 | height: 1,
29 | thickness: 1,
30 | ),
31 | const SizedBox(height: 13),
32 | ListOfOrderDet(
33 | name: 'Classic Burger x1',
34 | prise: '\$14',
35 | isBold: false,
36 | colors: const Color(primaryTextColor),
37 | size: sizeText),
38 | const SizedBox(height: 15),
39 | const Divider(
40 | height: 1,
41 | thickness: 1,
42 | ),
43 | const SizedBox(height: 13),
44 | ListOfOrderDet(
45 | name: 'Cheese Chicken Burger x1',
46 | prise: '\$17',
47 | isBold: false,
48 | colors: const Color(primaryTextColor),
49 | size: sizeText),
50 | const SizedBox(height: 15),
51 | const Divider(
52 | height: 1,
53 | thickness: 1.5,
54 | ),
55 | const SizedBox(height: 13),
56 | ListOfOrderDet(
57 | name: 'Chicken Legs Basket x1',
58 | prise: '\$15',
59 | isBold: false,
60 | colors: const Color(primaryTextColor),
61 | size: sizeText),
62 | const SizedBox(height: 15),
63 | const Divider(
64 | height: 1,
65 | thickness: 1,
66 | ),
67 | const SizedBox(height: 13),
68 | ListOfOrderDet(
69 | name: 'French Fries Large x1',
70 | prise: '\$6',
71 | isBold: false,
72 | colors: const Color(primaryTextColor),
73 | size: sizeText),
74 | ],
75 | ),
76 | );
77 | }
78 | }
79 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/payment_screen/widget/cust_card_payment.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/util/constant.dart';
3 |
4 | class CustomCardPayment extends StatelessWidget {
5 | const CustomCardPayment({
6 | Key? key,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return SizedBox(
12 | width: double.infinity,
13 | height: 205,
14 | child: Card(
15 | elevation: 20,
16 | color: const Color(0xffF7F7F7),
17 | child: Padding(
18 | padding: const EdgeInsets.symmetric(horizontal: 35, vertical: 10),
19 | child: Column(
20 | crossAxisAlignment: CrossAxisAlignment.start,
21 | children: [
22 | ListTile(
23 | title: const Text(
24 | 'Cash/Card on delivery',
25 | style: TextStyle(
26 | fontWeight: FontWeight.bold, fontSize: sizeText),
27 | ),
28 | trailing: IconButton(
29 | onPressed: () {},
30 | icon: const Icon(
31 | Icons.done,
32 | color: Color(primaryColor),
33 | size: 25,
34 | )),
35 | ),
36 | const Divider(
37 | indent: 17,
38 | endIndent: 35,
39 | thickness: 1,
40 | ),
41 | ListTile(
42 | leading: Image.asset('assets/images/viza.jpg'),
43 | title: const Text(
44 | '**** **** ****',
45 | style: TextStyle(
46 | fontWeight: FontWeight.bold, fontSize: mediumTxt),
47 | ),
48 | trailing: IconButton(
49 | onPressed: () {},
50 | icon: const Icon(
51 | Icons.done,
52 | color: Color(primaryColor),
53 | size: 25,
54 | )),
55 | ),
56 | const Divider(
57 | indent: 17,
58 | endIndent: 34,
59 | thickness: 1,
60 | height: 1,
61 | ),
62 | const Padding(
63 | padding:
64 | EdgeInsets.symmetric(vertical: 15, horizontal: 20),
65 | child: Text(
66 | 'Other Methods',
67 | style: TextStyle(
68 | fontWeight: FontWeight.bold,
69 | ),
70 | ),
71 | )
72 | ],
73 | ),
74 | ),
75 | ),
76 | );
77 | }
78 | }
79 |
--------------------------------------------------------------------------------
/assets/images/Group Background initScreen .svg:
--------------------------------------------------------------------------------
1 |
24 |
--------------------------------------------------------------------------------
/lib/screens/body_nav_bar/more/my_order/check_out/widget/send_order_sheet.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:flutter_svg/svg.dart';
3 | import 'package:meal_monkey_mobile_project/screens/body_nav_bar/more/payment_screen/widget/Sheet/icon_closebottom_sheet_pay_mayment.dart';
4 | import 'package:meal_monkey_mobile_project/shared/my_button.dart';
5 | import 'package:meal_monkey_mobile_project/util/const_assets.dart';
6 | import 'package:meal_monkey_mobile_project/util/constant.dart';
7 |
8 | class SendOrderSheet extends StatelessWidget {
9 | const SendOrderSheet({
10 | Key? key,
11 | }) : super(key: key);
12 |
13 | @override
14 | Widget build(BuildContext context) {
15 | return SizedBox(
16 | height: 615,
17 | child: Padding(
18 | padding: const EdgeInsets.symmetric(horizontal: 23),
19 | child: Column(
20 | children: [
21 | const SizedBox(height: 8),
22 | const IconCloseBottomSheetPayment(),
23 | const SizedBox(height: 15),
24 | SvgPicture.asset(moneyAndPayment),
25 | const SizedBox(height: 40),
26 | const Text(
27 | 'Thank You!',
28 | style: TextStyle(
29 | fontSize: largeTxt,
30 | color: Color(primaryTextColor),
31 | fontWeight: FontWeight.bold),
32 | ),
33 | const SizedBox(height: 5),
34 | const Text(
35 | 'for your order',
36 | style: TextStyle(
37 | fontSize: 20,
38 | color: Color(primaryTextColor),
39 | fontWeight: FontWeight.bold),
40 | ),
41 | const SizedBox(height: 15),
42 | const Text(
43 | ' Your Order is now being processed. We will let you know once the order is picked from the outlet. Check the status of your Order',
44 | style: TextStyle(
45 | fontSize: sizeText,
46 | color: Color(primaryTextColor),
47 | ),
48 | ),
49 | const SizedBox(height: 30),
50 | CustomButton(
51 | title: 'Track My Order',
52 | color: const Color(primaryColor),
53 | onPressed: () {},
54 | textSize: mediumTxt,
55 | ),
56 | TextButton(
57 | onPressed: () {
58 | Navigator.pushReplacementNamed(context, 'home_screen');
59 | },
60 | child: const Text(
61 | 'Back To Home',
62 | style: TextStyle(
63 | fontWeight: FontWeight.bold,
64 | fontSize: mediumTxt,
65 | color: Color(primaryTextColor)),
66 | ))
67 | ],
68 | ),
69 | ),
70 | );
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/lib/screens/logins_screens/reset_password_screen/reset_passwrod_screen.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:meal_monkey_mobile_project/screens/logins_screens/reset_password_screen/widget/reset_hedertxt.dart';
3 | import 'package:meal_monkey_mobile_project/screens/logins_screens/reset_password_screen/widget/resrt_secandTxt.dart';
4 | import 'package:meal_monkey_mobile_project/shared/custom_textfeild.dart';
5 | import 'package:meal_monkey_mobile_project/shared/my_button.dart';
6 | import 'package:meal_monkey_mobile_project/util/constant.dart';
7 | import 'package:meal_monkey_mobile_project/util/validate_extension.dart';
8 |
9 | class ResetPassword extends StatefulWidget {
10 | const ResetPassword({Key? key}) : super(key: key);
11 |
12 | @override
13 | State createState() => _ResetPasswordState();
14 | }
15 |
16 | class _ResetPasswordState extends State {
17 | final GlobalKey resetFormKey = GlobalKey();
18 |
19 | @override
20 | Widget build(BuildContext context) {
21 | return Scaffold(
22 | body: GestureDetector(
23 | onTap: () {
24 | FocusScopeNode currentFocus = FocusScope.of(context);
25 | if (!currentFocus.hasPrimaryFocus &&
26 | currentFocus.focusedChild != null) {
27 | currentFocus.focusedChild!.unfocus();
28 | }
29 | },
30 | child: Form(
31 | key: resetFormKey,
32 | child: SingleChildScrollView(
33 | child: Center(
34 | child: Padding(
35 | padding: const EdgeInsets.symmetric(horizontal: 34, vertical: 90),
36 | child: Column(
37 | children: [
38 | const ResetHedertxt(),
39 | const SizedBox(height: 15),
40 | const ResrtSecandTxt(),
41 | const SizedBox(height: 60),
42 | CustomTextFiled(
43 | hintText: 'Email',
44 | keyboardType: TextInputType.emailAddress,
45 | validator: (val)=>val!.validateEmail(),
46 | textInputAction: TextInputAction.done,
47 | ),
48 | const SizedBox(
49 | height: 35,
50 | ),
51 | CustomButton(
52 | title: 'Send',
53 | color: const Color(primaryColor),
54 | onPressed: (){
55 | if(resetFormKey.currentState!.validate()){
56 | Navigator.pushNamed(context, 'conform_screen');
57 | }
58 | },
59 | textSize: sizeText),
60 | ],
61 | ),
62 | ),
63 | ),
64 | ),
65 | ),
66 | ),
67 | );
68 | }
69 | }
70 |
--------------------------------------------------------------------------------