├── .flutter-plugins ├── .flutter-plugins-dependencies ├── .gitattributes ├── .gitignore ├── LICENSE ├── README.md ├── android ├── .gitignore ├── app │ ├── build.gradle │ └── src │ │ ├── debug │ │ └── AndroidManifest.xml │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── kotlin │ │ │ └── com │ │ │ │ ├── dhiwise │ │ │ │ └── flutterarch │ │ │ │ │ └── MainActivity.kt │ │ │ │ └── example │ │ │ │ └── base_project │ │ │ │ └── MainActivity.kt │ │ └── res │ │ │ ├── drawable │ │ │ └── launch_background.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── profile │ │ └── AndroidManifest.xml ├── base_project_android.iml ├── build.gradle ├── flutterarch_android.iml ├── gradle.properties ├── gradle │ └── wrapper │ │ └── gradle-wrapper.properties └── settings.gradle ├── assets └── images │ ├── image_not_found.png │ ├── img_.svg │ ├── img_252a6624a42c117.png │ ├── img_32badb63498577.png │ ├── img_7f47f9144194941.png │ ├── img_afbea499038243.png │ ├── img_arrowleft.svg │ ├── img_arrowleft_44x44.svg │ ├── img_arrowright.svg │ ├── img_arrowup.svg │ ├── img_bookmark.svg │ ├── img_bookmark_44x44.svg │ ├── img_bookmark_white_a700.png │ ├── img_calendar.svg │ ├── img_calendar_24x24.svg │ ├── img_call.svg │ ├── img_checkmark.svg │ ├── img_checkmark_1.svg │ ├── img_checkmark_14x14.svg │ ├── img_checkmark_7x10.svg │ ├── img_checkmark_9x12.svg │ ├── img_checkmark_9x16.svg │ ├── img_clock.svg │ ├── img_cut.svg │ ├── img_edit.svg │ ├── img_edit_24x24.svg │ ├── img_ellipse21.png │ ├── img_ellipse21_24x24.png │ ├── img_ellipse23.png │ ├── img_ellipse23_24x24.png │ ├── img_ellipse25.png │ ├── img_ellipse25_24x24.png │ ├── img_ellipse897.png │ ├── img_ellipse897_1.png │ ├── img_ellipse897_2.png │ ├── img_ellipse897_3.png │ ├── img_ellipse897_4.png │ ├── img_ellipse897_48x48.png │ ├── img_ellipse897_5.png │ ├── img_ellipse899.png │ ├── img_ellipse901.png │ ├── img_ellipse901_55x55.png │ ├── img_ellipse903.png │ ├── img_eye.svg │ ├── img_eyeicon.svg │ ├── img_favorite.svg │ ├── img_file.svg │ ├── img_file_1.svg │ ├── img_file_96x96.svg │ ├── img_group335.png │ ├── img_group67.svg │ ├── img_home.svg │ ├── img_lightbulb.svg │ ├── img_link.svg │ ├── img_location.svg │ ├── img_location_24x24.svg │ ├── img_maximize.svg │ ├── img_microphone.svg │ ├── img_overflowmenu.svg │ ├── img_rectangle14.svg │ ├── img_rectangle15.svg │ ├── img_rectangle27.png │ ├── img_rectangle29.png │ ├── img_rectangle29_1.png │ ├── img_rectangle29_80x80.png │ ├── img_rectangle34.png │ ├── img_rectangle818.png │ ├── img_rectangle821.svg │ ├── img_rectangle822.png │ ├── img_rectangle823.png │ ├── img_rectangle824.png │ ├── img_rectangle825.png │ ├── img_rectangle826.png │ ├── img_rectangle830.png │ ├── img_rectangle831.png │ ├── img_rectangle833.png │ ├── img_rectangle838.png │ ├── img_rectangle838_1.png │ ├── img_rectangle838_124x137.png │ ├── img_rectangle838_2.png │ ├── img_rectangle838_3.png │ ├── img_rectangle839.svg │ ├── img_rectangle839_124x137.png │ ├── img_rectangle843.png │ ├── img_rectangle843_1.png │ ├── img_rectangle843_116x95.png │ ├── img_rectangle843_2.png │ ├── img_rectangle845.svg │ ├── img_reply.svg │ ├── img_search.svg │ ├── img_search_bluegray_400.svg │ ├── img_settings.svg │ ├── img_signal.svg │ ├── img_signal_24x40.svg │ ├── img_star.svg │ ├── img_star_yellow_600.png │ ├── img_ticket.svg │ ├── img_trash.svg │ ├── img_user.svg │ ├── img_user_1.svg │ ├── img_user_2.svg │ ├── img_user_24x24.svg │ └── img_vector2524.svg ├── ios ├── .gitignore ├── Flutter │ ├── AppFrameworkInfo.plist │ ├── Debug.xcconfig │ └── Release.xcconfig ├── Runner.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── WorkspaceSettings.xcsettings │ └── xcshareddata │ │ └── xcschemes │ │ └── Runner.xcscheme ├── Runner.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ ├── IDEWorkspaceChecks.plist │ │ └── WorkspaceSettings.xcsettings └── Runner │ ├── AppDelegate.swift │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── Icon-App-1024x1024@1x.png │ │ ├── Icon-App-20x20@1x.png │ │ ├── Icon-App-20x20@2x.png │ │ ├── Icon-App-20x20@3x.png │ │ ├── Icon-App-29x29@1x.png │ │ ├── Icon-App-29x29@2x.png │ │ ├── Icon-App-29x29@3x.png │ │ ├── Icon-App-40x40@1x.png │ │ ├── Icon-App-40x40@2x.png │ │ ├── Icon-App-40x40@3x.png │ │ ├── Icon-App-60x60@2x.png │ │ ├── Icon-App-60x60@3x.png │ │ ├── Icon-App-76x76@1x.png │ │ ├── Icon-App-76x76@2x.png │ │ └── Icon-App-83.5x83.5@2x.png │ └── LaunchImage.imageset │ │ ├── Contents.json │ │ ├── LaunchImage.png │ │ ├── LaunchImage@2x.png │ │ ├── LaunchImage@3x.png │ │ └── README.md │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ └── Runner-Bridging-Header.h ├── lib ├── core │ ├── app_export.dart │ ├── constants │ │ └── constants.dart │ ├── errors │ │ ├── exceptions.dart │ │ └── failures.dart │ ├── network │ │ └── network_info.dart │ └── utils │ │ ├── color_constant.dart │ │ ├── date_time_utils.dart │ │ ├── image_constant.dart │ │ ├── initial_bindings.dart │ │ ├── logger.dart │ │ ├── pref_utils.dart │ │ ├── progress_dialog_utils.dart │ │ ├── size_utils.dart │ │ └── validation_functions.dart ├── data │ ├── apiClient │ │ └── api_client.dart │ └── models │ │ └── selectionPopupModel │ │ └── selection_popup_model.dart ├── localization │ ├── app_localization.dart │ └── en_us │ │ └── en_us_translations.dart ├── main.dart ├── presentation │ ├── all_popular_trip_package_screen │ │ ├── all_popular_trip_package_screen.dart │ │ ├── binding │ │ │ └── all_popular_trip_package_binding.dart │ │ ├── controller │ │ │ └── all_popular_trip_package_controller.dart │ │ ├── models │ │ │ ├── all_popular_trip_package_model.dart │ │ │ └── listrectangle843_item_model.dart │ │ └── widgets │ │ │ └── listrectangle843_item_widget.dart │ ├── app_navigation_screen │ │ ├── app_navigation_screen.dart │ │ ├── binding │ │ │ └── app_navigation_binding.dart │ │ ├── controller │ │ │ └── app_navigation_controller.dart │ │ └── models │ │ │ └── app_navigation_model.dart │ ├── chats_screen │ │ ├── binding │ │ │ └── chats_binding.dart │ │ ├── chats_screen.dart │ │ ├── controller │ │ │ └── chats_controller.dart │ │ └── models │ │ │ └── chats_model.dart │ ├── details_screen │ │ ├── binding │ │ │ └── details_binding.dart │ │ ├── controller │ │ │ └── details_controller.dart │ │ ├── details_screen.dart │ │ └── models │ │ │ └── details_model.dart │ ├── edit_profile_screen │ │ ├── binding │ │ │ └── edit_profile_binding.dart │ │ ├── controller │ │ │ └── edit_profile_controller.dart │ │ ├── edit_profile_screen.dart │ │ └── models │ │ │ └── edit_profile_model.dart │ ├── favorite_places_screen │ │ ├── binding │ │ │ └── favorite_places_binding.dart │ │ ├── controller │ │ │ └── favorite_places_controller.dart │ │ ├── favorite_places_screen.dart │ │ ├── models │ │ │ ├── favorite_places_model.dart │ │ │ └── gridrectangle838_item_model.dart │ │ └── widgets │ │ │ └── gridrectangle838_item_widget.dart │ ├── forgot_password_screen │ │ ├── binding │ │ │ └── forgot_password_binding.dart │ │ ├── controller │ │ │ └── forgot_password_controller.dart │ │ ├── forgot_password_screen.dart │ │ └── models │ │ │ └── forgot_password_model.dart │ ├── home_screen │ │ ├── binding │ │ │ └── home_binding.dart │ │ ├── controller │ │ │ └── home_controller.dart │ │ ├── home_screen.dart │ │ ├── models │ │ │ ├── home_item_model.dart │ │ │ └── home_model.dart │ │ └── widgets │ │ │ └── home_item_widget.dart │ ├── messages_screen │ │ ├── binding │ │ │ └── messages_binding.dart │ │ ├── controller │ │ │ └── messages_controller.dart │ │ ├── messages_screen.dart │ │ ├── models │ │ │ ├── messages_item_model.dart │ │ │ └── messages_model.dart │ │ └── widgets │ │ │ └── messages_item_widget.dart │ ├── notification_screen │ │ ├── binding │ │ │ └── notification_binding.dart │ │ ├── controller │ │ │ └── notification_controller.dart │ │ ├── models │ │ │ ├── notification_item_model.dart │ │ │ └── notification_model.dart │ │ ├── notification_screen.dart │ │ └── widgets │ │ │ └── notification_item_widget.dart │ ├── onboard_one_screen │ │ ├── binding │ │ │ └── onboard_one_binding.dart │ │ ├── controller │ │ │ └── onboard_one_controller.dart │ │ ├── models │ │ │ └── onboard_one_model.dart │ │ └── onboard_one_screen.dart │ ├── onboard_three_screen │ │ ├── binding │ │ │ └── onboard_three_binding.dart │ │ ├── controller │ │ │ └── onboard_three_controller.dart │ │ ├── models │ │ │ └── onboard_three_model.dart │ │ └── onboard_three_screen.dart │ ├── onboard_two_screen │ │ ├── binding │ │ │ └── onboard_two_binding.dart │ │ ├── controller │ │ │ └── onboard_two_controller.dart │ │ ├── models │ │ │ └── onboard_two_model.dart │ │ └── onboard_two_screen.dart │ ├── pop_up_dialog │ │ ├── controller │ │ │ └── pop_up_controller.dart │ │ ├── models │ │ │ └── pop_up_model.dart │ │ └── pop_up_dialog.dart │ ├── popular_places_screen │ │ ├── binding │ │ │ └── popular_places_binding.dart │ │ ├── controller │ │ │ └── popular_places_controller.dart │ │ ├── models │ │ │ ├── popular_places_item_model.dart │ │ │ └── popular_places_model.dart │ │ ├── popular_places_screen.dart │ │ └── widgets │ │ │ └── popular_places_item_widget.dart │ ├── profile_screen │ │ ├── binding │ │ │ └── profile_binding.dart │ │ ├── controller │ │ │ └── profile_controller.dart │ │ ├── models │ │ │ └── profile_model.dart │ │ └── profile_screen.dart │ ├── schedule_screen │ │ ├── binding │ │ │ └── schedule_binding.dart │ │ ├── controller │ │ │ └── schedule_controller.dart │ │ ├── models │ │ │ └── schedule_model.dart │ │ └── schedule_screen.dart │ ├── search_screen │ │ ├── binding │ │ │ └── search_binding.dart │ │ ├── controller │ │ │ └── search_controller.dart │ │ ├── models │ │ │ ├── search_item_model.dart │ │ │ └── search_model.dart │ │ ├── search_screen.dart │ │ └── widgets │ │ │ └── search_item_widget.dart │ ├── sign_in_screen │ │ ├── binding │ │ │ └── sign_in_binding.dart │ │ ├── controller │ │ │ └── sign_in_controller.dart │ │ ├── models │ │ │ └── sign_in_model.dart │ │ └── sign_in_screen.dart │ ├── sign_up_screen │ │ ├── binding │ │ │ └── sign_up_binding.dart │ │ ├── controller │ │ │ └── sign_up_controller.dart │ │ ├── models │ │ │ └── sign_up_model.dart │ │ └── sign_up_screen.dart │ ├── splash_screen │ │ ├── binding │ │ │ └── splash_binding.dart │ │ ├── controller │ │ │ └── splash_controller.dart │ │ ├── models │ │ │ └── splash_model.dart │ │ └── splash_screen.dart │ ├── verification_screen │ │ ├── binding │ │ │ └── verification_binding.dart │ │ ├── controller │ │ │ └── verification_controller.dart │ │ ├── models │ │ │ └── verification_model.dart │ │ └── verification_screen.dart │ └── view_screen │ │ ├── binding │ │ └── view_binding.dart │ │ ├── controller │ │ └── view_controller.dart │ │ ├── models │ │ └── view_model.dart │ │ └── view_screen.dart ├── routes │ └── app_routes.dart ├── theme │ ├── app_decoration.dart │ └── app_style.dart └── widgets │ ├── app_bar │ ├── appbar_iconbutton.dart │ ├── appbar_iconbutton_1.dart │ ├── appbar_subtitle.dart │ ├── appbar_subtitle_1.dart │ ├── appbar_title.dart │ └── custom_app_bar.dart │ ├── common_image_view.dart │ ├── custom_button.dart │ ├── custom_floating_button.dart │ ├── custom_icon_button.dart │ ├── custom_radio_button.dart │ ├── custom_search_view.dart │ └── custom_text_form_field.dart ├── logs └── errors.log ├── pubspec.lock ├── pubspec.yaml ├── screenshot ├── 1.png └── 2.png └── test └── widget_test.dart /.flutter-plugins: -------------------------------------------------------------------------------- 1 | # This is a generated file; do not edit or check into version control. 2 | connectivity_plus=C:\\flutter\\.pub-cache\\hosted\\pub.dartlang.org\\connectivity_plus-2.3.9\\ 3 | connectivity_plus_linux=C:\\flutter\\.pub-cache\\hosted\\pub.dartlang.org\\connectivity_plus_linux-1.3.1\\ 4 | connectivity_plus_macos=C:\\flutter\\.pub-cache\\hosted\\pub.dartlang.org\\connectivity_plus_macos-1.2.6\\ 5 | connectivity_plus_web=C:\\flutter\\.pub-cache\\hosted\\pub.dartlang.org\\connectivity_plus_web-1.2.5\\ 6 | connectivity_plus_windows=C:\\flutter\\.pub-cache\\hosted\\pub.dartlang.org\\connectivity_plus_windows-1.2.2\\ 7 | path_provider=C:\\flutter\\.pub-cache\\hosted\\pub.dartlang.org\\path_provider-2.0.4\\ 8 | path_provider_linux=C:\\flutter\\.pub-cache\\hosted\\pub.dartlang.org\\path_provider_linux-2.1.2\\ 9 | path_provider_macos=C:\\flutter\\.pub-cache\\hosted\\pub.dartlang.org\\path_provider_macos-2.0.4\\ 10 | path_provider_windows=C:\\flutter\\.pub-cache\\hosted\\pub.dartlang.org\\path_provider_windows-2.0.4\\ 11 | shared_preferences=C:\\flutter\\.pub-cache\\hosted\\pub.dartlang.org\\shared_preferences-2.0.15\\ 12 | shared_preferences_android=C:\\flutter\\.pub-cache\\hosted\\pub.dartlang.org\\shared_preferences_android-2.0.14\\ 13 | shared_preferences_ios=C:\\flutter\\.pub-cache\\hosted\\pub.dartlang.org\\shared_preferences_ios-2.1.1\\ 14 | shared_preferences_linux=C:\\flutter\\.pub-cache\\hosted\\pub.dartlang.org\\shared_preferences_linux-2.0.3\\ 15 | shared_preferences_macos=C:\\flutter\\.pub-cache\\hosted\\pub.dartlang.org\\shared_preferences_macos-2.0.2\\ 16 | shared_preferences_web=C:\\flutter\\.pub-cache\\hosted\\pub.dartlang.org\\shared_preferences_web-2.0.2\\ 17 | shared_preferences_windows=C:\\flutter\\.pub-cache\\hosted\\pub.dartlang.org\\shared_preferences_windows-2.0.3\\ 18 | sms_autofill=C:\\flutter\\.pub-cache\\hosted\\pub.dartlang.org\\sms_autofill-2.2.0\\ 19 | sqflite=C:\\flutter\\.pub-cache\\hosted\\pub.dartlang.org\\sqflite-2.0.1\\ 20 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.dart_tool/ 2 | /.idea/ 3 | /build/ 4 | /.vscode/ 5 | !/pubspec.lock 6 | !/.packages 7 | !/.flutter-plugins-dependencies 8 | !/.flutter-plugins 9 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Manish Dayma 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /android/app/build.gradle: -------------------------------------------------------------------------------- 1 | plugins{ 2 | id 'com.android.application' 3 | id 'kotlin-android' 4 | } 5 | def localProperties = new Properties() 6 | def localPropertiesFile = rootProject.file('local.properties') 7 | if (localPropertiesFile.exists()) { 8 | localPropertiesFile.withReader('UTF-8') { reader -> 9 | localProperties.load(reader) 10 | } 11 | } 12 | 13 | def flutterRoot = localProperties.getProperty('flutter.sdk') 14 | if (flutterRoot == null) { 15 | throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") 16 | } 17 | 18 | def flutterVersionCode = localProperties.getProperty('flutter.versionCode') 19 | if (flutterVersionCode == null) { 20 | flutterVersionCode = '1' 21 | } 22 | 23 | def flutterVersionName = localProperties.getProperty('flutter.versionName') 24 | if (flutterVersionName == null) { 25 | flutterVersionName = '1.0' 26 | } 27 | 28 | apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" 29 | 30 | android { 31 | compileSdkVersion 31 32 | 33 | sourceSets { 34 | main.java.srcDirs += 'src/main/kotlin' 35 | } 36 | 37 | lintOptions { 38 | disable 'InvalidPackage' 39 | } 40 | 41 | defaultConfig { 42 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). 43 | applicationId "com.travelappflutter.app" 44 | minSdkVersion 21 45 | targetSdkVersion 31 46 | multiDexEnabled true 47 | versionCode flutterVersionCode.toInteger() 48 | versionName flutterVersionName 49 | } 50 | 51 | buildTypes { 52 | release { 53 | // TODO: Add your own signing config for the release build. 54 | // Signing with the debug keys for now, so `flutter run --release` works. 55 | signingConfig signingConfigs.debug 56 | } 57 | } 58 | } 59 | 60 | flutter { 61 | source '../..' 62 | } 63 | 64 | dependencies { 65 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" 66 | implementation "androidx.multidex:multidex:2.0.1" 67 | } 68 | -------------------------------------------------------------------------------- /android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 8 | 9 | 10 | 11 | 12 | 15 | 23 | 27 | 31 | 36 | 37 | 38 | 39 | 40 | 41 | 43 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /android/app/src/main/kotlin/com/dhiwise/flutterarch/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.travelappflutter.app 2 | 3 | import io.flutter.embedding.android.FlutterActivity 4 | 5 | class MainActivity: FlutterActivity() { 6 | } 7 | -------------------------------------------------------------------------------- /android/app/src/main/kotlin/com/example/base_project/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.base_project 2 | 3 | import io.flutter.embedding.android.FlutterActivity 4 | 5 | class MainActivity: FlutterActivity() { 6 | } 7 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | travelappflutter 4 | 5 | -------------------------------------------------------------------------------- /android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 15 | 18 | 19 | -------------------------------------------------------------------------------- /android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /android/base_project_android.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /android/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | ext.kotlin_version = '1.6.0' 3 | repositories { 4 | google() 5 | jcenter() 6 | } 7 | 8 | dependencies { 9 | classpath 'com.android.tools.build:gradle:4.0.1' 10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 11 | } 12 | } 13 | 14 | allprojects { 15 | repositories { 16 | google() 17 | jcenter() 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 | -------------------------------------------------------------------------------- /android/flutterarch_android.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jun 23 08:50:38 CEST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-all.zip 7 | -------------------------------------------------------------------------------- /android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | 3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties") 4 | def properties = new Properties() 5 | 6 | assert localPropertiesFile.exists() 7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } 8 | 9 | def flutterSdkPath = properties.getProperty("flutter.sdk") 10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties" 11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" 12 | -------------------------------------------------------------------------------- /assets/images/image_not_found.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/image_not_found.png -------------------------------------------------------------------------------- /assets/images/img_.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /assets/images/img_252a6624a42c117.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_252a6624a42c117.png -------------------------------------------------------------------------------- /assets/images/img_32badb63498577.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_32badb63498577.png -------------------------------------------------------------------------------- /assets/images/img_7f47f9144194941.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_7f47f9144194941.png -------------------------------------------------------------------------------- /assets/images/img_afbea499038243.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_afbea499038243.png -------------------------------------------------------------------------------- /assets/images/img_arrowleft.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/img_arrowleft_44x44.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/img_arrowright.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/img_arrowup.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/img_bookmark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/img_bookmark_44x44.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/img_bookmark_white_a700.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_bookmark_white_a700.png -------------------------------------------------------------------------------- /assets/images/img_calendar.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /assets/images/img_calendar_24x24.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /assets/images/img_call.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/img_checkmark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /assets/images/img_checkmark_1.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/images/img_checkmark_14x14.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/img_checkmark_7x10.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/img_checkmark_9x12.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/img_checkmark_9x16.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/images/img_clock.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /assets/images/img_cut.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /assets/images/img_edit.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/img_edit_24x24.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/img_ellipse21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_ellipse21.png -------------------------------------------------------------------------------- /assets/images/img_ellipse21_24x24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_ellipse21_24x24.png -------------------------------------------------------------------------------- /assets/images/img_ellipse23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_ellipse23.png -------------------------------------------------------------------------------- /assets/images/img_ellipse23_24x24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_ellipse23_24x24.png -------------------------------------------------------------------------------- /assets/images/img_ellipse25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_ellipse25.png -------------------------------------------------------------------------------- /assets/images/img_ellipse25_24x24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_ellipse25_24x24.png -------------------------------------------------------------------------------- /assets/images/img_ellipse897.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_ellipse897.png -------------------------------------------------------------------------------- /assets/images/img_ellipse897_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_ellipse897_1.png -------------------------------------------------------------------------------- /assets/images/img_ellipse897_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_ellipse897_2.png -------------------------------------------------------------------------------- /assets/images/img_ellipse897_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_ellipse897_3.png -------------------------------------------------------------------------------- /assets/images/img_ellipse897_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_ellipse897_4.png -------------------------------------------------------------------------------- /assets/images/img_ellipse897_48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_ellipse897_48x48.png -------------------------------------------------------------------------------- /assets/images/img_ellipse897_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_ellipse897_5.png -------------------------------------------------------------------------------- /assets/images/img_ellipse899.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_ellipse899.png -------------------------------------------------------------------------------- /assets/images/img_ellipse901.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_ellipse901.png -------------------------------------------------------------------------------- /assets/images/img_ellipse901_55x55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_ellipse901_55x55.png -------------------------------------------------------------------------------- /assets/images/img_ellipse903.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_ellipse903.png -------------------------------------------------------------------------------- /assets/images/img_eye.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/images/img_eyeicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/img_favorite.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/img_group335.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_group335.png -------------------------------------------------------------------------------- /assets/images/img_group67.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/images/img_home.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /assets/images/img_lightbulb.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 | -------------------------------------------------------------------------------- /assets/images/img_link.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /assets/images/img_location.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/images/img_location_24x24.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/img_maximize.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /assets/images/img_microphone.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/img_overflowmenu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/img_rectangle14.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/img_rectangle15.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /assets/images/img_rectangle27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_rectangle27.png -------------------------------------------------------------------------------- /assets/images/img_rectangle29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_rectangle29.png -------------------------------------------------------------------------------- /assets/images/img_rectangle29_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_rectangle29_1.png -------------------------------------------------------------------------------- /assets/images/img_rectangle29_80x80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_rectangle29_80x80.png -------------------------------------------------------------------------------- /assets/images/img_rectangle34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_rectangle34.png -------------------------------------------------------------------------------- /assets/images/img_rectangle818.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_rectangle818.png -------------------------------------------------------------------------------- /assets/images/img_rectangle821.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/img_rectangle822.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_rectangle822.png -------------------------------------------------------------------------------- /assets/images/img_rectangle823.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_rectangle823.png -------------------------------------------------------------------------------- /assets/images/img_rectangle824.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_rectangle824.png -------------------------------------------------------------------------------- /assets/images/img_rectangle825.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_rectangle825.png -------------------------------------------------------------------------------- /assets/images/img_rectangle826.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_rectangle826.png -------------------------------------------------------------------------------- /assets/images/img_rectangle830.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_rectangle830.png -------------------------------------------------------------------------------- /assets/images/img_rectangle831.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_rectangle831.png -------------------------------------------------------------------------------- /assets/images/img_rectangle833.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_rectangle833.png -------------------------------------------------------------------------------- /assets/images/img_rectangle838.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_rectangle838.png -------------------------------------------------------------------------------- /assets/images/img_rectangle838_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_rectangle838_1.png -------------------------------------------------------------------------------- /assets/images/img_rectangle838_124x137.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_rectangle838_124x137.png -------------------------------------------------------------------------------- /assets/images/img_rectangle838_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_rectangle838_2.png -------------------------------------------------------------------------------- /assets/images/img_rectangle838_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_rectangle838_3.png -------------------------------------------------------------------------------- /assets/images/img_rectangle839.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /assets/images/img_rectangle839_124x137.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_rectangle839_124x137.png -------------------------------------------------------------------------------- /assets/images/img_rectangle843.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_rectangle843.png -------------------------------------------------------------------------------- /assets/images/img_rectangle843_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_rectangle843_1.png -------------------------------------------------------------------------------- /assets/images/img_rectangle843_116x95.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_rectangle843_116x95.png -------------------------------------------------------------------------------- /assets/images/img_rectangle843_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_rectangle843_2.png -------------------------------------------------------------------------------- /assets/images/img_rectangle845.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/img_reply.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /assets/images/img_search.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/images/img_search_bluegray_400.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/images/img_signal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/img_signal_24x40.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/images/img_star.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/img_star_yellow_600.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/assets/images/img_star_yellow_600.png -------------------------------------------------------------------------------- /assets/images/img_ticket.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /assets/images/img_trash.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /assets/images/img_user.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /assets/images/img_user_1.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/images/img_user_2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /assets/images/img_user_24x24.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /assets/images/img_vector2524.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /ios/.gitignore: -------------------------------------------------------------------------------- 1 | *.mode1v3 2 | *.mode2v3 3 | *.moved-aside 4 | *.pbxuser 5 | *.perspectivev3 6 | **/*sync/ 7 | .sconsign.dblite 8 | .tags* 9 | **/.vagrant/ 10 | **/DerivedData/ 11 | Icon? 12 | **/Pods/ 13 | **/.symlinks/ 14 | profile 15 | xcuserdata 16 | **/.generated/ 17 | Flutter/App.framework 18 | Flutter/Flutter.framework 19 | Flutter/Flutter.podspec 20 | Flutter/Generated.xcconfig 21 | Flutter/app.flx 22 | Flutter/app.zip 23 | Flutter/flutter_assets/ 24 | Flutter/flutter_export_environment.sh 25 | ServiceDefinitions.json 26 | Runner/GeneratedPluginRegistrant.* 27 | 28 | # Exceptions to above rules. 29 | !default.mode1v3 30 | !default.mode2v3 31 | !default.pbxuser 32 | !default.perspectivev3 33 | -------------------------------------------------------------------------------- /ios/Flutter/AppFrameworkInfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | App 9 | CFBundleIdentifier 10 | io.flutter.flutter.app 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | App 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | MinimumOSVersion 24 | 9.0 25 | 26 | 27 | -------------------------------------------------------------------------------- /ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 43 | 44 | 54 | 56 | 62 | 63 | 64 | 65 | 66 | 67 | 73 | 75 | 81 | 82 | 83 | 84 | 86 | 87 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | 4 | @UIApplicationMain 5 | @objc class AppDelegate: FlutterAppDelegate { 6 | override func application( 7 | _ application: UIApplication, 8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 9 | ) -> Bool { 10 | GeneratedPluginRegistrant.register(with: self) 11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "size" : "20x20", 5 | "idiom" : "iphone", 6 | "filename" : "Icon-App-20x20@1x.png", 7 | "scale" : "1x" 8 | }, 9 | { 10 | "size" : "40x40", 11 | "idiom" : "iphone", 12 | "filename" : "Icon-App-20x20@2x.png", 13 | "scale" : "2x" 14 | }, 15 | { 16 | "size" : "60x60", 17 | "idiom" : "iphone", 18 | "filename" : "Icon-App-20x20@3x.png", 19 | "scale" : "3x" 20 | }, 21 | { 22 | "size" : "29x29", 23 | "idiom" : "iphone", 24 | "filename" : "Icon-App-29x29@1x.png", 25 | "scale" : "1x" 26 | }, 27 | { 28 | "size" : "58x58", 29 | "idiom" : "iphone", 30 | "filename" : "Icon-App-29x29@2x.png", 31 | "scale" : "2x" 32 | }, 33 | { 34 | "size" : "87x87", 35 | "idiom" : "iphone", 36 | "filename" : "Icon-App-29x29@3x.png", 37 | "scale" : "3x" 38 | }, 39 | { 40 | "size" : "40x40", 41 | "idiom" : "iphone", 42 | "filename" : "Icon-App-40x40@1x.png", 43 | "scale" : "1x" 44 | }, 45 | { 46 | "size" : "80x80", 47 | "idiom" : "iphone", 48 | "filename" : "Icon-App-40x40@2x.png", 49 | "scale" : "2x" 50 | }, 51 | { 52 | "size" : "120x120", 53 | "idiom" : "iphone", 54 | "filename" : "Icon-App-40x40@3x.png", 55 | "scale" : "3x" 56 | }, 57 | { 58 | "size" : "60x60", 59 | "idiom" : "iphone", 60 | "filename" : "", 61 | "scale" : "2x" 62 | }, 63 | { 64 | "size" : "60x60", 65 | "idiom" : "iphone", 66 | "filename" : "", 67 | "scale" : "3x" 68 | }, 69 | { 70 | "size" : "76x76", 71 | "idiom" : "ipad", 72 | "filename" : "Icon-App-76x76@1x.png", 73 | "scale" : "1x" 74 | }, 75 | { 76 | "size" : "152x152", 77 | "idiom" : "ipad", 78 | "filename" : "Icon-App-76x76@2x.png", 79 | "scale" : "2x" 80 | }, 81 | { 82 | "size" : "167x167", 83 | "idiom" : "ipad", 84 | "filename" : "Icon-App-83.5x83.5@2x.png", 85 | "scale" : "2x" 86 | }, 87 | { 88 | "size" : "1024x1024", 89 | "idiom" : "ipad", 90 | "filename" : "Icon-App-1024x1024@1x.png", 91 | "scale" : "1x" 92 | } 93 | ], 94 | "info" : { 95 | "version" : 1, 96 | "author" : "ios_icon_set" 97 | } 98 | } 99 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/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/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/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/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/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/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/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/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/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/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/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/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/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/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/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/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/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/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/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/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/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/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/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/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchImage.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchImage@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchImage@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. -------------------------------------------------------------------------------- /ios/Runner/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /ios/Runner/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /ios/Runner/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | travelappflutter 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | $(FLUTTER_BUILD_NAME) 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | $(FLUTTER_BUILD_NUMBER) 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIMainStoryboardFile 28 | Main 29 | UISupportedInterfaceOrientations 30 | 31 | UIInterfaceOrientationPortrait 32 | UIInterfaceOrientationLandscapeLeft 33 | UIInterfaceOrientationLandscapeRight 34 | 35 | UISupportedInterfaceOrientations~ipad 36 | 37 | UIInterfaceOrientationPortrait 38 | UIInterfaceOrientationPortraitUpsideDown 39 | UIInterfaceOrientationLandscapeLeft 40 | UIInterfaceOrientationLandscapeRight 41 | 42 | UIViewControllerBasedStatusBarAppearance 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /lib/core/app_export.dart: -------------------------------------------------------------------------------- 1 | export 'package:get/get.dart'; 2 | export 'package:travelappflutter/localization/app_localization.dart'; 3 | export 'package:travelappflutter/core/constants/constants.dart'; 4 | export 'package:travelappflutter/core/utils/image_constant.dart'; 5 | export 'package:travelappflutter/core/utils/color_constant.dart'; 6 | export 'package:travelappflutter/core/utils/size_utils.dart'; 7 | export 'package:travelappflutter/core/utils/pref_utils.dart'; 8 | export 'package:travelappflutter/core/utils/initial_bindings.dart'; 9 | export 'package:travelappflutter/theme/app_style.dart'; 10 | export 'package:travelappflutter/theme/app_decoration.dart'; 11 | export 'package:connectivity_plus/connectivity_plus.dart'; 12 | export 'package:travelappflutter/routes/app_routes.dart'; 13 | export 'package:travelappflutter/data/models/selectionPopupModel/selection_popup_model.dart'; 14 | export 'package:travelappflutter/widgets/common_image_view.dart'; 15 | export 'package:travelappflutter/core/errors/exceptions.dart'; 16 | export 'package:travelappflutter/core/network/network_info.dart'; 17 | export 'package:travelappflutter/core/utils/logger.dart'; 18 | export 'package:travelappflutter/core/utils/date_time_utils.dart'; 19 | -------------------------------------------------------------------------------- /lib/core/constants/constants.dart: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /lib/core/errors/exceptions.dart: -------------------------------------------------------------------------------- 1 | class ServerException implements Exception {} 2 | 3 | class CacheException implements Exception {} 4 | 5 | class NetworkException implements Exception {} 6 | 7 | ///can be used for throwing [NoInternetException] 8 | class NoInternetException implements Exception { 9 | late String _message; 10 | 11 | NoInternetException([String message = 'NoInternetException Occurred']) { 12 | this._message = message; 13 | } 14 | 15 | @override 16 | String toString() { 17 | return _message; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /lib/core/errors/failures.dart: -------------------------------------------------------------------------------- 1 | abstract class Failure {} 2 | 3 | // General failures 4 | class ServerFailure extends Failure {} 5 | 6 | class CacheFailure extends Failure {} 7 | 8 | class NetworkFailure extends Failure {} 9 | -------------------------------------------------------------------------------- /lib/core/network/network_info.dart: -------------------------------------------------------------------------------- 1 | import 'package:connectivity_plus/connectivity_plus.dart'; 2 | 3 | // For checking internet connectivity 4 | abstract class NetworkInfoI { 5 | Future isConnected(); 6 | 7 | Future get connectivityResult; 8 | 9 | Stream get onConnectivityChanged; 10 | } 11 | 12 | class NetworkInfo implements NetworkInfoI { 13 | Connectivity connectivity; 14 | 15 | NetworkInfo(this.connectivity) { 16 | connectivity = this.connectivity; 17 | } 18 | 19 | ///checks internet is connected or not 20 | ///returns [true] if internet is connected 21 | ///else it will return [false] 22 | @override 23 | Future isConnected() async { 24 | final result = await connectivity.checkConnectivity(); 25 | if (result != ConnectivityResult.none) { 26 | return true; 27 | } 28 | return false; 29 | } 30 | 31 | // to check type of internet connectivity 32 | @override 33 | Future get connectivityResult async { 34 | return connectivity.checkConnectivity(); 35 | } 36 | 37 | //check the type on internet connection on changed of internet connection 38 | @override 39 | Stream get onConnectivityChanged => 40 | connectivity.onConnectivityChanged; 41 | } 42 | -------------------------------------------------------------------------------- /lib/core/utils/color_constant.dart: -------------------------------------------------------------------------------- 1 | import 'dart:ui'; 2 | import 'package:flutter/material.dart'; 3 | 4 | class ColorConstant { 5 | static Color deepOrangeA200 = fromHex('#ff7029'); 6 | 7 | static Color whiteA7007e = fromHex('#7effffff'); 8 | 9 | static Color blueA400 = fromHex('#0d6efd'); 10 | 11 | static Color whiteA70090 = fromHex('#90ffffff'); 12 | 13 | static Color gray60019 = fromHex('#197b7373'); 14 | 15 | static Color gray9006c = fromHex('#6c1b1e28'); 16 | 17 | static Color green800 = fromHex('#19b000'); 18 | 19 | static Color yellow600 = fromHex('#ffd336'); 20 | 21 | static Color black900 = fromHex('#000000'); 22 | 23 | static Color redA400 = fromHex('#fe2352'); 24 | 25 | static Color bluegray2001e = fromHex('#1eb3bcc8'); 26 | 27 | static Color bluegray4006c = fromHex('#6c7c838d'); 28 | 29 | static Color gray600 = fromHex('#707b81'); 30 | 31 | static Color gray90068 = fromHex('#681b1e28'); 32 | 33 | static Color whiteA7006c = fromHex('#6cffffff'); 34 | 35 | static Color gray900 = fromHex('#1b1e28'); 36 | 37 | static Color bluegray100 = fromHex('#d0d9e6'); 38 | 39 | static Color bluegray20023 = fromHex('#23b3bcc8'); 40 | 41 | static Color gray800Ab = fromHex('#ab3d3d3d'); 42 | 43 | static Color blue50 = fromHex('#e5f4ff'); 44 | 45 | static Color gray100 = fromHex('#f6f6f8'); 46 | 47 | static Color bluegray20028 = fromHex('#28b3bcc8'); 48 | 49 | static Color bluegray900 = fromHex('#2d323d'); 50 | 51 | static Color bluegray401 = fromHex('#888888'); 52 | 53 | static Color bluegray400 = fromHex('#7c838d'); 54 | 55 | static Color blue100 = fromHex('#cae9ff'); 56 | 57 | static Color bluegray2001e1 = fromHex('#1ebdc5d3'); 58 | 59 | static Color whiteA700 = fromHex('#ffffff'); 60 | 61 | static Color blueA4002b = fromHex('#2b0d6efd'); 62 | 63 | static Color fromHex(String hexString) { 64 | final buffer = StringBuffer(); 65 | if (hexString.length == 6 || hexString.length == 7) buffer.write('ff'); 66 | buffer.write(hexString.replaceFirst('#', '')); 67 | return Color(int.parse(buffer.toString(), radix: 16)); 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /lib/core/utils/date_time_utils.dart: -------------------------------------------------------------------------------- 1 | import 'package:intl/date_symbol_data_local.dart'; 2 | import 'package:intl/intl.dart'; 3 | 4 | const String DD_MM_YYYY = 'dd/MM/yyyy'; 5 | const String FULL_DATE_FORMAT = 'dd MMMM yyyy'; 6 | 7 | extension DateTimeExtension on DateTime { 8 | String format([String pattern = DD_MM_YYYY, String? locale]) { 9 | if (locale != null && locale.isNotEmpty) { 10 | initializeDateFormatting(locale); 11 | } 12 | return DateFormat(pattern, locale).format(this); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /lib/core/utils/initial_bindings.dart: -------------------------------------------------------------------------------- 1 | import 'package:travelappflutter/core/app_export.dart'; 2 | import 'package:travelappflutter/data/apiClient/api_client.dart'; 3 | 4 | class InitialBindings extends Bindings { 5 | @override 6 | void dependencies() { 7 | Get.put(PrefUtils()); 8 | Get.put(ApiClient()); 9 | Connectivity connectivity = Connectivity(); 10 | Get.put(NetworkInfo(connectivity)); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /lib/core/utils/logger.dart: -------------------------------------------------------------------------------- 1 | class Logger { 2 | static LogMode _logMode = LogMode.debug; 3 | 4 | static void init(LogMode mode) { 5 | Logger._logMode = mode; 6 | } 7 | 8 | static void log(dynamic data, {StackTrace? stackTrace}) { 9 | if (_logMode == LogMode.debug) { 10 | print("Error: $data$stackTrace"); 11 | } 12 | } 13 | } 14 | 15 | enum LogMode { debug, live } 16 | -------------------------------------------------------------------------------- /lib/core/utils/pref_utils.dart: -------------------------------------------------------------------------------- 1 | //ignore: unused_import 2 | import 'dart:convert'; 3 | import 'package:shared_preferences/shared_preferences.dart'; 4 | 5 | class PrefUtils { 6 | static SharedPreferences? _sharedPreferences; 7 | 8 | PrefUtils() { 9 | SharedPreferences.getInstance().then((value) { 10 | _sharedPreferences = value; 11 | }); 12 | } 13 | 14 | Future init() async { 15 | _sharedPreferences ??= await SharedPreferences.getInstance(); 16 | print('SharedPreference Initialized'); 17 | } 18 | 19 | ///will clear all the data stored in preference 20 | void clearPreferencesData() async { 21 | _sharedPreferences!.clear(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /lib/core/utils/progress_dialog_utils.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:get/get.dart'; 3 | 4 | class ProgressDialogUtils { 5 | static bool isProgressVisible = false; 6 | 7 | ///common method for showing progress dialog 8 | static void showProgressDialog({isCancellable = false}) async { 9 | if (!isProgressVisible) { 10 | Get.dialog( 11 | Center( 12 | child: CircularProgressIndicator.adaptive( 13 | strokeWidth: 4, 14 | valueColor: AlwaysStoppedAnimation( 15 | Colors.white, 16 | ), 17 | ), 18 | ), 19 | barrierDismissible: isCancellable, 20 | ); 21 | isProgressVisible = true; 22 | } 23 | } 24 | 25 | ///common method for hiding progress dialog 26 | static void hideProgressDialog() { 27 | if (isProgressVisible) Get.back(); 28 | isProgressVisible = false; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /lib/core/utils/size_utils.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | Size size = WidgetsBinding.instance.window.physicalSize / 4 | WidgetsBinding.instance.window.devicePixelRatio; 5 | const num DESIGN_WIDTH = 375; 6 | const num DESIGN_HEIGHT = 812; 7 | const num DESIGN_STATUS_BAR = 48; 8 | 9 | ///This method is used to get device viewport width. 10 | get width { 11 | return size.width; 12 | } 13 | 14 | ///This method is used to get device viewport height. 15 | get height { 16 | num statusBar = 17 | MediaQueryData.fromWindow(WidgetsBinding.instance.window).viewPadding.top; 18 | num screenHeight = size.height - statusBar; 19 | return screenHeight; 20 | } 21 | 22 | ///This method is used to set padding/margin (for the left and Right side) & width of the screen or widget according to the Viewport width. 23 | double getHorizontalSize(double px) { 24 | return (px * width) / DESIGN_WIDTH; 25 | } 26 | 27 | ///This method is used to set padding/margin (for the top and bottom side) & height of the screen or widget according to the Viewport height. 28 | double getVerticalSize(double px) { 29 | return (px * height) / (DESIGN_HEIGHT - DESIGN_STATUS_BAR); 30 | } 31 | 32 | ///This method is used to set smallest px in image height and width 33 | double getSize(double px) { 34 | var height = getVerticalSize(px); 35 | var width = getHorizontalSize(px); 36 | if (height < width) { 37 | return height.toInt().toDouble(); 38 | } else { 39 | return width.toInt().toDouble(); 40 | } 41 | } 42 | 43 | ///This method is used to set text font size according to Viewport 44 | double getFontSize(double px) { 45 | return getSize(px); 46 | } 47 | 48 | ///This method is used to set padding responsively 49 | EdgeInsetsGeometry getPadding({ 50 | double? all, 51 | double? left, 52 | double? top, 53 | double? right, 54 | double? bottom, 55 | }) { 56 | return getMarginOrPadding( 57 | all: all, 58 | left: left, 59 | top: top, 60 | right: right, 61 | bottom: bottom, 62 | ); 63 | } 64 | 65 | ///This method is used to set margin responsively 66 | EdgeInsetsGeometry getMargin({ 67 | double? all, 68 | double? left, 69 | double? top, 70 | double? right, 71 | double? bottom, 72 | }) { 73 | return getMarginOrPadding( 74 | all: all, 75 | left: left, 76 | top: top, 77 | right: right, 78 | bottom: bottom, 79 | ); 80 | } 81 | 82 | ///This method is used to get padding or margin responsively 83 | EdgeInsetsGeometry getMarginOrPadding({ 84 | double? all, 85 | double? left, 86 | double? top, 87 | double? right, 88 | double? bottom, 89 | }) { 90 | if (all != null) { 91 | left = all; 92 | top = all; 93 | right = all; 94 | bottom = all; 95 | } 96 | return EdgeInsets.only( 97 | left: getHorizontalSize( 98 | left ?? 0, 99 | ), 100 | top: getVerticalSize( 101 | top ?? 0, 102 | ), 103 | right: getHorizontalSize( 104 | right ?? 0, 105 | ), 106 | bottom: getVerticalSize( 107 | bottom ?? 0, 108 | ), 109 | ); 110 | } 111 | -------------------------------------------------------------------------------- /lib/core/utils/validation_functions.dart: -------------------------------------------------------------------------------- 1 | /// Checks if string is email. 2 | bool isValidEmail(String? inputString, {bool isRequired = false}) { 3 | bool isInputStringValid = false; 4 | 5 | if ((inputString == null ? true : inputString.isEmpty) && !isRequired) { 6 | isInputStringValid = true; 7 | } 8 | 9 | if (inputString != null) { 10 | const pattern = 11 | r'^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$'; 12 | 13 | final regExp = RegExp(pattern); 14 | 15 | isInputStringValid = regExp.hasMatch(inputString); 16 | } 17 | 18 | return isInputStringValid; 19 | } 20 | -------------------------------------------------------------------------------- /lib/data/apiClient/api_client.dart: -------------------------------------------------------------------------------- 1 | import 'package:travelappflutter/core/app_export.dart'; 2 | 3 | class ApiClient extends GetConnect {} 4 | -------------------------------------------------------------------------------- /lib/data/models/selectionPopupModel/selection_popup_model.dart: -------------------------------------------------------------------------------- 1 | ///SelectionPopupModel is common model 2 | ///used for setting data into dropdowns 3 | class SelectionPopupModel { 4 | int? id; 5 | String title; 6 | dynamic value; 7 | bool isSelected; 8 | 9 | SelectionPopupModel({ 10 | this.id, 11 | required this.title, 12 | this.value, 13 | this.isSelected = false, 14 | }); 15 | } 16 | -------------------------------------------------------------------------------- /lib/localization/app_localization.dart: -------------------------------------------------------------------------------- 1 | import 'package:get/get.dart'; 2 | import 'en_us/en_us_translations.dart'; 3 | 4 | class AppLocalization extends Translations { 5 | @override 6 | Map> get keys => {'en_US': enUs}; 7 | } 8 | -------------------------------------------------------------------------------- /lib/main.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/foundation.dart'; 2 | import 'package:flutter/material.dart'; 3 | import 'package:flutter/services.dart'; 4 | 5 | import 'core/app_export.dart'; 6 | 7 | void main() { 8 | WidgetsFlutterBinding.ensureInitialized(); 9 | SystemChrome.setPreferredOrientations([ 10 | DeviceOrientation.portraitUp, 11 | ]).then((value) { 12 | Logger.init(kReleaseMode ? LogMode.live : LogMode.debug); 13 | runApp(MyApp()); 14 | }); 15 | } 16 | 17 | class MyApp extends StatelessWidget { 18 | // This widget is the root of your application. 19 | @override 20 | Widget build(BuildContext context) { 21 | return GetMaterialApp( 22 | debugShowCheckedModeBanner: false, 23 | translations: AppLocalization(), 24 | locale: Get.deviceLocale, //for setting localization strings 25 | fallbackLocale: Locale('en', 'US'), 26 | title: 'travelappflutter', 27 | initialBinding: InitialBindings(), 28 | initialRoute: AppRoutes.initialRoute, 29 | getPages: AppRoutes.pages, 30 | ); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /lib/presentation/all_popular_trip_package_screen/all_popular_trip_package_screen.dart: -------------------------------------------------------------------------------- 1 | import '../all_popular_trip_package_screen/widgets/listrectangle843_item_widget.dart'; 2 | import 'controller/all_popular_trip_package_controller.dart'; 3 | import 'models/listrectangle843_item_model.dart'; 4 | import 'package:flutter/material.dart'; 5 | import 'package:travelappflutter/core/app_export.dart'; 6 | import 'package:travelappflutter/widgets/app_bar/appbar_iconbutton.dart'; 7 | import 'package:travelappflutter/widgets/app_bar/appbar_title.dart'; 8 | import 'package:travelappflutter/widgets/app_bar/custom_app_bar.dart'; 9 | 10 | class AllPopularTripPackageScreen 11 | extends GetWidget { 12 | @override 13 | Widget build(BuildContext context) { 14 | return SafeArea( 15 | child: Scaffold( 16 | backgroundColor: ColorConstant.whiteA700, 17 | appBar: CustomAppBar( 18 | height: getVerticalSize(56.00), 19 | leadingWidth: 64, 20 | leading: AppbarIconbutton( 21 | svgPath: ImageConstant.imgArrowleft, 22 | margin: getMargin(left: 20, top: 6, bottom: 6), 23 | onTap: onTapArrowleft5), 24 | centerTitle: true, 25 | title: AppbarTitle(text: "lbl_popular_package".tr)), 26 | body: Container( 27 | width: size.width, 28 | child: SingleChildScrollView( 29 | child: Column( 30 | mainAxisSize: MainAxisSize.min, 31 | crossAxisAlignment: CrossAxisAlignment.center, 32 | mainAxisAlignment: MainAxisAlignment.center, 33 | children: [ 34 | Align( 35 | alignment: Alignment.centerLeft, 36 | child: Padding( 37 | padding: getPadding(left: 20, top: 29, right: 20), 38 | child: Text("msg_all_popular_tri".tr, 39 | overflow: TextOverflow.ellipsis, 40 | textAlign: TextAlign.left, 41 | style: AppStyle.txtSFUIDisplaySemibold20 42 | .copyWith(height: 1.00)))), 43 | Padding( 44 | padding: getPadding( 45 | left: 20, top: 16, right: 20, bottom: 30), 46 | child: Obx(() => ListView.builder( 47 | physics: BouncingScrollPhysics(), 48 | shrinkWrap: true, 49 | itemCount: controller 50 | .allPopularTripPackageModelObj 51 | .value 52 | .listrectangle843ItemList 53 | .length, 54 | itemBuilder: (context, index) { 55 | Listrectangle843ItemModel model = controller 56 | .allPopularTripPackageModelObj 57 | .value 58 | .listrectangle843ItemList[index]; 59 | return Listrectangle843ItemWidget(model); 60 | }))) 61 | ]))))); 62 | } 63 | 64 | onTapArrowleft5() { 65 | Get.back(); 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /lib/presentation/all_popular_trip_package_screen/binding/all_popular_trip_package_binding.dart: -------------------------------------------------------------------------------- 1 | import '../controller/all_popular_trip_package_controller.dart'; 2 | import 'package:get/get.dart'; 3 | 4 | class AllPopularTripPackageBinding extends Bindings { 5 | @override 6 | void dependencies() { 7 | Get.lazyPut(() => AllPopularTripPackageController()); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /lib/presentation/all_popular_trip_package_screen/controller/all_popular_trip_package_controller.dart: -------------------------------------------------------------------------------- 1 | import '/core/app_export.dart'; 2 | import 'package:travelappflutter/presentation/all_popular_trip_package_screen/models/all_popular_trip_package_model.dart'; 3 | 4 | class AllPopularTripPackageController extends GetxController { 5 | Rx allPopularTripPackageModelObj = 6 | AllPopularTripPackageModel().obs; 7 | 8 | @override 9 | void onReady() { 10 | super.onReady(); 11 | } 12 | 13 | @override 14 | void onClose() { 15 | super.onClose(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /lib/presentation/all_popular_trip_package_screen/models/all_popular_trip_package_model.dart: -------------------------------------------------------------------------------- 1 | import 'package:get/get.dart'; 2 | import 'listrectangle843_item_model.dart'; 3 | 4 | class AllPopularTripPackageModel { 5 | RxList listrectangle843ItemList = 6 | RxList.filled(4, Listrectangle843ItemModel()); 7 | } 8 | -------------------------------------------------------------------------------- /lib/presentation/all_popular_trip_package_screen/models/listrectangle843_item_model.dart: -------------------------------------------------------------------------------- 1 | class Listrectangle843ItemModel {} 2 | -------------------------------------------------------------------------------- /lib/presentation/app_navigation_screen/binding/app_navigation_binding.dart: -------------------------------------------------------------------------------- 1 | import '../controller/app_navigation_controller.dart'; 2 | import 'package:get/get.dart'; 3 | 4 | class AppNavigationBinding extends Bindings { 5 | @override 6 | void dependencies() { 7 | Get.lazyPut(() => AppNavigationController()); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /lib/presentation/app_navigation_screen/controller/app_navigation_controller.dart: -------------------------------------------------------------------------------- 1 | import '/core/app_export.dart'; 2 | import 'package:travelappflutter/presentation/app_navigation_screen/models/app_navigation_model.dart'; 3 | 4 | class AppNavigationController extends GetxController { 5 | Rx appNavigationModelObj = AppNavigationModel().obs; 6 | 7 | @override 8 | void onReady() { 9 | super.onReady(); 10 | } 11 | 12 | @override 13 | void onClose() { 14 | super.onClose(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lib/presentation/app_navigation_screen/models/app_navigation_model.dart: -------------------------------------------------------------------------------- 1 | class AppNavigationModel {} 2 | -------------------------------------------------------------------------------- /lib/presentation/chats_screen/binding/chats_binding.dart: -------------------------------------------------------------------------------- 1 | import '../controller/chats_controller.dart'; 2 | import 'package:get/get.dart'; 3 | 4 | class ChatsBinding extends Bindings { 5 | @override 6 | void dependencies() { 7 | Get.lazyPut(() => ChatsController()); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /lib/presentation/chats_screen/controller/chats_controller.dart: -------------------------------------------------------------------------------- 1 | import '/core/app_export.dart'; 2 | import 'package:travelappflutter/presentation/chats_screen/models/chats_model.dart'; 3 | 4 | class ChatsController extends GetxController { 5 | Rx chatsModelObj = ChatsModel().obs; 6 | 7 | @override 8 | void onReady() { 9 | super.onReady(); 10 | } 11 | 12 | @override 13 | void onClose() { 14 | super.onClose(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lib/presentation/chats_screen/models/chats_model.dart: -------------------------------------------------------------------------------- 1 | class ChatsModel {} 2 | -------------------------------------------------------------------------------- /lib/presentation/details_screen/binding/details_binding.dart: -------------------------------------------------------------------------------- 1 | import '../controller/details_controller.dart'; 2 | import 'package:get/get.dart'; 3 | 4 | class DetailsBinding extends Bindings { 5 | @override 6 | void dependencies() { 7 | Get.lazyPut(() => DetailsController()); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /lib/presentation/details_screen/controller/details_controller.dart: -------------------------------------------------------------------------------- 1 | import '/core/app_export.dart'; 2 | import 'package:travelappflutter/presentation/details_screen/models/details_model.dart'; 3 | 4 | class DetailsController extends GetxController { 5 | Rx detailsModelObj = DetailsModel().obs; 6 | 7 | @override 8 | void onReady() { 9 | super.onReady(); 10 | } 11 | 12 | @override 13 | void onClose() { 14 | super.onClose(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lib/presentation/details_screen/models/details_model.dart: -------------------------------------------------------------------------------- 1 | class DetailsModel {} 2 | -------------------------------------------------------------------------------- /lib/presentation/edit_profile_screen/binding/edit_profile_binding.dart: -------------------------------------------------------------------------------- 1 | import '../controller/edit_profile_controller.dart'; 2 | import 'package:get/get.dart'; 3 | 4 | class EditProfileBinding extends Bindings { 5 | @override 6 | void dependencies() { 7 | Get.lazyPut(() => EditProfileController()); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /lib/presentation/edit_profile_screen/controller/edit_profile_controller.dart: -------------------------------------------------------------------------------- 1 | import '/core/app_export.dart'; 2 | import 'package:travelappflutter/presentation/edit_profile_screen/models/edit_profile_model.dart'; 3 | import 'package:flutter/material.dart'; 4 | 5 | class EditProfileController extends GetxController { 6 | TextEditingController languageController = TextEditingController(); 7 | 8 | TextEditingController languageOneController = TextEditingController(); 9 | 10 | TextEditingController group249Controller = TextEditingController(); 11 | 12 | Rx editProfileModelObj = EditProfileModel().obs; 13 | 14 | @override 15 | void onReady() { 16 | super.onReady(); 17 | } 18 | 19 | @override 20 | void onClose() { 21 | super.onClose(); 22 | languageController.dispose(); 23 | languageOneController.dispose(); 24 | group249Controller.dispose(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /lib/presentation/edit_profile_screen/models/edit_profile_model.dart: -------------------------------------------------------------------------------- 1 | class EditProfileModel {} 2 | -------------------------------------------------------------------------------- /lib/presentation/favorite_places_screen/binding/favorite_places_binding.dart: -------------------------------------------------------------------------------- 1 | import '../controller/favorite_places_controller.dart'; 2 | import 'package:get/get.dart'; 3 | 4 | class FavoritePlacesBinding extends Bindings { 5 | @override 6 | void dependencies() { 7 | Get.lazyPut(() => FavoritePlacesController()); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /lib/presentation/favorite_places_screen/controller/favorite_places_controller.dart: -------------------------------------------------------------------------------- 1 | import '/core/app_export.dart'; 2 | import 'package:travelappflutter/presentation/favorite_places_screen/models/favorite_places_model.dart'; 3 | 4 | class FavoritePlacesController extends GetxController { 5 | Rx favoritePlacesModelObj = FavoritePlacesModel().obs; 6 | 7 | @override 8 | void onReady() { 9 | super.onReady(); 10 | } 11 | 12 | @override 13 | void onClose() { 14 | super.onClose(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lib/presentation/favorite_places_screen/favorite_places_screen.dart: -------------------------------------------------------------------------------- 1 | import '../favorite_places_screen/widgets/gridrectangle838_item_widget.dart'; 2 | import 'controller/favorite_places_controller.dart'; 3 | import 'models/gridrectangle838_item_model.dart'; 4 | import 'package:flutter/material.dart'; 5 | import 'package:travelappflutter/core/app_export.dart'; 6 | import 'package:travelappflutter/widgets/app_bar/appbar_iconbutton.dart'; 7 | import 'package:travelappflutter/widgets/app_bar/appbar_title.dart'; 8 | import 'package:travelappflutter/widgets/app_bar/custom_app_bar.dart'; 9 | 10 | class FavoritePlacesScreen extends GetWidget { 11 | @override 12 | Widget build(BuildContext context) { 13 | return SafeArea( 14 | child: Scaffold( 15 | backgroundColor: ColorConstant.whiteA700, 16 | appBar: CustomAppBar( 17 | height: getVerticalSize(56.00), 18 | leadingWidth: 64, 19 | leading: AppbarIconbutton( 20 | svgPath: ImageConstant.imgArrowleft, 21 | margin: getMargin(left: 20, top: 6, bottom: 6), 22 | onTap: onTapArrowleft6), 23 | centerTitle: true, 24 | title: AppbarTitle(text: "lbl_favorite_places".tr)), 25 | body: Container( 26 | width: size.width, 27 | child: SingleChildScrollView( 28 | child: Column( 29 | mainAxisSize: MainAxisSize.min, 30 | crossAxisAlignment: CrossAxisAlignment.center, 31 | mainAxisAlignment: MainAxisAlignment.end, 32 | children: [ 33 | Align( 34 | alignment: Alignment.centerLeft, 35 | child: Padding( 36 | padding: getPadding(left: 20, top: 27, right: 20), 37 | child: Text("lbl_favorite_places".tr, 38 | overflow: TextOverflow.ellipsis, 39 | textAlign: TextAlign.left, 40 | style: AppStyle.txtSFUIDisplaySemibold20 41 | .copyWith(height: 1.00)))), 42 | Padding( 43 | padding: getPadding( 44 | left: 20, top: 20, right: 19, bottom: 8), 45 | child: Obx(() => GridView.builder( 46 | shrinkWrap: true, 47 | gridDelegate: 48 | SliverGridDelegateWithFixedCrossAxisCount( 49 | mainAxisExtent: getVerticalSize(195.00), 50 | crossAxisCount: 2, 51 | mainAxisSpacing: getHorizontalSize(14.00), 52 | crossAxisSpacing: 53 | getHorizontalSize(14.00)), 54 | physics: BouncingScrollPhysics(), 55 | itemCount: controller.favoritePlacesModelObj.value 56 | .gridrectangle838ItemList.length, 57 | itemBuilder: (context, index) { 58 | Gridrectangle838ItemModel model = controller 59 | .favoritePlacesModelObj 60 | .value 61 | .gridrectangle838ItemList[index]; 62 | return Gridrectangle838ItemWidget(model); 63 | }))) 64 | ]))))); 65 | } 66 | 67 | onTapArrowleft6() { 68 | Get.back(); 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /lib/presentation/favorite_places_screen/models/favorite_places_model.dart: -------------------------------------------------------------------------------- 1 | import 'package:get/get.dart'; 2 | import 'gridrectangle838_item_model.dart'; 3 | 4 | class FavoritePlacesModel { 5 | RxList gridrectangle838ItemList = 6 | RxList.filled(6, Gridrectangle838ItemModel()); 7 | } 8 | -------------------------------------------------------------------------------- /lib/presentation/favorite_places_screen/models/gridrectangle838_item_model.dart: -------------------------------------------------------------------------------- 1 | class Gridrectangle838ItemModel {} 2 | -------------------------------------------------------------------------------- /lib/presentation/forgot_password_screen/binding/forgot_password_binding.dart: -------------------------------------------------------------------------------- 1 | import '../controller/forgot_password_controller.dart'; 2 | import 'package:get/get.dart'; 3 | 4 | class ForgotPasswordBinding extends Bindings { 5 | @override 6 | void dependencies() { 7 | Get.lazyPut(() => ForgotPasswordController()); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /lib/presentation/forgot_password_screen/controller/forgot_password_controller.dart: -------------------------------------------------------------------------------- 1 | import '/core/app_export.dart'; 2 | import 'package:travelappflutter/presentation/forgot_password_screen/models/forgot_password_model.dart'; 3 | import 'package:flutter/material.dart'; 4 | 5 | class ForgotPasswordController extends GetxController { 6 | TextEditingController emailController = TextEditingController(); 7 | 8 | Rx forgotPasswordModelObj = ForgotPasswordModel().obs; 9 | 10 | @override 11 | void onReady() { 12 | super.onReady(); 13 | } 14 | 15 | @override 16 | void onClose() { 17 | super.onClose(); 18 | emailController.dispose(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /lib/presentation/forgot_password_screen/models/forgot_password_model.dart: -------------------------------------------------------------------------------- 1 | class ForgotPasswordModel {} 2 | -------------------------------------------------------------------------------- /lib/presentation/home_screen/binding/home_binding.dart: -------------------------------------------------------------------------------- 1 | import '../controller/home_controller.dart'; 2 | import 'package:get/get.dart'; 3 | 4 | class HomeBinding extends Bindings { 5 | @override 6 | void dependencies() { 7 | Get.lazyPut(() => HomeController()); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /lib/presentation/home_screen/controller/home_controller.dart: -------------------------------------------------------------------------------- 1 | import '/core/app_export.dart'; 2 | import 'package:travelappflutter/presentation/home_screen/models/home_model.dart'; 3 | 4 | class HomeController extends GetxController { 5 | Rx homeModelObj = HomeModel().obs; 6 | 7 | @override 8 | void onReady() { 9 | super.onReady(); 10 | } 11 | 12 | @override 13 | void onClose() { 14 | super.onClose(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lib/presentation/home_screen/models/home_item_model.dart: -------------------------------------------------------------------------------- 1 | class HomeItemModel {} 2 | -------------------------------------------------------------------------------- /lib/presentation/home_screen/models/home_model.dart: -------------------------------------------------------------------------------- 1 | import 'package:get/get.dart'; 2 | import 'home_item_model.dart'; 3 | 4 | class HomeModel { 5 | RxList homeItemList = RxList.filled(2, HomeItemModel()); 6 | } 7 | -------------------------------------------------------------------------------- /lib/presentation/messages_screen/binding/messages_binding.dart: -------------------------------------------------------------------------------- 1 | import '../controller/messages_controller.dart'; 2 | import 'package:get/get.dart'; 3 | 4 | class MessagesBinding extends Bindings { 5 | @override 6 | void dependencies() { 7 | Get.lazyPut(() => MessagesController()); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /lib/presentation/messages_screen/controller/messages_controller.dart: -------------------------------------------------------------------------------- 1 | import '/core/app_export.dart'; 2 | import 'package:travelappflutter/presentation/messages_screen/models/messages_model.dart'; 3 | import 'package:flutter/material.dart'; 4 | 5 | class MessagesController extends GetxController { 6 | TextEditingController searchButtonController = TextEditingController(); 7 | 8 | Rx messagesModelObj = MessagesModel().obs; 9 | 10 | @override 11 | void onReady() { 12 | super.onReady(); 13 | } 14 | 15 | @override 16 | void onClose() { 17 | super.onClose(); 18 | searchButtonController.dispose(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /lib/presentation/messages_screen/models/messages_item_model.dart: -------------------------------------------------------------------------------- 1 | class MessagesItemModel {} 2 | -------------------------------------------------------------------------------- /lib/presentation/messages_screen/models/messages_model.dart: -------------------------------------------------------------------------------- 1 | import 'package:get/get.dart'; 2 | import 'messages_item_model.dart'; 3 | 4 | class MessagesModel { 5 | RxList messagesItemList = 6 | RxList.filled(5, MessagesItemModel()); 7 | } 8 | -------------------------------------------------------------------------------- /lib/presentation/notification_screen/binding/notification_binding.dart: -------------------------------------------------------------------------------- 1 | import '../controller/notification_controller.dart'; 2 | import 'package:get/get.dart'; 3 | 4 | class NotificationBinding extends Bindings { 5 | @override 6 | void dependencies() { 7 | Get.lazyPut(() => NotificationController()); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /lib/presentation/notification_screen/controller/notification_controller.dart: -------------------------------------------------------------------------------- 1 | import '/core/app_export.dart'; 2 | import 'package:travelappflutter/presentation/notification_screen/models/notification_model.dart'; 3 | 4 | class NotificationController extends GetxController { 5 | Rx notificationModelObj = NotificationModel().obs; 6 | 7 | @override 8 | void onReady() { 9 | super.onReady(); 10 | } 11 | 12 | @override 13 | void onClose() { 14 | super.onClose(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lib/presentation/notification_screen/models/notification_item_model.dart: -------------------------------------------------------------------------------- 1 | class NotificationItemModel {} 2 | -------------------------------------------------------------------------------- /lib/presentation/notification_screen/models/notification_model.dart: -------------------------------------------------------------------------------- 1 | import 'package:get/get.dart'; 2 | import 'notification_item_model.dart'; 3 | 4 | class NotificationModel { 5 | RxList notificationItemList = 6 | RxList.filled(6, NotificationItemModel()); 7 | } 8 | -------------------------------------------------------------------------------- /lib/presentation/notification_screen/widgets/notification_item_widget.dart: -------------------------------------------------------------------------------- 1 | import '../controller/notification_controller.dart'; 2 | import '../models/notification_item_model.dart'; 3 | import 'package:flutter/material.dart'; 4 | import 'package:travelappflutter/core/app_export.dart'; 5 | 6 | // ignore: must_be_immutable 7 | class NotificationItemWidget extends StatelessWidget { 8 | NotificationItemWidget(this.notificationItemModelObj); 9 | 10 | NotificationItemModel notificationItemModelObj; 11 | 12 | var controller = Get.find(); 13 | 14 | @override 15 | Widget build(BuildContext context) { 16 | return Container( 17 | margin: getMargin( 18 | top: 8.0, 19 | bottom: 8.0, 20 | ), 21 | decoration: AppDecoration.fillBlue50, 22 | child: Row( 23 | crossAxisAlignment: CrossAxisAlignment.center, 24 | mainAxisSize: MainAxisSize.max, 25 | children: [ 26 | Padding( 27 | padding: getPadding( 28 | left: 20, 29 | top: 14, 30 | bottom: 14, 31 | ), 32 | child: ClipRRect( 33 | borderRadius: BorderRadius.circular( 34 | getHorizontalSize( 35 | 24.00, 36 | ), 37 | ), 38 | child: CommonImageView( 39 | imagePath: ImageConstant.imgEllipse89748x48, 40 | height: getSize( 41 | 48.00, 42 | ), 43 | width: getSize( 44 | 48.00, 45 | ), 46 | fit: BoxFit.cover, 47 | ), 48 | ), 49 | ), 50 | Padding( 51 | padding: getPadding( 52 | left: 14, 53 | top: 14, 54 | bottom: 14, 55 | ), 56 | child: Column( 57 | mainAxisSize: MainAxisSize.min, 58 | crossAxisAlignment: CrossAxisAlignment.start, 59 | mainAxisAlignment: MainAxisAlignment.start, 60 | children: [ 61 | Padding( 62 | padding: getPadding( 63 | right: 10, 64 | ), 65 | child: Text( 66 | "lbl_super_offer".tr, 67 | overflow: TextOverflow.ellipsis, 68 | textAlign: TextAlign.left, 69 | style: AppStyle.txtSFUIDisplayMedium18.copyWith( 70 | letterSpacing: 0.50, 71 | height: 1.00, 72 | ), 73 | ), 74 | ), 75 | Padding( 76 | padding: getPadding( 77 | top: 8, 78 | ), 79 | child: Text( 80 | "msg_get_60_off_in".tr, 81 | overflow: TextOverflow.ellipsis, 82 | textAlign: TextAlign.left, 83 | style: AppStyle.txtSFUIDisplayRegular14Bluegray400.copyWith( 84 | letterSpacing: 0.30, 85 | height: 1.00, 86 | ), 87 | ), 88 | ), 89 | ], 90 | ), 91 | ), 92 | Padding( 93 | padding: getPadding( 94 | left: 9, 95 | top: 17, 96 | right: 20, 97 | bottom: 46, 98 | ), 99 | child: Text( 100 | "lbl_sun_12_40pm".tr, 101 | overflow: TextOverflow.ellipsis, 102 | textAlign: TextAlign.left, 103 | style: AppStyle.txtSFUIDisplayRegular11Bluegray400.copyWith( 104 | letterSpacing: 0.30, 105 | height: 1.00, 106 | ), 107 | ), 108 | ), 109 | ], 110 | ), 111 | ); 112 | } 113 | } 114 | -------------------------------------------------------------------------------- /lib/presentation/onboard_one_screen/binding/onboard_one_binding.dart: -------------------------------------------------------------------------------- 1 | import '../controller/onboard_one_controller.dart'; 2 | import 'package:get/get.dart'; 3 | 4 | class OnboardOneBinding extends Bindings { 5 | @override 6 | void dependencies() { 7 | Get.lazyPut(() => OnboardOneController()); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /lib/presentation/onboard_one_screen/controller/onboard_one_controller.dart: -------------------------------------------------------------------------------- 1 | import '/core/app_export.dart'; 2 | import 'package:travelappflutter/presentation/onboard_one_screen/models/onboard_one_model.dart'; 3 | 4 | class OnboardOneController extends GetxController { 5 | Rx onboardOneModelObj = OnboardOneModel().obs; 6 | 7 | @override 8 | void onReady() { 9 | super.onReady(); 10 | } 11 | 12 | @override 13 | void onClose() { 14 | super.onClose(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lib/presentation/onboard_one_screen/models/onboard_one_model.dart: -------------------------------------------------------------------------------- 1 | class OnboardOneModel {} 2 | -------------------------------------------------------------------------------- /lib/presentation/onboard_three_screen/binding/onboard_three_binding.dart: -------------------------------------------------------------------------------- 1 | import '../controller/onboard_three_controller.dart'; 2 | import 'package:get/get.dart'; 3 | 4 | class OnboardThreeBinding extends Bindings { 5 | @override 6 | void dependencies() { 7 | Get.lazyPut(() => OnboardThreeController()); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /lib/presentation/onboard_three_screen/controller/onboard_three_controller.dart: -------------------------------------------------------------------------------- 1 | import '/core/app_export.dart'; 2 | import 'package:travelappflutter/presentation/onboard_three_screen/models/onboard_three_model.dart'; 3 | 4 | class OnboardThreeController extends GetxController { 5 | Rx onboardThreeModelObj = OnboardThreeModel().obs; 6 | 7 | @override 8 | void onReady() { 9 | super.onReady(); 10 | } 11 | 12 | @override 13 | void onClose() { 14 | super.onClose(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lib/presentation/onboard_three_screen/models/onboard_three_model.dart: -------------------------------------------------------------------------------- 1 | class OnboardThreeModel {} 2 | -------------------------------------------------------------------------------- /lib/presentation/onboard_two_screen/binding/onboard_two_binding.dart: -------------------------------------------------------------------------------- 1 | import '../controller/onboard_two_controller.dart'; 2 | import 'package:get/get.dart'; 3 | 4 | class OnboardTwoBinding extends Bindings { 5 | @override 6 | void dependencies() { 7 | Get.lazyPut(() => OnboardTwoController()); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /lib/presentation/onboard_two_screen/controller/onboard_two_controller.dart: -------------------------------------------------------------------------------- 1 | import '/core/app_export.dart'; 2 | import 'package:travelappflutter/presentation/onboard_two_screen/models/onboard_two_model.dart'; 3 | 4 | class OnboardTwoController extends GetxController { 5 | Rx onboardTwoModelObj = OnboardTwoModel().obs; 6 | 7 | @override 8 | void onReady() { 9 | super.onReady(); 10 | } 11 | 12 | @override 13 | void onClose() { 14 | super.onClose(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lib/presentation/onboard_two_screen/models/onboard_two_model.dart: -------------------------------------------------------------------------------- 1 | class OnboardTwoModel {} 2 | -------------------------------------------------------------------------------- /lib/presentation/pop_up_dialog/controller/pop_up_controller.dart: -------------------------------------------------------------------------------- 1 | import '/core/app_export.dart'; 2 | import 'package:travelappflutter/presentation/pop_up_dialog/models/pop_up_model.dart'; 3 | 4 | class PopUpController extends GetxController { 5 | Rx popUpModelObj = PopUpModel().obs; 6 | 7 | @override 8 | void onReady() { 9 | super.onReady(); 10 | } 11 | 12 | @override 13 | void onClose() { 14 | super.onClose(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lib/presentation/pop_up_dialog/models/pop_up_model.dart: -------------------------------------------------------------------------------- 1 | class PopUpModel {} 2 | -------------------------------------------------------------------------------- /lib/presentation/pop_up_dialog/pop_up_dialog.dart: -------------------------------------------------------------------------------- 1 | import 'controller/pop_up_controller.dart'; 2 | import 'package:flutter/material.dart'; 3 | import 'package:travelappflutter/core/app_export.dart'; 4 | import 'package:travelappflutter/widgets/custom_icon_button.dart'; 5 | 6 | // ignore_for_file: must_be_immutable 7 | class PopUpDialog extends StatelessWidget { 8 | PopUpDialog(this.controller); 9 | 10 | PopUpController controller; 11 | 12 | @override 13 | Widget build(BuildContext context) { 14 | return Container( 15 | width: double.infinity, 16 | decoration: AppDecoration.fillWhiteA700.copyWith( 17 | borderRadius: BorderRadiusStyle.roundedBorder24, 18 | ), 19 | child: Column( 20 | mainAxisSize: MainAxisSize.min, 21 | crossAxisAlignment: CrossAxisAlignment.center, 22 | mainAxisAlignment: MainAxisAlignment.center, 23 | children: [ 24 | CustomIconButton( 25 | height: 44, 26 | width: 44, 27 | margin: getMargin( 28 | left: 50, 29 | top: 30, 30 | right: 50, 31 | ), 32 | variant: IconButtonVariant.FillBlueA400, 33 | child: CommonImageView( 34 | svgPath: ImageConstant.imgUser, 35 | ), 36 | ), 37 | Padding( 38 | padding: getPadding( 39 | left: 50, 40 | top: 20, 41 | right: 50, 42 | ), 43 | child: Text( 44 | "msg_check_your_emai".tr, 45 | overflow: TextOverflow.ellipsis, 46 | textAlign: TextAlign.left, 47 | style: AppStyle.txtSFUIDisplaySemibold18.copyWith( 48 | height: 1.00, 49 | ), 50 | ), 51 | ), 52 | Container( 53 | width: getHorizontalSize( 54 | 233.00, 55 | ), 56 | margin: getMargin( 57 | left: 50, 58 | top: 8, 59 | right: 50, 60 | bottom: 5, 61 | ), 62 | child: Text( 63 | "msg_we_have_send_pa".tr, 64 | maxLines: null, 65 | textAlign: TextAlign.center, 66 | style: AppStyle.txtSFUIDisplayRegular16.copyWith( 67 | height: 1.25, 68 | ), 69 | ), 70 | ), 71 | ], 72 | ), 73 | ); 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /lib/presentation/popular_places_screen/binding/popular_places_binding.dart: -------------------------------------------------------------------------------- 1 | import '../controller/popular_places_controller.dart'; 2 | import 'package:get/get.dart'; 3 | 4 | class PopularPlacesBinding extends Bindings { 5 | @override 6 | void dependencies() { 7 | Get.lazyPut(() => PopularPlacesController()); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /lib/presentation/popular_places_screen/controller/popular_places_controller.dart: -------------------------------------------------------------------------------- 1 | import '/core/app_export.dart'; 2 | import 'package:travelappflutter/presentation/popular_places_screen/models/popular_places_model.dart'; 3 | 4 | class PopularPlacesController extends GetxController { 5 | Rx popularPlacesModelObj = PopularPlacesModel().obs; 6 | 7 | @override 8 | void onReady() { 9 | super.onReady(); 10 | } 11 | 12 | @override 13 | void onClose() { 14 | super.onClose(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lib/presentation/popular_places_screen/models/popular_places_item_model.dart: -------------------------------------------------------------------------------- 1 | class PopularPlacesItemModel {} 2 | -------------------------------------------------------------------------------- /lib/presentation/popular_places_screen/models/popular_places_model.dart: -------------------------------------------------------------------------------- 1 | import 'package:get/get.dart'; 2 | import 'popular_places_item_model.dart'; 3 | 4 | class PopularPlacesModel { 5 | RxList popularPlacesItemList = 6 | RxList.filled(4, PopularPlacesItemModel()); 7 | } 8 | -------------------------------------------------------------------------------- /lib/presentation/popular_places_screen/popular_places_screen.dart: -------------------------------------------------------------------------------- 1 | import '../popular_places_screen/widgets/popular_places_item_widget.dart'; 2 | import 'controller/popular_places_controller.dart'; 3 | import 'models/popular_places_item_model.dart'; 4 | import 'package:flutter/material.dart'; 5 | import 'package:travelappflutter/core/app_export.dart'; 6 | import 'package:travelappflutter/widgets/app_bar/appbar_iconbutton.dart'; 7 | import 'package:travelappflutter/widgets/app_bar/appbar_title.dart'; 8 | import 'package:travelappflutter/widgets/app_bar/custom_app_bar.dart'; 9 | 10 | class PopularPlacesScreen extends GetWidget { 11 | @override 12 | Widget build(BuildContext context) { 13 | return SafeArea( 14 | child: Scaffold( 15 | backgroundColor: ColorConstant.whiteA700, 16 | appBar: CustomAppBar( 17 | height: getVerticalSize(56.00), 18 | leadingWidth: 64, 19 | leading: AppbarIconbutton( 20 | svgPath: ImageConstant.imgArrowleft, 21 | margin: getMargin(left: 20, top: 6, bottom: 6), 22 | onTap: onTapArrowleft3), 23 | centerTitle: true, 24 | title: AppbarTitle(text: "lbl_popular_places".tr)), 25 | body: Container( 26 | width: size.width, 27 | child: SingleChildScrollView( 28 | child: Column( 29 | mainAxisSize: MainAxisSize.min, 30 | crossAxisAlignment: CrossAxisAlignment.center, 31 | mainAxisAlignment: MainAxisAlignment.center, 32 | children: [ 33 | Align( 34 | alignment: Alignment.centerLeft, 35 | child: Padding( 36 | padding: getPadding(left: 20, top: 29, right: 20), 37 | child: Text("msg_all_popular_pla".tr, 38 | overflow: TextOverflow.ellipsis, 39 | textAlign: TextAlign.left, 40 | style: AppStyle.txtSFUIDisplaySemibold20 41 | .copyWith(height: 1.00)))), 42 | Padding( 43 | padding: getPadding(left: 20, top: 16, right: 19), 44 | child: Obx(() => GridView.builder( 45 | shrinkWrap: true, 46 | gridDelegate: 47 | SliverGridDelegateWithFixedCrossAxisCount( 48 | mainAxisExtent: getVerticalSize(239.00), 49 | crossAxisCount: 2, 50 | mainAxisSpacing: getHorizontalSize(14.00), 51 | crossAxisSpacing: 52 | getHorizontalSize(14.00)), 53 | physics: BouncingScrollPhysics(), 54 | itemCount: controller.popularPlacesModelObj.value 55 | .popularPlacesItemList.length, 56 | itemBuilder: (context, index) { 57 | PopularPlacesItemModel model = controller 58 | .popularPlacesModelObj 59 | .value 60 | .popularPlacesItemList[index]; 61 | return PopularPlacesItemWidget(model); 62 | }))) 63 | ]))))); 64 | } 65 | 66 | onTapArrowleft3() { 67 | Get.back(); 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /lib/presentation/profile_screen/binding/profile_binding.dart: -------------------------------------------------------------------------------- 1 | import '../controller/profile_controller.dart'; 2 | import 'package:get/get.dart'; 3 | 4 | class ProfileBinding extends Bindings { 5 | @override 6 | void dependencies() { 7 | Get.lazyPut(() => ProfileController()); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /lib/presentation/profile_screen/controller/profile_controller.dart: -------------------------------------------------------------------------------- 1 | import '/core/app_export.dart'; 2 | import 'package:travelappflutter/presentation/profile_screen/models/profile_model.dart'; 3 | 4 | class ProfileController extends GetxController { 5 | Rx profileModelObj = ProfileModel().obs; 6 | 7 | RxString radioGroup = "".obs; 8 | 9 | @override 10 | void onReady() { 11 | super.onReady(); 12 | } 13 | 14 | @override 15 | void onClose() { 16 | super.onClose(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /lib/presentation/profile_screen/models/profile_model.dart: -------------------------------------------------------------------------------- 1 | class ProfileModel {} 2 | -------------------------------------------------------------------------------- /lib/presentation/schedule_screen/binding/schedule_binding.dart: -------------------------------------------------------------------------------- 1 | import '../controller/schedule_controller.dart'; 2 | import 'package:get/get.dart'; 3 | 4 | class ScheduleBinding extends Bindings { 5 | @override 6 | void dependencies() { 7 | Get.lazyPut(() => ScheduleController()); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /lib/presentation/schedule_screen/controller/schedule_controller.dart: -------------------------------------------------------------------------------- 1 | import '/core/app_export.dart'; 2 | import 'package:travelappflutter/presentation/schedule_screen/models/schedule_model.dart'; 3 | 4 | class ScheduleController extends GetxController { 5 | Rx scheduleModelObj = ScheduleModel().obs; 6 | 7 | @override 8 | void onReady() { 9 | super.onReady(); 10 | } 11 | 12 | @override 13 | void onClose() { 14 | super.onClose(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lib/presentation/schedule_screen/models/schedule_model.dart: -------------------------------------------------------------------------------- 1 | import 'package:get/get.dart'; 2 | 3 | class ScheduleModel { 4 | DateTime selectedDateTxt = DateTime.now(); 5 | 6 | Rx dateTxt = Rx('Lorem ipsum dolor sit amet'); 7 | 8 | DateTime selectedDateOneTxt = DateTime.now(); 9 | 10 | Rx dateOneTxt = Rx('Lorem ipsum dolor sit amet'); 11 | 12 | DateTime selectedDateTwoTxt = DateTime.now(); 13 | 14 | Rx dateTwoTxt = Rx('Lorem ipsum dolor sit amet'); 15 | } 16 | -------------------------------------------------------------------------------- /lib/presentation/search_screen/binding/search_binding.dart: -------------------------------------------------------------------------------- 1 | import '../controller/search_controller.dart'; 2 | import 'package:get/get.dart'; 3 | 4 | class SearchBinding extends Bindings { 5 | @override 6 | void dependencies() { 7 | Get.lazyPut(() => SearchController()); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /lib/presentation/search_screen/controller/search_controller.dart: -------------------------------------------------------------------------------- 1 | import '/core/app_export.dart'; 2 | import 'package:travelappflutter/presentation/search_screen/models/search_model.dart'; 3 | 4 | class SearchController extends GetxController { 5 | Rx searchModelObj = SearchModel().obs; 6 | 7 | @override 8 | void onReady() { 9 | super.onReady(); 10 | } 11 | 12 | @override 13 | void onClose() { 14 | super.onClose(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lib/presentation/search_screen/models/search_item_model.dart: -------------------------------------------------------------------------------- 1 | class SearchItemModel {} 2 | -------------------------------------------------------------------------------- /lib/presentation/search_screen/models/search_model.dart: -------------------------------------------------------------------------------- 1 | import 'package:get/get.dart'; 2 | import 'search_item_model.dart'; 3 | 4 | class SearchModel { 5 | RxList searchItemList = RxList.filled(4, SearchItemModel()); 6 | } 7 | -------------------------------------------------------------------------------- /lib/presentation/sign_in_screen/binding/sign_in_binding.dart: -------------------------------------------------------------------------------- 1 | import '../controller/sign_in_controller.dart'; 2 | import 'package:get/get.dart'; 3 | 4 | class SignInBinding extends Bindings { 5 | @override 6 | void dependencies() { 7 | Get.lazyPut(() => SignInController()); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /lib/presentation/sign_in_screen/controller/sign_in_controller.dart: -------------------------------------------------------------------------------- 1 | import '/core/app_export.dart'; 2 | import 'package:travelappflutter/presentation/sign_in_screen/models/sign_in_model.dart'; 3 | import 'package:flutter/material.dart'; 4 | 5 | class SignInController extends GetxController { 6 | TextEditingController emailController = TextEditingController(); 7 | 8 | Rx signInModelObj = SignInModel().obs; 9 | 10 | @override 11 | void onReady() { 12 | super.onReady(); 13 | } 14 | 15 | @override 16 | void onClose() { 17 | super.onClose(); 18 | emailController.dispose(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /lib/presentation/sign_in_screen/models/sign_in_model.dart: -------------------------------------------------------------------------------- 1 | class SignInModel {} 2 | -------------------------------------------------------------------------------- /lib/presentation/sign_up_screen/binding/sign_up_binding.dart: -------------------------------------------------------------------------------- 1 | import '../controller/sign_up_controller.dart'; 2 | import 'package:get/get.dart'; 3 | 4 | class SignUpBinding extends Bindings { 5 | @override 6 | void dependencies() { 7 | Get.lazyPut(() => SignUpController()); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /lib/presentation/sign_up_screen/controller/sign_up_controller.dart: -------------------------------------------------------------------------------- 1 | import '/core/app_export.dart'; 2 | import 'package:travelappflutter/presentation/sign_up_screen/models/sign_up_model.dart'; 3 | import 'package:flutter/material.dart'; 4 | 5 | class SignUpController extends GetxController { 6 | TextEditingController groupFiftyOneController = TextEditingController(); 7 | 8 | TextEditingController emailController = TextEditingController(); 9 | 10 | Rx signUpModelObj = SignUpModel().obs; 11 | 12 | @override 13 | void onReady() { 14 | super.onReady(); 15 | } 16 | 17 | @override 18 | void onClose() { 19 | super.onClose(); 20 | groupFiftyOneController.dispose(); 21 | emailController.dispose(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /lib/presentation/sign_up_screen/models/sign_up_model.dart: -------------------------------------------------------------------------------- 1 | class SignUpModel {} 2 | -------------------------------------------------------------------------------- /lib/presentation/splash_screen/binding/splash_binding.dart: -------------------------------------------------------------------------------- 1 | import '../controller/splash_controller.dart'; 2 | import 'package:get/get.dart'; 3 | 4 | class SplashBinding extends Bindings { 5 | @override 6 | void dependencies() { 7 | Get.lazyPut(() => SplashController()); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /lib/presentation/splash_screen/controller/splash_controller.dart: -------------------------------------------------------------------------------- 1 | import 'package:travelappflutter/presentation/splash_screen/models/splash_model.dart'; 2 | 3 | import '/core/app_export.dart'; 4 | 5 | class SplashController extends GetxController { 6 | Rx splashModelObj = SplashModel().obs; 7 | 8 | @override 9 | void onReady() { 10 | super.onReady(); 11 | Future.delayed(const Duration(milliseconds: 10000), () { 12 | Get.toNamed(AppRoutes.onboardOneScreen); 13 | }); 14 | } 15 | 16 | @override 17 | void onClose() { 18 | super.onClose(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /lib/presentation/splash_screen/models/splash_model.dart: -------------------------------------------------------------------------------- 1 | class SplashModel {} 2 | -------------------------------------------------------------------------------- /lib/presentation/splash_screen/splash_screen.dart: -------------------------------------------------------------------------------- 1 | import 'controller/splash_controller.dart'; 2 | import 'package:flutter/material.dart'; 3 | import 'package:travelappflutter/core/app_export.dart'; 4 | 5 | class SplashScreen extends GetWidget { 6 | @override 7 | Widget build(BuildContext context) { 8 | return SafeArea( 9 | child: Scaffold( 10 | backgroundColor: ColorConstant.blueA400, 11 | body: Container( 12 | width: size.width, 13 | child: SingleChildScrollView( 14 | child: Column( 15 | mainAxisSize: MainAxisSize.min, 16 | crossAxisAlignment: CrossAxisAlignment.center, 17 | mainAxisAlignment: MainAxisAlignment.center, 18 | children: [ 19 | Padding( 20 | padding: getPadding( 21 | left: 121, top: 337, right: 121, bottom: 5), 22 | child: Text("lbl_travenor".tr, 23 | overflow: TextOverflow.ellipsis, 24 | textAlign: TextAlign.left, 25 | style: AppStyle.txtGeometric415BTBlackA34 26 | .copyWith(height: 1.00))) 27 | ]))))); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /lib/presentation/verification_screen/binding/verification_binding.dart: -------------------------------------------------------------------------------- 1 | import '../controller/verification_controller.dart'; 2 | import 'package:get/get.dart'; 3 | 4 | class VerificationBinding extends Bindings { 5 | @override 6 | void dependencies() { 7 | Get.lazyPut(() => VerificationController()); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /lib/presentation/verification_screen/controller/verification_controller.dart: -------------------------------------------------------------------------------- 1 | import '/core/app_export.dart'; 2 | import 'package:travelappflutter/presentation/verification_screen/models/verification_model.dart'; 3 | import 'package:sms_autofill/sms_autofill.dart'; 4 | import 'package:flutter/material.dart'; 5 | 6 | class VerificationController extends GetxController with CodeAutoFill { 7 | Rx otpController = TextEditingController().obs; 8 | 9 | Rx verificationModelObj = VerificationModel().obs; 10 | 11 | @override 12 | void codeUpdated() { 13 | otpController.value.text = code!; 14 | } 15 | 16 | @override 17 | void onInit() { 18 | super.onInit(); 19 | listenForCode(); 20 | } 21 | 22 | @override 23 | void onReady() { 24 | super.onReady(); 25 | } 26 | 27 | @override 28 | void onClose() { 29 | super.onClose(); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /lib/presentation/verification_screen/models/verification_model.dart: -------------------------------------------------------------------------------- 1 | class VerificationModel {} 2 | -------------------------------------------------------------------------------- /lib/presentation/view_screen/binding/view_binding.dart: -------------------------------------------------------------------------------- 1 | import '../controller/view_controller.dart'; 2 | import 'package:get/get.dart'; 3 | 4 | class ViewBinding extends Bindings { 5 | @override 6 | void dependencies() { 7 | Get.lazyPut(() => ViewController()); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /lib/presentation/view_screen/controller/view_controller.dart: -------------------------------------------------------------------------------- 1 | import '/core/app_export.dart'; 2 | import 'package:travelappflutter/presentation/view_screen/models/view_model.dart'; 3 | 4 | class ViewController extends GetxController { 5 | Rx viewModelObj = ViewModel().obs; 6 | 7 | @override 8 | void onReady() { 9 | super.onReady(); 10 | } 11 | 12 | @override 13 | void onClose() { 14 | super.onClose(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lib/presentation/view_screen/models/view_model.dart: -------------------------------------------------------------------------------- 1 | class ViewModel {} 2 | -------------------------------------------------------------------------------- /lib/widgets/app_bar/appbar_iconbutton.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:travelappflutter/core/app_export.dart'; 3 | import 'package:travelappflutter/widgets/custom_icon_button.dart'; 4 | 5 | // ignore: must_be_immutable 6 | class AppbarIconbutton extends StatelessWidget { 7 | AppbarIconbutton({this.imagePath, this.svgPath, this.margin, this.onTap}); 8 | 9 | String? imagePath; 10 | 11 | String? svgPath; 12 | 13 | EdgeInsetsGeometry? margin; 14 | 15 | Function? onTap; 16 | 17 | @override 18 | Widget build(BuildContext context) { 19 | return GestureDetector( 20 | onTap: () { 21 | onTap!(); 22 | }, 23 | child: Padding( 24 | padding: margin ?? EdgeInsets.zero, 25 | child: CustomIconButton( 26 | height: 44, 27 | width: 44, 28 | child: CommonImageView( 29 | svgPath: svgPath, 30 | imagePath: imagePath, 31 | ), 32 | ), 33 | ), 34 | ); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /lib/widgets/app_bar/appbar_iconbutton_1.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:travelappflutter/core/app_export.dart'; 3 | import 'package:travelappflutter/widgets/custom_icon_button.dart'; 4 | 5 | // ignore: must_be_immutable 6 | class AppbarIconbutton1 extends StatelessWidget { 7 | AppbarIconbutton1({this.imagePath, this.svgPath, this.margin, this.onTap}); 8 | 9 | String? imagePath; 10 | 11 | String? svgPath; 12 | 13 | EdgeInsetsGeometry? margin; 14 | 15 | Function? onTap; 16 | 17 | @override 18 | Widget build(BuildContext context) { 19 | return GestureDetector( 20 | onTap: () { 21 | onTap!(); 22 | }, 23 | child: Padding( 24 | padding: margin ?? EdgeInsets.zero, 25 | child: CustomIconButton( 26 | height: 44, 27 | width: 44, 28 | variant: IconButtonVariant.FillGray90068, 29 | child: CommonImageView( 30 | svgPath: svgPath, 31 | imagePath: imagePath, 32 | ), 33 | ), 34 | ), 35 | ); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /lib/widgets/app_bar/appbar_subtitle.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:travelappflutter/core/app_export.dart'; 3 | 4 | // ignore: must_be_immutable 5 | class AppbarSubtitle extends StatelessWidget { 6 | AppbarSubtitle({required this.text, this.margin, this.onTap}); 7 | 8 | String text; 9 | 10 | EdgeInsetsGeometry? margin; 11 | 12 | Function? onTap; 13 | 14 | @override 15 | Widget build(BuildContext context) { 16 | return GestureDetector( 17 | onTap: () { 18 | onTap!(); 19 | }, 20 | child: Padding( 21 | padding: margin ?? EdgeInsets.zero, 22 | child: Text( 23 | text, 24 | overflow: TextOverflow.ellipsis, 25 | textAlign: TextAlign.left, 26 | style: AppStyle.txtSFUIDisplaySemibold18WhiteA700.copyWith( 27 | height: 1.00, 28 | color: ColorConstant.whiteA700, 29 | ), 30 | ), 31 | ), 32 | ); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /lib/widgets/app_bar/appbar_subtitle_1.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:travelappflutter/core/app_export.dart'; 3 | 4 | // ignore: must_be_immutable 5 | class AppbarSubtitle1 extends StatelessWidget { 6 | AppbarSubtitle1({required this.text, this.margin, this.onTap}); 7 | 8 | String text; 9 | 10 | EdgeInsetsGeometry? margin; 11 | 12 | Function? onTap; 13 | 14 | @override 15 | Widget build(BuildContext context) { 16 | return GestureDetector( 17 | onTap: () { 18 | onTap!(); 19 | }, 20 | child: Padding( 21 | padding: margin ?? EdgeInsets.zero, 22 | child: Text( 23 | text, 24 | overflow: TextOverflow.ellipsis, 25 | textAlign: TextAlign.left, 26 | style: AppStyle.txtSFUIDisplaySemibold16BlueA400.copyWith( 27 | height: 1.00, 28 | color: ColorConstant.blueA400, 29 | ), 30 | ), 31 | ), 32 | ); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /lib/widgets/app_bar/appbar_title.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:travelappflutter/core/app_export.dart'; 3 | 4 | // ignore: must_be_immutable 5 | class AppbarTitle extends StatelessWidget { 6 | AppbarTitle({required this.text, this.margin, this.onTap}); 7 | 8 | String text; 9 | 10 | EdgeInsetsGeometry? margin; 11 | 12 | Function? onTap; 13 | 14 | @override 15 | Widget build(BuildContext context) { 16 | return GestureDetector( 17 | onTap: () { 18 | onTap!(); 19 | }, 20 | child: Padding( 21 | padding: margin ?? EdgeInsets.zero, 22 | child: Text( 23 | text, 24 | overflow: TextOverflow.ellipsis, 25 | textAlign: TextAlign.left, 26 | style: AppStyle.txtSFUIDisplaySemibold18Gray900.copyWith( 27 | height: 1.00, 28 | color: ColorConstant.gray900, 29 | ), 30 | ), 31 | ), 32 | ); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /lib/widgets/app_bar/custom_app_bar.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:travelappflutter/core/app_export.dart'; 3 | 4 | // ignore: must_be_immutable 5 | class CustomAppBar extends StatelessWidget with PreferredSizeWidget { 6 | CustomAppBar( 7 | {required this.height, 8 | this.leadingWidth, 9 | this.leading, 10 | this.title, 11 | this.centerTitle, 12 | this.actions}); 13 | 14 | double height; 15 | 16 | double? leadingWidth; 17 | 18 | Widget? leading; 19 | 20 | Widget? title; 21 | 22 | bool? centerTitle; 23 | 24 | List? actions; 25 | 26 | @override 27 | Widget build(BuildContext context) { 28 | return AppBar( 29 | elevation: 0, 30 | toolbarHeight: height, 31 | automaticallyImplyLeading: false, 32 | backgroundColor: Colors.transparent, 33 | leadingWidth: leadingWidth ?? 0, 34 | leading: leading, 35 | title: title, 36 | titleSpacing: 0, 37 | centerTitle: centerTitle ?? false, 38 | actions: actions, 39 | ); 40 | } 41 | 42 | @override 43 | Size get preferredSize => Size( 44 | size.width, 45 | height, 46 | ); 47 | } 48 | -------------------------------------------------------------------------------- /lib/widgets/common_image_view.dart: -------------------------------------------------------------------------------- 1 | // ignore_for_file: must_be_immutable 2 | 3 | import 'dart:io'; 4 | 5 | import 'package:cached_network_image/cached_network_image.dart'; 6 | import 'package:flutter/material.dart'; 7 | import 'package:flutter_svg/flutter_svg.dart'; 8 | 9 | class CommonImageView extends StatelessWidget { 10 | ///[url] is required parameter for fetching network image 11 | String? url; 12 | String? imagePath; 13 | String? svgPath; 14 | File? file; 15 | double? height; 16 | double? width; 17 | Color? color; 18 | final BoxFit fit; 19 | final String placeHolder; 20 | 21 | ///a [CommonNetworkImageView] it can be used for showing any network images 22 | /// it will shows the placeholder image if image is not found on network 23 | CommonImageView({ 24 | this.url, 25 | this.imagePath, 26 | this.svgPath, 27 | this.file, 28 | this.height, 29 | this.width, 30 | this.color, 31 | this.fit = BoxFit.fill, 32 | this.placeHolder = 'assets/images/image_not_found.png', 33 | }); 34 | 35 | @override 36 | Widget build(BuildContext context) { 37 | return _buildImageView(); 38 | } 39 | 40 | Widget _buildImageView() { 41 | if (svgPath != null && svgPath!.isNotEmpty) { 42 | return Container( 43 | height: height, 44 | width: width, 45 | child: SvgPicture.asset( 46 | svgPath!, 47 | height: height, 48 | width: width, 49 | fit: fit, 50 | color: color, 51 | ), 52 | ); 53 | } else if (file != null && file!.path.isNotEmpty) { 54 | return Image.file( 55 | file!, 56 | height: height, 57 | width: width, 58 | fit: fit, 59 | color: color, 60 | ); 61 | } else if (url != null && url!.isNotEmpty) { 62 | return CachedNetworkImage( 63 | height: height, 64 | width: width, 65 | fit: fit, 66 | imageUrl: url!, 67 | placeholder: (context, url) => Container( 68 | height: 30, 69 | width: 30, 70 | child: LinearProgressIndicator( 71 | color: Colors.grey.shade200, 72 | backgroundColor: Colors.grey.shade100, 73 | ), 74 | ), 75 | errorWidget: (context, url, error) => Image.asset( 76 | placeHolder, 77 | height: height, 78 | width: width, 79 | fit: fit, 80 | ), 81 | ); 82 | } else if (imagePath != null && imagePath!.isNotEmpty) { 83 | return Image.asset( 84 | imagePath!, 85 | height: height, 86 | width: width, 87 | fit: fit, 88 | ); 89 | } 90 | return SizedBox(); 91 | } 92 | } 93 | -------------------------------------------------------------------------------- /lib/widgets/custom_floating_button.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:travelappflutter/core/app_export.dart'; 3 | 4 | class CustomFloatingButton extends StatelessWidget { 5 | CustomFloatingButton( 6 | {this.shape, 7 | this.variant, 8 | this.alignment, 9 | this.margin, 10 | this.onTap, 11 | this.width, 12 | this.height, 13 | this.child}); 14 | 15 | FloatingButtonShape? shape; 16 | 17 | FloatingButtonVariant? variant; 18 | 19 | Alignment? alignment; 20 | 21 | EdgeInsetsGeometry? margin; 22 | 23 | VoidCallback? onTap; 24 | 25 | double? width; 26 | 27 | double? height; 28 | 29 | Widget? child; 30 | 31 | @override 32 | Widget build(BuildContext context) { 33 | return alignment != null 34 | ? Align( 35 | alignment: alignment ?? Alignment.center, 36 | child: _buildFabWidget(), 37 | ) 38 | : _buildFabWidget(); 39 | } 40 | 41 | _buildFabWidget() { 42 | return Padding( 43 | padding: margin ?? EdgeInsets.zero, 44 | child: FloatingActionButton( 45 | backgroundColor: _setColor(), 46 | onPressed: onTap, 47 | child: Container( 48 | alignment: Alignment.center, 49 | width: getSize(width ?? 0), 50 | height: getSize(height ?? 0), 51 | decoration: _buildDecoration(), 52 | child: child, 53 | ), 54 | ), 55 | ); 56 | } 57 | 58 | _buildDecoration() { 59 | return BoxDecoration( 60 | color: _setColor(), 61 | borderRadius: _setBorderRadius(), 62 | ); 63 | } 64 | 65 | _setColor() { 66 | switch (variant) { 67 | default: 68 | return ColorConstant.blueA400; 69 | } 70 | } 71 | 72 | _setBorderRadius() { 73 | switch (shape) { 74 | default: 75 | return BorderRadius.circular( 76 | getHorizontalSize( 77 | 24.00, 78 | ), 79 | ); 80 | } 81 | } 82 | } 83 | 84 | enum FloatingButtonShape { 85 | CircleBorder24, 86 | } 87 | 88 | enum FloatingButtonVariant { 89 | FillBlueA400, 90 | } 91 | -------------------------------------------------------------------------------- /lib/widgets/custom_icon_button.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:travelappflutter/core/app_export.dart'; 3 | 4 | class CustomIconButton extends StatelessWidget { 5 | CustomIconButton( 6 | {this.shape, 7 | this.padding, 8 | this.variant, 9 | this.alignment, 10 | this.margin, 11 | this.height, 12 | this.width, 13 | this.child, 14 | this.onTap}); 15 | 16 | IconButtonShape? shape; 17 | 18 | IconButtonPadding? padding; 19 | 20 | IconButtonVariant? variant; 21 | 22 | Alignment? alignment; 23 | 24 | EdgeInsetsGeometry? margin; 25 | 26 | double? height; 27 | 28 | double? width; 29 | 30 | Widget? child; 31 | 32 | VoidCallback? onTap; 33 | 34 | @override 35 | Widget build(BuildContext context) { 36 | return alignment != null 37 | ? Align( 38 | alignment: alignment ?? Alignment.center, 39 | child: _buildIconButtonWidget(), 40 | ) 41 | : _buildIconButtonWidget(); 42 | } 43 | 44 | _buildIconButtonWidget() { 45 | return Padding( 46 | padding: margin ?? EdgeInsets.zero, 47 | child: IconButton( 48 | constraints: BoxConstraints( 49 | minHeight: getSize(height ?? 0), 50 | minWidth: getSize(width ?? 0), 51 | ), 52 | padding: EdgeInsets.all(0), 53 | icon: Container( 54 | alignment: Alignment.center, 55 | width: getSize(width ?? 0), 56 | height: getSize(height ?? 0), 57 | padding: _setPadding(), 58 | decoration: _buildDecoration(), 59 | child: child, 60 | ), 61 | onPressed: onTap, 62 | ), 63 | ); 64 | } 65 | 66 | _buildDecoration() { 67 | return BoxDecoration( 68 | color: _setColor(), 69 | borderRadius: _setBorderRadius(), 70 | boxShadow: _setBoxShadow(), 71 | ); 72 | } 73 | 74 | _setPadding() { 75 | switch (padding) { 76 | case IconButtonPadding.PaddingAll16: 77 | return getPadding( 78 | all: 16, 79 | ); 80 | default: 81 | return getPadding( 82 | all: 10, 83 | ); 84 | } 85 | } 86 | 87 | _setColor() { 88 | switch (variant) { 89 | case IconButtonVariant.FillBlueA400: 90 | return ColorConstant.blueA400; 91 | case IconButtonVariant.OutlineBlueA4002b: 92 | return ColorConstant.blueA400; 93 | case IconButtonVariant.FillGray90068: 94 | return ColorConstant.gray90068; 95 | default: 96 | return ColorConstant.gray100; 97 | } 98 | } 99 | 100 | _setBorderRadius() { 101 | switch (shape) { 102 | case IconButtonShape.CircleBorder25: 103 | return BorderRadius.circular( 104 | getHorizontalSize( 105 | 25.00, 106 | ), 107 | ); 108 | default: 109 | return BorderRadius.circular( 110 | getHorizontalSize( 111 | 22.00, 112 | ), 113 | ); 114 | } 115 | } 116 | 117 | _setBoxShadow() { 118 | switch (variant) { 119 | case IconButtonVariant.OutlineBlueA4002b: 120 | return [ 121 | BoxShadow( 122 | color: ColorConstant.blueA4002b, 123 | spreadRadius: getHorizontalSize( 124 | 2.00, 125 | ), 126 | blurRadius: getHorizontalSize( 127 | 2.00, 128 | ), 129 | offset: Offset( 130 | 0, 131 | 8, 132 | ), 133 | ) 134 | ]; 135 | case IconButtonVariant.FillGray100: 136 | case IconButtonVariant.FillBlueA400: 137 | case IconButtonVariant.FillGray90068: 138 | return null; 139 | default: 140 | return null; 141 | } 142 | } 143 | } 144 | 145 | enum IconButtonShape { 146 | CircleBorder22, 147 | CircleBorder25, 148 | } 149 | 150 | enum IconButtonPadding { 151 | PaddingAll10, 152 | PaddingAll16, 153 | } 154 | 155 | enum IconButtonVariant { 156 | FillGray100, 157 | FillBlueA400, 158 | OutlineBlueA4002b, 159 | FillGray90068, 160 | } 161 | -------------------------------------------------------------------------------- /lib/widgets/custom_radio_button.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:travelappflutter/core/app_export.dart'; 3 | 4 | class CustomRadioButton extends StatelessWidget { 5 | CustomRadioButton( 6 | {this.padding, 7 | this.fontStyle, 8 | this.margin, 9 | this.onChange, 10 | this.iconSize, 11 | this.value, 12 | this.groupValue, 13 | this.text}); 14 | 15 | RadioPadding? padding; 16 | 17 | RadioFontStyle? fontStyle; 18 | 19 | EdgeInsetsGeometry? margin; 20 | 21 | Function(String)? onChange; 22 | 23 | double? iconSize; 24 | 25 | String? value; 26 | 27 | String? groupValue; 28 | 29 | String? text; 30 | 31 | @override 32 | Widget build(BuildContext context) { 33 | return Padding( 34 | padding: margin ?? EdgeInsets.zero, 35 | child: InkWell( 36 | onTap: () { 37 | onChange!(value!); 38 | }, 39 | child: Row( 40 | children: [ 41 | SizedBox( 42 | height: getHorizontalSize(iconSize ?? 0), 43 | width: getHorizontalSize(iconSize ?? 0), 44 | child: Radio( 45 | value: value ?? "", 46 | groupValue: groupValue, 47 | onChanged: (value) { 48 | onChange!(value!); 49 | }, 50 | ), 51 | ), 52 | Padding( 53 | padding: getPadding( 54 | left: 10, 55 | ), 56 | child: Text( 57 | text ?? "", 58 | textAlign: TextAlign.center, 59 | style: _setFontStyle(), 60 | ), 61 | ), 62 | ], 63 | ), 64 | ), 65 | ); 66 | } 67 | 68 | _setFontStyle() { 69 | switch (fontStyle) { 70 | default: 71 | return TextStyle( 72 | color: ColorConstant.gray900, 73 | fontSize: getFontSize( 74 | 16, 75 | ), 76 | fontFamily: 'SF UI Display', 77 | fontWeight: FontWeight.w500, 78 | ); 79 | ; 80 | } 81 | } 82 | } 83 | 84 | enum RadioPadding { 85 | PaddingAll2, 86 | } 87 | 88 | enum RadioFontStyle { 89 | SFUIDisplayMedium16, 90 | } 91 | -------------------------------------------------------------------------------- /lib/widgets/custom_search_view.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:travelappflutter/core/app_export.dart'; 3 | 4 | class CustomSearchView extends StatelessWidget { 5 | CustomSearchView( 6 | {this.shape, 7 | this.padding, 8 | this.variant, 9 | this.fontStyle, 10 | this.alignment, 11 | this.width, 12 | this.margin, 13 | this.controller, 14 | this.focusNode, 15 | this.hintText, 16 | this.prefix, 17 | this.prefixConstraints, 18 | this.suffix, 19 | this.suffixConstraints}); 20 | 21 | SearchViewShape? shape; 22 | 23 | SearchViewPadding? padding; 24 | 25 | SearchViewVariant? variant; 26 | 27 | SearchViewFontStyle? fontStyle; 28 | 29 | Alignment? alignment; 30 | 31 | double? width; 32 | 33 | EdgeInsetsGeometry? margin; 34 | 35 | TextEditingController? controller; 36 | 37 | FocusNode? focusNode; 38 | 39 | String? hintText; 40 | 41 | Widget? prefix; 42 | 43 | BoxConstraints? prefixConstraints; 44 | 45 | Widget? suffix; 46 | 47 | BoxConstraints? suffixConstraints; 48 | 49 | @override 50 | Widget build(BuildContext context) { 51 | return alignment != null 52 | ? Align( 53 | alignment: alignment ?? Alignment.center, 54 | child: _buildSearchViewWidget(), 55 | ) 56 | : _buildSearchViewWidget(); 57 | } 58 | 59 | _buildSearchViewWidget() { 60 | return Container( 61 | width: getHorizontalSize(width ?? 0), 62 | margin: margin, 63 | child: TextFormField( 64 | controller: controller, 65 | focusNode: focusNode, 66 | style: _setFontStyle(), 67 | decoration: _buildDecoration(), 68 | ), 69 | ); 70 | } 71 | 72 | _buildDecoration() { 73 | return InputDecoration( 74 | hintText: hintText ?? "", 75 | hintStyle: _setFontStyle(), 76 | border: _setBorderStyle(), 77 | enabledBorder: _setBorderStyle(), 78 | focusedBorder: _setBorderStyle(), 79 | disabledBorder: _setBorderStyle(), 80 | prefixIcon: prefix, 81 | prefixIconConstraints: prefixConstraints, 82 | suffixIcon: suffix, 83 | suffixIconConstraints: suffixConstraints, 84 | fillColor: _setFillColor(), 85 | filled: _setFilled(), 86 | isDense: true, 87 | contentPadding: _setPadding(), 88 | ); 89 | } 90 | 91 | _setFontStyle() { 92 | switch (fontStyle) { 93 | default: 94 | return TextStyle( 95 | color: ColorConstant.bluegray400, 96 | fontSize: getFontSize( 97 | 16, 98 | ), 99 | fontFamily: 'SF UI Display', 100 | fontWeight: FontWeight.w400, 101 | ); 102 | } 103 | } 104 | 105 | _setOutlineBorderRadius() { 106 | switch (shape) { 107 | default: 108 | return BorderRadius.circular( 109 | getHorizontalSize( 110 | 16.00, 111 | ), 112 | ); 113 | } 114 | } 115 | 116 | _setBorderStyle() { 117 | switch (variant) { 118 | default: 119 | return OutlineInputBorder( 120 | borderRadius: _setOutlineBorderRadius(), 121 | borderSide: BorderSide.none, 122 | ); 123 | } 124 | } 125 | 126 | _setFillColor() { 127 | switch (variant) { 128 | default: 129 | return ColorConstant.gray100; 130 | } 131 | } 132 | 133 | _setFilled() { 134 | switch (variant) { 135 | case SearchViewVariant.FillGray100: 136 | return true; 137 | default: 138 | return true; 139 | } 140 | } 141 | 142 | _setPadding() { 143 | switch (padding) { 144 | default: 145 | return getPadding( 146 | all: 14, 147 | ); 148 | } 149 | } 150 | } 151 | 152 | enum SearchViewShape { 153 | RoundedBorder16, 154 | } 155 | 156 | enum SearchViewPadding { 157 | PaddingAll14, 158 | } 159 | 160 | enum SearchViewVariant { 161 | FillGray100, 162 | } 163 | 164 | enum SearchViewFontStyle { 165 | SFUIDisplayRegular16, 166 | } 167 | -------------------------------------------------------------------------------- /logs/errors.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/logs/errors.log -------------------------------------------------------------------------------- /pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: travelappflutter 2 | description: A new Flutter project. 3 | version: 1.0.0+1 4 | environment: 5 | sdk: '>=2.12.0 <3.0.0' 6 | dependencies: 7 | flutter: 8 | sdk: flutter 9 | get: ^4.6.5 10 | connectivity_plus: ^2.3.6 11 | shared_preferences: ^2.0.15 12 | cached_network_image: ^3.2.1 13 | flutter_svg: ^0.22.0 14 | pin_code_fields: ^7.3.0 15 | sms_autofill: ^2.0.0 16 | intl: ^0.17.0 17 | dev_dependencies: 18 | flutter_test: 19 | sdk: flutter 20 | flutter: 21 | uses-material-design: true 22 | assets: 23 | - assets/ 24 | - assets/images/ 25 | -------------------------------------------------------------------------------- /screenshot/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/screenshot/1.png -------------------------------------------------------------------------------- /screenshot/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manishdayma/travenor_flutter/716fcd87084e3486990ccc403088c2ce8ef39e6b/screenshot/2.png -------------------------------------------------------------------------------- /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 that Flutter provides. 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:travelappflutter/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(MyApp()); 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 | --------------------------------------------------------------------------------