├── .github ├── pull_request_template.md └── workflows │ ├── main_web_deploy.yml │ └── pr_run_test.yml ├── .gitignore ├── .metadata ├── .scripts ├── install.sh └── web_build.sh ├── .vscode └── settings.json ├── LICENSE ├── README.md ├── analysis_options.yaml ├── android ├── .gitignore ├── app │ ├── build.gradle │ └── src │ │ ├── debug │ │ └── AndroidManifest.xml │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── kotlin │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── flutter_ui_kit_obkm │ │ │ │ └── MainActivity.kt │ │ └── res │ │ │ ├── drawable-v21 │ │ │ └── launch_background.xml │ │ │ ├── drawable │ │ │ └── launch_background.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── launcher_icon.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── launcher_icon.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── launcher_icon.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── launcher_icon.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── launcher_icon.png │ │ │ ├── values-night │ │ │ └── styles.xml │ │ │ └── values │ │ │ └── styles.xml │ │ └── profile │ │ └── AndroidManifest.xml ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ └── gradle-wrapper.properties └── settings.gradle ├── art ├── banner │ └── banner.png └── screenshots │ ├── page104.png │ ├── page105.png │ ├── page_1.png │ ├── page_10.png │ ├── page_100.png │ ├── page_101.png │ ├── page_102.png │ ├── page_103.png │ ├── page_11.png │ ├── page_12.png │ ├── page_13.png │ ├── page_14.png │ ├── page_15.png │ ├── page_156.png │ ├── page_16.png │ ├── page_17.png │ ├── page_175.png │ ├── page_18.png │ ├── page_19.png │ ├── page_2.png │ ├── page_20.png │ ├── page_21.png │ ├── page_22.png │ ├── page_23.png │ ├── page_24.png │ ├── page_25.png │ ├── page_26.png │ ├── page_27.png │ ├── page_28.png │ ├── page_29.png │ ├── page_3.png │ ├── page_30.png │ ├── page_31.png │ ├── page_32.png │ ├── page_33.png │ ├── page_34.png │ ├── page_35.png │ ├── page_36.png │ ├── page_37.png │ ├── page_38.png │ ├── page_39.png │ ├── page_4.png │ ├── page_40.png │ ├── page_41.png │ ├── page_42.png │ ├── page_43.png │ ├── page_44.png │ ├── page_45.png │ ├── page_46.png │ ├── page_47.png │ ├── page_48.png │ ├── page_49.png │ ├── page_5.png │ ├── page_50.png │ ├── page_51.png │ ├── page_52.png │ ├── page_53.png │ ├── page_54.png │ ├── page_55.png │ ├── page_56.png │ ├── page_57.png │ ├── page_58.png │ ├── page_59.png │ ├── page_6.png │ ├── page_60.png │ ├── page_61.png │ ├── page_62.png │ ├── page_63.png │ ├── page_64.jpeg │ ├── page_65.png │ ├── page_66.png │ ├── page_67.png │ ├── page_68.png │ ├── page_69.png │ ├── page_7.png │ ├── page_70.png │ ├── page_71.png │ ├── page_72.png │ ├── page_73.png │ ├── page_74.png │ ├── page_75.png │ ├── page_76.png │ ├── page_77.png │ ├── page_78.png │ ├── page_79.png │ ├── page_8.png │ ├── page_80.png │ ├── page_81.png │ ├── page_82.png │ ├── page_83.png │ ├── page_84.png │ ├── page_85.png │ ├── page_86.png │ ├── page_87.png │ ├── page_88.png │ ├── page_89.png │ ├── page_9.png │ ├── page_90.png │ ├── page_91.jpeg │ ├── page_92.png │ ├── page_93.png │ ├── page_94.png │ ├── page_95.png │ ├── page_96.png │ ├── page_97.png │ ├── page_98.png │ ├── page_99.png │ ├── root.png │ └── web_page_7.png ├── assets ├── color │ └── colors.xml ├── fonts │ ├── Abolition-Regular.ttf │ └── Proxima-Nova.otf ├── logo │ └── logo.png ├── png │ ├── flower.png │ ├── lady_pg4.png │ ├── m10 │ │ ├── img_1.png │ │ ├── img_2.png │ │ ├── img_3.png │ │ ├── img_4.png │ │ ├── img_5.png │ │ └── img_6.png │ ├── m100 │ │ ├── woman hanging.jpeg │ │ └── woman with dumbbell.jpeg │ ├── m13 │ │ ├── background.png │ │ ├── image1.png │ │ ├── image2.png │ │ └── image3.png │ ├── m175 │ │ ├── img_1.png │ │ ├── img_2.png │ │ ├── img_3.png │ │ └── img_4.png │ ├── m19 │ │ └── flight.png │ ├── m26 │ │ └── start.png │ ├── m27 │ │ └── gym.png │ ├── m28 │ │ ├── bar.png │ │ └── graph.png │ ├── m29 │ │ ├── add.png │ │ ├── chinese.png │ │ ├── delivery.png │ │ ├── food.jpeg │ │ ├── food.png │ │ ├── food2.jpeg │ │ ├── food2.png │ │ ├── fries.png │ │ ├── more.png │ │ └── sushi.png │ ├── m30 │ │ └── banana.png │ ├── m31 │ │ ├── banner.png │ │ ├── img1.jpeg │ │ ├── img2.jpeg │ │ ├── img3.jpeg │ │ ├── img4.jpeg │ │ ├── img5.jpeg │ │ ├── img6.jpeg │ │ ├── img7.jpeg │ │ ├── img8.jpeg │ │ └── img9.jpeg │ ├── m35 │ │ ├── img1.jpeg │ │ ├── img2.png │ │ ├── img3.jpeg │ │ ├── img4.jpeg │ │ └── img5.png │ ├── m37 │ │ └── watch.jpeg │ ├── m40 │ │ └── avatar.jpeg │ ├── m43 │ │ ├── image0.jpeg │ │ ├── image1.jpeg │ │ └── image2.jpeg │ ├── m45 │ │ └── europe.png │ ├── m50 │ │ ├── image1.jpeg │ │ ├── image2.jpeg │ │ ├── image3.jpeg │ │ ├── image4.jpeg │ │ └── image5.jpeg │ ├── m52 │ │ └── model.jpeg │ ├── m53 │ │ ├── img_1.jpeg │ │ └── img_2.jpeg │ ├── m57 │ │ └── check.png │ ├── m64 │ │ ├── img_1.jpeg │ │ ├── img_2.jpeg │ │ └── img_3.jpeg │ ├── m8 │ │ ├── card_1.png │ │ └── card_2.png │ ├── m89 │ │ ├── artificial-intelligence 1.png │ │ ├── bipolar 1.png │ │ └── online-learning 1.png │ ├── m95 │ │ ├── boxed-water-is-better.jpeg │ │ ├── gym_tools.jpeg │ │ └── man-with-heavy-ball.jpeg │ ├── m96 │ │ ├── climbing-steps.jpeg │ │ ├── run on shore.jpeg │ │ ├── run-on-bridge.jpeg │ │ ├── run-uphill.jpeg │ │ ├── run.jpeg │ │ └── runner.jpeg │ ├── m97 │ │ ├── female-fashion-model-poses-jump.webp │ │ ├── jumping lady.jpeg │ │ ├── man in white.jpeg │ │ └── woman with handpad.webp │ ├── m98 │ │ ├── Cal.png │ │ ├── DirectoryBook.png │ │ ├── Lottery.png │ │ ├── Lotto.png │ │ ├── Ticket.png │ │ └── Wheel.png │ ├── m99 │ │ └── Poster.png │ ├── thank_you.png │ ├── todo.png │ └── usa.png └── svg │ ├── m11 │ └── subtract.svg │ ├── m12 │ ├── air-conditioner.svg │ ├── fan.svg │ ├── fridge.svg │ ├── light.svg │ └── sofa.svg │ ├── m14 │ ├── finger-print.svg │ └── mastercard.svg │ ├── m175 │ ├── keyboard_arrow_left.svg │ ├── search.svg │ └── shopping_bag.svg │ ├── m18 │ ├── facebook.svg │ ├── instagram.svg │ └── twitter.svg │ ├── m19 │ └── flight.svg │ ├── m21 │ ├── back.svg │ ├── more.svg │ ├── pause_circle_outline.svg │ └── shuffle.svg │ ├── m22 │ ├── business_center.svg │ ├── donut_small.svg │ ├── download_done.svg │ ├── fab.svg │ ├── home.svg │ └── supervisor_account.svg │ ├── m3 │ └── pause.svg │ ├── m32 │ ├── arrow_back.svg │ └── settings.svg │ ├── m4 │ ├── back.svg │ ├── menu.svg │ ├── more.svg │ └── play.svg │ ├── m51 │ ├── menu_open.svg │ └── more_horiz.svg │ ├── m52 │ ├── add_circle.svg │ ├── comment.svg │ ├── more_horiz.svg │ ├── online_prediction.svg │ └── timer.svg │ ├── m53 │ └── biker.svg │ ├── m6 │ ├── cast_connected.svg │ ├── contact.svg │ ├── debug.svg │ └── motion_photos_pause.svg │ ├── m7 │ ├── control_camera.svg │ ├── home.svg │ ├── local_convenience_store.svg │ ├── location_city.svg │ └── notification.svg │ ├── m76 │ ├── google.svg │ └── twitter.svg │ ├── m8 │ ├── card_1.svg │ └── card_2.svg │ └── m9 │ ├── add_to_home_screen.svg │ ├── ellipse.svg │ ├── eye_tube.svg │ ├── notifications.svg │ └── search.svg ├── devtools_options.yaml ├── google_fonts ├── WorkSans-Black.ttf ├── WorkSans-BlackItalic.ttf ├── WorkSans-Bold.ttf ├── WorkSans-BoldItalic.ttf ├── WorkSans-ExtraBold.ttf ├── WorkSans-ExtraBoldItalic.ttf ├── WorkSans-ExtraLight.ttf ├── WorkSans-ExtraLightItalic.ttf ├── WorkSans-Italic.ttf ├── WorkSans-Light.ttf ├── WorkSans-LightItalic.ttf ├── WorkSans-Medium.ttf ├── WorkSans-MediumItalic.ttf ├── WorkSans-Regular.ttf ├── WorkSans-SemiBold.ttf ├── WorkSans-SemiBoldItalic.ttf ├── WorkSans-Thin.ttf └── WorkSans-ThinItalic.ttf ├── ios ├── .gitignore ├── Flutter │ ├── AppFrameworkInfo.plist │ ├── Debug.xcconfig │ └── Release.xcconfig ├── Podfile ├── Podfile.lock ├── Runner.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── WorkspaceSettings.xcsettings │ └── xcshareddata │ │ └── xcschemes │ │ └── Runner.xcscheme ├── Runner.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ ├── IDEWorkspaceChecks.plist │ │ └── WorkspaceSettings.xcsettings └── Runner │ ├── AppDelegate.swift │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── Icon-App-1024x1024@1x.png │ │ ├── Icon-App-20x20@1x.png │ │ ├── Icon-App-20x20@2x.png │ │ ├── Icon-App-20x20@3x.png │ │ ├── Icon-App-29x29@1x.png │ │ ├── Icon-App-29x29@2x.png │ │ ├── Icon-App-29x29@3x.png │ │ ├── Icon-App-40x40@1x.png │ │ ├── Icon-App-40x40@2x.png │ │ ├── Icon-App-40x40@3x.png │ │ ├── Icon-App-50x50@1x.png │ │ ├── Icon-App-50x50@2x.png │ │ ├── Icon-App-57x57@1x.png │ │ ├── Icon-App-57x57@2x.png │ │ ├── Icon-App-60x60@2x.png │ │ ├── Icon-App-60x60@3x.png │ │ ├── Icon-App-72x72@1x.png │ │ ├── Icon-App-72x72@2x.png │ │ ├── Icon-App-76x76@1x.png │ │ ├── Icon-App-76x76@2x.png │ │ └── Icon-App-83.5x83.5@2x.png │ └── LaunchImage.imageset │ │ ├── Contents.json │ │ ├── LaunchImage.png │ │ ├── LaunchImage@2x.png │ │ ├── LaunchImage@3x.png │ │ └── README.md │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ └── Runner-Bridging-Header.h ├── lib ├── main.dart └── src │ ├── navigation │ ├── fade_route.dart │ ├── navigation_service.dart │ └── new_routes.dart │ ├── res │ ├── colors.dart │ ├── dimensions.dart │ └── styles.dart │ └── screens │ ├── 1 │ └── page1.dart │ ├── 2 │ └── page2.dart │ ├── 3 │ └── page3.dart │ ├── 4 │ └── page4.dart │ ├── 5 │ └── page5.dart │ ├── 6 │ ├── page6.dart │ └── widgets │ │ └── bottom_sheet.dart │ ├── 7 │ └── page7.dart │ ├── 8 │ └── page8.dart │ ├── 9 │ └── page9.dart │ ├── 10 │ └── page_10.dart │ ├── 11 │ └── page_11.dart │ ├── 12 │ └── page_12.dart │ ├── 13 │ └── page_13.dart │ ├── 14 │ └── page_14.dart │ ├── 15 │ └── page_15.dart │ ├── 16 │ └── page16.dart │ ├── 17 │ └── page_17.dart │ ├── 18 │ └── page_18.dart │ ├── 19 │ └── page_19.dart │ ├── 20 │ └── page_20.dart │ ├── 21 │ ├── model │ │ └── pg_21_model.dart │ ├── page_21.dart │ └── widgets │ │ └── pg_21_list_item.dart │ ├── 22 │ ├── models │ │ └── pg_22_model.dart │ ├── page_22.dart │ └── widgets │ │ └── task_list.dart │ ├── 23 │ ├── model │ │ └── pg_23_model.dart │ ├── page_23.dart │ └── widget │ │ └── schedule_list.dart │ ├── 24 │ └── page_24.dart │ ├── 25 │ └── page_25.dart │ ├── 26 │ └── page26.dart │ ├── 27 │ └── page_27.dart │ ├── 28 │ └── page_28.dart │ ├── 29 │ └── page_29.dart │ ├── 30 │ └── page_30.dart │ ├── 31 │ └── page_31.dart │ ├── 32 │ ├── circle_tab_indicator.dart │ └── page_32.dart │ ├── 33 │ └── page_33.dart │ ├── 34 │ └── page_34.dart │ ├── 35 │ ├── page_35.dart │ └── widgets │ │ ├── date_item.dart │ │ ├── event.dart │ │ └── nearby_event.dart │ ├── 36 │ ├── page_36.dart │ └── permanent_bottom_sheet.dart │ ├── 37 │ ├── add_to_cart.dart │ └── page_37.dart │ ├── 38 │ └── page_38.dart │ ├── 39 │ └── page_39.dart │ ├── 40 │ ├── chat_bubble.dart │ ├── custom_shape.dart │ └── page_40.dart │ ├── 41 │ └── page_41.dart │ ├── 42 │ └── page_42.dart │ ├── 43 │ └── page_43.dart │ ├── 44 │ └── page_44.dart │ ├── 45 │ └── page_45.dart │ ├── 46 │ └── page_46.dart │ ├── 47 │ └── page_47.dart │ ├── 48 │ └── page_48.dart │ ├── 49 │ └── page_49.dart │ ├── 50 │ └── page_50.dart │ ├── 51 │ ├── page_51.dart │ └── widgets │ │ └── page_51_list_item.dart │ ├── 52 │ └── page_52.dart │ ├── 53 │ └── page_53.dart │ ├── 54 │ └── page_54.dart │ ├── 55 │ └── page_55.dart │ ├── 56 │ └── page_56.dart │ ├── 57 │ └── page_57.dart │ ├── 58 │ └── page_58.dart │ ├── 59 │ └── page_59.dart │ ├── 60 │ └── page_60.dart │ ├── 61 │ └── page_61.dart │ ├── 62 │ └── page_62.dart │ ├── 63 │ └── page_63.dart │ ├── 64 │ └── page_64.dart │ ├── 65 │ └── page_65.dart │ ├── 66 │ └── page_66.dart │ ├── 67 │ └── page_67.dart │ ├── 68 │ └── page_68.dart │ ├── 69 │ └── page_69.dart │ ├── 70 │ └── page_70.dart │ ├── 72 │ └── page_72.dart │ ├── 73 │ └── page_73.dart │ ├── 74 │ └── page_74.dart │ ├── 75 │ └── page_75.dart │ ├── 76 │ └── page_76.dart │ ├── 77 │ └── page_77.dart │ ├── 78 │ └── page_78.dart │ ├── 79 │ └── page_79.dart │ ├── 80 │ └── page_80.dart │ ├── 81 │ └── page_81.dart │ ├── 82 │ └── page_82.dart │ ├── 83 │ └── page_83.dart │ ├── 84 │ ├── page_84.dart │ └── widgets │ │ └── bubble.dart │ ├── 85 │ └── page_85.dart │ ├── 86 │ └── page_86.dart │ ├── 87 │ └── page_87.dart │ ├── 88 │ └── page_88.dart │ ├── 89 │ └── page_89.dart │ ├── 90 │ └── page_90.dart │ ├── 91 │ └── page_91.dart │ ├── 92 │ └── page_92.dart │ ├── 93 │ └── page_93.dart │ ├── 94 │ └── page_94.dart │ ├── 95 │ └── page_95.dart │ ├── 96 │ └── page_96.dart │ ├── 97 │ └── page_97.dart │ ├── 98 │ └── page_98.dart │ ├── 99 │ └── page_99.dart │ ├── 100 │ └── page_100.dart │ ├── 101 │ └── page101.dart │ ├── 102 │ └── page102.dart │ ├── 103 │ └── page_103.dart │ ├── 104 │ └── page104.dart │ ├── 175 │ └── page_175.dart │ ├── 157_160 │ ├── 156 │ │ └── widget_156.dart │ ├── 157 │ │ └── widget_157.dart │ ├── 158 │ │ └── widget_175.dart │ ├── 159 │ │ └── widget_159.dart │ ├── 160 │ │ └── 156_widget.dart │ └── page_156.dart │ ├── home │ └── home_page.dart │ └── routes │ └── routes.dart ├── linux ├── .gitignore ├── CMakeLists.txt ├── flutter │ ├── CMakeLists.txt │ ├── generated_plugin_registrant.cc │ ├── generated_plugin_registrant.h │ └── generated_plugins.cmake ├── main.cc ├── my_application.cc └── my_application.h ├── macos ├── .gitignore ├── Flutter │ ├── Flutter-Debug.xcconfig │ ├── Flutter-Release.xcconfig │ └── GeneratedPluginRegistrant.swift ├── Podfile ├── Runner.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ └── xcshareddata │ │ └── xcschemes │ │ └── Runner.xcscheme ├── Runner.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── Runner │ ├── AppDelegate.swift │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── app_icon_1024.png │ │ ├── app_icon_128.png │ │ ├── app_icon_16.png │ │ ├── app_icon_256.png │ │ ├── app_icon_32.png │ │ ├── app_icon_512.png │ │ └── app_icon_64.png │ ├── Base.lproj │ └── MainMenu.xib │ ├── Configs │ ├── AppInfo.xcconfig │ ├── Debug.xcconfig │ ├── Release.xcconfig │ └── Warnings.xcconfig │ ├── DebugProfile.entitlements │ ├── Info.plist │ ├── MainFlutterWindow.swift │ └── Release.entitlements ├── notes.txt ├── pubspec.lock ├── pubspec.yaml ├── test ├── leading_zeros_test.dart ├── screens │ ├── 1 │ │ └── page1.dart │ ├── 101 │ │ └── page101_test.dart │ ├── 102 │ │ └── page102_test.dart │ └── 104-105 │ │ └── page104_test.dart ├── utils │ ├── bootstrap.dart │ └── image_network_override.dart └── widget_test.dart ├── web ├── favicon.png ├── icons │ ├── Icon-192.png │ ├── Icon-512.png │ ├── Icon-maskable-192.png │ └── Icon-maskable-512.png ├── index.html └── manifest.json └── windows ├── .gitignore ├── CMakeLists.txt ├── flutter ├── CMakeLists.txt ├── generated_plugin_registrant.cc ├── generated_plugin_registrant.h └── generated_plugins.cmake └── runner ├── CMakeLists.txt ├── Runner.rc ├── flutter_window.cpp ├── flutter_window.h ├── main.cpp ├── resource.h ├── resources └── app_icon.ico ├── runner.exe.manifest ├── utils.cpp ├── utils.h ├── win32_window.cpp └── win32_window.h /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | 4 | 5 | ## Description 6 | 7 | 8 | -------------------------------------------------------------------------------- /.github/workflows/pr_run_test.yml: -------------------------------------------------------------------------------- 1 | name: (PR) Run flutter test 2 | 3 | on: 4 | pull_request: 5 | types: [ opened, synchronize, reopened ] 6 | 7 | env: 8 | flutter_version: '3.24.1' 9 | flutter_channel: 'stable' 10 | 11 | jobs: 12 | flutter_format: 13 | name: Flutter Tests 14 | runs-on: ubuntu-latest 15 | steps: 16 | - uses: actions/checkout@v3 17 | - name: Setup Flutter 18 | uses: subosito/flutter-action@v2.5.0 19 | with: 20 | flutter-version: ${{ env.flutter_version }} 21 | channel: ${{ env.flutter_channel }} 22 | cache: true 23 | - name: Generate required code 24 | run: | 25 | flutter pub get 26 | flutter pub run build_runner build --delete-conflicting-outputs 27 | - name: Run flutter test 28 | run: | 29 | flutter test -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Miscellaneous 2 | *.class 3 | *.log 4 | *.pyc 5 | *.swp 6 | .DS_Store 7 | .atom/ 8 | .buildlog/ 9 | .history 10 | .svn/ 11 | 12 | # IntelliJ related 13 | *.iml 14 | *.ipr 15 | *.iws 16 | .idea/ 17 | 18 | # The .vscode folder contains launch configuration and tasks you configure in 19 | # VS Code which you may wish to be included in version control, so this line 20 | # is commented out by default. 21 | .vscode/ 22 | 23 | # Flutter/Dart/Pub related 24 | **/doc/api/ 25 | **/ios/Flutter/.last_build_id 26 | .dart_tool/ 27 | .flutter-plugins 28 | .flutter-plugins-dependencies 29 | .packages 30 | .pub-cache/ 31 | .pub/ 32 | /build/ 33 | 34 | # Web related 35 | 36 | # Symbolication related 37 | app.*.symbols 38 | 39 | # Obfuscation related 40 | app.*.map.json 41 | 42 | # Android Studio will place build artifacts here 43 | /android/app/debug 44 | /android/app/profile 45 | /android/app/release 46 | 47 | /lib/gen/ 48 | 49 | -------------------------------------------------------------------------------- /.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled. 5 | 6 | version: 7 | revision: f1875d570e39de09040c8f79aa13cc56baab8db1 8 | channel: stable 9 | 10 | project_type: app 11 | 12 | # Tracks metadata for the flutter migrate command 13 | migration: 14 | platforms: 15 | - platform: root 16 | create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 17 | base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 18 | - platform: android 19 | create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 20 | base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 21 | - platform: ios 22 | create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 23 | base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 24 | - platform: linux 25 | create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 26 | base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 27 | - platform: macos 28 | create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 29 | base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 30 | - platform: web 31 | create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 32 | base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 33 | - platform: windows 34 | create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 35 | base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 36 | 37 | # User provided section 38 | 39 | # List of Local paths (relative to this file) that should be 40 | # ignored by the migrate tool. 41 | # 42 | # Files that are not part of the templates will be ignored by default. 43 | unmanaged_files: 44 | - 'lib/main.dart' 45 | - 'ios/Runner.xcodeproj/project.pbxproj' 46 | -------------------------------------------------------------------------------- /.scripts/install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | pwd 4 | 5 | (cd .. && flutter clean) 6 | (cd .. && flutter pub get) 7 | (cd .. && flutter pub run build_runner build --delete-conflicting-outputs) 8 | 9 | exit 0 10 | -------------------------------------------------------------------------------- /.scripts/web_build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "<------------------------ Generating web build ------------------------>" 4 | (cd ../ && flutter build web --web-renderer canvaskit --release --no-tree-shake-icons --source-maps -t lib/main.dart) 5 | echo "<-------------------------- Web build complete --------------------------->" 6 | 7 | exit 0 8 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Oluwabukunmi Aluko 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /analysis_options.yaml: -------------------------------------------------------------------------------- 1 | # This file configures the analyzer, which statically analyzes Dart code to 2 | # check for errors, warnings, and lints. 3 | # 4 | # The issues identified by the analyzer are surfaced in the UI of Dart-enabled 5 | # IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be 6 | # invoked from the command line by running `flutter analyze`. 7 | 8 | # The following line activates a set of recommended lints for Flutter apps, 9 | # packages, and plugins designed to encourage good coding practices. 10 | include: package:flutter_lints/flutter.yaml 11 | 12 | linter: 13 | # The lint rules applied to this project can be customized in the 14 | # section below to disable rules from the `package:flutter_lints/flutter.yaml` 15 | # included above or to enable additional rules. A list of all available lints 16 | # and their documentation is published at 17 | # https://dart-lang.github.io/linter/lints/index.html. 18 | # 19 | # Instead of disabling a lint rule for the entire project in the 20 | # section below, it can also be suppressed for a single line of code 21 | # or a specific dart file by using the `// ignore: name_of_lint` and 22 | # `// ignore_for_file: name_of_lint` syntax on the line or in the file 23 | # producing the lint. 24 | rules: 25 | # avoid_print: false # Uncomment to disable the `avoid_print` rule 26 | # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule 27 | 28 | prefer_const_constructors: false 29 | prefer_const_literals_to_create_immutables: false 30 | always_declare_return_types : true 31 | 32 | 33 | -------------------------------------------------------------------------------- /android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | 9 | # Remember to never publicly share your keystore. 10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app 11 | key.properties 12 | **/*.keystore 13 | **/*.jks 14 | -------------------------------------------------------------------------------- /android/app/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id "com.android.application" 3 | id "kotlin-android" 4 | // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. 5 | id "dev.flutter.flutter-gradle-plugin" 6 | } 7 | 8 | def localProperties = new Properties() 9 | def localPropertiesFile = rootProject.file('local.properties') 10 | if (localPropertiesFile.exists()) { 11 | localPropertiesFile.withReader('UTF-8') { reader -> 12 | localProperties.load(reader) 13 | } 14 | } 15 | 16 | def flutterRoot = localProperties.getProperty('flutter.sdk') 17 | if (flutterRoot == null) { 18 | throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") 19 | } 20 | 21 | def flutterVersionCode = localProperties.getProperty('flutter.versionCode') 22 | if (flutterVersionCode == null) { 23 | flutterVersionCode = '1' 24 | } 25 | 26 | def flutterVersionName = localProperties.getProperty('flutter.versionName') 27 | if (flutterVersionName == null) { 28 | flutterVersionName = '1.0' 29 | } 30 | 31 | android { 32 | compileSdkVersion 34 33 | 34 | compileOptions { 35 | sourceCompatibility JavaVersion.VERSION_1_8 36 | targetCompatibility JavaVersion.VERSION_1_8 37 | } 38 | 39 | kotlinOptions { 40 | jvmTarget = '1.8' 41 | } 42 | 43 | sourceSets { 44 | main.java.srcDirs += 'src/main/kotlin' 45 | } 46 | 47 | defaultConfig { 48 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). 49 | applicationId "com.example.flutter_ui_kit_obkm" 50 | minSdkVersion flutter.minSdkVersion 51 | targetSdkVersion 33 52 | versionCode flutterVersionCode.toInteger() 53 | versionName flutterVersionName 54 | } 55 | 56 | buildTypes { 57 | release { 58 | // TODO: Add your own signing config for the release build. 59 | // Signing with the debug keys for now, so `flutter run --release` works. 60 | signingConfig signingConfigs.debug 61 | } 62 | } 63 | } 64 | 65 | flutter { 66 | source '../..' 67 | } 68 | 69 | dependencies { 70 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0" 71 | } 72 | -------------------------------------------------------------------------------- /android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /android/app/src/main/kotlin/com/example/flutter_ui_kit_obkm/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.flutter_ui_kit_obkm 2 | 3 | import io.flutter.embedding.android.FlutterActivity 4 | 5 | class MainActivity: FlutterActivity() { 6 | } 7 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-v21/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/launcher_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/android/app/src/main/res/mipmap-hdpi/launcher_icon.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/launcher_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/android/app/src/main/res/mipmap-mdpi/launcher_icon.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/launcher_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png -------------------------------------------------------------------------------- /android/app/src/main/res/values-night/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 15 | 18 | 19 | -------------------------------------------------------------------------------- /android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 15 | 18 | 19 | -------------------------------------------------------------------------------- /android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /android/build.gradle: -------------------------------------------------------------------------------- 1 | allprojects { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | } 6 | } 7 | 8 | rootProject.buildDir = '../build' 9 | subprojects { 10 | project.buildDir = "${rootProject.buildDir}/${project.name}" 11 | } 12 | subprojects { 13 | project.evaluationDependsOn(":app") 14 | } 15 | 16 | tasks.register("clean", Delete) { 17 | delete rootProject.buildDir 18 | } 19 | -------------------------------------------------------------------------------- /android/gradle.properties: -------------------------------------------------------------------------------- 1 | # org.gradle.jvmargs=-Xmx1536M 2 | org.gradle.jvmargs=-Xmx1536M -ß-add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED 3 | android.useAndroidX=true 4 | android.enableJetifier=true 5 | 6 | -------------------------------------------------------------------------------- /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-7.6.1-all.zip 7 | -------------------------------------------------------------------------------- /android/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | def flutterSdkPath = { 3 | def properties = new Properties() 4 | file("local.properties").withInputStream { properties.load(it) } 5 | def flutterSdkPath = properties.getProperty("flutter.sdk") 6 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties" 7 | return flutterSdkPath 8 | } 9 | settings.ext.flutterSdkPath = flutterSdkPath() 10 | 11 | includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") 12 | 13 | repositories { 14 | google() 15 | mavenCentral() 16 | gradlePluginPortal() 17 | } 18 | } 19 | 20 | plugins { 21 | id "dev.flutter.flutter-plugin-loader" version "1.0.0" 22 | id "com.android.application" version "7.3.0" apply false 23 | id "org.jetbrains.kotlin.android" version "1.8.0" apply false 24 | } 25 | 26 | include ":app" 27 | -------------------------------------------------------------------------------- /art/banner/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/banner/banner.png -------------------------------------------------------------------------------- /art/screenshots/page104.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page104.png -------------------------------------------------------------------------------- /art/screenshots/page105.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page105.png -------------------------------------------------------------------------------- /art/screenshots/page_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_1.png -------------------------------------------------------------------------------- /art/screenshots/page_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_10.png -------------------------------------------------------------------------------- /art/screenshots/page_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_100.png -------------------------------------------------------------------------------- /art/screenshots/page_101.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_101.png -------------------------------------------------------------------------------- /art/screenshots/page_102.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_102.png -------------------------------------------------------------------------------- /art/screenshots/page_103.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_103.png -------------------------------------------------------------------------------- /art/screenshots/page_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_11.png -------------------------------------------------------------------------------- /art/screenshots/page_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_12.png -------------------------------------------------------------------------------- /art/screenshots/page_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_13.png -------------------------------------------------------------------------------- /art/screenshots/page_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_14.png -------------------------------------------------------------------------------- /art/screenshots/page_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_15.png -------------------------------------------------------------------------------- /art/screenshots/page_156.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_156.png -------------------------------------------------------------------------------- /art/screenshots/page_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_16.png -------------------------------------------------------------------------------- /art/screenshots/page_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_17.png -------------------------------------------------------------------------------- /art/screenshots/page_175.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_175.png -------------------------------------------------------------------------------- /art/screenshots/page_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_18.png -------------------------------------------------------------------------------- /art/screenshots/page_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_19.png -------------------------------------------------------------------------------- /art/screenshots/page_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_2.png -------------------------------------------------------------------------------- /art/screenshots/page_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_20.png -------------------------------------------------------------------------------- /art/screenshots/page_21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_21.png -------------------------------------------------------------------------------- /art/screenshots/page_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_22.png -------------------------------------------------------------------------------- /art/screenshots/page_23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_23.png -------------------------------------------------------------------------------- /art/screenshots/page_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_24.png -------------------------------------------------------------------------------- /art/screenshots/page_25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_25.png -------------------------------------------------------------------------------- /art/screenshots/page_26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_26.png -------------------------------------------------------------------------------- /art/screenshots/page_27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_27.png -------------------------------------------------------------------------------- /art/screenshots/page_28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_28.png -------------------------------------------------------------------------------- /art/screenshots/page_29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_29.png -------------------------------------------------------------------------------- /art/screenshots/page_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_3.png -------------------------------------------------------------------------------- /art/screenshots/page_30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_30.png -------------------------------------------------------------------------------- /art/screenshots/page_31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_31.png -------------------------------------------------------------------------------- /art/screenshots/page_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_32.png -------------------------------------------------------------------------------- /art/screenshots/page_33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_33.png -------------------------------------------------------------------------------- /art/screenshots/page_34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_34.png -------------------------------------------------------------------------------- /art/screenshots/page_35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_35.png -------------------------------------------------------------------------------- /art/screenshots/page_36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_36.png -------------------------------------------------------------------------------- /art/screenshots/page_37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_37.png -------------------------------------------------------------------------------- /art/screenshots/page_38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_38.png -------------------------------------------------------------------------------- /art/screenshots/page_39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_39.png -------------------------------------------------------------------------------- /art/screenshots/page_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_4.png -------------------------------------------------------------------------------- /art/screenshots/page_40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_40.png -------------------------------------------------------------------------------- /art/screenshots/page_41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_41.png -------------------------------------------------------------------------------- /art/screenshots/page_42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_42.png -------------------------------------------------------------------------------- /art/screenshots/page_43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_43.png -------------------------------------------------------------------------------- /art/screenshots/page_44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_44.png -------------------------------------------------------------------------------- /art/screenshots/page_45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_45.png -------------------------------------------------------------------------------- /art/screenshots/page_46.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_46.png -------------------------------------------------------------------------------- /art/screenshots/page_47.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_47.png -------------------------------------------------------------------------------- /art/screenshots/page_48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_48.png -------------------------------------------------------------------------------- /art/screenshots/page_49.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_49.png -------------------------------------------------------------------------------- /art/screenshots/page_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_5.png -------------------------------------------------------------------------------- /art/screenshots/page_50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_50.png -------------------------------------------------------------------------------- /art/screenshots/page_51.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_51.png -------------------------------------------------------------------------------- /art/screenshots/page_52.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_52.png -------------------------------------------------------------------------------- /art/screenshots/page_53.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_53.png -------------------------------------------------------------------------------- /art/screenshots/page_54.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_54.png -------------------------------------------------------------------------------- /art/screenshots/page_55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_55.png -------------------------------------------------------------------------------- /art/screenshots/page_56.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_56.png -------------------------------------------------------------------------------- /art/screenshots/page_57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_57.png -------------------------------------------------------------------------------- /art/screenshots/page_58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_58.png -------------------------------------------------------------------------------- /art/screenshots/page_59.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_59.png -------------------------------------------------------------------------------- /art/screenshots/page_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_6.png -------------------------------------------------------------------------------- /art/screenshots/page_60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_60.png -------------------------------------------------------------------------------- /art/screenshots/page_61.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_61.png -------------------------------------------------------------------------------- /art/screenshots/page_62.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_62.png -------------------------------------------------------------------------------- /art/screenshots/page_63.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_63.png -------------------------------------------------------------------------------- /art/screenshots/page_64.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_64.jpeg -------------------------------------------------------------------------------- /art/screenshots/page_65.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_65.png -------------------------------------------------------------------------------- /art/screenshots/page_66.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_66.png -------------------------------------------------------------------------------- /art/screenshots/page_67.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_67.png -------------------------------------------------------------------------------- /art/screenshots/page_68.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_68.png -------------------------------------------------------------------------------- /art/screenshots/page_69.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_69.png -------------------------------------------------------------------------------- /art/screenshots/page_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_7.png -------------------------------------------------------------------------------- /art/screenshots/page_70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_70.png -------------------------------------------------------------------------------- /art/screenshots/page_71.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_71.png -------------------------------------------------------------------------------- /art/screenshots/page_72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_72.png -------------------------------------------------------------------------------- /art/screenshots/page_73.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_73.png -------------------------------------------------------------------------------- /art/screenshots/page_74.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_74.png -------------------------------------------------------------------------------- /art/screenshots/page_75.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_75.png -------------------------------------------------------------------------------- /art/screenshots/page_76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_76.png -------------------------------------------------------------------------------- /art/screenshots/page_77.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_77.png -------------------------------------------------------------------------------- /art/screenshots/page_78.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_78.png -------------------------------------------------------------------------------- /art/screenshots/page_79.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_79.png -------------------------------------------------------------------------------- /art/screenshots/page_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_8.png -------------------------------------------------------------------------------- /art/screenshots/page_80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_80.png -------------------------------------------------------------------------------- /art/screenshots/page_81.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_81.png -------------------------------------------------------------------------------- /art/screenshots/page_82.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_82.png -------------------------------------------------------------------------------- /art/screenshots/page_83.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_83.png -------------------------------------------------------------------------------- /art/screenshots/page_84.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_84.png -------------------------------------------------------------------------------- /art/screenshots/page_85.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_85.png -------------------------------------------------------------------------------- /art/screenshots/page_86.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_86.png -------------------------------------------------------------------------------- /art/screenshots/page_87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_87.png -------------------------------------------------------------------------------- /art/screenshots/page_88.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_88.png -------------------------------------------------------------------------------- /art/screenshots/page_89.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_89.png -------------------------------------------------------------------------------- /art/screenshots/page_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_9.png -------------------------------------------------------------------------------- /art/screenshots/page_90.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_90.png -------------------------------------------------------------------------------- /art/screenshots/page_91.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_91.jpeg -------------------------------------------------------------------------------- /art/screenshots/page_92.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_92.png -------------------------------------------------------------------------------- /art/screenshots/page_93.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_93.png -------------------------------------------------------------------------------- /art/screenshots/page_94.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_94.png -------------------------------------------------------------------------------- /art/screenshots/page_95.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_95.png -------------------------------------------------------------------------------- /art/screenshots/page_96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_96.png -------------------------------------------------------------------------------- /art/screenshots/page_97.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_97.png -------------------------------------------------------------------------------- /art/screenshots/page_98.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_98.png -------------------------------------------------------------------------------- /art/screenshots/page_99.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/page_99.png -------------------------------------------------------------------------------- /art/screenshots/root.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/root.png -------------------------------------------------------------------------------- /art/screenshots/web_page_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/art/screenshots/web_page_7.png -------------------------------------------------------------------------------- /assets/color/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFFFFF 4 | #000000 5 | #C4C4C4 6 | -------------------------------------------------------------------------------- /assets/fonts/Abolition-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/fonts/Abolition-Regular.ttf -------------------------------------------------------------------------------- /assets/fonts/Proxima-Nova.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/fonts/Proxima-Nova.otf -------------------------------------------------------------------------------- /assets/logo/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/logo/logo.png -------------------------------------------------------------------------------- /assets/png/flower.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/flower.png -------------------------------------------------------------------------------- /assets/png/lady_pg4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/lady_pg4.png -------------------------------------------------------------------------------- /assets/png/m10/img_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m10/img_1.png -------------------------------------------------------------------------------- /assets/png/m10/img_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m10/img_2.png -------------------------------------------------------------------------------- /assets/png/m10/img_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m10/img_3.png -------------------------------------------------------------------------------- /assets/png/m10/img_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m10/img_4.png -------------------------------------------------------------------------------- /assets/png/m10/img_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m10/img_5.png -------------------------------------------------------------------------------- /assets/png/m10/img_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m10/img_6.png -------------------------------------------------------------------------------- /assets/png/m100/woman hanging.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m100/woman hanging.jpeg -------------------------------------------------------------------------------- /assets/png/m100/woman with dumbbell.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m100/woman with dumbbell.jpeg -------------------------------------------------------------------------------- /assets/png/m13/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m13/background.png -------------------------------------------------------------------------------- /assets/png/m13/image1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m13/image1.png -------------------------------------------------------------------------------- /assets/png/m13/image2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m13/image2.png -------------------------------------------------------------------------------- /assets/png/m13/image3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m13/image3.png -------------------------------------------------------------------------------- /assets/png/m175/img_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m175/img_1.png -------------------------------------------------------------------------------- /assets/png/m175/img_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m175/img_2.png -------------------------------------------------------------------------------- /assets/png/m175/img_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m175/img_3.png -------------------------------------------------------------------------------- /assets/png/m175/img_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m175/img_4.png -------------------------------------------------------------------------------- /assets/png/m19/flight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m19/flight.png -------------------------------------------------------------------------------- /assets/png/m26/start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m26/start.png -------------------------------------------------------------------------------- /assets/png/m27/gym.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m27/gym.png -------------------------------------------------------------------------------- /assets/png/m28/bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m28/bar.png -------------------------------------------------------------------------------- /assets/png/m28/graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m28/graph.png -------------------------------------------------------------------------------- /assets/png/m29/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m29/add.png -------------------------------------------------------------------------------- /assets/png/m29/chinese.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m29/chinese.png -------------------------------------------------------------------------------- /assets/png/m29/delivery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m29/delivery.png -------------------------------------------------------------------------------- /assets/png/m29/food.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m29/food.jpeg -------------------------------------------------------------------------------- /assets/png/m29/food.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m29/food.png -------------------------------------------------------------------------------- /assets/png/m29/food2.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m29/food2.jpeg -------------------------------------------------------------------------------- /assets/png/m29/food2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m29/food2.png -------------------------------------------------------------------------------- /assets/png/m29/fries.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m29/fries.png -------------------------------------------------------------------------------- /assets/png/m29/more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m29/more.png -------------------------------------------------------------------------------- /assets/png/m29/sushi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m29/sushi.png -------------------------------------------------------------------------------- /assets/png/m30/banana.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m30/banana.png -------------------------------------------------------------------------------- /assets/png/m31/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m31/banner.png -------------------------------------------------------------------------------- /assets/png/m31/img1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m31/img1.jpeg -------------------------------------------------------------------------------- /assets/png/m31/img2.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m31/img2.jpeg -------------------------------------------------------------------------------- /assets/png/m31/img3.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m31/img3.jpeg -------------------------------------------------------------------------------- /assets/png/m31/img4.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m31/img4.jpeg -------------------------------------------------------------------------------- /assets/png/m31/img5.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m31/img5.jpeg -------------------------------------------------------------------------------- /assets/png/m31/img6.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m31/img6.jpeg -------------------------------------------------------------------------------- /assets/png/m31/img7.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m31/img7.jpeg -------------------------------------------------------------------------------- /assets/png/m31/img8.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m31/img8.jpeg -------------------------------------------------------------------------------- /assets/png/m31/img9.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m31/img9.jpeg -------------------------------------------------------------------------------- /assets/png/m35/img1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m35/img1.jpeg -------------------------------------------------------------------------------- /assets/png/m35/img2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m35/img2.png -------------------------------------------------------------------------------- /assets/png/m35/img3.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m35/img3.jpeg -------------------------------------------------------------------------------- /assets/png/m35/img4.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m35/img4.jpeg -------------------------------------------------------------------------------- /assets/png/m35/img5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m35/img5.png -------------------------------------------------------------------------------- /assets/png/m37/watch.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m37/watch.jpeg -------------------------------------------------------------------------------- /assets/png/m40/avatar.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m40/avatar.jpeg -------------------------------------------------------------------------------- /assets/png/m43/image0.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m43/image0.jpeg -------------------------------------------------------------------------------- /assets/png/m43/image1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m43/image1.jpeg -------------------------------------------------------------------------------- /assets/png/m43/image2.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m43/image2.jpeg -------------------------------------------------------------------------------- /assets/png/m45/europe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m45/europe.png -------------------------------------------------------------------------------- /assets/png/m50/image1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m50/image1.jpeg -------------------------------------------------------------------------------- /assets/png/m50/image2.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m50/image2.jpeg -------------------------------------------------------------------------------- /assets/png/m50/image3.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m50/image3.jpeg -------------------------------------------------------------------------------- /assets/png/m50/image4.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m50/image4.jpeg -------------------------------------------------------------------------------- /assets/png/m50/image5.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m50/image5.jpeg -------------------------------------------------------------------------------- /assets/png/m52/model.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m52/model.jpeg -------------------------------------------------------------------------------- /assets/png/m53/img_1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m53/img_1.jpeg -------------------------------------------------------------------------------- /assets/png/m53/img_2.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m53/img_2.jpeg -------------------------------------------------------------------------------- /assets/png/m57/check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m57/check.png -------------------------------------------------------------------------------- /assets/png/m64/img_1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m64/img_1.jpeg -------------------------------------------------------------------------------- /assets/png/m64/img_2.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m64/img_2.jpeg -------------------------------------------------------------------------------- /assets/png/m64/img_3.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m64/img_3.jpeg -------------------------------------------------------------------------------- /assets/png/m8/card_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m8/card_1.png -------------------------------------------------------------------------------- /assets/png/m8/card_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m8/card_2.png -------------------------------------------------------------------------------- /assets/png/m89/artificial-intelligence 1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m89/artificial-intelligence 1.png -------------------------------------------------------------------------------- /assets/png/m89/bipolar 1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m89/bipolar 1.png -------------------------------------------------------------------------------- /assets/png/m89/online-learning 1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m89/online-learning 1.png -------------------------------------------------------------------------------- /assets/png/m95/boxed-water-is-better.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m95/boxed-water-is-better.jpeg -------------------------------------------------------------------------------- /assets/png/m95/gym_tools.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m95/gym_tools.jpeg -------------------------------------------------------------------------------- /assets/png/m95/man-with-heavy-ball.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m95/man-with-heavy-ball.jpeg -------------------------------------------------------------------------------- /assets/png/m96/climbing-steps.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m96/climbing-steps.jpeg -------------------------------------------------------------------------------- /assets/png/m96/run on shore.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m96/run on shore.jpeg -------------------------------------------------------------------------------- /assets/png/m96/run-on-bridge.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m96/run-on-bridge.jpeg -------------------------------------------------------------------------------- /assets/png/m96/run-uphill.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m96/run-uphill.jpeg -------------------------------------------------------------------------------- /assets/png/m96/run.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m96/run.jpeg -------------------------------------------------------------------------------- /assets/png/m96/runner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m96/runner.jpeg -------------------------------------------------------------------------------- /assets/png/m97/female-fashion-model-poses-jump.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m97/female-fashion-model-poses-jump.webp -------------------------------------------------------------------------------- /assets/png/m97/jumping lady.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m97/jumping lady.jpeg -------------------------------------------------------------------------------- /assets/png/m97/man in white.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m97/man in white.jpeg -------------------------------------------------------------------------------- /assets/png/m97/woman with handpad.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m97/woman with handpad.webp -------------------------------------------------------------------------------- /assets/png/m98/Cal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m98/Cal.png -------------------------------------------------------------------------------- /assets/png/m98/DirectoryBook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m98/DirectoryBook.png -------------------------------------------------------------------------------- /assets/png/m98/Lottery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m98/Lottery.png -------------------------------------------------------------------------------- /assets/png/m98/Lotto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m98/Lotto.png -------------------------------------------------------------------------------- /assets/png/m98/Ticket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m98/Ticket.png -------------------------------------------------------------------------------- /assets/png/m98/Wheel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m98/Wheel.png -------------------------------------------------------------------------------- /assets/png/m99/Poster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/m99/Poster.png -------------------------------------------------------------------------------- /assets/png/thank_you.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/thank_you.png -------------------------------------------------------------------------------- /assets/png/todo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/todo.png -------------------------------------------------------------------------------- /assets/png/usa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/assets/png/usa.png -------------------------------------------------------------------------------- /assets/svg/m11/subtract.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/svg/m14/mastercard.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/svg/m175/keyboard_arrow_left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m175/search.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /assets/svg/m175/shopping_bag.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /assets/svg/m18/facebook.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m18/instagram.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /assets/svg/m18/twitter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m19/flight.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /assets/svg/m21/back.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/svg/m21/more.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/svg/m21/pause_circle_outline.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m21/shuffle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m22/business_center.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m22/donut_small.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m22/download_done.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m22/fab.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/svg/m22/home.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m22/supervisor_account.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m3/pause.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m32/arrow_back.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m32/settings.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m4/back.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/svg/m4/menu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/svg/m4/more.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m4/play.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m51/menu_open.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m51/more_horiz.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m52/add_circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m52/comment.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m52/more_horiz.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m52/online_prediction.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m52/timer.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m6/cast_connected.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m6/contact.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m6/debug.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m6/motion_photos_pause.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m7/control_camera.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/svg/m7/home.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m7/local_convenience_store.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m7/location_city.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m7/notification.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/svg/m76/google.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /assets/svg/m76/twitter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /assets/svg/m9/add_to_home_screen.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m9/ellipse.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m9/notifications.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/svg/m9/search.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /devtools_options.yaml: -------------------------------------------------------------------------------- 1 | extensions: 2 | -------------------------------------------------------------------------------- /google_fonts/WorkSans-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/google_fonts/WorkSans-Black.ttf -------------------------------------------------------------------------------- /google_fonts/WorkSans-BlackItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/google_fonts/WorkSans-BlackItalic.ttf -------------------------------------------------------------------------------- /google_fonts/WorkSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/google_fonts/WorkSans-Bold.ttf -------------------------------------------------------------------------------- /google_fonts/WorkSans-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/google_fonts/WorkSans-BoldItalic.ttf -------------------------------------------------------------------------------- /google_fonts/WorkSans-ExtraBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/google_fonts/WorkSans-ExtraBold.ttf -------------------------------------------------------------------------------- /google_fonts/WorkSans-ExtraBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/google_fonts/WorkSans-ExtraBoldItalic.ttf -------------------------------------------------------------------------------- /google_fonts/WorkSans-ExtraLight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/google_fonts/WorkSans-ExtraLight.ttf -------------------------------------------------------------------------------- /google_fonts/WorkSans-ExtraLightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/google_fonts/WorkSans-ExtraLightItalic.ttf -------------------------------------------------------------------------------- /google_fonts/WorkSans-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/google_fonts/WorkSans-Italic.ttf -------------------------------------------------------------------------------- /google_fonts/WorkSans-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/google_fonts/WorkSans-Light.ttf -------------------------------------------------------------------------------- /google_fonts/WorkSans-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/google_fonts/WorkSans-LightItalic.ttf -------------------------------------------------------------------------------- /google_fonts/WorkSans-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/google_fonts/WorkSans-Medium.ttf -------------------------------------------------------------------------------- /google_fonts/WorkSans-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/google_fonts/WorkSans-MediumItalic.ttf -------------------------------------------------------------------------------- /google_fonts/WorkSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/google_fonts/WorkSans-Regular.ttf -------------------------------------------------------------------------------- /google_fonts/WorkSans-SemiBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/google_fonts/WorkSans-SemiBold.ttf -------------------------------------------------------------------------------- /google_fonts/WorkSans-SemiBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/google_fonts/WorkSans-SemiBoldItalic.ttf -------------------------------------------------------------------------------- /google_fonts/WorkSans-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/google_fonts/WorkSans-Thin.ttf -------------------------------------------------------------------------------- /google_fonts/WorkSans-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/google_fonts/WorkSans-ThinItalic.ttf -------------------------------------------------------------------------------- /ios/.gitignore: -------------------------------------------------------------------------------- 1 | **/dgph 2 | *.mode1v3 3 | *.mode2v3 4 | *.moved-aside 5 | *.pbxuser 6 | *.perspectivev3 7 | **/*sync/ 8 | .sconsign.dblite 9 | .tags* 10 | **/.vagrant/ 11 | **/DerivedData/ 12 | Icon? 13 | **/Pods/ 14 | **/.symlinks/ 15 | profile 16 | xcuserdata 17 | **/.generated/ 18 | Flutter/App.framework 19 | Flutter/Flutter.framework 20 | Flutter/Flutter.podspec 21 | Flutter/Generated.xcconfig 22 | Flutter/ephemeral/ 23 | Flutter/app.flx 24 | Flutter/app.zip 25 | Flutter/flutter_assets/ 26 | Flutter/flutter_export_environment.sh 27 | ServiceDefinitions.json 28 | Runner/GeneratedPluginRegistrant.* 29 | 30 | # Exceptions to above rules. 31 | !default.mode1v3 32 | !default.mode2v3 33 | !default.pbxuser 34 | !default.perspectivev3 35 | -------------------------------------------------------------------------------- /ios/Flutter/AppFrameworkInfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | App 9 | CFBundleIdentifier 10 | io.flutter.flutter.app 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | App 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | MinimumOSVersion 24 | 11.0 25 | 26 | 27 | -------------------------------------------------------------------------------- /ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" 2 | #include "Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" 2 | #include "Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /ios/Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment this line to define a global platform for your project 2 | # platform :ios, '11.0' 3 | 4 | # CocoaPods analytics sends network stats synchronously affecting flutter build latency. 5 | ENV['COCOAPODS_DISABLE_STATS'] = 'true' 6 | 7 | project 'Runner', { 8 | 'Debug' => :debug, 9 | 'Profile' => :release, 10 | 'Release' => :release, 11 | } 12 | 13 | def flutter_root 14 | generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) 15 | unless File.exist?(generated_xcode_build_settings_path) 16 | raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" 17 | end 18 | 19 | File.foreach(generated_xcode_build_settings_path) do |line| 20 | matches = line.match(/FLUTTER_ROOT\=(.*)/) 21 | return matches[1].strip if matches 22 | end 23 | raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" 24 | end 25 | 26 | require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) 27 | 28 | flutter_ios_podfile_setup 29 | 30 | target 'Runner' do 31 | use_frameworks! 32 | use_modular_headers! 33 | 34 | flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) 35 | end 36 | 37 | post_install do |installer| 38 | installer.pods_project.targets.each do |target| 39 | flutter_additional_ios_build_settings(target) 40 | end 41 | end 42 | -------------------------------------------------------------------------------- /ios/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Flutter (1.0.0) 3 | - path_provider_foundation (0.0.1): 4 | - Flutter 5 | - FlutterMacOS 6 | 7 | DEPENDENCIES: 8 | - Flutter (from `Flutter`) 9 | - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) 10 | 11 | EXTERNAL SOURCES: 12 | Flutter: 13 | :path: Flutter 14 | path_provider_foundation: 15 | :path: ".symlinks/plugins/path_provider_foundation/darwin" 16 | 17 | SPEC CHECKSUMS: 18 | Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 19 | path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943 20 | 21 | PODFILE CHECKSUM: ef19549a9bc3046e7bb7d2fab4d021637c0c58a3 22 | 23 | COCOAPODS: 1.12.1 24 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | 4 | @UIApplicationMain 5 | @objc class AppDelegate: FlutterAppDelegate { 6 | override func application( 7 | _ application: UIApplication, 8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 9 | ) -> Bool { 10 | GeneratedPluginRegistrant.register(with: self) 11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/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/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/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/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/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/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/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/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/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/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/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/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/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/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/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/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/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/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/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/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/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/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/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/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/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/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/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/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /ios/Runner/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleDisplayName 8 | Flutter Ui Kit Obkm 9 | CFBundleExecutable 10 | $(EXECUTABLE_NAME) 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | flutter_ui_kit_obkm 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | $(FLUTTER_BUILD_NAME) 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | $(FLUTTER_BUILD_NUMBER) 25 | LSRequiresIPhoneOS 26 | 27 | UILaunchStoryboardName 28 | LaunchScreen 29 | UIMainStoryboardFile 30 | Main 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | UISupportedInterfaceOrientations~ipad 38 | 39 | UIInterfaceOrientationPortrait 40 | UIInterfaceOrientationPortraitUpsideDown 41 | UIInterfaceOrientationLandscapeLeft 42 | UIInterfaceOrientationLandscapeRight 43 | 44 | UIViewControllerBasedStatusBarAppearance 45 | 46 | CADisableMinimumFrameDurationOnPhone 47 | 48 | UIApplicationSupportsIndirectInputEvents 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /lib/main.dart: -------------------------------------------------------------------------------- 1 | import 'package:device_preview/device_preview.dart'; 2 | import 'package:flutter/foundation.dart'; 3 | import 'package:flutter/material.dart'; 4 | import 'package:flutter_screenutil/flutter_screenutil.dart'; 5 | import 'package:flutter_ui_kit_obkm/src/navigation/new_routes.dart'; 6 | import 'package:flutter_ui_kit_obkm/src/res/colors.dart'; 7 | 8 | void main() async { 9 | runApp( 10 | DevicePreview( 11 | enabled: kReleaseMode, 12 | tools: [ 13 | DeviceSection(), 14 | SettingsSection(), 15 | ], 16 | builder: (context) => const App(), 17 | ), 18 | ); 19 | } 20 | 21 | class App extends StatelessWidget { 22 | const App({Key? key}) : super(key: key); 23 | 24 | @override 25 | Widget build(BuildContext context) { 26 | return ScreenUtilInit( 27 | designSize: const Size(390, 844), 28 | builder: (context, child) => MaterialApp.router( 29 | debugShowCheckedModeBanner: false, 30 | title: "UI Kit", 31 | themeMode: ThemeMode.light, 32 | theme: ThemeData( 33 | scaffoldBackgroundColor: AppColors.lightScaffoldBg, 34 | ), 35 | routerConfig: goRouter, 36 | ), 37 | ); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /lib/src/navigation/fade_route.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class FadeRoute extends PageRouteBuilder { 4 | final Widget page; 5 | 6 | FadeRoute({required this.page}) 7 | : super( 8 | pageBuilder: ( 9 | BuildContext context, 10 | Animation animation, 11 | Animation secondaryAnimation, 12 | ) => 13 | page, 14 | transitionsBuilder: ( 15 | BuildContext context, 16 | Animation animation, 17 | Animation secondaryAnimation, 18 | Widget child, 19 | ) => 20 | FadeTransition( 21 | opacity: animation, 22 | child: child, 23 | ), 24 | ); 25 | } 26 | -------------------------------------------------------------------------------- /lib/src/navigation/navigation_service.dart: -------------------------------------------------------------------------------- 1 | // class NavigationService { 2 | // final GlobalKey navigatorKey = GlobalKey(); 3 | // 4 | // Future to({required String routeName}) { 5 | // return navigatorKey.currentState!.pushNamed(routeName); 6 | // } 7 | // 8 | // void back() { 9 | // return navigatorKey.currentState!.pop(); 10 | // } 11 | // 12 | // Future clearAllTo({required String routeName}) { 13 | // return navigatorKey.currentState! 14 | // .pushNamedAndRemoveUntil(routeName, (route) => false); 15 | // } 16 | // } 17 | -------------------------------------------------------------------------------- /lib/src/res/colors.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class AppColors { 4 | AppColors._(); 5 | 6 | static const white = Color(0xffffffff); 7 | static const blue = Color(0xff0043CE); 8 | static const black = Color(0xff161616); 9 | static const grey = Color(0xffC4C4C4); 10 | static const lightScaffoldBg = Color(0xffE5E5E5); 11 | static const darkScaffoldBg = Color(0xff333333); 12 | } 13 | -------------------------------------------------------------------------------- /lib/src/res/dimensions.dart: -------------------------------------------------------------------------------- 1 | class Dimensions { 2 | static double defaultTextSize = 16.00; 3 | static double smallTextSize = 14.00; 4 | static double extraSmallTextSize = 12.00; 5 | static double largeTextSize = 18.00; 6 | static double extraLargeTextSize = 22.00; 7 | 8 | static const double defaultPaddingSize = 30.00; 9 | static const double marginSize = 20.00; 10 | static const double heightSize = 12.00; 11 | static const double widthSize = 10.00; 12 | static const double radius = 10.00; 13 | static const double buttonHeight = 45.00; 14 | } 15 | -------------------------------------------------------------------------------- /lib/src/res/styles.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_screenutil/flutter_screenutil.dart'; 3 | import 'package:flutter_ui_kit_obkm/gen/colors.gen.dart'; 4 | 5 | import 'dimensions.dart'; 6 | 7 | class AppStyles { 8 | static var addressBorder = OutlineInputBorder( 9 | borderRadius: BorderRadius.circular(Dimensions.radius), 10 | borderSide: BorderSide(color: ColorName.grayC4), 11 | ); 12 | static var underLineBorder = const UnderlineInputBorder( 13 | borderSide: BorderSide(color: Colors.white), 14 | ); 15 | 16 | static var focusedTransparentBorder = OutlineInputBorder( 17 | borderRadius: BorderRadius.circular(Dimensions.radius), 18 | borderSide: const BorderSide(color: Colors.transparent), 19 | ); 20 | static var energyBorder = OutlineInputBorder( 21 | borderRadius: BorderRadius.circular(Dimensions.radius), 22 | borderSide: const BorderSide(color: Colors.transparent), 23 | ); 24 | } 25 | 26 | TextStyle errorTextStyle(context) => 27 | TextStyle(fontSize: 10.sp, color: Theme.of(context).colorScheme.error, fontWeight: FontWeight.w500, height: 1.4); 28 | -------------------------------------------------------------------------------- /lib/src/screens/157_160/156/widget_156.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class Widget156 extends StatelessWidget { 4 | const Widget156({Key? key}) : super(key: key); 5 | 6 | @override 7 | Widget build(BuildContext context) { 8 | return Container(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /lib/src/screens/157_160/157/widget_157.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class Widget157 extends StatelessWidget { 4 | const Widget157({Key? key}) : super(key: key); 5 | 6 | @override 7 | Widget build(BuildContext context) { 8 | return Container(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /lib/src/screens/157_160/158/widget_175.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class Widget158 extends StatefulWidget { 4 | const Widget158({Key? key}) : super(key: key); 5 | 6 | @override 7 | State createState() => _Widget158State(); 8 | } 9 | 10 | class _Widget158State extends State { 11 | @override 12 | Widget build(BuildContext context) { 13 | return Container(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /lib/src/screens/157_160/159/widget_159.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class Widget159 extends StatelessWidget { 4 | const Widget159({Key? key}) : super(key: key); 5 | 6 | @override 7 | Widget build(BuildContext context) { 8 | return Container(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /lib/src/screens/157_160/160/156_widget.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class Widget160 extends StatefulWidget { 4 | const Widget160({Key? key}) : super(key: key); 5 | 6 | @override 7 | State createState() => _Widget160State(); 8 | } 9 | 10 | class _Widget160State extends State { 11 | @override 12 | Widget build(BuildContext context) { 13 | return Container(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /lib/src/screens/157_160/page_156.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_screenutil/flutter_screenutil.dart'; 3 | import 'package:google_fonts/google_fonts.dart'; 4 | 5 | class Page156To160 extends StatefulWidget { 6 | const Page156To160({Key? key}) : super(key: key); 7 | 8 | @override 9 | State createState() => _Page156To160State(); 10 | } 11 | 12 | class _Page156To160State extends State { 13 | @override 14 | Widget build(BuildContext context) { 15 | return Scaffold( 16 | body: SafeArea( 17 | child: Column( 18 | children: [ 19 | LinearProgressIndicator( 20 | backgroundColor: Color(0xffD0D0D0), 21 | color: Color(0xffAAB6B3), 22 | value: 0.3, 23 | minHeight: 5.h, 24 | ), 25 | // SingleChildScrollView(), 26 | Expanded( 27 | child: Column( 28 | mainAxisAlignment: MainAxisAlignment.center, 29 | children: [ 30 | Text( 31 | "What's your first name?", 32 | style: GoogleFonts.workSans( 33 | fontSize: 24.sp, 34 | ), 35 | textAlign: TextAlign.center, 36 | ), 37 | 146.horizontalSpace, 38 | TextField( 39 | style: GoogleFonts.workSans( 40 | fontSize: 64.sp, 41 | fontWeight: FontWeight.w200, 42 | ), 43 | textAlign: TextAlign.center, 44 | decoration: InputDecoration( 45 | border: InputBorder.none, 46 | hintText: "name", 47 | ), 48 | ), 49 | ], 50 | ), 51 | ), 52 | ], 53 | ), 54 | ), 55 | ); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /lib/src/screens/21/model/pg_21_model.dart: -------------------------------------------------------------------------------- 1 | class Pg21Model { 2 | final String title; 3 | final String duration; 4 | 5 | Pg21Model({required this.title, required this.duration}); 6 | } 7 | 8 | class Pg21ModelItems { 9 | static List loadItems(context) { 10 | return [ 11 | Pg21Model( 12 | title: "Song title #1", 13 | duration: "3:04", 14 | ), 15 | Pg21Model( 16 | title: "Song title #2", 17 | duration: "3:34", 18 | ), 19 | Pg21Model( 20 | title: "Song title #3", 21 | duration: "4:13", 22 | ), 23 | ]; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /lib/src/screens/21/widgets/pg_21_list_item.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_screenutil/flutter_screenutil.dart'; 3 | import 'package:flutter_ui_kit_obkm/src/screens/21/model/pg_21_model.dart'; 4 | import 'package:google_fonts/google_fonts.dart'; 5 | import 'package:intl/intl.dart'; 6 | 7 | class Pg21ListItem extends StatelessWidget { 8 | final int index; 9 | final Pg21Model model; 10 | 11 | const Pg21ListItem({Key? key, required this.index, required this.model}) : super(key: key); 12 | 13 | @override 14 | Widget build(BuildContext context) { 15 | return Row( 16 | children: [ 17 | Text( 18 | NumberFormat("00").format(index), 19 | style: GoogleFonts.workSans( 20 | textStyle: TextStyle( 21 | fontSize: 16.sp, 22 | color: Colors.black, 23 | fontStyle: FontStyle.normal, 24 | fontWeight: FontWeight.w600, 25 | ), 26 | ), 27 | ), 28 | SizedBox( 29 | width: 24.w, 30 | ), 31 | Column( 32 | crossAxisAlignment: CrossAxisAlignment.start, 33 | children: [ 34 | Text( 35 | model.title, 36 | style: GoogleFonts.workSans( 37 | textStyle: TextStyle( 38 | fontSize: 16.sp, 39 | color: Colors.black, 40 | fontStyle: FontStyle.normal, 41 | fontWeight: FontWeight.w400, 42 | height: 1.37, 43 | ), 44 | ), 45 | ), 46 | Text( 47 | model.duration, 48 | style: GoogleFonts.workSans( 49 | textStyle: TextStyle( 50 | fontSize: 16.sp, 51 | color: Color(0xffA8A8A8), 52 | fontStyle: FontStyle.normal, 53 | fontWeight: FontWeight.w400, 54 | height: 1.37, 55 | ), 56 | ), 57 | ), 58 | ], 59 | ) 60 | ], 61 | ); 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /lib/src/screens/22/models/pg_22_model.dart: -------------------------------------------------------------------------------- 1 | class Pg22Model { 2 | final String title; 3 | final String category; 4 | final int? totalTask; 5 | final int? completedTask; 6 | final String duration; 7 | final bool isCompleted; 8 | 9 | Pg22Model({ 10 | required this.title, 11 | required this.category, 12 | this.totalTask, 13 | this.completedTask, 14 | required this.duration, 15 | required this.isCompleted, 16 | }); 17 | } 18 | 19 | class Pg22ModelItems { 20 | static List loadItems(context) { 21 | return [ 22 | Pg22Model( 23 | title: "low fi wireframe", 24 | category: "screens", 25 | completedTask: 13, 26 | totalTask: 50, 27 | duration: "this week", 28 | isCompleted: false, 29 | ), 30 | Pg22Model( 31 | title: "usability tests write up", 32 | category: "pages", 33 | completedTask: 3, 34 | totalTask: 5, 35 | duration: "this week", 36 | isCompleted: false, 37 | ), 38 | Pg22Model( 39 | title: "Design meeting with PM", 40 | category: "screens", 41 | completedTask: 1, 42 | totalTask: 1, 43 | duration: "today", 44 | isCompleted: true, 45 | ), 46 | Pg22Model( 47 | title: "Catch up with dev", 48 | category: "one time task", 49 | duration: "this week", 50 | completedTask: 0, 51 | totalTask: 0, 52 | isCompleted: false, 53 | ), 54 | ]; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /lib/src/screens/23/model/pg_23_model.dart: -------------------------------------------------------------------------------- 1 | class Pg23Model { 2 | final String title; 3 | final String? type; 4 | final String timestamp; 5 | 6 | Pg23Model({required this.title, required this.timestamp, this.type}); 7 | } 8 | 9 | class Pg23ModelItems { 10 | static List loadItems(context) { 11 | return [ 12 | Pg23Model( 13 | title: "Team introduction", 14 | type: "Event Type", 15 | timestamp: "9:30", 16 | ), 17 | Pg23Model( 18 | title: "Gather feedback from usability tests", 19 | type: "Event Type", 20 | timestamp: "10:30", 21 | ), 22 | Pg23Model( 23 | title: "Short Break", 24 | timestamp: "12:00", 25 | ), 26 | Pg23Model( 27 | title: "Design internal team meeting", 28 | type: "Event Type", 29 | timestamp: "1:30", 30 | ), 31 | Pg23Model( 32 | title: "Code export to dev", 33 | type: "Event Type", 34 | timestamp: "3:30", 35 | ), 36 | Pg23Model( 37 | title: "Finalize all tasks", 38 | type: "Event Type", 39 | timestamp: "5:00", 40 | ), 41 | Pg23Model( 42 | title: "Team introduction", 43 | type: "Event Type", 44 | timestamp: "7:00", 45 | ), 46 | Pg23Model( 47 | title: "Gather feedback from usability tests", 48 | type: "Event Type", 49 | timestamp: "8:30", 50 | ), 51 | Pg23Model( 52 | title: "Short Break", 53 | timestamp: "9:00", 54 | ), 55 | Pg23Model( 56 | title: "Design internal team meeting", 57 | type: "Event Type", 58 | timestamp: "9:30", 59 | ), 60 | Pg23Model( 61 | title: "Code export to dev", 62 | type: "Event Type", 63 | timestamp: "9:40", 64 | ), 65 | Pg23Model( 66 | title: "Finalize all tasks", 67 | type: "Event Type", 68 | timestamp: "8:50", 69 | ), 70 | ]; 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /lib/src/screens/32/circle_tab_indicator.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | /// Nice reads 4 | /// https://medium.com/swlh/flutter-custom-tab-indicator-for-tabbar-d72bbc6c9d0c 5 | /// https://medium.com/flutter-community/flutter-custom-decoration-eba31253be0b 6 | 7 | class CircleTabIndicator extends Decoration { 8 | final BoxPainter _painter; 9 | 10 | CircleTabIndicator({required Color color, required double radius}) : _painter = _CirclePainter(color, radius); 11 | 12 | @override 13 | BoxPainter createBoxPainter([VoidCallback? onChanged]) => _painter; 14 | } 15 | 16 | class _CirclePainter extends BoxPainter { 17 | final Paint _paint; 18 | final double radius; 19 | 20 | _CirclePainter(Color color, this.radius) 21 | : _paint = Paint() 22 | ..color = color 23 | ..isAntiAlias = true; 24 | 25 | @override 26 | void paint(Canvas canvas, Offset offset, ImageConfiguration cfg) { 27 | final Offset circleOffset = offset + Offset(cfg.size!.width / 2, cfg.size!.height - radius - 5); 28 | canvas.drawCircle(circleOffset, radius, _paint); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /lib/src/screens/35/widgets/date_item.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_screenutil/flutter_screenutil.dart'; 3 | 4 | class DateItem extends StatelessWidget { 5 | final bool isToday; 6 | final bool hasData; 7 | final String day; 8 | final String dayNumber; 9 | const DateItem({ 10 | Key? key, 11 | required this.isToday, 12 | required this.day, 13 | required this.dayNumber, 14 | this.hasData = false, 15 | }) : super(key: key); 16 | 17 | @override 18 | Widget build(BuildContext context) { 19 | return Container( 20 | decoration: BoxDecoration( 21 | color: isToday ? Color(0xffC4C4C4) : null, 22 | borderRadius: BorderRadius.circular(32.r), 23 | ), 24 | padding: EdgeInsets.only(left: 8.w, right: 8.w, bottom: 13.h, top: 14.h), 25 | child: Column( 26 | mainAxisSize: MainAxisSize.min, 27 | children: [ 28 | Text( 29 | day, 30 | style: TextStyle( 31 | fontWeight: FontWeight.w500, 32 | fontSize: 13.sp, 33 | color: Color(0xff3C3C43).withOpacity(0.3), 34 | ), 35 | ), 36 | Padding( 37 | padding: EdgeInsets.only(top: 4.h, bottom: 4.h), 38 | child: Text( 39 | dayNumber, 40 | style: TextStyle( 41 | fontWeight: FontWeight.w400, 42 | fontSize: 20.sp, 43 | color: Color(0xff262626), 44 | height: 1.2, 45 | ), 46 | ), 47 | ), 48 | Container( 49 | width: 8.w, 50 | height: 8.w, 51 | decoration: BoxDecoration( 52 | shape: BoxShape.circle, 53 | color: _getDotColor(isToday: isToday, hasData: hasData), 54 | ), 55 | ) 56 | ], 57 | ), 58 | ); 59 | } 60 | 61 | Color? _getDotColor({required bool isToday, required bool hasData}) { 62 | if (isToday && hasData) { 63 | return Color(0xff262626); 64 | } 65 | 66 | if (hasData) { 67 | return Color(0xffC4C4C4); 68 | } 69 | 70 | return null; 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /lib/src/screens/40/custom_shape.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class CustomShape extends CustomPainter { 4 | final Color bgColor; 5 | 6 | CustomShape(this.bgColor); 7 | 8 | @override 9 | void paint(Canvas canvas, Size size) { 10 | var paint = Paint()..color = bgColor; 11 | 12 | var path = Path(); 13 | path.lineTo(-5, 0); 14 | path.lineTo(0, 10); 15 | path.lineTo(5, 0); 16 | canvas.drawPath(path, paint); 17 | } 18 | 19 | @override 20 | bool shouldRepaint(CustomPainter oldDelegate) { 21 | return false; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /lib/src/screens/44/page_44.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_screenutil/flutter_screenutil.dart'; 3 | import 'package:go_router/go_router.dart'; 4 | import 'package:google_fonts/google_fonts.dart'; 5 | 6 | class Page44 extends StatefulWidget { 7 | const Page44({Key? key}) : super(key: key); 8 | 9 | @override 10 | State createState() => _Page44State(); 11 | } 12 | 13 | class _Page44State extends State { 14 | @override 15 | Widget build(BuildContext context) { 16 | return Scaffold( 17 | body: SafeArea( 18 | child: SingleChildScrollView( 19 | child: Column( 20 | children: [ 21 | SizedBox( 22 | height: 86.h, 23 | ), 24 | 25 | /// Rotate widget 26 | Center( 27 | child: RotatedBox( 28 | quarterTurns: 3, 29 | child: GestureDetector( 30 | onTap: () { 31 | context.pop(); 32 | }, 33 | child: Row( 34 | children: [ 35 | Text( 36 | 'LOREM ', 37 | style: GoogleFonts.roboto( 38 | textStyle: TextStyle( 39 | fontSize: 90.sp, 40 | color: Colors.black, 41 | fontWeight: FontWeight.w100, 42 | ), 43 | ), 44 | ), 45 | Text( 46 | 'IPSUM ', 47 | style: GoogleFonts.roboto( 48 | textStyle: TextStyle( 49 | fontSize: 90.sp, 50 | color: Colors.black, 51 | fontWeight: FontWeight.w400, 52 | ), 53 | ), 54 | ) 55 | ], 56 | ), 57 | ), 58 | ), 59 | ), 60 | ], 61 | ), 62 | ), 63 | ), 64 | ); 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /lib/src/screens/51/widgets/page_51_list_item.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_screenutil/flutter_screenutil.dart'; 3 | import 'package:flutter_ui_kit_obkm/gen/colors.gen.dart'; 4 | import 'package:google_fonts/google_fonts.dart'; 5 | 6 | class Page51ListItem extends StatelessWidget { 7 | const Page51ListItem({Key? key}) : super(key: key); 8 | 9 | @override 10 | Widget build(BuildContext context) { 11 | return Padding( 12 | padding: EdgeInsets.only(right: 25.w), 13 | child: Column( 14 | crossAxisAlignment: CrossAxisAlignment.start, 15 | children: [ 16 | Container( 17 | width: 159.w, 18 | height: 220.h, 19 | color: Color(0xffC4C4C4), 20 | ), 21 | SizedBox( 22 | height: 12.h, 23 | ), 24 | Text( 25 | "Model name", 26 | style: GoogleFonts.workSans( 27 | textStyle: TextStyle( 28 | fontSize: 16.sp, 29 | color: ColorName.black, 30 | fontWeight: FontWeight.w600, 31 | ), 32 | ), 33 | ), 34 | SizedBox( 35 | height: 6.h, 36 | ), 37 | Text( 38 | "Location", 39 | style: GoogleFonts.workSans( 40 | textStyle: TextStyle( 41 | fontSize: 14.sp, 42 | color: ColorName.black, 43 | fontWeight: FontWeight.w400, 44 | ), 45 | ), 46 | ), 47 | ], 48 | ), 49 | ); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /lib/src/screens/home/home_page.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_screenutil/flutter_screenutil.dart'; 3 | import 'package:flutter_ui_kit_obkm/src/res/colors.dart'; 4 | import 'package:go_router/go_router.dart'; 5 | 6 | class MobileHomePage extends StatelessWidget { 7 | const MobileHomePage({Key? key}) : super(key: key); 8 | 9 | @override 10 | Widget build(BuildContext context) { 11 | final width = MediaQuery.of(context).size.width; 12 | 13 | int columns = 5; 14 | if (width >= 600) { 15 | columns = 7; 16 | } 17 | if (width >= 1200) { 18 | columns = 10; 19 | } 20 | 21 | return Scaffold( 22 | backgroundColor: AppColors.darkScaffoldBg, 23 | appBar: AppBar( 24 | title: Text( 25 | "Flutter Ui Kit", 26 | style: TextStyle(color: AppColors.white), 27 | ), 28 | backgroundColor: AppColors.darkScaffoldBg, 29 | surfaceTintColor: AppColors.darkScaffoldBg, 30 | elevation: 0, 31 | ), 32 | body: GridView.count( 33 | crossAxisCount: columns, 34 | children: List.generate( 35 | 105, 36 | (index) { 37 | return GridTile( 38 | child: GestureDetector( 39 | onTap: () { 40 | context.push("/pg${index + 1}"); 41 | }, 42 | child: Container( 43 | margin: EdgeInsets.all(4.0), 44 | color: Color(0xff525252), 45 | child: Center( 46 | child: Text( 47 | '${index + 1}', 48 | style: TextStyle( 49 | color: AppColors.white, 50 | fontSize: 15.sp, 51 | ), 52 | ), 53 | ), 54 | ), 55 | ), 56 | ); 57 | }, 58 | ), 59 | ), 60 | ); 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /linux/.gitignore: -------------------------------------------------------------------------------- 1 | flutter/ephemeral 2 | -------------------------------------------------------------------------------- /linux/flutter/generated_plugin_registrant.cc: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #include "generated_plugin_registrant.h" 8 | 9 | 10 | void fl_register_plugins(FlPluginRegistry* registry) { 11 | } 12 | -------------------------------------------------------------------------------- /linux/flutter/generated_plugin_registrant.h: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #ifndef GENERATED_PLUGIN_REGISTRANT_ 8 | #define GENERATED_PLUGIN_REGISTRANT_ 9 | 10 | #include 11 | 12 | // Registers Flutter plugins. 13 | void fl_register_plugins(FlPluginRegistry* registry); 14 | 15 | #endif // GENERATED_PLUGIN_REGISTRANT_ 16 | -------------------------------------------------------------------------------- /linux/flutter/generated_plugins.cmake: -------------------------------------------------------------------------------- 1 | # 2 | # Generated file, do not edit. 3 | # 4 | 5 | list(APPEND FLUTTER_PLUGIN_LIST 6 | ) 7 | 8 | list(APPEND FLUTTER_FFI_PLUGIN_LIST 9 | ) 10 | 11 | set(PLUGIN_BUNDLED_LIBRARIES) 12 | 13 | foreach(plugin ${FLUTTER_PLUGIN_LIST}) 14 | add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) 15 | target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) 16 | list(APPEND PLUGIN_BUNDLED_LIBRARIES $) 17 | list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) 18 | endforeach(plugin) 19 | 20 | foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) 21 | add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) 22 | list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) 23 | endforeach(ffi_plugin) 24 | -------------------------------------------------------------------------------- /linux/main.cc: -------------------------------------------------------------------------------- 1 | #include "my_application.h" 2 | 3 | int main(int argc, char** argv) { 4 | g_autoptr(MyApplication) app = my_application_new(); 5 | return g_application_run(G_APPLICATION(app), argc, argv); 6 | } 7 | -------------------------------------------------------------------------------- /linux/my_application.h: -------------------------------------------------------------------------------- 1 | #ifndef FLUTTER_MY_APPLICATION_H_ 2 | #define FLUTTER_MY_APPLICATION_H_ 3 | 4 | #include 5 | 6 | G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, 7 | GtkApplication) 8 | 9 | /** 10 | * my_application_new: 11 | * 12 | * Creates a new Flutter-based application. 13 | * 14 | * Returns: a new #MyApplication. 15 | */ 16 | MyApplication* my_application_new(); 17 | 18 | #endif // FLUTTER_MY_APPLICATION_H_ 19 | -------------------------------------------------------------------------------- /macos/.gitignore: -------------------------------------------------------------------------------- 1 | # Flutter-related 2 | **/Flutter/ephemeral/ 3 | **/Pods/ 4 | 5 | # Xcode-related 6 | **/dgph 7 | **/xcuserdata/ 8 | -------------------------------------------------------------------------------- /macos/Flutter/Flutter-Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" 2 | #include "ephemeral/Flutter-Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /macos/Flutter/Flutter-Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" 2 | #include "ephemeral/Flutter-Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /macos/Flutter/GeneratedPluginRegistrant.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | import FlutterMacOS 6 | import Foundation 7 | 8 | import path_provider_foundation 9 | import shared_preferences_foundation 10 | 11 | func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { 12 | PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) 13 | SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) 14 | } 15 | -------------------------------------------------------------------------------- /macos/Podfile: -------------------------------------------------------------------------------- 1 | platform :osx, '10.11' 2 | 3 | # CocoaPods analytics sends network stats synchronously affecting flutter build latency. 4 | ENV['COCOAPODS_DISABLE_STATS'] = 'true' 5 | 6 | project 'Runner', { 7 | 'Debug' => :debug, 8 | 'Profile' => :release, 9 | 'Release' => :release, 10 | } 11 | 12 | def flutter_root 13 | generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) 14 | unless File.exist?(generated_xcode_build_settings_path) 15 | raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" 16 | end 17 | 18 | File.foreach(generated_xcode_build_settings_path) do |line| 19 | matches = line.match(/FLUTTER_ROOT\=(.*)/) 20 | return matches[1].strip if matches 21 | end 22 | raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" 23 | end 24 | 25 | require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) 26 | 27 | flutter_macos_podfile_setup 28 | 29 | target 'Runner' do 30 | use_frameworks! 31 | use_modular_headers! 32 | 33 | flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) 34 | end 35 | 36 | post_install do |installer| 37 | installer.pods_project.targets.each do |target| 38 | flutter_additional_macos_build_settings(target) 39 | end 40 | end 41 | -------------------------------------------------------------------------------- /macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /macos/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /macos/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import Cocoa 2 | import FlutterMacOS 3 | 4 | @NSApplicationMain 5 | class AppDelegate: FlutterAppDelegate { 6 | override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { 7 | return true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info": { 3 | "version": 1, 4 | "author": "xcode" 5 | }, 6 | "images": [ 7 | { 8 | "size": "16x16", 9 | "idiom": "mac", 10 | "filename": "app_icon_16.png", 11 | "scale": "1x" 12 | }, 13 | { 14 | "size": "16x16", 15 | "idiom": "mac", 16 | "filename": "app_icon_32.png", 17 | "scale": "2x" 18 | }, 19 | { 20 | "size": "32x32", 21 | "idiom": "mac", 22 | "filename": "app_icon_32.png", 23 | "scale": "1x" 24 | }, 25 | { 26 | "size": "32x32", 27 | "idiom": "mac", 28 | "filename": "app_icon_64.png", 29 | "scale": "2x" 30 | }, 31 | { 32 | "size": "128x128", 33 | "idiom": "mac", 34 | "filename": "app_icon_128.png", 35 | "scale": "1x" 36 | }, 37 | { 38 | "size": "128x128", 39 | "idiom": "mac", 40 | "filename": "app_icon_256.png", 41 | "scale": "2x" 42 | }, 43 | { 44 | "size": "256x256", 45 | "idiom": "mac", 46 | "filename": "app_icon_256.png", 47 | "scale": "1x" 48 | }, 49 | { 50 | "size": "256x256", 51 | "idiom": "mac", 52 | "filename": "app_icon_512.png", 53 | "scale": "2x" 54 | }, 55 | { 56 | "size": "512x512", 57 | "idiom": "mac", 58 | "filename": "app_icon_512.png", 59 | "scale": "1x" 60 | }, 61 | { 62 | "size": "512x512", 63 | "idiom": "mac", 64 | "filename": "app_icon_1024.png", 65 | "scale": "2x" 66 | } 67 | ] 68 | } -------------------------------------------------------------------------------- /macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png -------------------------------------------------------------------------------- /macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png -------------------------------------------------------------------------------- /macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png -------------------------------------------------------------------------------- /macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png -------------------------------------------------------------------------------- /macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png -------------------------------------------------------------------------------- /macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png -------------------------------------------------------------------------------- /macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png -------------------------------------------------------------------------------- /macos/Runner/Configs/AppInfo.xcconfig: -------------------------------------------------------------------------------- 1 | // Application-level settings for the Runner target. 2 | // 3 | // This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the 4 | // future. If not, the values below would default to using the project name when this becomes a 5 | // 'flutter create' template. 6 | 7 | // The application's name. By default this is also the title of the Flutter window. 8 | PRODUCT_NAME = flutter_ui_kit_obkm 9 | 10 | // The application's bundle identifier 11 | PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterUiKitObkm 12 | 13 | // The copyright displayed in application information 14 | PRODUCT_COPYRIGHT = Copyright © 2021 com.example. All rights reserved. 15 | -------------------------------------------------------------------------------- /macos/Runner/Configs/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../Flutter/Flutter-Debug.xcconfig" 2 | #include "Warnings.xcconfig" 3 | -------------------------------------------------------------------------------- /macos/Runner/Configs/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../Flutter/Flutter-Release.xcconfig" 2 | #include "Warnings.xcconfig" 3 | -------------------------------------------------------------------------------- /macos/Runner/Configs/Warnings.xcconfig: -------------------------------------------------------------------------------- 1 | WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings 2 | GCC_WARN_UNDECLARED_SELECTOR = YES 3 | CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES 4 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE 5 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES 6 | CLANG_WARN_PRAGMA_PACK = YES 7 | CLANG_WARN_STRICT_PROTOTYPES = YES 8 | CLANG_WARN_COMMA = YES 9 | GCC_WARN_STRICT_SELECTOR_MATCH = YES 10 | CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES 11 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES 12 | GCC_WARN_SHADOW = YES 13 | CLANG_WARN_UNREACHABLE_CODE = YES 14 | -------------------------------------------------------------------------------- /macos/Runner/DebugProfile.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | com.apple.security.cs.allow-jit 8 | 9 | com.apple.security.network.server 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /macos/Runner/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | $(FLUTTER_BUILD_NAME) 21 | CFBundleVersion 22 | $(FLUTTER_BUILD_NUMBER) 23 | LSMinimumSystemVersion 24 | $(MACOSX_DEPLOYMENT_TARGET) 25 | NSHumanReadableCopyright 26 | $(PRODUCT_COPYRIGHT) 27 | NSMainNibFile 28 | MainMenu 29 | NSPrincipalClass 30 | NSApplication 31 | 32 | 33 | -------------------------------------------------------------------------------- /macos/Runner/MainFlutterWindow.swift: -------------------------------------------------------------------------------- 1 | import Cocoa 2 | import FlutterMacOS 3 | 4 | class MainFlutterWindow: NSWindow { 5 | override func awakeFromNib() { 6 | let flutterViewController = FlutterViewController.init() 7 | let windowFrame = self.frame 8 | self.contentViewController = flutterViewController 9 | self.setFrame(windowFrame, display: true) 10 | 11 | RegisterGeneratedPlugins(registry: flutterViewController) 12 | 13 | super.awakeFromNib() 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /macos/Runner/Release.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /notes.txt: -------------------------------------------------------------------------------- 1 | - Flutter Screen Util 2 | Screen utils takes into account the entire screen, including status bar 3 | 4 | - If the screen is fixed, like two parts(Like no scroll), it is better to separate them into different 5 | boxes/sections e.g page3 of mobile screen, 6 | 7 | I prefer to start designing with safe area 8 | 9 | Use spacer and expanded as preference to hard coded height" 10 | 11 | - Continue from 12 | screen 3, improve the transition, check flutter card carousel 13 | screen 5, improve carousel indicator 14 | -------------------------------------------------------------------------------- /test/leading_zeros_test.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:intl/intl.dart'; 3 | 4 | void main() { 5 | NumberFormat formatter = NumberFormat("00"); 6 | debugPrint("123 should be ${formatter.format(3)}"); 7 | } 8 | -------------------------------------------------------------------------------- /test/screens/1/page1.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_test/flutter_test.dart'; 3 | import 'package:flutter_ui_kit_obkm/main.dart' as test_app; 4 | import 'package:google_fonts/google_fonts.dart'; 5 | 6 | void main() { 7 | setUp(() => GoogleFonts.config.allowRuntimeFetching = false); 8 | 9 | testWidgets('Test Page 1', (tester) async { 10 | await tester.binding.setSurfaceSize(Size(390, 844)); 11 | await tester.pumpWidget( 12 | test_app.App(), 13 | ); 14 | await tester.pumpAndSettle(); 15 | 16 | expect(find.text('Flutter Ui Kit'), findsOneWidget); 17 | 18 | await tester.tap(find.widgetWithText(Container, '1')); 19 | await tester.pumpAndSettle(); 20 | 21 | expect(find.text('Flutter Ui Kit'), findsNothing); 22 | expect(find.text("Contacts"), findsWidgets); 23 | expect(find.text('Hello'), findsNothing); 24 | 25 | final searchField = find.byType(TextFormField); 26 | await tester.enterText(searchField, 'Hello'); 27 | await tester.pumpAndSettle(); 28 | expect(find.text('Hello'), findsOneWidget); 29 | 30 | final contactsListFinder = find.byWidgetPredicate( 31 | (widget) => widget is Scrollable && widget.axis == Axis.vertical, 32 | description: 'Vertical Scroll list View'); 33 | final listTextFinder = find.text('Jeff Bezos'); 34 | 35 | // Scroll until the 'Jeff Bezos' item is visible 36 | await tester.scrollUntilVisible( 37 | listTextFinder, 38 | 500.0, 39 | scrollable: contactsListFinder, 40 | ); 41 | 42 | expect(listTextFinder, findsOneWidget); 43 | }); 44 | } 45 | -------------------------------------------------------------------------------- /test/screens/101/page101_test.dart: -------------------------------------------------------------------------------- 1 | import 'dart:io' as io; 2 | 3 | import 'package:flutter/material.dart'; 4 | import 'package:flutter_screenutil/flutter_screenutil.dart'; 5 | import 'package:flutter_test/flutter_test.dart'; 6 | import 'package:flutter_ui_kit_obkm/src/screens/101/page101.dart'; 7 | import 'package:google_fonts/google_fonts.dart'; 8 | 9 | import '../../utils/bootstrap.dart'; 10 | import '../../utils/image_network_override.dart'; 11 | 12 | void main() { 13 | setUp(() => GoogleFonts.config.allowRuntimeFetching = false); 14 | 15 | setUp(() => io.HttpOverrides.global = TestHttpOverrides()); 16 | 17 | testWidgets('test appbar title appear and disappear when scroll', 18 | (tester) async { 19 | await tester.pumpWidget(bootstrap(Page101())); 20 | await tester.pumpAndSettle(); 21 | 22 | // find test paga 101 23 | expect(find.byType(Page101), findsOneWidget); 24 | 25 | // find title and button 26 | final expandedTitleFinder = find.byType(ExpandedTitle); 27 | final titleFinder = find.ancestor( 28 | of: find.text('Advance with Kelly Carpenter'), 29 | matching: find.byType(AnimatedOpacity), 30 | ); 31 | expect(expandedTitleFinder, findsOne); 32 | 33 | expect(tester.widget(titleFinder).opacity, 0); 34 | 35 | // scroll down 36 | await tester.drag( 37 | find.byType( 38 | Scrollable, 39 | ), 40 | Offset(0, -1000)); 41 | await tester.pumpAndSettle(); 42 | 43 | expect(tester.widget(titleFinder).opacity, 1); 44 | 45 | // scroll up 46 | await tester.drag( 47 | find.byType( 48 | Scrollable, 49 | ), 50 | Offset(0, 1000)); 51 | await tester.pumpAndSettle(); 52 | 53 | expect(tester.widget(titleFinder).opacity, 0); 54 | }); 55 | } 56 | -------------------------------------------------------------------------------- /test/screens/102/page102_test.dart: -------------------------------------------------------------------------------- 1 | import 'dart:io'; 2 | 3 | import 'package:flutter/material.dart'; 4 | import 'package:flutter_test/flutter_test.dart'; 5 | import 'package:flutter_ui_kit_obkm/src/screens/102/page102.dart'; 6 | import 'package:google_fonts/google_fonts.dart'; 7 | 8 | import '../../utils/bootstrap.dart'; 9 | import '../../utils/image_network_override.dart'; 10 | 11 | void main() { 12 | setUp(() => GoogleFonts.config.allowRuntimeFetching = false); 13 | setUp(() => HttpOverrides.global = TestHttpOverrides()); 14 | 15 | testWidgets('test tabview controller', (tester) async { 16 | await tester.pumpWidget(bootstrap(Page102())); 17 | await tester.pumpAndSettle(); 18 | 19 | // check the initial page of tabview 20 | final tabController = 21 | DefaultTabController.of(tester.element(find.text("Browse"))); 22 | 23 | expect(tabController, isNotNull); 24 | expect(tabController.length, 5); 25 | expect(tabController.index, 1); 26 | }); 27 | 28 | testWidgets('test navigating tabbar', (tester) async { 29 | await tester.pumpWidget(bootstrap(Page102())); 30 | await tester.pumpAndSettle(); 31 | 32 | await tester.tap(find.text('Collections')); 33 | 34 | // check the initial page of tabview 35 | final tabController = 36 | DefaultTabController.of(tester.element(find.text("Browse"))); 37 | 38 | expect(tabController.index, 3); 39 | }); 40 | } 41 | -------------------------------------------------------------------------------- /test/screens/104-105/page104_test.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_test/flutter_test.dart'; 3 | import 'package:flutter_ui_kit_obkm/src/screens/104/page104.dart'; 4 | import 'package:google_fonts/google_fonts.dart'; 5 | 6 | import '../../utils/bootstrap.dart'; 7 | 8 | void main() { 9 | setUp(() => GoogleFonts.config.allowRuntimeFetching = false); 10 | 11 | testWidgets('test choosing choises ', (tester) async { 12 | await tester.pumpWidget(bootstrap(Page104())); 13 | await tester.pumpAndSettle(); 14 | 15 | final Page104State page104State = tester.state(find.byType(Page104)); 16 | 17 | final scrollableFinder = find.byType(Scrollable); 18 | for (int i = 1; i < 4; i++) { 19 | await tester.scrollUntilVisible(find.byKey(Key('goal_$i')), 50, 20 | scrollable: scrollableFinder); 21 | await tester.tap(find.byKey(Key('goal_$i'))); 22 | } 23 | 24 | expect(page104State.choises.length, 3); 25 | expect(page104State.choises.contains('4'), false); 26 | }); 27 | 28 | testWidgets('test removing choises ', (tester) async { 29 | await tester.pumpWidget(bootstrap(Page104())); 30 | await tester.pumpAndSettle(); 31 | 32 | final Page104State page104State = tester.state(find.byType(Page104)); 33 | 34 | final scrollableFinder = find.byType(Scrollable); 35 | for (int i = 1; i < 5; i++) { 36 | await tester.scrollUntilVisible(find.byKey(Key('goal_$i')), 50, 37 | scrollable: scrollableFinder); 38 | await tester.tap(find.byKey(Key('goal_$i'))); 39 | } 40 | 41 | expect(page104State.choises.length, 4); 42 | await tester.tap(find.byKey(Key('goal_3'))); 43 | expect(page104State.choises.length, 3); 44 | 45 | expect(page104State.choises.contains('3'), false); 46 | }); 47 | } 48 | -------------------------------------------------------------------------------- /test/utils/bootstrap.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_screenutil/flutter_screenutil.dart'; 3 | 4 | Widget bootstrap(Widget child) { 5 | return ScreenUtilInit( 6 | designSize: const Size(390, 844), 7 | child: child, 8 | builder: (context, child) => MaterialApp(home: child), 9 | ); 10 | } 11 | -------------------------------------------------------------------------------- /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 | import 'package:flutter_ui_kit_obkm/main.dart' as test_app; 11 | 12 | void main() { 13 | testWidgets('Test Homepage', (tester) async { 14 | await tester.binding.setSurfaceSize(Size(390, 844)); 15 | await tester.pumpWidget( 16 | test_app.App(), 17 | ); 18 | await tester.pumpAndSettle(); 19 | expect(find.text('Flutter Ui Kit'), findsOneWidget); 20 | }); 21 | } 22 | -------------------------------------------------------------------------------- /web/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/web/favicon.png -------------------------------------------------------------------------------- /web/icons/Icon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/web/icons/Icon-192.png -------------------------------------------------------------------------------- /web/icons/Icon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/web/icons/Icon-512.png -------------------------------------------------------------------------------- /web/icons/Icon-maskable-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/web/icons/Icon-maskable-192.png -------------------------------------------------------------------------------- /web/icons/Icon-maskable-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/web/icons/Icon-maskable-512.png -------------------------------------------------------------------------------- /web/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "flutter_ui_kit_obkm", 3 | "short_name": "flutter_ui_kit_obkm", 4 | "start_url": ".", 5 | "display": "standalone", 6 | "background_color": "#0175C2", 7 | "theme_color": "#0175C2", 8 | "description": "A new Flutter project.", 9 | "orientation": "portrait-primary", 10 | "prefer_related_applications": false, 11 | "icons": [ 12 | { 13 | "src": "icons/Icon-192.png", 14 | "sizes": "192x192", 15 | "type": "image/png" 16 | }, 17 | { 18 | "src": "icons/Icon-512.png", 19 | "sizes": "512x512", 20 | "type": "image/png" 21 | }, 22 | { 23 | "src": "icons/Icon-maskable-192.png", 24 | "sizes": "192x192", 25 | "type": "image/png", 26 | "purpose": "maskable" 27 | }, 28 | { 29 | "src": "icons/Icon-maskable-512.png", 30 | "sizes": "512x512", 31 | "type": "image/png", 32 | "purpose": "maskable" 33 | } 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /windows/.gitignore: -------------------------------------------------------------------------------- 1 | flutter/ephemeral/ 2 | 3 | # Visual Studio user-specific files. 4 | *.suo 5 | *.user 6 | *.userosscache 7 | *.sln.docstates 8 | 9 | # Visual Studio build-related files. 10 | x64/ 11 | x86/ 12 | 13 | # Visual Studio cache files 14 | # files ending in .cache can be ignored 15 | *.[Cc]ache 16 | # but keep track of directories ending in .cache 17 | !*.[Cc]ache/ 18 | -------------------------------------------------------------------------------- /windows/flutter/generated_plugin_registrant.cc: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #include "generated_plugin_registrant.h" 8 | 9 | 10 | void RegisterPlugins(flutter::PluginRegistry* registry) { 11 | } 12 | -------------------------------------------------------------------------------- /windows/flutter/generated_plugin_registrant.h: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #ifndef GENERATED_PLUGIN_REGISTRANT_ 8 | #define GENERATED_PLUGIN_REGISTRANT_ 9 | 10 | #include 11 | 12 | // Registers Flutter plugins. 13 | void RegisterPlugins(flutter::PluginRegistry* registry); 14 | 15 | #endif // GENERATED_PLUGIN_REGISTRANT_ 16 | -------------------------------------------------------------------------------- /windows/flutter/generated_plugins.cmake: -------------------------------------------------------------------------------- 1 | # 2 | # Generated file, do not edit. 3 | # 4 | 5 | list(APPEND FLUTTER_PLUGIN_LIST 6 | ) 7 | 8 | list(APPEND FLUTTER_FFI_PLUGIN_LIST 9 | ) 10 | 11 | set(PLUGIN_BUNDLED_LIBRARIES) 12 | 13 | foreach(plugin ${FLUTTER_PLUGIN_LIST}) 14 | add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) 15 | target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) 16 | list(APPEND PLUGIN_BUNDLED_LIBRARIES $) 17 | list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) 18 | endforeach(plugin) 19 | 20 | foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) 21 | add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) 22 | list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) 23 | endforeach(ffi_plugin) 24 | -------------------------------------------------------------------------------- /windows/runner/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.15) 2 | project(runner LANGUAGES CXX) 3 | 4 | add_executable(${BINARY_NAME} WIN32 5 | "flutter_window.cpp" 6 | "main.cpp" 7 | "utils.cpp" 8 | "win32_window.cpp" 9 | "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" 10 | "Runner.rc" 11 | "runner.exe.manifest" 12 | ) 13 | apply_standard_settings(${BINARY_NAME}) 14 | target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") 15 | target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) 16 | target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") 17 | add_dependencies(${BINARY_NAME} flutter_assemble) 18 | -------------------------------------------------------------------------------- /windows/runner/flutter_window.cpp: -------------------------------------------------------------------------------- 1 | #include "flutter_window.h" 2 | 3 | #include 4 | 5 | #include "flutter/generated_plugin_registrant.h" 6 | 7 | FlutterWindow::FlutterWindow(const flutter::DartProject& project) 8 | : project_(project) {} 9 | 10 | FlutterWindow::~FlutterWindow() {} 11 | 12 | bool FlutterWindow::OnCreate() { 13 | if (!Win32Window::OnCreate()) { 14 | return false; 15 | } 16 | 17 | RECT frame = GetClientArea(); 18 | 19 | // The size here must match the window dimensions to avoid unnecessary surface 20 | // creation / destruction in the startup path. 21 | flutter_controller_ = std::make_unique( 22 | frame.right - frame.left, frame.bottom - frame.top, project_); 23 | // Ensure that basic setup of the controller was successful. 24 | if (!flutter_controller_->engine() || !flutter_controller_->view()) { 25 | return false; 26 | } 27 | RegisterPlugins(flutter_controller_->engine()); 28 | SetChildContent(flutter_controller_->view()->GetNativeWindow()); 29 | return true; 30 | } 31 | 32 | void FlutterWindow::OnDestroy() { 33 | if (flutter_controller_) { 34 | flutter_controller_ = nullptr; 35 | } 36 | 37 | Win32Window::OnDestroy(); 38 | } 39 | 40 | LRESULT 41 | FlutterWindow::MessageHandler(HWND hwnd, UINT const message, 42 | WPARAM const wparam, 43 | LPARAM const lparam) noexcept { 44 | // Give Flutter, including plugins, an opportunity to handle window messages. 45 | if (flutter_controller_) { 46 | std::optional result = 47 | flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam, 48 | lparam); 49 | if (result) { 50 | return *result; 51 | } 52 | } 53 | 54 | switch (message) { 55 | case WM_FONTCHANGE: 56 | flutter_controller_->engine()->ReloadSystemFonts(); 57 | break; 58 | } 59 | 60 | return Win32Window::MessageHandler(hwnd, message, wparam, lparam); 61 | } 62 | -------------------------------------------------------------------------------- /windows/runner/flutter_window.h: -------------------------------------------------------------------------------- 1 | #ifndef RUNNER_FLUTTER_WINDOW_H_ 2 | #define RUNNER_FLUTTER_WINDOW_H_ 3 | 4 | #include 5 | #include 6 | 7 | #include 8 | 9 | #include "win32_window.h" 10 | 11 | // A window that does nothing but host a Flutter view. 12 | class FlutterWindow : public Win32Window { 13 | public: 14 | // Creates a new FlutterWindow hosting a Flutter view running |project|. 15 | explicit FlutterWindow(const flutter::DartProject& project); 16 | virtual ~FlutterWindow(); 17 | 18 | protected: 19 | // Win32Window: 20 | bool OnCreate() override; 21 | void OnDestroy() override; 22 | LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, 23 | LPARAM const lparam) noexcept override; 24 | 25 | private: 26 | // The project to run. 27 | flutter::DartProject project_; 28 | 29 | // The Flutter instance hosted by this window. 30 | std::unique_ptr flutter_controller_; 31 | }; 32 | 33 | #endif // RUNNER_FLUTTER_WINDOW_H_ 34 | -------------------------------------------------------------------------------- /windows/runner/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #include "flutter_window.h" 6 | #include "utils.h" 7 | 8 | int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, 9 | _In_ wchar_t *command_line, _In_ int show_command) { 10 | // Attach to console when present (e.g., 'flutter run') or create a 11 | // new console when running with a debugger. 12 | if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { 13 | CreateAndAttachConsole(); 14 | } 15 | 16 | // Initialize COM, so that it is available for use in the library and/or 17 | // plugins. 18 | ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); 19 | 20 | flutter::DartProject project(L"data"); 21 | 22 | std::vector command_line_arguments = 23 | GetCommandLineArguments(); 24 | 25 | project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); 26 | 27 | FlutterWindow window(project); 28 | Win32Window::Point origin(10, 10); 29 | Win32Window::Size size(1280, 720); 30 | if (!window.CreateAndShow(L"flutter_ui_kit_obkm", origin, size)) { 31 | return EXIT_FAILURE; 32 | } 33 | window.SetQuitOnClose(true); 34 | 35 | ::MSG msg; 36 | while (::GetMessage(&msg, nullptr, 0, 0)) { 37 | ::TranslateMessage(&msg); 38 | ::DispatchMessage(&msg); 39 | } 40 | 41 | ::CoUninitialize(); 42 | return EXIT_SUCCESS; 43 | } 44 | -------------------------------------------------------------------------------- /windows/runner/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by Runner.rc 4 | // 5 | #define IDI_APP_ICON 101 6 | 7 | // Next default values for new objects 8 | // 9 | #ifdef APSTUDIO_INVOKED 10 | #ifndef APSTUDIO_READONLY_SYMBOLS 11 | #define _APS_NEXT_RESOURCE_VALUE 102 12 | #define _APS_NEXT_COMMAND_VALUE 40001 13 | #define _APS_NEXT_CONTROL_VALUE 1001 14 | #define _APS_NEXT_SYMED_VALUE 101 15 | #endif 16 | #endif 17 | -------------------------------------------------------------------------------- /windows/runner/resources/app_icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bukunmialuko/flutter_ui_kit_obkm/649d402fd8840c9cf8c54a985b3ea04e3e39d154/windows/runner/resources/app_icon.ico -------------------------------------------------------------------------------- /windows/runner/runner.exe.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PerMonitorV2 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /windows/runner/utils.cpp: -------------------------------------------------------------------------------- 1 | #include "utils.h" 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | #include 9 | 10 | void CreateAndAttachConsole() { 11 | if (::AllocConsole()) { 12 | FILE *unused; 13 | if (freopen_s(&unused, "CONOUT$", "w", stdout)) { 14 | _dup2(_fileno(stdout), 1); 15 | } 16 | if (freopen_s(&unused, "CONOUT$", "w", stderr)) { 17 | _dup2(_fileno(stdout), 2); 18 | } 19 | std::ios::sync_with_stdio(); 20 | FlutterDesktopResyncOutputStreams(); 21 | } 22 | } 23 | 24 | std::vector GetCommandLineArguments() { 25 | // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use. 26 | int argc; 27 | wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc); 28 | if (argv == nullptr) { 29 | return std::vector(); 30 | } 31 | 32 | std::vector command_line_arguments; 33 | 34 | // Skip the first argument as it's the binary name. 35 | for (int i = 1; i < argc; i++) { 36 | command_line_arguments.push_back(Utf8FromUtf16(argv[i])); 37 | } 38 | 39 | ::LocalFree(argv); 40 | 41 | return command_line_arguments; 42 | } 43 | 44 | std::string Utf8FromUtf16(const wchar_t* utf16_string) { 45 | if (utf16_string == nullptr) { 46 | return std::string(); 47 | } 48 | int target_length = ::WideCharToMultiByte( 49 | CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, 50 | -1, nullptr, 0, nullptr, nullptr); 51 | if (target_length == 0) { 52 | return std::string(); 53 | } 54 | std::string utf8_string; 55 | utf8_string.resize(target_length); 56 | int converted_length = ::WideCharToMultiByte( 57 | CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, 58 | -1, utf8_string.data(), 59 | target_length, nullptr, nullptr); 60 | if (converted_length == 0) { 61 | return std::string(); 62 | } 63 | return utf8_string; 64 | } 65 | -------------------------------------------------------------------------------- /windows/runner/utils.h: -------------------------------------------------------------------------------- 1 | #ifndef RUNNER_UTILS_H_ 2 | #define RUNNER_UTILS_H_ 3 | 4 | #include 5 | #include 6 | 7 | // Creates a console for the process, and redirects stdout and stderr to 8 | // it for both the runner and the Flutter library. 9 | void CreateAndAttachConsole(); 10 | 11 | // Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string 12 | // encoded in UTF-8. Returns an empty std::string on failure. 13 | std::string Utf8FromUtf16(const wchar_t* utf16_string); 14 | 15 | // Gets the command line arguments passed in as a std::vector, 16 | // encoded in UTF-8. Returns an empty std::vector on failure. 17 | std::vector GetCommandLineArguments(); 18 | 19 | #endif // RUNNER_UTILS_H_ 20 | --------------------------------------------------------------------------------