├── .gitignore ├── .idea ├── codeStyles │ └── Project.xml └── runConfigurations │ └── main_dart.xml ├── .metadata ├── README.md ├── android ├── app │ ├── build.gradle │ └── src │ │ ├── debug │ │ └── AndroidManifest.xml │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── io │ │ │ │ └── flutter │ │ │ │ └── plugins │ │ │ │ └── GeneratedPluginRegistrant.java │ │ ├── kotlin │ │ │ └── com │ │ │ │ └── anggiprayogo │ │ │ │ └── tix_app │ │ │ │ └── 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 │ │ │ └── styles.xml │ │ └── profile │ │ └── AndroidManifest.xml ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── fonts ├── roboto_bold.ttf ├── roboto_regular.ttf ├── sfui_black.ttf ├── sfui_bold.ttf ├── sfui_heavy.ttf ├── sfui_light.ttf ├── sfui_medium.ttf ├── sfui_regular.ttf ├── sfui_regular_res.xml ├── sfui_semibold.ttf ├── sfui_thin.ttf └── sfui_ultralight.ttf ├── images ├── abc_btn_check_to_on_mtrl_000.png ├── abc_btn_check_to_on_mtrl_015.png ├── abc_btn_radio_to_on_mtrl_000.png ├── abc_btn_radio_to_on_mtrl_015.png ├── abc_btn_switch_to_on_mtrl_00001.9.png ├── abc_btn_switch_to_on_mtrl_00012.9.png ├── abc_ic_menu_copy_mtrl_am_alpha.png ├── abc_ic_menu_cut_mtrl_alpha.png ├── abc_ic_menu_paste_mtrl_am_alpha.png ├── abc_ic_menu_selectall_mtrl_alpha.png ├── abc_ic_menu_share_mtrl_alpha.png ├── abc_ic_star_black_16dp.png ├── abc_ic_star_black_36dp.png ├── abc_ic_star_black_48dp.png ├── abc_ic_star_half_black_16dp.png ├── abc_ic_star_half_black_36dp.png ├── abc_ic_star_half_black_48dp.png ├── abc_scrubber_control_to_pressed_mtrl_000.png ├── abc_scrubber_control_to_pressed_mtrl_005.png ├── abc_spinner_mtrl_am_alpha.9.png ├── abc_switch_track_mtrl_alpha.9.png ├── abc_tab_indicator_mtrl_alpha.9.png ├── abc_text_select_handle_left_mtrl_dark.png ├── abc_text_select_handle_left_mtrl_light.png ├── abc_text_select_handle_right_mtrl_dark.png ├── abc_text_select_handle_right_mtrl_light.png ├── bg_loading.png ├── bg_my_loyal_tix_detail.png ├── bg_profile.png ├── bg_rating_dialog.png ├── btn_back_common.png ├── btn_more_home.png ├── btn_play_moviedetail.png ├── button_view_qr_code.png ├── close.png ├── design_ic_visibility.png ├── design_ic_visibility_off.png ├── empty_movie.png ├── exo_edit_mode_logo.png ├── ic_active_ticket_state_info_tooltip.png ├── ic_already_shown.png ├── ic_arrow.png ├── ic_arrow_back_white_24dp.png ├── ic_arrow_down.png ├── ic_arrow_up.png ├── ic_bg_dialog_qrcode_bottom.png ├── ic_bg_dialog_qrcode_bottom_samll.png ├── ic_bg_dialog_qrcode_middle.png ├── ic_bg_dialog_qrcode_middle_samll.png ├── ic_bg_dialog_qrcode_top.png ├── ic_bg_dialog_qrcode_top_samll.png ├── ic_bg_invitation_code_detail.png ├── ic_bg_invite_code.png ├── ic_bg_qr_code_bottom.png ├── ic_bg_qr_code_middle.png ├── ic_bg_qr_code_top.png ├── ic_bottom_overscroll_edge.png ├── ic_bottom_overscroll_glow.png ├── ic_btn_back_moviedetail.png ├── ic_btn_email.png ├── ic_btn_telepon.png ├── ic_buy_ticket_disable.png ├── ic_buy_ticket_enable.png ├── ic_check_round.png ├── ic_checkbox_checked.png ├── ic_checkbox_unchecked.png ├── ic_chevron_right_grey.png ├── ic_close.png ├── ic_close_black.png ├── ic_close_btn_pay_detail.png ├── ic_close_qrcode.png ├── ic_close_warning_notice.png ├── ic_content_like.png ├── ic_content_liked.png ├── ic_content_view.png ├── ic_current_ticket_status.png ├── ic_dana.png ├── ic_dana_with_text.png ├── ic_default_btn_back_moviedetail.png ├── ic_dialog_failed.png ├── ic_dialog_success.png ├── ic_dolby_atmos_black.png ├── ic_dolby_atmos_white.png ├── ic_download_qrcode.png ├── ic_drop_selected.png ├── ic_edit_dot.png ├── ic_expired_promo.png ├── ic_failed_alert_popup.png ├── ic_failed_ticket_status.png ├── ic_favorite_off.png ├── ic_favorite_on.png ├── ic_favorite_play.png ├── ic_go_my_invitation_code.png ├── ic_got_point.png ├── ic_hide.png ├── ic_home.png ├── ic_home_drop.png ├── ic_home_drop_collapse.png ├── ic_home_page_more_button.png ├── ic_home_refresh.png ├── ic_home_refresh_v2.png ├── ic_how_qrcode.png ├── ic_img_update_eng.png ├── ic_img_update_id.png ├── ic_input_your_code.png ├── ic_invitation_code_homepage.png ├── ic_launcher.png ├── ic_level_coming_soon.png ├── ic_level_silver.png ├── ic_location.png ├── ic_location_gray_covered.png ├── ic_lock_white.png ├── ic_loyaltix_logo.png ├── ic_loyalty_radiobutton_selected.png ├── ic_loyalty_radiobutton_unselected.png ├── ic_maintenance.png ├── ic_map_cinema_detail.png ├── ic_map_detail_ordertiket.png ├── ic_mastercard_icon.png ├── ic_multiply.png ├── ic_nearby.png ├── ic_no_favourite.png ├── ic_no_voucher.png ├── ic_not_start_ticket_status.png ├── ic_notif_logo.png ├── ic_notification_type_announcement.png ├── ic_notification_type_loyalty.png ├── ic_notification_type_promo.png ├── ic_notification_type_transaction.png ├── ic_notification_type_voucher.png ├── ic_order_loading.png ├── ic_os_notification_fallback_white_24dp.png ├── ic_paper_ordertiket.png ├── ic_payment.png ├── ic_payment_failed.png ├── ic_payment_internet_issue.png ├── ic_phone_cinmea_detail.png ├── ic_placeholder_home_now_playing.png ├── ic_placeholder_home_promo.png ├── ic_placeholder_home_spotlight.png ├── ic_placeholder_home_tix_now.png ├── ic_placeholder_home_trailer.png ├── ic_placeholder_movie_detail_movie.png ├── ic_placeholder_movie_detail_video.png ├── ic_placeholder_news_detail_banner.png ├── ic_placeholder_news_detail_reladted.png ├── ic_placeholder_tix_now_banner.png ├── ic_placeholder_tix_now_movie.png ├── ic_placeholder_tix_now_promo.png ├── ic_play_dark.png ├── ic_points_homepage.png ├── ic_points_loyaltix_detail.png ├── ic_redeem.png ├── ic_redeem_disable.png ├── ic_refresh.png ├── ic_refresh_failed.png ├── ic_refresh_success.png ├── ic_refresh_v2.png ├── ic_refund_failed.png ├── ic_refund_success.png ├── ic_refunded_success.png ├── ic_rotate_icon_down.png ├── ic_screen_rotation.png ├── ic_seats_waiting.png ├── ic_selected_payment.png ├── ic_settings.png ├── ic_share.png ├── ic_show.png ├── ic_spent_point.png ├── ic_status_bar_white.png ├── ic_success_alert_popup.png ├── ic_theater_search_dark.png ├── ic_theater_search_grey.png ├── ic_ticket_gray_covered.png ├── ic_timeout_alert_popup.png ├── ic_top_up.png ├── ic_transaction_failed.png ├── ic_transaction_success.png ├── ic_triangle_drop_down.png ├── ic_triangle_drop_up.png ├── ic_unfavorite_theatre_movie.png ├── ic_unselected_payment.png ├── ic_visa_icon.png ├── ic_voucher_shape_used.png ├── ic_voucher_tag_expired.png ├── ic_voucher_tag_used.png ├── ic_wait_seat_process.png ├── ic_waiting_seats_page_transaction_success.png ├── ic_waiting_seats_page_waiting_seats.png ├── ic_warning_notice.png ├── ic_warning_notice_gray.png ├── ic_what_its.png ├── ico_close.png ├── ico_close_video.png ├── ico_coming_soon.png ├── ico_favourite.png ├── ico_glide.png ├── ico_like.png ├── ico_likenum_int.png ├── ico_noti_top_home.png ├── ico_now_playing_empty.png ├── ico_page_view.png ├── ico_points.png ├── ico_refresh.png ├── ico_shop.png ├── ico_success_voucher.png ├── ico_voucher.png ├── icon_cinema_moviedetail.png ├── icon_location_pulltheater.png ├── icon_loyal_normal.png ├── icon_loyal_silver.png ├── icon_pulldown_down.png ├── icon_schedule_next.png ├── icon_theater.png ├── icon_ticket_selected.png ├── icon_ticket_unselected.png ├── img_active_ticket_state_info_processing_refund.png ├── img_active_ticket_state_info_refund_failed.png ├── img_active_ticket_state_info_refund_success.png ├── img_active_ticket_state_info_thankyou_payment.png ├── img_active_ticket_state_info_transaction_failed.png ├── img_active_ticket_state_info_transaction_success.png ├── img_cinema_empty.png ├── img_empty_mytiket.png ├── img_empty_selectseat.png ├── img_end_resister.png ├── img_error_system_payment.png ├── img_homepage_tooltip.png ├── img_location_empty.png ├── img_loyaltix_bg.png ├── img_no_notificatin.png ├── img_not_have_transaction.png ├── img_popup_alert_waitingseats.png ├── img_refund_failed.png ├── img_seat_popup.png ├── img_update_app.png ├── left_corner_btn_buyticket.png ├── logo_beta_light.png ├── logo_dark_beta.png ├── logo_home.png ├── loyaltix_logo.png ├── movie.png ├── off_ico_cinema_menu_top.png ├── off_ico_movies_menu_top.png ├── off_ico_ticket_menu_top.png ├── on_ico_mytix_menu_top.png ├── oval_showcase.png ├── paper_blue.png ├── paper_gold.png ├── paper_grey.png ├── right_corner_btn_buyticket.png ├── share.png ├── share_now.png └── success.png ├── ios ├── Flutter │ ├── AppFrameworkInfo.plist │ ├── Debug.xcconfig │ ├── Generated.xcconfig │ └── Release.xcconfig ├── Runner.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── xcshareddata │ │ └── xcschemes │ │ └── Runner.xcscheme ├── Runner.xcworkspace │ └── contents.xcworkspacedata └── 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 │ ├── GeneratedPluginRegistrant.h │ ├── GeneratedPluginRegistrant.m │ ├── Info.plist │ └── Runner-Bridging-Header.h ├── lib ├── main.dart ├── src │ ├── blocs │ │ ├── genres_bloc.dart │ │ └── now_playing_bloc.dart │ ├── config.dart │ ├── models │ │ ├── genre_detail_model.dart │ │ ├── genre_models.dart │ │ └── now_playing_models.dart │ └── resources │ │ ├── genre_api_provider.dart │ │ ├── movie_api_provider.dart │ │ └── repository.dart └── views │ ├── cinemas_screen.dart │ ├── main_screen.dart │ ├── movies_detail_screen.dart │ ├── movies_list_screen.dart │ ├── movies_screen.dart │ ├── splash_screen.dart │ ├── spotlight_detail_screen.dart │ ├── ticket_detail_screen.dart │ ├── tickets_past_screen.dart │ ├── tickets_screen.dart │ └── tickets_upcoming_screen.dart ├── pubspec.yaml ├── screenshoot ├── ss1.png ├── ss2.png ├── ss3.png ├── ss4.png ├── ss5.png ├── ss6.png ├── ss7.png └── ss8.png └── test └── widget_test.dart /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Created by https://www.gitignore.io/api/dart,swift,xcode,android,intellij,cocoapods,objective-c,androidstudio 3 | 4 | ### Android ### 5 | # Built application files 6 | *.apk 7 | *.ap_ 8 | 9 | # Files for the ART/Dalvik VM 10 | *.dex 11 | 12 | # Java class files 13 | *.class 14 | 15 | # Generated files 16 | bin/ 17 | gen/ 18 | out/ 19 | 20 | # Gradle files 21 | .gradle/ 22 | build/ 23 | 24 | # Local configuration file (sdk path, etc) 25 | local.properties 26 | 27 | # Proguard folder generated by Eclipse 28 | proguard/ 29 | 30 | # Log Files 31 | *.log 32 | 33 | # Android Studio Navigation editor temp files 34 | .navigation/ 35 | 36 | # Android Studio captures folder 37 | captures/ 38 | 39 | # Intellij 40 | *.iml 41 | .idea/workspace.xml 42 | .idea/tasks.xml 43 | .idea/gradle.xml 44 | .idea/dictionaries 45 | .idea/libraries 46 | 47 | # External native build folder generated in Android Studio 2.2 and later 48 | .externalNativeBuild 49 | 50 | # Freeline 51 | freeline.py 52 | freeline/ 53 | freeline_project_description.json 54 | 55 | ### Android Patch ### 56 | gen-external-apklibs 57 | 58 | ### AndroidStudio ### 59 | # Covers files to be ignored for android development using Android Studio. 60 | 61 | # Built application files 62 | 63 | # Files for the ART/Dalvik VM 64 | 65 | # Java class files 66 | 67 | # Generated files 68 | 69 | # Gradle files 70 | .gradle 71 | 72 | # Signing files 73 | .signing/ 74 | 75 | # Local configuration file (sdk path, etc) 76 | 77 | # Proguard folder generated by Eclipse 78 | 79 | # Log Files 80 | 81 | # Android Studio 82 | /*/build/ 83 | /*/local.properties 84 | /*/out 85 | /*/*/build 86 | /*/*/production 87 | *.ipr 88 | *~ 89 | *.swp 90 | 91 | # Android Patch 92 | 93 | # External native build folder generated in Android Studio 2.2 and later 94 | 95 | # NDK 96 | obj/ 97 | 98 | # IntelliJ IDEA 99 | *.iws 100 | /out/ 101 | 102 | # User-specific configurations 103 | .idea/libraries/ 104 | .idea/.name 105 | .idea/compiler.xml 106 | .idea/copyright/profiles_settings.xml 107 | .idea/encodings.xml 108 | .idea/misc.xml 109 | .idea/modules.xml 110 | .idea/scopes/scope_settings.xml 111 | .idea/vcs.xml 112 | .idea/jsLibraryMappings.xml 113 | .idea/datasources.xml 114 | .idea/dataSources.ids 115 | .idea/sqlDataSources.xml 116 | .idea/dynamic.xml 117 | .idea/uiDesigner.xml 118 | 119 | # OS-specific files 120 | .DS_Store 121 | .DS_Store? 122 | ._* 123 | .Spotlight-V100 124 | .Trashes 125 | ehthumbs.db 126 | Thumbs.db 127 | 128 | # Legacy Eclipse project files 129 | .classpath 130 | .project 131 | 132 | # Mobile Tools for Java (J2ME) 133 | .mtj.tmp/ 134 | 135 | # Package Files # 136 | *.war 137 | *.ear 138 | 139 | # virtual machine crash logs (Reference: http://www.java.com/en/download/help/error_hotspot.xml) 140 | hs_err_pid* 141 | 142 | ## Plugin-specific files: 143 | 144 | # mpeltonen/sbt-idea plugin 145 | .idea_modules/ 146 | 147 | # JIRA plugin 148 | atlassian-ide-plugin.xml 149 | 150 | # Mongo Explorer plugin 151 | .idea/mongoSettings.xml 152 | 153 | # Crashlytics plugin (for Android Studio and IntelliJ) 154 | com_crashlytics_export_strings.xml 155 | crashlytics.properties 156 | crashlytics-build.properties 157 | fabric.properties 158 | 159 | ### AndroidStudio Patch ### 160 | 161 | !/gradle/wrapper/gradle-wrapper.jar 162 | 163 | ### CocoaPods ### 164 | ## CocoaPods GitIgnore Template 165 | 166 | # CocoaPods - Only use to conserve bandwidth / Save time on Pushing 167 | # - Also handy if you have a lage number of dependant pods 168 | # - AS PER https://guides.cocoapods.org/using/using-cocoapods.html NEVER IGONRE THE LOCK FILE 169 | Pods/ 170 | 171 | ### Dart ### 172 | # See https://www.dartlang.org/tools/private-files.html 173 | 174 | # Files and directories created by pub 175 | .packages 176 | .pub/ 177 | # If you're building an application, you may want to check-in your pubspec.lock 178 | pubspec.lock 179 | 180 | # Directory created by dartdoc 181 | # If you don't generate documentation locally you can remove this line. 182 | doc/api/ 183 | 184 | ### Intellij ### 185 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm 186 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 187 | 188 | # User-specific stuff: 189 | .idea/**/workspace.xml 190 | .idea/**/tasks.xml 191 | 192 | # Sensitive or high-churn files: 193 | .idea/**/dataSources/ 194 | .idea/**/dataSources.ids 195 | .idea/**/dataSources.xml 196 | .idea/**/dataSources.local.xml 197 | .idea/**/sqlDataSources.xml 198 | .idea/**/dynamic.xml 199 | .idea/**/uiDesigner.xml 200 | 201 | # Gradle: 202 | .idea/**/gradle.xml 203 | .idea/**/libraries 204 | 205 | # CMake 206 | cmake-build-debug/ 207 | 208 | # Mongo Explorer plugin: 209 | .idea/**/mongoSettings.xml 210 | 211 | ## File-based project format: 212 | 213 | ## Plugin-specific files: 214 | 215 | # IntelliJ 216 | 217 | # mpeltonen/sbt-idea plugin 218 | 219 | # JIRA plugin 220 | 221 | # Cursive Clojure plugin 222 | .idea/replstate.xml 223 | 224 | # Crashlytics plugin (for Android Studio and IntelliJ) 225 | 226 | ### Intellij Patch ### 227 | # Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 228 | 229 | # *.iml 230 | # modules.xml 231 | # .idea/misc.xml 232 | # *.ipr 233 | 234 | # Sonarlint plugin 235 | .idea/sonarlint 236 | 237 | ### Objective-C ### 238 | # Xcode 239 | # 240 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 241 | 242 | ## Build generated 243 | DerivedData/ 244 | 245 | ## Various settings 246 | *.pbxuser 247 | !default.pbxuser 248 | *.mode1v3 249 | !default.mode1v3 250 | *.mode2v3 251 | !default.mode2v3 252 | *.perspectivev3 253 | !default.perspectivev3 254 | xcuserdata/ 255 | 256 | ## Other 257 | *.moved-aside 258 | *.xccheckout 259 | *.xcscmblueprint 260 | 261 | ## Obj-C/Swift specific 262 | *.hmap 263 | *.ipa 264 | *.dSYM.zip 265 | *.dSYM 266 | 267 | # CocoaPods - Refactored to standalone file 268 | 269 | 270 | # Carthage - Refactored to standalone file 271 | 272 | # fastlane 273 | # 274 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 275 | # screenshots whenever they are needed. 276 | # For more information about the recommended setup visit: 277 | # https://docs.fastlane.tools/best-practices/source-control/#source-control 278 | 279 | fastlane/report.xml 280 | fastlane/Preview.html 281 | fastlane/screenshots 282 | fastlane/test_output 283 | 284 | # Code Injection 285 | # 286 | # After new code Injection tools there's a generated folder /iOSInjectionProject 287 | # https://github.com/johnno1962/injectionforxcode 288 | 289 | iOSInjectionProject/ 290 | 291 | ### Objective-C Patch ### 292 | 293 | ### Swift ### 294 | # Xcode 295 | # 296 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 297 | 298 | ## Build generated 299 | 300 | ## Various settings 301 | 302 | ## Other 303 | 304 | ## Obj-C/Swift specific 305 | 306 | ## Playgrounds 307 | timeline.xctimeline 308 | playground.xcworkspace 309 | 310 | # Swift Package Manager 311 | # 312 | # Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. 313 | # Packages/ 314 | # Package.pins 315 | .build/ 316 | 317 | # CocoaPods - Refactored to standalone file 318 | 319 | # Carthage - Refactored to standalone file 320 | 321 | # fastlane 322 | # 323 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 324 | # screenshots whenever they are needed. 325 | # For more information about the recommended setup visit: 326 | # https://docs.fastlane.tools/best-practices/source-control/#source-control 327 | 328 | 329 | ### Xcode ### 330 | # Xcode 331 | # 332 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 333 | 334 | ## Build generated 335 | 336 | ## Various settings 337 | 338 | ## Other 339 | 340 | ### Xcode Patch ### 341 | *.xcodeproj/* 342 | !*.xcodeproj/project.pbxproj 343 | !*.xcodeproj/xcshareddata/ 344 | !*.xcworkspace/contents.xcworkspacedata 345 | /*.gcno 346 | 347 | # Build files 348 | build/ 349 | 350 | # End of https://www.gitignore.io/api/dart,swift,xcode,android,intellij,cocoapods,objective-c,androidstudio -------------------------------------------------------------------------------- /.idea/codeStyles/Project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 15 | 16 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /.idea/runConfigurations/main_dart.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: e5b1ed7a7f7b85c1877e09a9495681f719be5578 8 | channel: beta 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # tix_app 2 | 3 | Cloning TIX ID in Flutter (Currently design only, next i will grab the movies from IMDB api for free) 4 | 5 | ## Feature 6 | * Movies
7 | 8 |

9 | * Movies Detail 10 | 11 |

12 | 13 | * Ticket List
14 | 15 |

16 | 17 | * Ticket
18 | 19 | 20 | ## Demo 21 | Here is the link to see the demo of this app link : click here to see demo in youtube

22 | [![IMAGE ALT TEXT HERE](https://img.youtube.com/vi/xUAu92MLXUE/0.jpg)](https://www.youtube.com/watch?v=xUAu92MLXUE) 23 | 24 | feel free to fork and learn this project, thanks! 25 | -------------------------------------------------------------------------------- /android/app/build.gradle: -------------------------------------------------------------------------------- 1 | def localProperties = new Properties() 2 | def localPropertiesFile = rootProject.file('local.properties') 3 | if (localPropertiesFile.exists()) { 4 | localPropertiesFile.withReader('UTF-8') { reader -> 5 | localProperties.load(reader) 6 | } 7 | } 8 | 9 | def flutterRoot = localProperties.getProperty('flutter.sdk') 10 | if (flutterRoot == null) { 11 | throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") 12 | } 13 | 14 | def flutterVersionCode = localProperties.getProperty('flutter.versionCode') 15 | if (flutterVersionCode == null) { 16 | flutterVersionCode = '1' 17 | } 18 | 19 | def flutterVersionName = localProperties.getProperty('flutter.versionName') 20 | if (flutterVersionName == null) { 21 | flutterVersionName = '1.0' 22 | } 23 | 24 | apply plugin: 'com.android.application' 25 | apply plugin: 'kotlin-android' 26 | apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" 27 | 28 | android { 29 | compileSdkVersion 28 30 | 31 | sourceSets { 32 | main.java.srcDirs += 'src/main/kotlin' 33 | } 34 | 35 | lintOptions { 36 | disable 'InvalidPackage' 37 | } 38 | 39 | defaultConfig { 40 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). 41 | applicationId "com.anggiprayogo.tix_app" 42 | minSdkVersion 16 43 | targetSdkVersion 28 44 | versionCode flutterVersionCode.toInteger() 45 | versionName flutterVersionName 46 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 47 | } 48 | 49 | buildTypes { 50 | release { 51 | // TODO: Add your own signing config for the release build. 52 | // Signing with the debug keys for now, so `flutter run --release` works. 53 | signingConfig signingConfigs.debug 54 | } 55 | } 56 | } 57 | 58 | flutter { 59 | source '../..' 60 | } 61 | 62 | dependencies { 63 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" 64 | testImplementation 'junit:junit:4.12' 65 | androidTestImplementation 'com.android.support.test:runner:1.0.2' 66 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' 67 | } 68 | -------------------------------------------------------------------------------- /android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 9 | 13 | 20 | 24 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java: -------------------------------------------------------------------------------- 1 | package io.flutter.plugins; 2 | 3 | import io.flutter.plugin.common.PluginRegistry; 4 | 5 | /** 6 | * Generated file. Do not edit. 7 | */ 8 | public final class GeneratedPluginRegistrant { 9 | public static void registerWith(PluginRegistry registry) { 10 | if (alreadyRegisteredWith(registry)) { 11 | return; 12 | } 13 | } 14 | 15 | private static boolean alreadyRegisteredWith(PluginRegistry registry) { 16 | final String key = GeneratedPluginRegistrant.class.getCanonicalName(); 17 | if (registry.hasPlugin(key)) { 18 | return true; 19 | } 20 | registry.registrarFor(key); 21 | return false; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /android/app/src/main/kotlin/com/anggiprayogo/tix_app/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.anggiprayogo.tix_app 2 | 3 | import android.os.Bundle 4 | 5 | import io.flutter.app.FlutterActivity 6 | import io.flutter.plugins.GeneratedPluginRegistrant 7 | 8 | class MainActivity: FlutterActivity() { 9 | override fun onCreate(savedInstanceState: Bundle?) { 10 | super.onCreate(savedInstanceState) 11 | GeneratedPluginRegistrant.registerWith(this) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /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/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /android/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | ext.kotlin_version = '1.2.71' 3 | repositories { 4 | google() 5 | jcenter() 6 | } 7 | 8 | dependencies { 9 | classpath 'com.android.tools.build:gradle:3.2.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/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /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-4.10.2-all.zip 7 | -------------------------------------------------------------------------------- /android/gradlew: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ############################################################################## 4 | ## 5 | ## Gradle start up script for UN*X 6 | ## 7 | ############################################################################## 8 | 9 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 10 | DEFAULT_JVM_OPTS="" 11 | 12 | APP_NAME="Gradle" 13 | APP_BASE_NAME=`basename "$0"` 14 | 15 | # Use the maximum available, or set MAX_FD != -1 to use that value. 16 | MAX_FD="maximum" 17 | 18 | warn ( ) { 19 | echo "$*" 20 | } 21 | 22 | die ( ) { 23 | echo 24 | echo "$*" 25 | echo 26 | exit 1 27 | } 28 | 29 | # OS specific support (must be 'true' or 'false'). 30 | cygwin=false 31 | msys=false 32 | darwin=false 33 | case "`uname`" in 34 | CYGWIN* ) 35 | cygwin=true 36 | ;; 37 | Darwin* ) 38 | darwin=true 39 | ;; 40 | MINGW* ) 41 | msys=true 42 | ;; 43 | esac 44 | 45 | # Attempt to set APP_HOME 46 | # Resolve links: $0 may be a link 47 | PRG="$0" 48 | # Need this for relative symlinks. 49 | while [ -h "$PRG" ] ; do 50 | ls=`ls -ld "$PRG"` 51 | link=`expr "$ls" : '.*-> \(.*\)$'` 52 | if expr "$link" : '/.*' > /dev/null; then 53 | PRG="$link" 54 | else 55 | PRG=`dirname "$PRG"`"/$link" 56 | fi 57 | done 58 | SAVED="`pwd`" 59 | cd "`dirname \"$PRG\"`/" >/dev/null 60 | APP_HOME="`pwd -P`" 61 | cd "$SAVED" >/dev/null 62 | 63 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 64 | 65 | # Determine the Java command to use to start the JVM. 66 | if [ -n "$JAVA_HOME" ] ; then 67 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 68 | # IBM's JDK on AIX uses strange locations for the executables 69 | JAVACMD="$JAVA_HOME/jre/sh/java" 70 | else 71 | JAVACMD="$JAVA_HOME/bin/java" 72 | fi 73 | if [ ! -x "$JAVACMD" ] ; then 74 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 75 | 76 | Please set the JAVA_HOME variable in your environment to match the 77 | location of your Java installation." 78 | fi 79 | else 80 | JAVACMD="java" 81 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 82 | 83 | Please set the JAVA_HOME variable in your environment to match the 84 | location of your Java installation." 85 | fi 86 | 87 | # Increase the maximum file descriptors if we can. 88 | if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then 89 | MAX_FD_LIMIT=`ulimit -H -n` 90 | if [ $? -eq 0 ] ; then 91 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then 92 | MAX_FD="$MAX_FD_LIMIT" 93 | fi 94 | ulimit -n $MAX_FD 95 | if [ $? -ne 0 ] ; then 96 | warn "Could not set maximum file descriptor limit: $MAX_FD" 97 | fi 98 | else 99 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" 100 | fi 101 | fi 102 | 103 | # For Darwin, add options to specify how the application appears in the dock 104 | if $darwin; then 105 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" 106 | fi 107 | 108 | # For Cygwin, switch paths to Windows format before running java 109 | if $cygwin ; then 110 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` 111 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` 112 | JAVACMD=`cygpath --unix "$JAVACMD"` 113 | 114 | # We build the pattern for arguments to be converted via cygpath 115 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` 116 | SEP="" 117 | for dir in $ROOTDIRSRAW ; do 118 | ROOTDIRS="$ROOTDIRS$SEP$dir" 119 | SEP="|" 120 | done 121 | OURCYGPATTERN="(^($ROOTDIRS))" 122 | # Add a user-defined pattern to the cygpath arguments 123 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then 124 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" 125 | fi 126 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 127 | i=0 128 | for arg in "$@" ; do 129 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` 130 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option 131 | 132 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition 133 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` 134 | else 135 | eval `echo args$i`="\"$arg\"" 136 | fi 137 | i=$((i+1)) 138 | done 139 | case $i in 140 | (0) set -- ;; 141 | (1) set -- "$args0" ;; 142 | (2) set -- "$args0" "$args1" ;; 143 | (3) set -- "$args0" "$args1" "$args2" ;; 144 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;; 145 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 146 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 147 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 148 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 149 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 150 | esac 151 | fi 152 | 153 | # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules 154 | function splitJvmOpts() { 155 | JVM_OPTS=("$@") 156 | } 157 | eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS 158 | JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" 159 | 160 | exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" 161 | -------------------------------------------------------------------------------- /android/gradlew.bat: -------------------------------------------------------------------------------- 1 | @if "%DEBUG%" == "" @echo off 2 | @rem ########################################################################## 3 | @rem 4 | @rem Gradle startup script for Windows 5 | @rem 6 | @rem ########################################################################## 7 | 8 | @rem Set local scope for the variables with windows NT shell 9 | if "%OS%"=="Windows_NT" setlocal 10 | 11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 12 | set DEFAULT_JVM_OPTS= 13 | 14 | set DIRNAME=%~dp0 15 | if "%DIRNAME%" == "" set DIRNAME=. 16 | set APP_BASE_NAME=%~n0 17 | set APP_HOME=%DIRNAME% 18 | 19 | @rem Find java.exe 20 | if defined JAVA_HOME goto findJavaFromJavaHome 21 | 22 | set JAVA_EXE=java.exe 23 | %JAVA_EXE% -version >NUL 2>&1 24 | if "%ERRORLEVEL%" == "0" goto init 25 | 26 | echo. 27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 28 | echo. 29 | echo Please set the JAVA_HOME variable in your environment to match the 30 | echo location of your Java installation. 31 | 32 | goto fail 33 | 34 | :findJavaFromJavaHome 35 | set JAVA_HOME=%JAVA_HOME:"=% 36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 37 | 38 | if exist "%JAVA_EXE%" goto init 39 | 40 | echo. 41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 42 | echo. 43 | echo Please set the JAVA_HOME variable in your environment to match the 44 | echo location of your Java installation. 45 | 46 | goto fail 47 | 48 | :init 49 | @rem Get command-line arguments, handling Windowz variants 50 | 51 | if not "%OS%" == "Windows_NT" goto win9xME_args 52 | if "%@eval[2+2]" == "4" goto 4NT_args 53 | 54 | :win9xME_args 55 | @rem Slurp the command line arguments. 56 | set CMD_LINE_ARGS= 57 | set _SKIP=2 58 | 59 | :win9xME_args_slurp 60 | if "x%~1" == "x" goto execute 61 | 62 | set CMD_LINE_ARGS=%* 63 | goto execute 64 | 65 | :4NT_args 66 | @rem Get arguments from the 4NT Shell from JP Software 67 | set CMD_LINE_ARGS=%$ 68 | 69 | :execute 70 | @rem Setup the command line 71 | 72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 73 | 74 | @rem Execute Gradle 75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% 76 | 77 | :end 78 | @rem End local scope for the variables with windows NT shell 79 | if "%ERRORLEVEL%"=="0" goto mainEnd 80 | 81 | :fail 82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 83 | rem the _cmd.exe /c_ return code! 84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 85 | exit /b 1 86 | 87 | :mainEnd 88 | if "%OS%"=="Windows_NT" endlocal 89 | 90 | :omega 91 | -------------------------------------------------------------------------------- /android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | 3 | def flutterProjectRoot = rootProject.projectDir.parentFile.toPath() 4 | 5 | def plugins = new Properties() 6 | def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') 7 | if (pluginsFile.exists()) { 8 | pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) } 9 | } 10 | 11 | plugins.each { name, path -> 12 | def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile() 13 | include ":$name" 14 | project(":$name").projectDir = pluginDirectory 15 | } 16 | -------------------------------------------------------------------------------- /fonts/roboto_bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/fonts/roboto_bold.ttf -------------------------------------------------------------------------------- /fonts/roboto_regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/fonts/roboto_regular.ttf -------------------------------------------------------------------------------- /fonts/sfui_black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/fonts/sfui_black.ttf -------------------------------------------------------------------------------- /fonts/sfui_bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/fonts/sfui_bold.ttf -------------------------------------------------------------------------------- /fonts/sfui_heavy.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/fonts/sfui_heavy.ttf -------------------------------------------------------------------------------- /fonts/sfui_light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/fonts/sfui_light.ttf -------------------------------------------------------------------------------- /fonts/sfui_medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/fonts/sfui_medium.ttf -------------------------------------------------------------------------------- /fonts/sfui_regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/fonts/sfui_regular.ttf -------------------------------------------------------------------------------- /fonts/sfui_regular_res.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /fonts/sfui_semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/fonts/sfui_semibold.ttf -------------------------------------------------------------------------------- /fonts/sfui_thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/fonts/sfui_thin.ttf -------------------------------------------------------------------------------- /fonts/sfui_ultralight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/fonts/sfui_ultralight.ttf -------------------------------------------------------------------------------- /images/abc_btn_check_to_on_mtrl_000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_btn_check_to_on_mtrl_000.png -------------------------------------------------------------------------------- /images/abc_btn_check_to_on_mtrl_015.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_btn_check_to_on_mtrl_015.png -------------------------------------------------------------------------------- /images/abc_btn_radio_to_on_mtrl_000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_btn_radio_to_on_mtrl_000.png -------------------------------------------------------------------------------- /images/abc_btn_radio_to_on_mtrl_015.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_btn_radio_to_on_mtrl_015.png -------------------------------------------------------------------------------- /images/abc_btn_switch_to_on_mtrl_00001.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_btn_switch_to_on_mtrl_00001.9.png -------------------------------------------------------------------------------- /images/abc_btn_switch_to_on_mtrl_00012.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_btn_switch_to_on_mtrl_00012.9.png -------------------------------------------------------------------------------- /images/abc_ic_menu_copy_mtrl_am_alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_ic_menu_copy_mtrl_am_alpha.png -------------------------------------------------------------------------------- /images/abc_ic_menu_cut_mtrl_alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_ic_menu_cut_mtrl_alpha.png -------------------------------------------------------------------------------- /images/abc_ic_menu_paste_mtrl_am_alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_ic_menu_paste_mtrl_am_alpha.png -------------------------------------------------------------------------------- /images/abc_ic_menu_selectall_mtrl_alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_ic_menu_selectall_mtrl_alpha.png -------------------------------------------------------------------------------- /images/abc_ic_menu_share_mtrl_alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_ic_menu_share_mtrl_alpha.png -------------------------------------------------------------------------------- /images/abc_ic_star_black_16dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_ic_star_black_16dp.png -------------------------------------------------------------------------------- /images/abc_ic_star_black_36dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_ic_star_black_36dp.png -------------------------------------------------------------------------------- /images/abc_ic_star_black_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_ic_star_black_48dp.png -------------------------------------------------------------------------------- /images/abc_ic_star_half_black_16dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_ic_star_half_black_16dp.png -------------------------------------------------------------------------------- /images/abc_ic_star_half_black_36dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_ic_star_half_black_36dp.png -------------------------------------------------------------------------------- /images/abc_ic_star_half_black_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_ic_star_half_black_48dp.png -------------------------------------------------------------------------------- /images/abc_scrubber_control_to_pressed_mtrl_000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_scrubber_control_to_pressed_mtrl_000.png -------------------------------------------------------------------------------- /images/abc_scrubber_control_to_pressed_mtrl_005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_scrubber_control_to_pressed_mtrl_005.png -------------------------------------------------------------------------------- /images/abc_spinner_mtrl_am_alpha.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_spinner_mtrl_am_alpha.9.png -------------------------------------------------------------------------------- /images/abc_switch_track_mtrl_alpha.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_switch_track_mtrl_alpha.9.png -------------------------------------------------------------------------------- /images/abc_tab_indicator_mtrl_alpha.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_tab_indicator_mtrl_alpha.9.png -------------------------------------------------------------------------------- /images/abc_text_select_handle_left_mtrl_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_text_select_handle_left_mtrl_dark.png -------------------------------------------------------------------------------- /images/abc_text_select_handle_left_mtrl_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_text_select_handle_left_mtrl_light.png -------------------------------------------------------------------------------- /images/abc_text_select_handle_right_mtrl_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_text_select_handle_right_mtrl_dark.png -------------------------------------------------------------------------------- /images/abc_text_select_handle_right_mtrl_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/abc_text_select_handle_right_mtrl_light.png -------------------------------------------------------------------------------- /images/bg_loading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/bg_loading.png -------------------------------------------------------------------------------- /images/bg_my_loyal_tix_detail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/bg_my_loyal_tix_detail.png -------------------------------------------------------------------------------- /images/bg_profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/bg_profile.png -------------------------------------------------------------------------------- /images/bg_rating_dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/bg_rating_dialog.png -------------------------------------------------------------------------------- /images/btn_back_common.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/btn_back_common.png -------------------------------------------------------------------------------- /images/btn_more_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/btn_more_home.png -------------------------------------------------------------------------------- /images/btn_play_moviedetail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/btn_play_moviedetail.png -------------------------------------------------------------------------------- /images/button_view_qr_code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/button_view_qr_code.png -------------------------------------------------------------------------------- /images/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/close.png -------------------------------------------------------------------------------- /images/design_ic_visibility.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/design_ic_visibility.png -------------------------------------------------------------------------------- /images/design_ic_visibility_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/design_ic_visibility_off.png -------------------------------------------------------------------------------- /images/empty_movie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/empty_movie.png -------------------------------------------------------------------------------- /images/exo_edit_mode_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/exo_edit_mode_logo.png -------------------------------------------------------------------------------- /images/ic_active_ticket_state_info_tooltip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_active_ticket_state_info_tooltip.png -------------------------------------------------------------------------------- /images/ic_already_shown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_already_shown.png -------------------------------------------------------------------------------- /images/ic_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_arrow.png -------------------------------------------------------------------------------- /images/ic_arrow_back_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_arrow_back_white_24dp.png -------------------------------------------------------------------------------- /images/ic_arrow_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_arrow_down.png -------------------------------------------------------------------------------- /images/ic_arrow_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_arrow_up.png -------------------------------------------------------------------------------- /images/ic_bg_dialog_qrcode_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_bg_dialog_qrcode_bottom.png -------------------------------------------------------------------------------- /images/ic_bg_dialog_qrcode_bottom_samll.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_bg_dialog_qrcode_bottom_samll.png -------------------------------------------------------------------------------- /images/ic_bg_dialog_qrcode_middle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_bg_dialog_qrcode_middle.png -------------------------------------------------------------------------------- /images/ic_bg_dialog_qrcode_middle_samll.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_bg_dialog_qrcode_middle_samll.png -------------------------------------------------------------------------------- /images/ic_bg_dialog_qrcode_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_bg_dialog_qrcode_top.png -------------------------------------------------------------------------------- /images/ic_bg_dialog_qrcode_top_samll.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_bg_dialog_qrcode_top_samll.png -------------------------------------------------------------------------------- /images/ic_bg_invitation_code_detail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_bg_invitation_code_detail.png -------------------------------------------------------------------------------- /images/ic_bg_invite_code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_bg_invite_code.png -------------------------------------------------------------------------------- /images/ic_bg_qr_code_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_bg_qr_code_bottom.png -------------------------------------------------------------------------------- /images/ic_bg_qr_code_middle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_bg_qr_code_middle.png -------------------------------------------------------------------------------- /images/ic_bg_qr_code_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_bg_qr_code_top.png -------------------------------------------------------------------------------- /images/ic_bottom_overscroll_edge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_bottom_overscroll_edge.png -------------------------------------------------------------------------------- /images/ic_bottom_overscroll_glow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_bottom_overscroll_glow.png -------------------------------------------------------------------------------- /images/ic_btn_back_moviedetail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_btn_back_moviedetail.png -------------------------------------------------------------------------------- /images/ic_btn_email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_btn_email.png -------------------------------------------------------------------------------- /images/ic_btn_telepon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_btn_telepon.png -------------------------------------------------------------------------------- /images/ic_buy_ticket_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_buy_ticket_disable.png -------------------------------------------------------------------------------- /images/ic_buy_ticket_enable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_buy_ticket_enable.png -------------------------------------------------------------------------------- /images/ic_check_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_check_round.png -------------------------------------------------------------------------------- /images/ic_checkbox_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_checkbox_checked.png -------------------------------------------------------------------------------- /images/ic_checkbox_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_checkbox_unchecked.png -------------------------------------------------------------------------------- /images/ic_chevron_right_grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_chevron_right_grey.png -------------------------------------------------------------------------------- /images/ic_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_close.png -------------------------------------------------------------------------------- /images/ic_close_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_close_black.png -------------------------------------------------------------------------------- /images/ic_close_btn_pay_detail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_close_btn_pay_detail.png -------------------------------------------------------------------------------- /images/ic_close_qrcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_close_qrcode.png -------------------------------------------------------------------------------- /images/ic_close_warning_notice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_close_warning_notice.png -------------------------------------------------------------------------------- /images/ic_content_like.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_content_like.png -------------------------------------------------------------------------------- /images/ic_content_liked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_content_liked.png -------------------------------------------------------------------------------- /images/ic_content_view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_content_view.png -------------------------------------------------------------------------------- /images/ic_current_ticket_status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_current_ticket_status.png -------------------------------------------------------------------------------- /images/ic_dana.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_dana.png -------------------------------------------------------------------------------- /images/ic_dana_with_text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_dana_with_text.png -------------------------------------------------------------------------------- /images/ic_default_btn_back_moviedetail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_default_btn_back_moviedetail.png -------------------------------------------------------------------------------- /images/ic_dialog_failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_dialog_failed.png -------------------------------------------------------------------------------- /images/ic_dialog_success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_dialog_success.png -------------------------------------------------------------------------------- /images/ic_dolby_atmos_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_dolby_atmos_black.png -------------------------------------------------------------------------------- /images/ic_dolby_atmos_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_dolby_atmos_white.png -------------------------------------------------------------------------------- /images/ic_download_qrcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_download_qrcode.png -------------------------------------------------------------------------------- /images/ic_drop_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_drop_selected.png -------------------------------------------------------------------------------- /images/ic_edit_dot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_edit_dot.png -------------------------------------------------------------------------------- /images/ic_expired_promo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_expired_promo.png -------------------------------------------------------------------------------- /images/ic_failed_alert_popup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_failed_alert_popup.png -------------------------------------------------------------------------------- /images/ic_failed_ticket_status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_failed_ticket_status.png -------------------------------------------------------------------------------- /images/ic_favorite_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_favorite_off.png -------------------------------------------------------------------------------- /images/ic_favorite_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_favorite_on.png -------------------------------------------------------------------------------- /images/ic_favorite_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_favorite_play.png -------------------------------------------------------------------------------- /images/ic_go_my_invitation_code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_go_my_invitation_code.png -------------------------------------------------------------------------------- /images/ic_got_point.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_got_point.png -------------------------------------------------------------------------------- /images/ic_hide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_hide.png -------------------------------------------------------------------------------- /images/ic_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_home.png -------------------------------------------------------------------------------- /images/ic_home_drop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_home_drop.png -------------------------------------------------------------------------------- /images/ic_home_drop_collapse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_home_drop_collapse.png -------------------------------------------------------------------------------- /images/ic_home_page_more_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_home_page_more_button.png -------------------------------------------------------------------------------- /images/ic_home_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_home_refresh.png -------------------------------------------------------------------------------- /images/ic_home_refresh_v2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_home_refresh_v2.png -------------------------------------------------------------------------------- /images/ic_how_qrcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_how_qrcode.png -------------------------------------------------------------------------------- /images/ic_img_update_eng.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_img_update_eng.png -------------------------------------------------------------------------------- /images/ic_img_update_id.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_img_update_id.png -------------------------------------------------------------------------------- /images/ic_input_your_code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_input_your_code.png -------------------------------------------------------------------------------- /images/ic_invitation_code_homepage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_invitation_code_homepage.png -------------------------------------------------------------------------------- /images/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_launcher.png -------------------------------------------------------------------------------- /images/ic_level_coming_soon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_level_coming_soon.png -------------------------------------------------------------------------------- /images/ic_level_silver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_level_silver.png -------------------------------------------------------------------------------- /images/ic_location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_location.png -------------------------------------------------------------------------------- /images/ic_location_gray_covered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_location_gray_covered.png -------------------------------------------------------------------------------- /images/ic_lock_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_lock_white.png -------------------------------------------------------------------------------- /images/ic_loyaltix_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_loyaltix_logo.png -------------------------------------------------------------------------------- /images/ic_loyalty_radiobutton_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_loyalty_radiobutton_selected.png -------------------------------------------------------------------------------- /images/ic_loyalty_radiobutton_unselected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_loyalty_radiobutton_unselected.png -------------------------------------------------------------------------------- /images/ic_maintenance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_maintenance.png -------------------------------------------------------------------------------- /images/ic_map_cinema_detail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_map_cinema_detail.png -------------------------------------------------------------------------------- /images/ic_map_detail_ordertiket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_map_detail_ordertiket.png -------------------------------------------------------------------------------- /images/ic_mastercard_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_mastercard_icon.png -------------------------------------------------------------------------------- /images/ic_multiply.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_multiply.png -------------------------------------------------------------------------------- /images/ic_nearby.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_nearby.png -------------------------------------------------------------------------------- /images/ic_no_favourite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_no_favourite.png -------------------------------------------------------------------------------- /images/ic_no_voucher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_no_voucher.png -------------------------------------------------------------------------------- /images/ic_not_start_ticket_status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_not_start_ticket_status.png -------------------------------------------------------------------------------- /images/ic_notif_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_notif_logo.png -------------------------------------------------------------------------------- /images/ic_notification_type_announcement.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_notification_type_announcement.png -------------------------------------------------------------------------------- /images/ic_notification_type_loyalty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_notification_type_loyalty.png -------------------------------------------------------------------------------- /images/ic_notification_type_promo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_notification_type_promo.png -------------------------------------------------------------------------------- /images/ic_notification_type_transaction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_notification_type_transaction.png -------------------------------------------------------------------------------- /images/ic_notification_type_voucher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_notification_type_voucher.png -------------------------------------------------------------------------------- /images/ic_order_loading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_order_loading.png -------------------------------------------------------------------------------- /images/ic_os_notification_fallback_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_os_notification_fallback_white_24dp.png -------------------------------------------------------------------------------- /images/ic_paper_ordertiket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_paper_ordertiket.png -------------------------------------------------------------------------------- /images/ic_payment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_payment.png -------------------------------------------------------------------------------- /images/ic_payment_failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_payment_failed.png -------------------------------------------------------------------------------- /images/ic_payment_internet_issue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_payment_internet_issue.png -------------------------------------------------------------------------------- /images/ic_phone_cinmea_detail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_phone_cinmea_detail.png -------------------------------------------------------------------------------- /images/ic_placeholder_home_now_playing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_placeholder_home_now_playing.png -------------------------------------------------------------------------------- /images/ic_placeholder_home_promo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_placeholder_home_promo.png -------------------------------------------------------------------------------- /images/ic_placeholder_home_spotlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_placeholder_home_spotlight.png -------------------------------------------------------------------------------- /images/ic_placeholder_home_tix_now.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_placeholder_home_tix_now.png -------------------------------------------------------------------------------- /images/ic_placeholder_home_trailer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_placeholder_home_trailer.png -------------------------------------------------------------------------------- /images/ic_placeholder_movie_detail_movie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_placeholder_movie_detail_movie.png -------------------------------------------------------------------------------- /images/ic_placeholder_movie_detail_video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_placeholder_movie_detail_video.png -------------------------------------------------------------------------------- /images/ic_placeholder_news_detail_banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_placeholder_news_detail_banner.png -------------------------------------------------------------------------------- /images/ic_placeholder_news_detail_reladted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_placeholder_news_detail_reladted.png -------------------------------------------------------------------------------- /images/ic_placeholder_tix_now_banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_placeholder_tix_now_banner.png -------------------------------------------------------------------------------- /images/ic_placeholder_tix_now_movie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_placeholder_tix_now_movie.png -------------------------------------------------------------------------------- /images/ic_placeholder_tix_now_promo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_placeholder_tix_now_promo.png -------------------------------------------------------------------------------- /images/ic_play_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_play_dark.png -------------------------------------------------------------------------------- /images/ic_points_homepage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_points_homepage.png -------------------------------------------------------------------------------- /images/ic_points_loyaltix_detail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_points_loyaltix_detail.png -------------------------------------------------------------------------------- /images/ic_redeem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_redeem.png -------------------------------------------------------------------------------- /images/ic_redeem_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_redeem_disable.png -------------------------------------------------------------------------------- /images/ic_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_refresh.png -------------------------------------------------------------------------------- /images/ic_refresh_failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_refresh_failed.png -------------------------------------------------------------------------------- /images/ic_refresh_success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_refresh_success.png -------------------------------------------------------------------------------- /images/ic_refresh_v2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_refresh_v2.png -------------------------------------------------------------------------------- /images/ic_refund_failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_refund_failed.png -------------------------------------------------------------------------------- /images/ic_refund_success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_refund_success.png -------------------------------------------------------------------------------- /images/ic_refunded_success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_refunded_success.png -------------------------------------------------------------------------------- /images/ic_rotate_icon_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_rotate_icon_down.png -------------------------------------------------------------------------------- /images/ic_screen_rotation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_screen_rotation.png -------------------------------------------------------------------------------- /images/ic_seats_waiting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_seats_waiting.png -------------------------------------------------------------------------------- /images/ic_selected_payment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_selected_payment.png -------------------------------------------------------------------------------- /images/ic_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_settings.png -------------------------------------------------------------------------------- /images/ic_share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_share.png -------------------------------------------------------------------------------- /images/ic_show.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_show.png -------------------------------------------------------------------------------- /images/ic_spent_point.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_spent_point.png -------------------------------------------------------------------------------- /images/ic_status_bar_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_status_bar_white.png -------------------------------------------------------------------------------- /images/ic_success_alert_popup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_success_alert_popup.png -------------------------------------------------------------------------------- /images/ic_theater_search_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_theater_search_dark.png -------------------------------------------------------------------------------- /images/ic_theater_search_grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_theater_search_grey.png -------------------------------------------------------------------------------- /images/ic_ticket_gray_covered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_ticket_gray_covered.png -------------------------------------------------------------------------------- /images/ic_timeout_alert_popup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_timeout_alert_popup.png -------------------------------------------------------------------------------- /images/ic_top_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_top_up.png -------------------------------------------------------------------------------- /images/ic_transaction_failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_transaction_failed.png -------------------------------------------------------------------------------- /images/ic_transaction_success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_transaction_success.png -------------------------------------------------------------------------------- /images/ic_triangle_drop_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_triangle_drop_down.png -------------------------------------------------------------------------------- /images/ic_triangle_drop_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_triangle_drop_up.png -------------------------------------------------------------------------------- /images/ic_unfavorite_theatre_movie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_unfavorite_theatre_movie.png -------------------------------------------------------------------------------- /images/ic_unselected_payment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_unselected_payment.png -------------------------------------------------------------------------------- /images/ic_visa_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_visa_icon.png -------------------------------------------------------------------------------- /images/ic_voucher_shape_used.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_voucher_shape_used.png -------------------------------------------------------------------------------- /images/ic_voucher_tag_expired.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_voucher_tag_expired.png -------------------------------------------------------------------------------- /images/ic_voucher_tag_used.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_voucher_tag_used.png -------------------------------------------------------------------------------- /images/ic_wait_seat_process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_wait_seat_process.png -------------------------------------------------------------------------------- /images/ic_waiting_seats_page_transaction_success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_waiting_seats_page_transaction_success.png -------------------------------------------------------------------------------- /images/ic_waiting_seats_page_waiting_seats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_waiting_seats_page_waiting_seats.png -------------------------------------------------------------------------------- /images/ic_warning_notice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_warning_notice.png -------------------------------------------------------------------------------- /images/ic_warning_notice_gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_warning_notice_gray.png -------------------------------------------------------------------------------- /images/ic_what_its.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ic_what_its.png -------------------------------------------------------------------------------- /images/ico_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ico_close.png -------------------------------------------------------------------------------- /images/ico_close_video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ico_close_video.png -------------------------------------------------------------------------------- /images/ico_coming_soon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ico_coming_soon.png -------------------------------------------------------------------------------- /images/ico_favourite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ico_favourite.png -------------------------------------------------------------------------------- /images/ico_glide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ico_glide.png -------------------------------------------------------------------------------- /images/ico_like.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ico_like.png -------------------------------------------------------------------------------- /images/ico_likenum_int.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ico_likenum_int.png -------------------------------------------------------------------------------- /images/ico_noti_top_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ico_noti_top_home.png -------------------------------------------------------------------------------- /images/ico_now_playing_empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ico_now_playing_empty.png -------------------------------------------------------------------------------- /images/ico_page_view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ico_page_view.png -------------------------------------------------------------------------------- /images/ico_points.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ico_points.png -------------------------------------------------------------------------------- /images/ico_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ico_refresh.png -------------------------------------------------------------------------------- /images/ico_shop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ico_shop.png -------------------------------------------------------------------------------- /images/ico_success_voucher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ico_success_voucher.png -------------------------------------------------------------------------------- /images/ico_voucher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/ico_voucher.png -------------------------------------------------------------------------------- /images/icon_cinema_moviedetail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/icon_cinema_moviedetail.png -------------------------------------------------------------------------------- /images/icon_location_pulltheater.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/icon_location_pulltheater.png -------------------------------------------------------------------------------- /images/icon_loyal_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/icon_loyal_normal.png -------------------------------------------------------------------------------- /images/icon_loyal_silver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/icon_loyal_silver.png -------------------------------------------------------------------------------- /images/icon_pulldown_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/icon_pulldown_down.png -------------------------------------------------------------------------------- /images/icon_schedule_next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/icon_schedule_next.png -------------------------------------------------------------------------------- /images/icon_theater.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/icon_theater.png -------------------------------------------------------------------------------- /images/icon_ticket_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/icon_ticket_selected.png -------------------------------------------------------------------------------- /images/icon_ticket_unselected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/icon_ticket_unselected.png -------------------------------------------------------------------------------- /images/img_active_ticket_state_info_processing_refund.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/img_active_ticket_state_info_processing_refund.png -------------------------------------------------------------------------------- /images/img_active_ticket_state_info_refund_failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/img_active_ticket_state_info_refund_failed.png -------------------------------------------------------------------------------- /images/img_active_ticket_state_info_refund_success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/img_active_ticket_state_info_refund_success.png -------------------------------------------------------------------------------- /images/img_active_ticket_state_info_thankyou_payment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/img_active_ticket_state_info_thankyou_payment.png -------------------------------------------------------------------------------- /images/img_active_ticket_state_info_transaction_failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/img_active_ticket_state_info_transaction_failed.png -------------------------------------------------------------------------------- /images/img_active_ticket_state_info_transaction_success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/img_active_ticket_state_info_transaction_success.png -------------------------------------------------------------------------------- /images/img_cinema_empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/img_cinema_empty.png -------------------------------------------------------------------------------- /images/img_empty_mytiket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/img_empty_mytiket.png -------------------------------------------------------------------------------- /images/img_empty_selectseat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/img_empty_selectseat.png -------------------------------------------------------------------------------- /images/img_end_resister.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/img_end_resister.png -------------------------------------------------------------------------------- /images/img_error_system_payment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/img_error_system_payment.png -------------------------------------------------------------------------------- /images/img_homepage_tooltip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/img_homepage_tooltip.png -------------------------------------------------------------------------------- /images/img_location_empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/img_location_empty.png -------------------------------------------------------------------------------- /images/img_loyaltix_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/img_loyaltix_bg.png -------------------------------------------------------------------------------- /images/img_no_notificatin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/img_no_notificatin.png -------------------------------------------------------------------------------- /images/img_not_have_transaction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/img_not_have_transaction.png -------------------------------------------------------------------------------- /images/img_popup_alert_waitingseats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/img_popup_alert_waitingseats.png -------------------------------------------------------------------------------- /images/img_refund_failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/img_refund_failed.png -------------------------------------------------------------------------------- /images/img_seat_popup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/img_seat_popup.png -------------------------------------------------------------------------------- /images/img_update_app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/img_update_app.png -------------------------------------------------------------------------------- /images/left_corner_btn_buyticket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/left_corner_btn_buyticket.png -------------------------------------------------------------------------------- /images/logo_beta_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/logo_beta_light.png -------------------------------------------------------------------------------- /images/logo_dark_beta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/logo_dark_beta.png -------------------------------------------------------------------------------- /images/logo_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/logo_home.png -------------------------------------------------------------------------------- /images/loyaltix_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/loyaltix_logo.png -------------------------------------------------------------------------------- /images/movie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/movie.png -------------------------------------------------------------------------------- /images/off_ico_cinema_menu_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/off_ico_cinema_menu_top.png -------------------------------------------------------------------------------- /images/off_ico_movies_menu_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/off_ico_movies_menu_top.png -------------------------------------------------------------------------------- /images/off_ico_ticket_menu_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/off_ico_ticket_menu_top.png -------------------------------------------------------------------------------- /images/on_ico_mytix_menu_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/on_ico_mytix_menu_top.png -------------------------------------------------------------------------------- /images/oval_showcase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/oval_showcase.png -------------------------------------------------------------------------------- /images/paper_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/paper_blue.png -------------------------------------------------------------------------------- /images/paper_gold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/paper_gold.png -------------------------------------------------------------------------------- /images/paper_grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/paper_grey.png -------------------------------------------------------------------------------- /images/right_corner_btn_buyticket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/right_corner_btn_buyticket.png -------------------------------------------------------------------------------- /images/share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/share.png -------------------------------------------------------------------------------- /images/share_now.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/share_now.png -------------------------------------------------------------------------------- /images/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/images/success.png -------------------------------------------------------------------------------- /ios/Flutter/AppFrameworkInfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | App 9 | CFBundleIdentifier 10 | io.flutter.flutter.app 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | App 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | MinimumOSVersion 24 | 8.0 25 | 26 | 27 | -------------------------------------------------------------------------------- /ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /ios/Flutter/Generated.xcconfig: -------------------------------------------------------------------------------- 1 | // This is a generated file; do not edit or check into version control. 2 | FLUTTER_ROOT=/Users/anggitprayogo/Flutter/sdk/flutter 3 | FLUTTER_APPLICATION_PATH=/Users/anggitprayogo/Flutter/tix_app 4 | FLUTTER_TARGET=lib/main.dart 5 | FLUTTER_BUILD_DIR=build 6 | SYMROOT=${SOURCE_ROOT}/../build/ios 7 | FLUTTER_FRAMEWORK_DIR=/Users/anggitprayogo/Flutter/sdk/flutter/bin/cache/artifacts/engine/ios 8 | FLUTTER_BUILD_NAME=1.0.0 9 | FLUTTER_BUILD_NUMBER=1 10 | -------------------------------------------------------------------------------- /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/xcshareddata/xcschemes/Runner.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 31 | 32 | 33 | 34 | 40 | 41 | 42 | 43 | 44 | 45 | 56 | 58 | 64 | 65 | 66 | 67 | 68 | 69 | 75 | 77 | 83 | 84 | 85 | 86 | 88 | 89 | 92 | 93 | 94 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /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: [UIApplicationLaunchOptionsKey: Any]? 9 | ) -> Bool { 10 | GeneratedPluginRegistrant.register(with: self) 11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "size" : "20x20", 5 | "idiom" : "iphone", 6 | "filename" : "Icon-App-20x20@2x.png", 7 | "scale" : "2x" 8 | }, 9 | { 10 | "size" : "20x20", 11 | "idiom" : "iphone", 12 | "filename" : "Icon-App-20x20@3x.png", 13 | "scale" : "3x" 14 | }, 15 | { 16 | "size" : "29x29", 17 | "idiom" : "iphone", 18 | "filename" : "Icon-App-29x29@1x.png", 19 | "scale" : "1x" 20 | }, 21 | { 22 | "size" : "29x29", 23 | "idiom" : "iphone", 24 | "filename" : "Icon-App-29x29@2x.png", 25 | "scale" : "2x" 26 | }, 27 | { 28 | "size" : "29x29", 29 | "idiom" : "iphone", 30 | "filename" : "Icon-App-29x29@3x.png", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "size" : "40x40", 35 | "idiom" : "iphone", 36 | "filename" : "Icon-App-40x40@2x.png", 37 | "scale" : "2x" 38 | }, 39 | { 40 | "size" : "40x40", 41 | "idiom" : "iphone", 42 | "filename" : "Icon-App-40x40@3x.png", 43 | "scale" : "3x" 44 | }, 45 | { 46 | "size" : "60x60", 47 | "idiom" : "iphone", 48 | "filename" : "Icon-App-60x60@2x.png", 49 | "scale" : "2x" 50 | }, 51 | { 52 | "size" : "60x60", 53 | "idiom" : "iphone", 54 | "filename" : "Icon-App-60x60@3x.png", 55 | "scale" : "3x" 56 | }, 57 | { 58 | "size" : "20x20", 59 | "idiom" : "ipad", 60 | "filename" : "Icon-App-20x20@1x.png", 61 | "scale" : "1x" 62 | }, 63 | { 64 | "size" : "20x20", 65 | "idiom" : "ipad", 66 | "filename" : "Icon-App-20x20@2x.png", 67 | "scale" : "2x" 68 | }, 69 | { 70 | "size" : "29x29", 71 | "idiom" : "ipad", 72 | "filename" : "Icon-App-29x29@1x.png", 73 | "scale" : "1x" 74 | }, 75 | { 76 | "size" : "29x29", 77 | "idiom" : "ipad", 78 | "filename" : "Icon-App-29x29@2x.png", 79 | "scale" : "2x" 80 | }, 81 | { 82 | "size" : "40x40", 83 | "idiom" : "ipad", 84 | "filename" : "Icon-App-40x40@1x.png", 85 | "scale" : "1x" 86 | }, 87 | { 88 | "size" : "40x40", 89 | "idiom" : "ipad", 90 | "filename" : "Icon-App-40x40@2x.png", 91 | "scale" : "2x" 92 | }, 93 | { 94 | "size" : "76x76", 95 | "idiom" : "ipad", 96 | "filename" : "Icon-App-76x76@1x.png", 97 | "scale" : "1x" 98 | }, 99 | { 100 | "size" : "76x76", 101 | "idiom" : "ipad", 102 | "filename" : "Icon-App-76x76@2x.png", 103 | "scale" : "2x" 104 | }, 105 | { 106 | "size" : "83.5x83.5", 107 | "idiom" : "ipad", 108 | "filename" : "Icon-App-83.5x83.5@2x.png", 109 | "scale" : "2x" 110 | }, 111 | { 112 | "size" : "1024x1024", 113 | "idiom" : "ios-marketing", 114 | "filename" : "Icon-App-1024x1024@1x.png", 115 | "scale" : "1x" 116 | } 117 | ], 118 | "info" : { 119 | "version" : 1, 120 | "author" : "xcode" 121 | } 122 | } 123 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/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/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/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/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/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/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/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/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/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/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/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/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/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/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/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/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/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/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/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/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/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/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/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/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/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/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/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/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/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/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/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/GeneratedPluginRegistrant.h: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | #ifndef GeneratedPluginRegistrant_h 6 | #define GeneratedPluginRegistrant_h 7 | 8 | #import 9 | 10 | @interface GeneratedPluginRegistrant : NSObject 11 | + (void)registerWithRegistry:(NSObject*)registry; 12 | @end 13 | 14 | #endif /* GeneratedPluginRegistrant_h */ 15 | -------------------------------------------------------------------------------- /ios/Runner/GeneratedPluginRegistrant.m: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | #import "GeneratedPluginRegistrant.h" 6 | 7 | @implementation GeneratedPluginRegistrant 8 | 9 | + (void)registerWithRegistry:(NSObject*)registry { 10 | } 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /ios/Runner/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | tix_app 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" -------------------------------------------------------------------------------- /lib/main.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import 'views/splash_screen.dart'; 4 | 5 | main() => runApp(TixApp()); 6 | 7 | class TixApp extends StatelessWidget { 8 | @override 9 | Widget build(BuildContext context) { 10 | return MaterialApp( 11 | title: "Tix Clone", 12 | theme: ThemeData(fontFamily: "sfui"), 13 | home: SplashScreen(), 14 | ); 15 | } 16 | } -------------------------------------------------------------------------------- /lib/src/blocs/genres_bloc.dart: -------------------------------------------------------------------------------- 1 | import 'package:tix_app/src/resources/repository.dart'; 2 | import 'package:rxdart/rxdart.dart'; 3 | import 'package:tix_app/src/models/genre_models.dart'; 4 | import 'package:tix_app/src/models/genre_detail_model.dart'; 5 | 6 | class GenreBloc{ 7 | 8 | final _repository = Repository(); 9 | final _genreApiFetcher = PublishSubject(); 10 | Observable get genres => _genreApiFetcher.stream; 11 | 12 | final _genreDetailFetcher = PublishSubject(); 13 | Observable get genreDetail => _genreDetailFetcher.stream; 14 | 15 | 16 | fetchAllGenres() async{ 17 | Genre response = await _repository.fetchAllGenres(); 18 | _genreApiFetcher.sink.add(response); 19 | } 20 | 21 | fetchGenreDetail(String id) async{ 22 | GenreDetail response = await _repository.fetchDetailGenre(id); 23 | _genreDetailFetcher.sink.add(response); 24 | } 25 | 26 | dispose(){ 27 | _genreApiFetcher.close(); 28 | _genreDetailFetcher.close(); 29 | } 30 | } 31 | 32 | final GenreBloc genreBloc = GenreBloc(); -------------------------------------------------------------------------------- /lib/src/blocs/now_playing_bloc.dart: -------------------------------------------------------------------------------- 1 | import 'package:tix_app/src/resources/repository.dart'; 2 | import 'package:rxdart/rxdart.dart'; 3 | import 'package:tix_app/src/models/now_playing_models.dart'; 4 | import 'package:tix_app/src/models/genre_models.dart'; 5 | 6 | class NowPlayingBloc { 7 | final _repository = Repository(); 8 | final _nowPlayingFetcher = BehaviorSubject(); 9 | final _popularMovie = BehaviorSubject(); 10 | 11 | Observable get nowPlaying => _nowPlayingFetcher.stream; 12 | Observable get moviePopular => _popularMovie.stream; 13 | 14 | fetchNowPlayingMovies() async { 15 | NowPlayingMovies response = await _repository.fetchNowPlaying(); 16 | Genre responseGenres = await _repository.fetchAllGenres(); 17 | 18 | response.results.forEach((result) { 19 | result.genreIds.forEach((idGenre) { 20 | String genreName = ""; 21 | responseGenres.genres.forEach((item){ 22 | if(idGenre == item.id){ 23 | genreName += item.name; 24 | } 25 | }); 26 | result.genresNames = genreName; 27 | }); 28 | }); 29 | _nowPlayingFetcher.sink.add(response); 30 | } 31 | 32 | 33 | fetchPopularMovie() async{ 34 | NowPlayingMovies response = await _repository.fetchNowPlaying(); 35 | Genre responseGenres = await _repository.fetchAllGenres(); 36 | 37 | response.results.forEach((result) { 38 | result.genreIds.forEach((idGenre) { 39 | String genreName = ""; 40 | responseGenres.genres.forEach((item){ 41 | if(idGenre == item.id){ 42 | genreName += item.name; 43 | } 44 | }); 45 | result.genresNames = genreName; 46 | }); 47 | }); 48 | _popularMovie.sink.add(response); 49 | } 50 | 51 | dispose() { 52 | _nowPlayingFetcher.close(); 53 | _popularMovie.close(); 54 | } 55 | } 56 | 57 | final bloc = NowPlayingBloc(); 58 | -------------------------------------------------------------------------------- /lib/src/config.dart: -------------------------------------------------------------------------------- 1 | class ConfigApiGlobals{ 2 | String _baseUrl = "https://api.themoviedb.org/3/"; 3 | String get baseUrl => _baseUrl; 4 | 5 | String _apiKey = "00fadd6af89412de4c1a3ecd7fe631f6"; 6 | String get apiKey => _apiKey; 7 | } 8 | 9 | class RegionApiGlobals{ 10 | String _id = "ID"; 11 | String _en = "EN"; 12 | String _fr = "FR"; 13 | String _sg = "SG"; 14 | 15 | String get id => _id; 16 | 17 | String get en => _en; 18 | 19 | String get fr => _fr; 20 | 21 | String get sg => _sg; 22 | } -------------------------------------------------------------------------------- /lib/src/models/genre_detail_model.dart: -------------------------------------------------------------------------------- 1 | // To parse this JSON data, do 2 | // 3 | // final genreDetail = genreDetailFromJson(jsonString); 4 | 5 | import 'dart:convert'; 6 | 7 | GenreDetail genreDetailFromJson(String str) => GenreDetail.fromJson(json.decode(str)); 8 | 9 | String genreDetailToJson(GenreDetail data) => json.encode(data.toJson()); 10 | 11 | class GenreDetail { 12 | int id; 13 | String name; 14 | 15 | GenreDetail({ 16 | this.id, 17 | this.name, 18 | }); 19 | 20 | factory GenreDetail.fromJson(Map json) => new GenreDetail( 21 | id: json["id"], 22 | name: json["name"], 23 | ); 24 | 25 | Map toJson() => { 26 | "id": id, 27 | "name": name, 28 | }; 29 | } -------------------------------------------------------------------------------- /lib/src/models/genre_models.dart: -------------------------------------------------------------------------------- 1 | // To parse this JSON data, do 2 | // 3 | // final genre = genreFromJson(jsonString); 4 | 5 | import 'dart:convert'; 6 | 7 | Genre genreFromJson(String str) => Genre.fromJson(json.decode(str)); 8 | 9 | String genreToJson(Genre data) => json.encode(data.toJson()); 10 | 11 | class Genre { 12 | List genres; 13 | 14 | Genre({ 15 | this.genres, 16 | }); 17 | 18 | factory Genre.fromJson(Map json) => new Genre( 19 | genres: new List.from(json["genres"].map((x) => GenreElement.fromJson(x))), 20 | ); 21 | 22 | Map toJson() => { 23 | "genres": new List.from(genres.map((x) => x.toJson())), 24 | }; 25 | } 26 | 27 | class GenreElement { 28 | int id; 29 | String name; 30 | 31 | GenreElement({ 32 | this.id, 33 | this.name, 34 | }); 35 | 36 | factory GenreElement.fromJson(Map json) => new GenreElement( 37 | id: json["id"], 38 | name: json["name"], 39 | ); 40 | 41 | Map toJson() => { 42 | "id": id, 43 | "name": name, 44 | }; 45 | } -------------------------------------------------------------------------------- /lib/src/models/now_playing_models.dart: -------------------------------------------------------------------------------- 1 | // To parse this JSON data, do 2 | // 3 | // final nowPlayingMovies = nowPlayingMoviesFromJson(jsonString); 4 | 5 | import 'dart:convert'; 6 | 7 | NowPlayingMovies nowPlayingMoviesFromJson(String str) => NowPlayingMovies.fromJson(json.decode(str)); 8 | 9 | String nowPlayingMoviesToJson(NowPlayingMovies data) => json.encode(data.toJson()); 10 | 11 | class NowPlayingMovies { 12 | List results; 13 | int page; 14 | int totalResults; 15 | Dates dates; 16 | int totalPages; 17 | 18 | NowPlayingMovies({ 19 | this.results, 20 | this.page, 21 | this.totalResults, 22 | this.dates, 23 | this.totalPages, 24 | }); 25 | 26 | factory NowPlayingMovies.fromJson(Map json) => new NowPlayingMovies( 27 | results: new List.from(json["results"].map((x) => Result.fromJson(x))), 28 | page: json["page"], 29 | totalResults: json["total_results"], 30 | dates: Dates.fromJson(json["dates"]), 31 | totalPages: json["total_pages"], 32 | ); 33 | 34 | Map toJson() => { 35 | "results": new List.from(results.map((x) => x.toJson())), 36 | "page": page, 37 | "total_results": totalResults, 38 | "dates": dates.toJson(), 39 | "total_pages": totalPages, 40 | }; 41 | } 42 | 43 | class Dates { 44 | DateTime maximum; 45 | DateTime minimum; 46 | 47 | Dates({ 48 | this.maximum, 49 | this.minimum, 50 | }); 51 | 52 | factory Dates.fromJson(Map json) => new Dates( 53 | maximum: DateTime.parse(json["maximum"]), 54 | minimum: DateTime.parse(json["minimum"]), 55 | ); 56 | 57 | Map toJson() => { 58 | "maximum": "${maximum.year.toString().padLeft(4, '0')}-${maximum.month.toString().padLeft(2, '0')}-${maximum.day.toString().padLeft(2, '0')}", 59 | "minimum": "${minimum.year.toString().padLeft(4, '0')}-${minimum.month.toString().padLeft(2, '0')}-${minimum.day.toString().padLeft(2, '0')}", 60 | }; 61 | } 62 | 63 | class Result { 64 | int voteCount; 65 | int id; 66 | bool video; 67 | double voteAverage; 68 | String title; 69 | double popularity; 70 | String posterPath; 71 | OriginalLanguage originalLanguage; 72 | String originalTitle; 73 | List genreIds; 74 | String genresNames; 75 | String backdropPath; 76 | bool adult; 77 | String overview; 78 | DateTime releaseDate; 79 | 80 | Result({ 81 | this.voteCount, 82 | this.id, 83 | this.video, 84 | this.voteAverage, 85 | this.title, 86 | this.popularity, 87 | this.posterPath, 88 | this.originalLanguage, 89 | this.originalTitle, 90 | this.genreIds, 91 | this.backdropPath, 92 | this.adult, 93 | this.overview, 94 | this.releaseDate, 95 | this.genresNames, 96 | }); 97 | 98 | factory Result.fromJson(Map json) => new Result( 99 | voteCount: json["vote_count"], 100 | id: json["id"], 101 | video: json["video"], 102 | voteAverage: json["vote_average"].toDouble(), 103 | title: json["title"], 104 | popularity: json["popularity"].toDouble(), 105 | posterPath: json["poster_path"] == null ? null : json["poster_path"], 106 | originalLanguage: originalLanguageValues.map[json["original_language"]], 107 | originalTitle: json["original_title"], 108 | genreIds: new List.from(json["genre_ids"].map((x) => x)), 109 | backdropPath: json["backdrop_path"] == null ? null : json["backdrop_path"], 110 | adult: json["adult"], 111 | overview: json["overview"], 112 | releaseDate: DateTime.parse(json["release_date"]), 113 | ); 114 | 115 | Map toJson() => { 116 | "vote_count": voteCount, 117 | "id": id, 118 | "video": video, 119 | "vote_average": voteAverage, 120 | "title": title, 121 | "popularity": popularity, 122 | "poster_path": posterPath == null ? null : posterPath, 123 | "original_language": originalLanguageValues.reverse[originalLanguage], 124 | "original_title": originalTitle, 125 | "genre_ids": new List.from(genreIds.map((x) => x)), 126 | "genre_names": genresNames, 127 | "backdrop_path": backdropPath == null ? null : backdropPath, 128 | "adult": adult, 129 | "overview": overview, 130 | "release_date": "${releaseDate.year.toString().padLeft(4, '0')}-${releaseDate.month.toString().padLeft(2, '0')}-${releaseDate.day.toString().padLeft(2, '0')}", 131 | }; 132 | } 133 | 134 | enum OriginalLanguage { EN, HI, ID, JA } 135 | 136 | final originalLanguageValues = new EnumValues({ 137 | "en": OriginalLanguage.EN, 138 | "hi": OriginalLanguage.HI, 139 | "id": OriginalLanguage.ID, 140 | "ja": OriginalLanguage.JA 141 | }); 142 | 143 | class EnumValues { 144 | Map map; 145 | Map reverseMap; 146 | 147 | EnumValues(this.map); 148 | 149 | Map get reverse { 150 | if (reverseMap == null) { 151 | reverseMap = map.map((k, v) => new MapEntry(v, k)); 152 | } 153 | return reverseMap; 154 | } 155 | } 156 | -------------------------------------------------------------------------------- /lib/src/resources/genre_api_provider.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/foundation.dart'; 2 | import 'package:tix_app/src/config.dart'; 3 | import 'package:http/http.dart' show Client; 4 | import 'package:tix_app/src/models/genre_models.dart'; 5 | import 'package:tix_app/src/models/genre_detail_model.dart'; 6 | import 'dart:async'; 7 | 8 | class GenreApiProvider{ 9 | 10 | Client client = new Client(); 11 | var _url = "${ConfigApiGlobals().baseUrl}genre/movie/list?api_key=${ConfigApiGlobals().apiKey}®ion=${RegionApiGlobals().id}"; 12 | 13 | Future fetchAllGenres() async{ 14 | final response = await client.get(_url); 15 | if(response.statusCode == 200){ 16 | return compute(genreFromJson, response.body); 17 | }else{ 18 | throw Exception("Failed to load genres"); 19 | } 20 | } 21 | 22 | Future fetchDetailGenre(String id) async{ 23 | var _urlDetail = "${ConfigApiGlobals().baseUrl}genre/$id?api_key=${ConfigApiGlobals().apiKey}®ion=${RegionApiGlobals().id}"; 24 | final response = await client.get(_urlDetail); 25 | if(response.statusCode == 200){ 26 | return compute(genreDetailFromJson, response.body); 27 | }else{ 28 | throw Exception("Failed to load detail"); 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /lib/src/resources/movie_api_provider.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/foundation.dart'; 2 | import 'package:tix_app/src/config.dart'; 3 | import 'package:tix_app/src/models/now_playing_models.dart'; 4 | import 'package:http/http.dart' show Client; 5 | import 'dart:async'; 6 | 7 | class MovieApiProvider{ 8 | 9 | Client client = new Client(); 10 | 11 | var _urlNowPlaying = "${ConfigApiGlobals().baseUrl}movie/now_playing?api_key=${ConfigApiGlobals().apiKey}®ion=${RegionApiGlobals().id}"; 12 | var _urlPopular = "${ConfigApiGlobals().baseUrl}movie/popular?api_key=${ConfigApiGlobals().apiKey}®ion=${RegionApiGlobals().id}"; 13 | 14 | Future fetchMovieNowPlaying() async{ 15 | final response = await client.get(_urlNowPlaying); 16 | if(response.statusCode == 200){ 17 | return compute(nowPlayingMoviesFromJson,response.body); 18 | }else{ 19 | throw Exception("Failed to fetch data"); 20 | } 21 | } 22 | 23 | Future fetchMoviePopular() async{ 24 | final response = await client.get(_urlPopular); 25 | if(response.statusCode == 200){ 26 | return compute(nowPlayingMoviesFromJson, response.body); 27 | }else{ 28 | throw Exception("Failed to fetch popular movie"); 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /lib/src/resources/repository.dart: -------------------------------------------------------------------------------- 1 | import 'package:tix_app/src/models/now_playing_models.dart'; 2 | import 'package:tix_app/src/resources/genre_api_provider.dart'; 3 | import 'package:tix_app/src/resources/movie_api_provider.dart'; 4 | import 'package:tix_app/src/models/genre_models.dart'; 5 | import 'package:tix_app/src/models/genre_detail_model.dart'; 6 | import 'dart:async'; 7 | 8 | class Repository{ 9 | 10 | final _movieApiProvider = MovieApiProvider(); 11 | final _genreApiProvider = GenreApiProvider(); 12 | 13 | Future fetchNowPlaying() => _movieApiProvider.fetchMovieNowPlaying(); 14 | Future fetchPopularMovie() => _movieApiProvider.fetchMoviePopular(); 15 | 16 | Future fetchAllGenres() => _genreApiProvider.fetchAllGenres(); 17 | Future fetchDetailGenre(String id) => _genreApiProvider.fetchDetailGenre(id); 18 | } -------------------------------------------------------------------------------- /lib/views/cinemas_screen.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class CinemasScreen extends StatefulWidget { 4 | @override 5 | _CinemasScreenState createState() => _CinemasScreenState(); 6 | } 7 | 8 | class _CinemasScreenState extends State { 9 | @override 10 | Widget build(BuildContext context) { 11 | return Scaffold( 12 | body: Column( 13 | mainAxisAlignment: MainAxisAlignment.start, 14 | crossAxisAlignment: CrossAxisAlignment.start, 15 | children: [ 16 | _pickLocationCell(), 17 | _cinemasListCell(), 18 | ], 19 | )); 20 | } 21 | 22 | _pickLocationCell() { 23 | return Container( 24 | decoration: BoxDecoration(color: Color.fromRGBO(250, 250, 251, 1)), 25 | child: Padding( 26 | padding: const EdgeInsets.all(16), 27 | child: Row( 28 | children: [ 29 | Image.asset( 30 | "images/icon_location_pulltheater.png", 31 | fit: BoxFit.contain, 32 | width: 16, 33 | height: 16, 34 | ), 35 | Expanded( 36 | child: Padding( 37 | padding: const EdgeInsets.only(left: 10), 38 | child: Text( 39 | "JAKARTA", 40 | style: TextStyle( 41 | fontSize: 14, 42 | color: Colors.black, 43 | ), 44 | ), 45 | ), 46 | ), 47 | Image.asset( 48 | "images/ic_triangle_drop_down.png", 49 | width: 16, 50 | height: 16, 51 | ) 52 | ], 53 | ), 54 | ), 55 | ); 56 | } 57 | 58 | _cinemasListCell() { 59 | return Expanded( 60 | child: ListView( 61 | scrollDirection: Axis.vertical, 62 | children: [ 63 | _cinemasListItem(), 64 | Divider(), 65 | _cinemasListItem(), 66 | Divider(), 67 | _cinemasListItem(), 68 | Divider(), 69 | _cinemasListItem(), 70 | Divider(), 71 | _cinemasListItem(), 72 | Divider(), 73 | _cinemasListItem(), 74 | Divider(), 75 | _cinemasListItem(), 76 | Divider(), 77 | _cinemasListItem(), 78 | Divider(), 79 | _cinemasListItem(), 80 | Divider(), 81 | _cinemasListItem(), 82 | Divider(), 83 | ], 84 | ), 85 | ); 86 | } 87 | 88 | _cinemasListItem() { 89 | return ListTile( 90 | leading: Text( 91 | "AEON Mall BSD CITY XXI", 92 | maxLines: 1, 93 | style: TextStyle(color: Colors.black, fontSize: 14), 94 | ), 95 | trailing: Image.asset("images/ic_arrow.png", width: 14, height: 14,), 96 | ); 97 | } 98 | } 99 | -------------------------------------------------------------------------------- /lib/views/main_screen.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import 'movies_screen.dart'; 4 | import 'cinemas_screen.dart'; 5 | import 'tickets_screen.dart'; 6 | 7 | class MainScreen extends StatefulWidget { 8 | @override 9 | _MainScreenState createState() => _MainScreenState(); 10 | } 11 | 12 | class _MainScreenState extends State { 13 | var _cIndex = 0; 14 | 15 | List _children = [ 16 | MoviesScreen(), 17 | CinemasScreen(), 18 | TicketScreen(), 19 | ]; 20 | 21 | incrementTab(index) { 22 | setState(() { 23 | _cIndex = index; 24 | }); 25 | } 26 | 27 | @override 28 | Widget build(BuildContext context) { 29 | return Scaffold( 30 | backgroundColor: Colors.white, 31 | appBar: _appBar(), 32 | body: _bodyMain(), 33 | ); 34 | } 35 | 36 | Widget _appBar() { 37 | return AppBar( 38 | leading: Padding( 39 | padding: const EdgeInsets.all(8.0), 40 | child: Center( 41 | child: Text( 42 | "2.5K Point", 43 | style: TextStyle(color: Colors.black, fontSize: 12), 44 | )), 45 | ), 46 | title: Padding( 47 | padding: const EdgeInsets.all(8.0), 48 | child: Image.asset("images/logo_dark_beta.png"), 49 | ), 50 | backgroundColor: Colors.white, 51 | elevation: 1, 52 | centerTitle: true, 53 | actions: [ 54 | Image.asset( 55 | "images/ico_noti_top_home.png", 56 | width: 32, 57 | height: 32, 58 | fit: BoxFit.contain, 59 | ) 60 | ], 61 | ); 62 | } 63 | 64 | Widget _bodyMain() { 65 | return Scaffold( 66 | body: Center(child: _children[_cIndex]), 67 | backgroundColor: Colors.white, 68 | bottomNavigationBar: BottomNavigationBar( 69 | onTap: incrementTab, 70 | backgroundColor: Colors.white, 71 | items: [ 72 | BottomNavigationBarItem( 73 | icon: Image.asset( 74 | "images/icon_theater.png", 75 | height: 24, 76 | width: 24, 77 | ), 78 | title: Text( 79 | "Movies", 80 | style: TextStyle( 81 | color: Color.fromRGBO(153, 164, 170, 1), fontSize: 12), 82 | )), 83 | BottomNavigationBarItem( 84 | icon: Image.asset( 85 | "images/icon_cinema_moviedetail.png", 86 | height: 24, 87 | width: 24, 88 | ), 89 | title: Text( 90 | "Cinemas", 91 | style: TextStyle( 92 | color: Color.fromRGBO(153, 164, 170, 1), fontSize: 12), 93 | ), 94 | ), 95 | BottomNavigationBarItem( 96 | icon: Image.asset( 97 | "images/icon_ticket_unselected.png", 98 | height: 24, 99 | width: 24, 100 | ), 101 | title: Text( 102 | "Tickets", 103 | style: TextStyle( 104 | color: Color.fromRGBO(153, 164, 170, 1), fontSize: 12), 105 | )), 106 | ]), 107 | ); 108 | } 109 | } 110 | -------------------------------------------------------------------------------- /lib/views/movies_detail_screen.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import 'tickets_past_screen.dart'; 4 | import 'tickets_upcoming_screen.dart'; 5 | 6 | class MovieDetailScreen extends StatefulWidget { 7 | @override 8 | _MovieDetailScreenState createState() => _MovieDetailScreenState(); 9 | } 10 | 11 | class _MovieDetailScreenState extends State { 12 | @override 13 | Widget build(BuildContext context) { 14 | return Scaffold( 15 | body: CustomScrollView( 16 | shrinkWrap: true, 17 | slivers: [ 18 | SliverAppBar( 19 | backgroundColor: Colors.white, 20 | expandedHeight: 375, 21 | pinned: true, 22 | snap: true, 23 | floating: true, 24 | title: Text("Avengers : End Game"), 25 | flexibleSpace: Stack( 26 | children: [ 27 | Container( 28 | height: 220, 29 | decoration: BoxDecoration( 30 | image: DecorationImage( 31 | image: 32 | AssetImage("images/bg_my_loyal_tix_detail.png"), 33 | fit: BoxFit.cover)), 34 | child: Center( 35 | child: Image.asset( 36 | "images/ic_play_dark.png", 37 | width: 48, 38 | height: 48, 39 | ), 40 | ), 41 | ), 42 | Row( 43 | mainAxisSize: MainAxisSize.max, 44 | children: [ 45 | Container( 46 | height: 140, 47 | width: 90, 48 | margin: EdgeInsets.only(left: 20, top: 140), 49 | decoration: BoxDecoration( 50 | borderRadius: BorderRadius.all(Radius.circular(10)), 51 | image: DecorationImage( 52 | fit: BoxFit.cover, 53 | image: AssetImage( 54 | "images/bg_my_loyal_tix_detail.png"))), 55 | child: Center( 56 | child: Image.asset( 57 | "images/ic_play_dark.png", 58 | width: 24, 59 | height: 24, 60 | ), 61 | ), 62 | ), 63 | Expanded( 64 | child: Container( 65 | margin: 66 | EdgeInsets.only(left: 20, top: 230, right: 10), 67 | child: Column( 68 | crossAxisAlignment: CrossAxisAlignment.start, 69 | children: [ 70 | Padding( 71 | padding: const EdgeInsets.only(bottom: 10), 72 | child: Text( 73 | "Avengers : End Game", 74 | style: TextStyle( 75 | color: Colors.black, 76 | fontSize: 16, 77 | fontWeight: FontWeight.bold), 78 | ), 79 | ), 80 | Table( 81 | defaultVerticalAlignment: 82 | TableCellVerticalAlignment.top, 83 | children: [ 84 | TableRow(children: [ 85 | Text( 86 | "Genre", 87 | style: TextStyle( 88 | fontSize: 12, color: Colors.grey), 89 | ), 90 | Text( 91 | "Action, Advanture, Fantasy", 92 | style: TextStyle( 93 | fontSize: 12, color: Colors.black), 94 | ) 95 | ]), 96 | TableRow(children: [ 97 | Padding( 98 | padding: const EdgeInsets.only(top: 5), 99 | child: Text( 100 | "Durasi", 101 | style: TextStyle( 102 | fontSize: 12, color: Colors.grey), 103 | ), 104 | ), 105 | Padding( 106 | padding: const EdgeInsets.only(top: 5), 107 | child: Text( 108 | "3 Jam 1 Menit", 109 | style: TextStyle( 110 | fontSize: 12, color: Colors.black), 111 | ), 112 | ) 113 | ]), 114 | TableRow(children: [ 115 | Padding( 116 | padding: const EdgeInsets.only(top: 5), 117 | child: Text( 118 | "Sutradara", 119 | style: TextStyle( 120 | fontSize: 12, color: Colors.grey), 121 | ), 122 | ), 123 | Padding( 124 | padding: const EdgeInsets.only(top: 5), 125 | child: Text( 126 | "Anthony Russo, Joe Russo", 127 | style: TextStyle( 128 | fontSize: 12, color: Colors.black), 129 | ), 130 | ) 131 | ]), 132 | TableRow(children: [ 133 | Padding( 134 | padding: const EdgeInsets.only(top: 5), 135 | child: Text( 136 | "Rating", 137 | style: TextStyle( 138 | fontSize: 12, color: Colors.grey), 139 | ), 140 | ), 141 | Padding( 142 | padding: const EdgeInsets.only(top: 5), 143 | child: Chip( 144 | label: Text( 145 | "R", 146 | style: TextStyle( 147 | fontSize: 10, 148 | color: Colors.black), 149 | ), 150 | ), 151 | ) 152 | ]) 153 | ], 154 | ) 155 | ], 156 | )), 157 | ), 158 | ], 159 | ), 160 | ], 161 | ), 162 | ), 163 | SliverList( 164 | delegate: SliverChildListDelegate([ 165 | _ticketPastItem(), 166 | _ticketPastItem(), 167 | _ticketPastItem(), 168 | _ticketPastItem(), 169 | _ticketPastItem(), 170 | ])) 171 | ], 172 | ), 173 | ); 174 | } 175 | 176 | _ticketPastItem() { 177 | return Container( 178 | margin: EdgeInsets.all(16), 179 | child: Row( 180 | crossAxisAlignment: CrossAxisAlignment.start, 181 | mainAxisAlignment: MainAxisAlignment.start, 182 | mainAxisSize: MainAxisSize.max, 183 | children: [ 184 | Container( 185 | height: 120, 186 | width: 80, 187 | decoration: BoxDecoration( 188 | image: DecorationImage( 189 | image: AssetImage("images/bg_my_loyal_tix_detail.png"), 190 | fit: BoxFit.cover), 191 | borderRadius: BorderRadius.all(Radius.circular(10))), 192 | ), 193 | Expanded( 194 | child: Padding( 195 | padding: const EdgeInsets.only(left: 15, right: 15), 196 | child: Column( 197 | mainAxisSize: MainAxisSize.max, 198 | mainAxisAlignment: MainAxisAlignment.start, 199 | crossAxisAlignment: CrossAxisAlignment.start, 200 | children: [ 201 | Text( 202 | "Captain America", 203 | maxLines: 2, 204 | style: TextStyle( 205 | color: Colors.black, 206 | fontSize: 16, 207 | fontWeight: FontWeight.bold), 208 | ), 209 | Padding( 210 | padding: const EdgeInsets.only(top: 7), 211 | child: Row( 212 | mainAxisSize: MainAxisSize.max, 213 | children: [ 214 | Image.asset( 215 | "images/ic_location_gray_covered.png", 216 | width: 12, 217 | height: 12, 218 | ), 219 | Padding( 220 | padding: const EdgeInsets.only(left: 5), 221 | child: Text( 222 | "BALE KOTA XXI", 223 | style: TextStyle( 224 | color: Colors.grey, 225 | fontSize: 12, 226 | ), 227 | ), 228 | ), 229 | Padding( 230 | padding: const EdgeInsets.only(left: 15), 231 | child: Image.asset( 232 | "images/ic_ticket_gray_covered.png", 233 | width: 12, 234 | height: 12, 235 | ), 236 | ), 237 | Padding( 238 | padding: const EdgeInsets.only(left: 5), 239 | child: Text( 240 | "Ticket(2)", 241 | style: TextStyle(color: Colors.grey, fontSize: 12), 242 | ), 243 | ) 244 | ], 245 | ), 246 | ), 247 | Padding( 248 | padding: const EdgeInsets.only(top: 5), 249 | child: Text( 250 | "Sabtu, 16 Maret 2019, 20:00", 251 | style: TextStyle(color: Colors.grey, fontSize: 12), 252 | ), 253 | ), 254 | Padding( 255 | padding: const EdgeInsets.only(top: 5), 256 | child: Text( 257 | "Status Tiket", 258 | style: TextStyle(color: Colors.grey, fontSize: 12), 259 | ), 260 | ), 261 | Padding( 262 | padding: const EdgeInsets.only(top: 10), 263 | child: Row( 264 | mainAxisSize: MainAxisSize.max, 265 | mainAxisAlignment: MainAxisAlignment.end, 266 | children: [ 267 | Text( 268 | "Berhasil", 269 | style: TextStyle( 270 | color: Colors.blue, 271 | fontSize: 14, 272 | ), 273 | ), 274 | ], 275 | ), 276 | ) 277 | ], 278 | ), 279 | )) 280 | ], 281 | ), 282 | ); 283 | } 284 | } 285 | -------------------------------------------------------------------------------- /lib/views/movies_list_screen.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class MoviesListScreen extends StatefulWidget { 4 | @override 5 | _MoviesListScreenState createState() => _MoviesListScreenState(); 6 | } 7 | 8 | class _MoviesListScreenState extends State { 9 | @override 10 | Widget build(BuildContext context) { 11 | return Scaffold( 12 | appBar: AppBar( 13 | iconTheme: IconThemeData(color: Colors.white), 14 | title: Text("Video"), 15 | backgroundColor: Color.fromRGBO(3, 27, 57, 1), 16 | ), 17 | body: ListView( 18 | scrollDirection: Axis.vertical, 19 | shrinkWrap: true, 20 | children: [ 21 | _moviesListItem(), 22 | _moviesListItem(), 23 | _moviesListItem(), 24 | _moviesListItem(), 25 | _moviesListItem(), 26 | ], 27 | ), 28 | ); 29 | } 30 | 31 | _moviesListItem() { 32 | return Container( 33 | color: Color.fromRGBO(3, 27, 57, 1), 34 | child: Column( 35 | mainAxisSize: MainAxisSize.max, 36 | mainAxisAlignment: MainAxisAlignment.start, 37 | crossAxisAlignment: CrossAxisAlignment.start, 38 | children: [ 39 | Container( 40 | height: 200, 41 | decoration: BoxDecoration( 42 | image: DecorationImage( 43 | fit: BoxFit.cover, 44 | image: AssetImage("images/bg_my_loyal_tix_detail.png"))), 45 | child: Center( 46 | child: Image.asset( 47 | "images/ic_play_dark.png", 48 | fit: BoxFit.contain, 49 | width: 48, 50 | height: 48, 51 | ), 52 | ), 53 | ), 54 | Container( 55 | margin: EdgeInsets.all(16), 56 | child: Column( 57 | crossAxisAlignment: CrossAxisAlignment.start, 58 | mainAxisAlignment: MainAxisAlignment.start, 59 | children: [ 60 | Text( 61 | "Marvel Studios' Avengers: Endgame | \"Powerful\" TV Spot", 62 | maxLines: 2, 63 | style: TextStyle( 64 | color: Colors.white, 65 | fontWeight: FontWeight.bold, 66 | fontSize: 18), 67 | ), 68 | Padding( 69 | padding: const EdgeInsets.only(top: 16), 70 | child: Row( 71 | mainAxisAlignment: MainAxisAlignment.start, 72 | crossAxisAlignment: CrossAxisAlignment.start, 73 | mainAxisSize: MainAxisSize.max, 74 | children: [ 75 | Image.asset( 76 | "images/movie.png", 77 | width: 12, 78 | height: 12, 79 | ), 80 | Expanded( 81 | child: Padding( 82 | padding: const EdgeInsets.only(left: 10), 83 | child: Text( 84 | "Marvel Studios' Avengers: Endgame | \"Powerful\" TV Spot", 85 | style: TextStyle(color: Colors.white, fontSize: 12), 86 | maxLines: 2, 87 | ), 88 | ), 89 | ) 90 | ], 91 | ), 92 | ), 93 | Padding( 94 | padding: const EdgeInsets.only(top: 16, bottom: 20), 95 | child: Row( 96 | mainAxisAlignment: MainAxisAlignment.spaceBetween, 97 | crossAxisAlignment: CrossAxisAlignment.start, 98 | mainAxisSize: MainAxisSize.max, 99 | children: [ 100 | Text( 101 | "Diterbikan: 22 Apr", 102 | style: TextStyle(color: Colors.white, fontSize: 12), 103 | maxLines: 1, 104 | ), 105 | Row( 106 | mainAxisSize: MainAxisSize.max, 107 | crossAxisAlignment: CrossAxisAlignment.start, 108 | mainAxisAlignment: MainAxisAlignment.start, 109 | children: [ 110 | Text( 111 | "3k Ditonton", 112 | maxLines: 1, 113 | style: TextStyle(color: Colors.white, fontSize: 12), 114 | ), 115 | VerticalDivider(), 116 | Padding( 117 | padding: const EdgeInsets.only(right: 10), 118 | child: Image.asset( 119 | "images/ic_content_like.png", 120 | width: 12, 121 | height: 12, 122 | ), 123 | ), 124 | Padding( 125 | padding: const EdgeInsets.only(right: 10), 126 | child: Text( 127 | "52", 128 | maxLines: 1, 129 | style: 130 | TextStyle(fontSize: 12, color: Colors.white), 131 | ), 132 | ), 133 | Image.asset( 134 | "images/ic_content_like.png", 135 | width: 12, 136 | height: 12, 137 | ), 138 | ], 139 | ) 140 | ], 141 | ), 142 | ) 143 | ], 144 | ), 145 | ) 146 | ], 147 | ), 148 | ); 149 | } 150 | } 151 | -------------------------------------------------------------------------------- /lib/views/splash_screen.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'dart:async'; 3 | 4 | import 'main_screen.dart'; 5 | 6 | class SplashScreen extends StatefulWidget { 7 | @override 8 | _SplashScreenState createState() => _SplashScreenState(); 9 | } 10 | 11 | class _SplashScreenState extends State { 12 | 13 | @override 14 | void initState() { 15 | super.initState(); 16 | startTime(); 17 | } 18 | 19 | @override 20 | Widget build(BuildContext context) { 21 | return Scaffold( 22 | body: Stack( 23 | alignment: Alignment.topLeft, 24 | children: [ 25 | Container( 26 | height: double.infinity, 27 | width: double.infinity, 28 | decoration: BoxDecoration( 29 | image: DecorationImage( 30 | image: AssetImage("images/bg_my_loyal_tix_detail.png"), 31 | fit: BoxFit.cover)), 32 | ), 33 | Center( 34 | child: Padding( 35 | padding: const EdgeInsets.all(24.0), 36 | child: Image.asset( 37 | "images/logo_beta_light.png", 38 | fit: BoxFit.contain, 39 | ), 40 | ), 41 | ), 42 | ], 43 | ), 44 | ); 45 | } 46 | 47 | startTime() async{ 48 | var _duration = Duration(seconds: 3); 49 | return Timer(_duration, startMainScreen); 50 | } 51 | 52 | startMainScreen(){ 53 | Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => MainScreen())); 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /lib/views/spotlight_detail_screen.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class SpotlightDetailScreen extends StatefulWidget { 4 | @override 5 | _SpotlightDetailScreenState createState() => _SpotlightDetailScreenState(); 6 | } 7 | 8 | class _SpotlightDetailScreenState extends State { 9 | @override 10 | Widget build(BuildContext context) { 11 | return Scaffold( 12 | appBar: AppBar( 13 | iconTheme: IconThemeData(color: Colors.black), 14 | title: Text( 15 | "News", 16 | style: TextStyle( 17 | color: Colors.black, fontSize: 20, fontWeight: FontWeight.bold), 18 | ), 19 | backgroundColor: Colors.white, 20 | actions: [ 21 | Icon( 22 | Icons.share, 23 | color: Colors.black, 24 | ) 25 | ], 26 | ), 27 | body: Column( 28 | children: [ 29 | Image.asset( 30 | "images/bg_my_loyal_tix_detail.png", 31 | height: 200, 32 | fit: BoxFit.fill, 33 | ) 34 | ], 35 | ), 36 | ); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /lib/views/ticket_detail_screen.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class TicketDetailScreen extends StatefulWidget { 4 | @override 5 | _TicketDetailScreenState createState() => _TicketDetailScreenState(); 6 | } 7 | 8 | class _TicketDetailScreenState extends State { 9 | @override 10 | Widget build(BuildContext context) { 11 | return Scaffold( 12 | appBar: AppBar( 13 | iconTheme: IconThemeData(color: Colors.black), 14 | backgroundColor: Colors.white, 15 | title: Text( 16 | "Already Shown", 17 | style: TextStyle(color: Colors.black, fontWeight: FontWeight.bold), 18 | ), 19 | ), 20 | body: Card( 21 | margin: EdgeInsets.all(16), 22 | shape: RoundedRectangleBorder( 23 | borderRadius: BorderRadius.all(Radius.circular(20))), 24 | child: Column( 25 | crossAxisAlignment: CrossAxisAlignment.start, 26 | mainAxisAlignment: MainAxisAlignment.start, 27 | mainAxisSize: MainAxisSize.min, 28 | children: [ 29 | Container( 30 | decoration: BoxDecoration( 31 | color: Color.fromRGBO(26, 41, 72, 1), 32 | borderRadius: BorderRadius.only( 33 | topLeft: Radius.circular(20), 34 | topRight: Radius.circular(20))), 35 | child: Row( 36 | mainAxisSize: MainAxisSize.max, 37 | children: [ 38 | Container( 39 | height: 120, 40 | width: 90, 41 | margin: EdgeInsets.only(left: 20, top: 20, bottom: 20), 42 | decoration: BoxDecoration( 43 | borderRadius: BorderRadius.all(Radius.circular(10)), 44 | image: DecorationImage( 45 | fit: BoxFit.cover, 46 | image: AssetImage( 47 | "images/bg_my_loyal_tix_detail.png"))), 48 | child: Center( 49 | child: Image.asset( 50 | "images/ic_play_dark.png", 51 | width: 24, 52 | height: 24, 53 | ), 54 | ), 55 | ), 56 | Expanded( 57 | child: Container( 58 | margin: EdgeInsets.only(left: 20, right: 10, top: 20), 59 | child: Column( 60 | crossAxisAlignment: CrossAxisAlignment.start, 61 | children: [ 62 | Padding( 63 | padding: const EdgeInsets.only(bottom: 10), 64 | child: Text( 65 | "Avengers : End Game", 66 | style: TextStyle( 67 | color: Color.fromRGBO(227, 193, 121, 1), 68 | fontSize: 16, 69 | fontWeight: FontWeight.bold), 70 | ), 71 | ), 72 | Table( 73 | defaultVerticalAlignment: 74 | TableCellVerticalAlignment.top, 75 | children: [ 76 | TableRow(children: [ 77 | Text( 78 | "Tanggal", 79 | style: TextStyle( 80 | fontSize: 12, color: Colors.grey), 81 | ), 82 | Text( 83 | "Sat, 16 Maret 2019", 84 | style: TextStyle( 85 | fontSize: 12, 86 | color: Colors.white, 87 | fontWeight: FontWeight.bold), 88 | ) 89 | ]), 90 | TableRow(children: [ 91 | Padding( 92 | padding: const EdgeInsets.only(top: 5), 93 | child: Text( 94 | "Time", 95 | style: TextStyle( 96 | fontSize: 12, color: Colors.grey), 97 | ), 98 | ), 99 | Padding( 100 | padding: const EdgeInsets.only(top: 5), 101 | child: Text( 102 | "20:00", 103 | style: TextStyle( 104 | fontSize: 12, 105 | color: Colors.white, 106 | fontWeight: FontWeight.bold), 107 | ), 108 | ) 109 | ]), 110 | TableRow(children: [ 111 | Padding( 112 | padding: const EdgeInsets.only(top: 5), 113 | child: Text( 114 | "Cinema", 115 | style: TextStyle( 116 | fontSize: 12, color: Colors.grey), 117 | ), 118 | ), 119 | Padding( 120 | padding: const EdgeInsets.only(top: 5), 121 | child: Text( 122 | "Bale Kota XXI Studio 1", 123 | style: TextStyle( 124 | fontSize: 12, 125 | color: Colors.white, 126 | fontWeight: FontWeight.bold), 127 | ), 128 | ) 129 | ]), 130 | ], 131 | ) 132 | ], 133 | )), 134 | ), 135 | ], 136 | ), 137 | ), 138 | Container( 139 | decoration: 140 | BoxDecoration(color: Color.fromRGBO(227, 193, 121, 1)), 141 | child: Row( 142 | mainAxisAlignment: MainAxisAlignment.center, 143 | crossAxisAlignment: CrossAxisAlignment.center, 144 | children: [ 145 | Expanded( 146 | child: Padding( 147 | padding: const EdgeInsets.all(8.0), 148 | child: Column( 149 | children: [ 150 | Text( 151 | "Total Tickets", 152 | style: TextStyle(color: Colors.grey, fontSize: 12), 153 | ), 154 | Padding( 155 | padding: const EdgeInsets.only(top: 10), 156 | child: Text( 157 | "2 Person, G16, G17", 158 | textAlign: TextAlign.center, 159 | style: TextStyle( 160 | color: Colors.black, 161 | fontWeight: FontWeight.bold, 162 | fontSize: 14), 163 | ), 164 | ) 165 | ], 166 | ), 167 | ), 168 | ), 169 | Expanded( 170 | child: Padding( 171 | padding: const EdgeInsets.all(8.0), 172 | child: Column( 173 | children: [ 174 | Text( 175 | "Transcation Code", 176 | textAlign: TextAlign.center, 177 | style: TextStyle(color: Colors.grey, fontSize: 12), 178 | ), 179 | Padding( 180 | padding: const EdgeInsets.only(top: 10), 181 | child: Text( 182 | "55555", 183 | textAlign: TextAlign.center, 184 | style: TextStyle( 185 | color: Colors.grey, 186 | fontWeight: FontWeight.bold, 187 | fontSize: 14), 188 | ), 189 | ) 190 | ], 191 | ), 192 | ), 193 | ), 194 | Expanded( 195 | child: Padding( 196 | padding: const EdgeInsets.all(8.0), 197 | child: Center( 198 | child: Image.asset( 199 | "images/ic_already_shown.png", 200 | width: 48, 201 | height: 48, 202 | ), 203 | )), 204 | ), 205 | ], 206 | ), 207 | ), 208 | Container( 209 | height: 10, 210 | decoration: BoxDecoration( 211 | image: DecorationImage( 212 | image: AssetImage("images/paper_gold.png"), 213 | fit: BoxFit.fill)), 214 | ), 215 | Container( 216 | padding: EdgeInsets.all(16), 217 | child: Column( 218 | mainAxisAlignment: MainAxisAlignment.start, 219 | crossAxisAlignment: CrossAxisAlignment.start, 220 | children: [ 221 | Padding( 222 | padding: const EdgeInsets.only(top: 10, bottom: 10), 223 | child: Text( 224 | "ORDER NUMBER: 1109928129819282", 225 | style: TextStyle(color: Colors.grey, fontSize: 12), 226 | ), 227 | ), 228 | Divider(), 229 | Padding( 230 | padding: const EdgeInsets.only(top: 10, bottom: 10), 231 | child: Row( 232 | mainAxisAlignment: MainAxisAlignment.spaceBetween, 233 | children: [ 234 | Text( 235 | "ACTUAL PAYMENT", 236 | style: TextStyle(color: Colors.grey, fontSize: 12), 237 | ), 238 | Text( 239 | "Rp.81.000", 240 | style: TextStyle( 241 | color: Colors.black, 242 | fontSize: 12, 243 | fontWeight: FontWeight.bold), 244 | ), 245 | ], 246 | ), 247 | ), 248 | Divider(), 249 | Padding( 250 | padding: const EdgeInsets.only(top: 10, bottom: 10), 251 | child: Column( 252 | children: [ 253 | Padding( 254 | padding: const EdgeInsets.only(top: 10, bottom: 10), 255 | child: Row( 256 | mainAxisAlignment: MainAxisAlignment.spaceBetween, 257 | children: [ 258 | Text( 259 | "TICKET PRICE", 260 | style: 261 | TextStyle(color: Colors.grey, fontSize: 12), 262 | ), 263 | Text( 264 | "Rp.50.000 x 2", 265 | style: TextStyle( 266 | color: Colors.black, 267 | fontSize: 12, 268 | fontWeight: FontWeight.bold), 269 | ), 270 | ], 271 | ), 272 | ), 273 | Padding( 274 | padding: const EdgeInsets.only(top: 0, bottom: 10), 275 | child: Row( 276 | mainAxisAlignment: MainAxisAlignment.spaceBetween, 277 | children: [ 278 | Text( 279 | "CONVENIENCEE FEE", 280 | style: 281 | TextStyle(color: Colors.grey, fontSize: 12), 282 | ), 283 | Text( 284 | "Rp.3.000 x 2", 285 | style: TextStyle( 286 | color: Colors.black, 287 | fontSize: 12, 288 | fontWeight: FontWeight.bold), 289 | ), 290 | ], 291 | ), 292 | ), 293 | Padding( 294 | padding: const EdgeInsets.only(top: 0, bottom: 10), 295 | child: Row( 296 | mainAxisAlignment: MainAxisAlignment.spaceBetween, 297 | children: [ 298 | Text( 299 | "DISCOUNT", 300 | style: 301 | TextStyle(color: Colors.grey, fontSize: 12), 302 | ), 303 | Text( 304 | "-Rp.25.000", 305 | style: TextStyle( 306 | color: Colors.pink, 307 | fontSize: 12, 308 | fontWeight: FontWeight.bold), 309 | ), 310 | ], 311 | ), 312 | ), 313 | ], 314 | ), 315 | ), 316 | ], 317 | ), 318 | ) 319 | ], 320 | ), 321 | ), 322 | ); 323 | } 324 | } 325 | -------------------------------------------------------------------------------- /lib/views/tickets_past_screen.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import 'ticket_detail_screen.dart'; 4 | 5 | class TicketPastScreen extends StatefulWidget { 6 | @override 7 | _TicketPastScreenState createState() => _TicketPastScreenState(); 8 | } 9 | 10 | class _TicketPastScreenState extends State { 11 | @override 12 | Widget build(BuildContext context) { 13 | return Padding( 14 | padding: const EdgeInsets.only(left: 16, right: 16, top: 20), 15 | child: ListView( 16 | shrinkWrap: true, 17 | scrollDirection: Axis.vertical, 18 | children: [ 19 | _ticketPastItem(), 20 | Divider(), 21 | _ticketPastItem(), 22 | Divider(), 23 | _ticketPastItem(), 24 | Divider(), 25 | _ticketPastItem(), 26 | ], 27 | ), 28 | ); 29 | } 30 | 31 | _ticketPastItem() { 32 | return GestureDetector( 33 | onTap: () =>{ 34 | Navigator.push(context, MaterialPageRoute(builder: (context) => TicketDetailScreen())) 35 | }, 36 | child: Row( 37 | crossAxisAlignment: CrossAxisAlignment.start, 38 | mainAxisAlignment: MainAxisAlignment.start, 39 | mainAxisSize: MainAxisSize.max, 40 | children: [ 41 | Container( 42 | height: 120, 43 | width: 80, 44 | decoration: BoxDecoration( 45 | image: DecorationImage( 46 | image: AssetImage("images/bg_my_loyal_tix_detail.png"), 47 | fit: BoxFit.cover), 48 | borderRadius: BorderRadius.all(Radius.circular(10))), 49 | ), 50 | Expanded( 51 | child: Padding( 52 | padding: const EdgeInsets.only(left: 15, right: 15), 53 | child: Column( 54 | mainAxisSize: MainAxisSize.max, 55 | mainAxisAlignment: MainAxisAlignment.start, 56 | crossAxisAlignment: CrossAxisAlignment.start, 57 | children: [ 58 | Text( 59 | "Captain America", 60 | maxLines: 2, 61 | style: TextStyle( 62 | color: Colors.black, 63 | fontSize: 16, 64 | fontWeight: FontWeight.bold), 65 | ), 66 | Padding( 67 | padding: const EdgeInsets.only(top: 7), 68 | child: Row( 69 | mainAxisSize: MainAxisSize.max, 70 | children: [ 71 | Image.asset( 72 | "images/ic_location_gray_covered.png", 73 | width: 12, 74 | height: 12, 75 | ), 76 | Padding( 77 | padding: const EdgeInsets.only(left: 5), 78 | child: Text( 79 | "BALE KOTA XXI", 80 | style: TextStyle( 81 | color: Colors.grey, 82 | fontSize: 12, 83 | ), 84 | ), 85 | ), 86 | Padding( 87 | padding: const EdgeInsets.only(left: 15), 88 | child: Image.asset( 89 | "images/ic_ticket_gray_covered.png", 90 | width: 12, 91 | height: 12, 92 | ), 93 | ), 94 | Padding( 95 | padding: const EdgeInsets.only(left: 5), 96 | child: Text( 97 | "Ticket(2)", 98 | style: TextStyle(color: Colors.grey, fontSize: 12), 99 | ), 100 | ) 101 | ], 102 | ), 103 | ), 104 | Padding( 105 | padding: const EdgeInsets.only(top: 5), 106 | child: Text( 107 | "Sabtu, 16 Maret 2019, 20:00", 108 | style: TextStyle(color: Colors.grey, fontSize: 12), 109 | ), 110 | ), 111 | Padding( 112 | padding: const EdgeInsets.only(top: 5), 113 | child: Text( 114 | "Status Tiket", 115 | style: TextStyle(color: Colors.grey, fontSize: 12), 116 | ), 117 | ), 118 | Padding( 119 | padding: const EdgeInsets.only(top: 10), 120 | child: Row( 121 | mainAxisSize: MainAxisSize.max, 122 | mainAxisAlignment: MainAxisAlignment.end, 123 | children: [ 124 | Text( 125 | "Berhasil", 126 | style: TextStyle(color: Colors.blue, fontSize: 14,), 127 | ), 128 | ], 129 | ), 130 | ) 131 | ], 132 | ), 133 | )) 134 | ], 135 | ), 136 | ); 137 | } 138 | } 139 | -------------------------------------------------------------------------------- /lib/views/tickets_screen.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import 'tickets_upcoming_screen.dart'; 4 | import 'tickets_past_screen.dart'; 5 | 6 | class TicketScreen extends StatefulWidget { 7 | @override 8 | _TicketScreenState createState() => _TicketScreenState(); 9 | } 10 | 11 | class _TicketScreenState extends State { 12 | @override 13 | Widget build(BuildContext context) { 14 | return Scaffold( 15 | body: DefaultTabController( 16 | length: 2, 17 | child: Scaffold( 18 | appBar: PreferredSize( 19 | preferredSize: Size.fromHeight(kToolbarHeight), 20 | child: TabBar( 21 | indicatorColor: Colors.blue, 22 | tabs: [ 23 | Tab( 24 | text: "Upcoming Ticket", 25 | ), 26 | Tab( 27 | text: "Past Ticket", 28 | ) 29 | ], 30 | labelColor: Colors.black, 31 | )), 32 | body: TabBarView( 33 | children: [TicketUpcomingScreen(), TicketPastScreen()]), 34 | )), 35 | ); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /lib/views/tickets_upcoming_screen.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class TicketUpcomingScreen extends StatefulWidget { 4 | @override 5 | _TicketUpcomingScreenState createState() => _TicketUpcomingScreenState(); 6 | } 7 | 8 | class _TicketUpcomingScreenState extends State { 9 | @override 10 | Widget build(BuildContext context) { 11 | return Center( 12 | child: Column( 13 | mainAxisSize: MainAxisSize.max, 14 | mainAxisAlignment: MainAxisAlignment.center, 15 | crossAxisAlignment: CrossAxisAlignment.center, 16 | children: [ 17 | Image.asset("images/img_empty_mytiket.png", fit: BoxFit.contain, width: 100, height: 100,), 18 | Padding( 19 | padding: const EdgeInsets.only(left: 20, right: 20), 20 | child: Text( 21 | "Tidak ada ticket yang akan datang", 22 | style: TextStyle(fontSize: 16, color: Colors.grey), 23 | ), 24 | ) 25 | ], 26 | ), 27 | ); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: tix_app 2 | description: Cloning of tix app 3 | 4 | # The following defines the version and build number for your application. 5 | # A version number is three numbers separated by dots, like 1.2.43 6 | # followed by an optional build number separated by a +. 7 | # Both the version and the builder number may be overridden in flutter 8 | # build by specifying --build-name and --build-number, respectively. 9 | # In Android, build-name is used as versionName while build-number used as versionCode. 10 | # Read more about Android versioning at https://developer.android.com/studio/publish/versioning 11 | # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. 12 | # Read more about iOS versioning at 13 | # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html 14 | version: 1.0.0+1 15 | 16 | environment: 17 | sdk: ">=2.1.0 <3.0.0" 18 | 19 | dependencies: 20 | flutter: 21 | sdk: flutter 22 | 23 | # The following adds the Cupertino Icons font to your application. 24 | # Use with the CupertinoIcons class for iOS style icons. 25 | cupertino_icons: ^0.1.2 26 | carousel_slider: ^1.3.0 27 | rxdart: ^0.21.0 28 | http: ^0.12.0+2 29 | liquid_pull_to_refresh: ^1.1.0 30 | 31 | dev_dependencies: 32 | flutter_test: 33 | sdk: flutter 34 | 35 | 36 | # For information on the generic Dart part of this file, see the 37 | # following page: https://www.dartlang.org/tools/pub/pubspec 38 | 39 | # The following section is specific to Flutter. 40 | flutter: 41 | 42 | # The following line ensures that the Material Icons font is 43 | # included with your application, so that you can use the icons in 44 | # the material Icons class. 45 | uses-material-design: true 46 | 47 | # To add assets to your application, add an assets section, like this: 48 | assets: 49 | - images/bg_my_loyal_tix_detail.png 50 | - images/logo_beta_light.png 51 | - images/logo_dark_beta.png 52 | - images/ic_os_notification_fallback_white_24dp.png 53 | - images/ico_noti_top_home.png 54 | - images/icon_cinema_moviedetail.png 55 | - images/icon_location_pulltheater.png 56 | - images/icon_theater.png 57 | - images/icon_ticket_unselected.png 58 | - images/ic_triangle_drop_down.png 59 | - images/ic_triangle_drop_up.png 60 | - images/ic_chevron_right_grey.png 61 | - images/ic_spent_point.png 62 | - images/ic_play_dark.png 63 | - images/ic_invitation_code_homepage.png 64 | - images/ic_home_page_more_button.png 65 | - images/ic_arrow.png 66 | - images/ic_content_like.png 67 | - images/ic_content_view.png 68 | - images/img_empty_mytiket.png 69 | - images/ic_location_gray_covered.png 70 | - images/ic_ticket_gray_covered.png 71 | - images/ic_already_shown.png 72 | - images/ic_bg_dialog_qrcode_top.png 73 | - images/ic_default_btn_back_moviedetail.png 74 | - images/paper_gold.png 75 | - images/movie.png 76 | 77 | # An image asset can refer to one or more resolution-specific "variants", see 78 | # https://flutter.io/assets-and-images/#resolution-aware. 79 | 80 | # For details regarding adding assets from package dependencies, see 81 | # https://flutter.io/assets-and-images/#from-packages 82 | 83 | # To add custom fonts to your application, add a fonts section here, 84 | # in this "flutter" section. Each entry in this list should have a 85 | # "family" key with the font family name, and a "fonts" key with a 86 | # list giving the asset and other descriptors for the font. For 87 | # example: 88 | fonts: 89 | - family: sfui 90 | fonts: 91 | - asset: fonts/sfui_medium.ttf 92 | 93 | # 94 | # For details regarding fonts from package dependencies, 95 | # see https://flutter.io/custom-fonts/#from-packages 96 | -------------------------------------------------------------------------------- /screenshoot/ss1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/screenshoot/ss1.png -------------------------------------------------------------------------------- /screenshoot/ss2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/screenshoot/ss2.png -------------------------------------------------------------------------------- /screenshoot/ss3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/screenshoot/ss3.png -------------------------------------------------------------------------------- /screenshoot/ss4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/screenshoot/ss4.png -------------------------------------------------------------------------------- /screenshoot/ss5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/screenshoot/ss5.png -------------------------------------------------------------------------------- /screenshoot/ss6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/screenshoot/ss6.png -------------------------------------------------------------------------------- /screenshoot/ss7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/screenshoot/ss7.png -------------------------------------------------------------------------------- /screenshoot/ss8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anggit97/flutter-tixid-clonning/1fa654a10b00c2dd3fc3aaac48c7cdb01d8f3e4b/screenshoot/ss8.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:tix_app/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(TixApp()); 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 | --------------------------------------------------------------------------------