├── 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 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 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 | 2 | 3 | 4 | 5 | 6 | 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 | 2 | 3 | 4 | 5 | 6 | 7 | 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 | 2 | 3 | 4 | 5 | 6 | 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 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 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 | 2 | 3 | 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 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 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 | 2 | 3 | 4 | 5 | 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 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 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 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 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 | --------------------------------------------------------------------------------