├── .firebaserc ├── .github ├── assets │ ├── android.png │ ├── google-play.png │ ├── linux.png │ ├── macos.png │ └── windows.png └── workflows │ ├── android.yml │ ├── linux.yml │ ├── macos.yml │ ├── web.yml │ └── windows.yml ├── .gitignore ├── .keys-n-stuff.json ├── .metadata ├── CNAME ├── LICENSE.md ├── README.md ├── analysis_options.yaml ├── android ├── .gitignore ├── app │ ├── build.gradle │ ├── gradlew.bat │ ├── proguard-rules.pro │ └── src │ │ ├── debug │ │ └── AndroidManifest.xml │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── ic_launcher-playstore.png │ │ ├── kotlin │ │ │ └── com │ │ │ │ └── onemdev │ │ │ │ └── flutter_ui_challenges │ │ │ │ └── MainActivity.kt │ │ └── res │ │ │ ├── drawable-hdpi │ │ │ ├── ic_notification.png │ │ │ └── splash.png │ │ │ ├── drawable-mdpi │ │ │ ├── ic_notification.png │ │ │ └── splash.png │ │ │ ├── drawable-night-v21 │ │ │ ├── background.png │ │ │ └── launch_background.xml │ │ │ ├── drawable-night │ │ │ ├── background.png │ │ │ └── launch_background.xml │ │ │ ├── drawable-v21 │ │ │ ├── background.png │ │ │ └── launch_background.xml │ │ │ ├── drawable-xhdpi │ │ │ ├── ic_notification.png │ │ │ └── splash.png │ │ │ ├── drawable-xxhdpi │ │ │ ├── ic_notification.png │ │ │ └── splash.png │ │ │ ├── drawable-xxxhdpi │ │ │ ├── ic_notification.png │ │ │ └── splash.png │ │ │ ├── drawable │ │ │ ├── background.png │ │ │ └── launch_background.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-night-v31 │ │ │ └── styles.xml │ │ │ ├── values-night │ │ │ └── styles.xml │ │ │ ├── values-v31 │ │ │ └── styles.xml │ │ │ └── values │ │ │ └── styles.xml │ │ └── profile │ │ └── AndroidManifest.xml ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ └── gradle-wrapper.properties └── settings.gradle ├── assets ├── food │ ├── breakfast.jpg │ ├── dinner.jpg │ ├── lunch.jpg │ └── snacks.jpg ├── icons │ ├── logo-alpha.png │ ├── logo-dark.png │ └── logo-light.png ├── langs │ ├── ar.json │ ├── en.json │ └── zh.json ├── ma-asc │ ├── Asics_Logo_1.png │ ├── Asics_Logo_2.png │ ├── Asics_Logo_3.png │ ├── blue.png │ ├── red.png │ └── yellow.png ├── ma-hab │ ├── balloon-shadow.png │ ├── balloon.png │ ├── bubbles-bg.png │ └── mountains.jpg ├── ma-hfd │ ├── item-1.jpg │ ├── item-2.jpg │ ├── item-3.jpg │ ├── item-4.jpg │ ├── item-5.jpg │ ├── item-6.jpg │ ├── item-7.jpg │ ├── item-8.jpg │ ├── item-9.jpg │ ├── restaurant-1.jpg │ ├── restaurant-2.jpg │ ├── restaurant-3.jpg │ ├── restaurant-4.jpg │ └── restaurant-5.jpg ├── ma-skv │ ├── andromeda.png │ ├── earth.png │ ├── gradient-path.png │ ├── hubble-space-telescope.png │ ├── international-space-station.png │ ├── jupiter.png │ ├── mars.png │ ├── mercury.png │ ├── stars-bg.jpg │ └── venus.png ├── thumbnails │ ├── asics_shoes_concept.jpg │ ├── chef_craft_nickelfox.jpg │ ├── egg_timer_concept.jpg │ ├── healthy_food_delivery.jpg │ ├── hot_air_balloon.jpg │ └── sky_view.jpg └── user │ ├── cover.jpg │ └── rick.jpg ├── commands.md ├── devtools_options.yaml ├── firebase.json ├── fonts ├── BebasNeue │ └── BebasNeue-Regular.ttf ├── Montserrat │ ├── Montserrat-Black.ttf │ ├── Montserrat-Bold.ttf │ ├── Montserrat-ExtraBold.ttf │ ├── Montserrat-ExtraLight.ttf │ ├── Montserrat-Light.ttf │ ├── Montserrat-Medium.ttf │ ├── Montserrat-Regular.ttf │ ├── Montserrat-SemiBold.ttf │ └── Montserrat-Thin.ttf ├── Muli │ ├── Muli-Black.ttf │ ├── Muli-Bold.ttf │ ├── Muli-ExtraBold.ttf │ ├── Muli-ExtraLight.ttf │ ├── Muli-Light.ttf │ ├── Muli-Regular.ttf │ └── Muli-SemiBold.ttf └── Nunito │ ├── Nunito-Black.ttf │ ├── Nunito-Bold.ttf │ ├── Nunito-ExtraBold.ttf │ ├── Nunito-ExtraLight.ttf │ ├── Nunito-Light.ttf │ ├── Nunito-Regular.ttf │ └── Nunito-SemiBold.ttf ├── icons_launcher.yaml ├── internal-docs.md ├── 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-38x38@2x.png │ │ │ ├── Icon-App-38x38@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-64x64@2x.png │ │ │ ├── Icon-App-64x64@3x.png │ │ │ ├── Icon-App-68x68@2x.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 │ │ │ ├── Icon-App-Dark-1024x1024@1x.png │ │ │ ├── Icon-App-Dark-20x20@2x.png │ │ │ ├── Icon-App-Dark-20x20@3x.png │ │ │ ├── Icon-App-Dark-29x29@2x.png │ │ │ ├── Icon-App-Dark-29x29@3x.png │ │ │ ├── Icon-App-Dark-38x38@2x.png │ │ │ ├── Icon-App-Dark-38x38@3x.png │ │ │ ├── Icon-App-Dark-40x40@2x.png │ │ │ ├── Icon-App-Dark-40x40@3x.png │ │ │ ├── Icon-App-Dark-60x60@2x.png │ │ │ ├── Icon-App-Dark-60x60@3x.png │ │ │ ├── Icon-App-Dark-64x64@2x.png │ │ │ ├── Icon-App-Dark-64x64@3x.png │ │ │ ├── Icon-App-Dark-68x68@2x.png │ │ │ ├── Icon-App-Dark-76x76@2x.png │ │ │ └── Icon-App-Dark-83.5x83.5@2x.png │ │ ├── LaunchBackground.imageset │ │ │ ├── Contents.json │ │ │ ├── background.png │ │ │ └── darkbackground.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 ├── RunnerTests │ └── RunnerTests.swift └── firebase_app_id_file.json ├── lib ├── AppLocalizations.dart ├── AppRoutes.dart ├── DeviceType.dart ├── MiniApps │ ├── AsicsShoesConcept │ │ ├── Screens │ │ │ └── HomeScreen │ │ │ │ ├── ASCHomeScreen.dart │ │ │ │ ├── Dimensions.dart │ │ │ │ ├── Provider.dart │ │ │ │ ├── TestKeys.dart │ │ │ │ ├── messages │ │ │ │ ├── keys.dart │ │ │ │ └── strings.dart │ │ │ │ └── widgets │ │ │ │ ├── ASCHomeScreenContent.dart │ │ │ │ ├── ASCHomeScreenContentBadge.dart │ │ │ │ ├── ASCHomeScreenContentColorFilters.dart │ │ │ │ ├── ASCHomeScreenContentPriceBadge.dart │ │ │ │ ├── ASCHomeScreenContentSizes.dart │ │ │ │ ├── ASCHomeScreenContentStars.dart │ │ │ │ ├── ASCHomeScreenHeader.dart │ │ │ │ └── ASCHomeScreenShoe.dart │ │ ├── data │ │ │ └── data.dart │ │ ├── messages │ │ │ ├── keys.dart │ │ │ └── strings.dart │ │ └── models │ │ │ └── ASCItem.dart │ ├── ChefCraft │ │ ├── Screens │ │ │ ├── DetailScreen │ │ │ │ ├── CCNDetailScreen.dart │ │ │ │ ├── Dimensions.dart │ │ │ │ ├── Provider.dart │ │ │ │ ├── TestKeys.dart │ │ │ │ └── messages │ │ │ │ │ ├── keys.dart │ │ │ │ │ └── strings.dart │ │ │ └── HomeScreen │ │ │ │ ├── CCNHomeScreen.dart │ │ │ │ ├── Dimensions.dart │ │ │ │ ├── TestKeys.dart │ │ │ │ └── messages │ │ │ │ ├── keys.dart │ │ │ │ └── strings.dart │ │ ├── data │ │ │ ├── TestKeys.dart │ │ │ └── data.dart │ │ └── models │ │ │ └── CCNItem.dart │ ├── EggTimerConcept │ │ ├── Screens │ │ │ └── HomeScreen │ │ │ │ ├── Dimensions.dart │ │ │ │ ├── ETCHomeScreen.dart │ │ │ │ ├── TestKeys.dart │ │ │ │ ├── Theme.dart │ │ │ │ ├── gestures.dart │ │ │ │ ├── messages │ │ │ │ ├── keys.dart │ │ │ │ └── strings.dart │ │ │ │ └── widgets │ │ │ │ ├── ETCHomeScreenArrowPainter.dart │ │ │ │ ├── ETCHomeScreenButton.dart │ │ │ │ ├── ETCHomeScreenTickPainter.dart │ │ │ │ ├── ETCHomeScreenTimerDial.dart │ │ │ │ └── ETCHomeScreenTimerTime.dart │ │ ├── configs │ │ │ └── theme.dart │ │ └── models │ │ │ └── ETCTimer.dart │ ├── HealtyFoodDelivery │ │ ├── Screens │ │ │ ├── DetailScreen │ │ │ │ ├── Dimensions.dart │ │ │ │ ├── HFDDetailScreen.dart │ │ │ │ ├── Provider.dart │ │ │ │ ├── data.dart │ │ │ │ ├── messages │ │ │ │ │ ├── keys.dart │ │ │ │ │ └── strings.dart │ │ │ │ └── widgets │ │ │ │ │ ├── HFDDetailScreenBackground.dart │ │ │ │ │ ├── HFDDetailScreenBackgroundImageBody.dart │ │ │ │ │ ├── HFDDetailScreenBody.dart │ │ │ │ │ └── HFDDetailScreenHeader.dart │ │ │ └── HomeScreen │ │ │ │ ├── Dimensions.dart │ │ │ │ ├── HFDHomeScreen.dart │ │ │ │ ├── Provider.dart │ │ │ │ ├── TestKeys.dart │ │ │ │ ├── data.dart │ │ │ │ ├── messages │ │ │ │ ├── keys.dart │ │ │ │ └── strings.dart │ │ │ │ └── widgets │ │ │ │ ├── HFDHomeScreenCategories.dart │ │ │ │ ├── HFDHomeScreenFilters.dart │ │ │ │ ├── HFDHomeScreenItemCard.dart │ │ │ │ ├── HFDHomeScreenRestaurantCard.dart │ │ │ │ └── HFDHomeScreenRestaurantSlider.dart │ │ ├── configs │ │ │ └── theme.dart │ │ └── models │ │ │ ├── HFDCategory.dart │ │ │ ├── HFDFoodItem.dart │ │ │ └── HFDRestaurant.dart │ ├── HotAirBalloons │ │ ├── Screens │ │ │ ├── DetailScreen │ │ │ │ ├── Dimensions.dart │ │ │ │ ├── HABDetailScreen.dart │ │ │ │ ├── Provider.dart │ │ │ │ ├── TestKeys.dart │ │ │ │ ├── messages │ │ │ │ │ ├── keys.dart │ │ │ │ │ └── strings.dart │ │ │ │ └── widgets │ │ │ │ │ ├── HABDetailScreenFlightDetailsTab.dart │ │ │ │ │ ├── HABDetailScreenFlightHeader.dart │ │ │ │ │ ├── HABDetailScreenFlightView.dart │ │ │ │ │ ├── HABDetailScreenPostFlightInfoTab.dart │ │ │ │ │ ├── HABDetailScreenPreFlightInfoTab.dart │ │ │ │ │ └── HABDetailScreenRowInfo.dart │ │ │ └── HomeScreen │ │ │ │ ├── Dimensions.dart │ │ │ │ ├── HABHomeScreen.dart │ │ │ │ ├── messages │ │ │ │ ├── keys.dart │ │ │ │ └── strings.dart │ │ │ │ └── widgets │ │ │ │ ├── HABHomeScreenBaloonAnimationWrapper.dart │ │ │ │ └── HABHomeScreenFlightsCarousel.dart │ │ ├── configs │ │ │ └── theme.dart │ │ ├── data │ │ │ ├── TestKeys.dart │ │ │ └── flights.dart │ │ ├── messages │ │ │ ├── keys.dart │ │ │ └── strings.dart │ │ └── models │ │ │ └── HABFlight.dart │ └── SkyView │ │ ├── Screens │ │ ├── DetailScreen │ │ │ ├── Dimensions.dart │ │ │ ├── Provider.dart │ │ │ ├── SKVDetailScreen.dart │ │ │ ├── TestKeys.dart │ │ │ ├── messages │ │ │ │ ├── keys.dart │ │ │ │ └── strings.dart │ │ │ └── widgets │ │ │ │ ├── SKVDetailScreenAnimatedText.dart │ │ │ │ ├── SKVDetailScreenAttribute.dart │ │ │ │ ├── SKVDetailScreenOrbit.dart │ │ │ │ ├── SKVDetailScreenPlanet.dart │ │ │ │ ├── SKVDetailScreenSpaceBackground.dart │ │ │ │ └── SKVDetailScreenTextContent.dart │ │ └── HomeScreen │ │ │ ├── Dimensions.dart │ │ │ ├── Provider.dart │ │ │ ├── SKVHomeScreen.dart │ │ │ ├── TestKeys.dart │ │ │ ├── messages │ │ │ ├── keys.dart │ │ │ └── strings.dart │ │ │ └── widgets │ │ │ ├── SKVHomeScreenPlanetsCarousel.dart │ │ │ ├── SKVHomeScreenSearchBar.dart │ │ │ ├── SKVHomeScreenStarField.dart │ │ │ ├── SKVHomeScreenStarFieldPainter.dart │ │ │ ├── SKVHomeScreenStory.dart │ │ │ └── SKVHomeScreenTabBar.dart │ │ ├── configs │ │ └── theme.dart │ │ ├── data │ │ ├── TestKeys.dart │ │ ├── data.dart │ │ ├── objectsList.dart │ │ └── storiesList.dart │ │ ├── messages │ │ ├── keys.dart │ │ └── strings.dart │ │ └── models │ │ ├── SKVObject.dart │ │ └── SKVStory.dart ├── Mixins │ ├── HoverBase.dart │ └── HoverWidget.dart ├── Navigator.dart ├── NavigatorObserver.dart ├── Providers │ ├── AppProvider.dart │ └── FadeScreen.dart ├── UI.dart ├── configs │ ├── Ads.dart │ ├── App.dart │ ├── AppDimensions.dart │ ├── AppTheme.dart │ ├── CommonProps.dart │ ├── StatusBar.dart │ ├── TextStyles.dart │ └── Theme.dart ├── firebase_options.dart ├── io │ ├── FakePlatform.dart │ └── io.dart ├── main.dart ├── main.firebase.dart ├── main.web.dart ├── screens │ ├── AboutApp │ │ ├── AboutApp.dart │ │ ├── Dimensions.dart │ │ ├── messages │ │ │ ├── keys.dart │ │ │ └── strings.dart │ │ └── widgets │ │ │ └── AboutAppText.dart │ ├── AboutDeveloper │ │ ├── AboutDeveloper.dart │ │ ├── Dimensions.dart │ │ ├── TestKeys.dart │ │ ├── data.dart │ │ ├── messages │ │ │ ├── keys.dart │ │ │ └── strings.dart │ │ └── widgets │ │ │ ├── AboutDeveloperBody.dart │ │ │ └── AboutDeveloperMoreProjects.dart │ ├── DesignerProfile │ │ ├── DesignerProfile.dart │ │ ├── Dimensions.dart │ │ ├── Provider.dart │ │ ├── messages │ │ │ ├── keys.dart │ │ │ └── strings.dart │ │ └── widgets │ │ │ ├── DesignerProfileAvatar.dart │ │ │ ├── DesignerProfileBody.dart │ │ │ ├── DesignerProfileButton.dart │ │ │ ├── DesignerProfileContactMe.dart │ │ │ ├── DesignerProfileFreelance.dart │ │ │ ├── DesignerProfileHeading.dart │ │ │ ├── DesignerProfileMoreUIs.dart │ │ │ ├── DesignerProfilePortfolio.dart │ │ │ └── DesignerProfileSocialMedia.dart │ ├── Download │ │ ├── Dimensions.dart │ │ ├── Download.dart │ │ ├── Widgets │ │ │ └── DownloadLink.dart │ │ ├── data.dart │ │ ├── messages │ │ │ ├── keys.dart │ │ │ └── strings.dart │ │ └── widgets │ │ │ ├── DownloadBody.dart │ │ │ └── DownloadHeading.dart │ ├── Home │ │ ├── Dimensions.dart │ │ ├── Home.dart │ │ ├── Provider.dart │ │ ├── TestKeys.dart │ │ ├── data.dart │ │ ├── messages │ │ │ ├── keys.dart │ │ │ ├── locales │ │ │ │ └── zh.dart │ │ │ └── strings.dart │ │ └── widgets │ │ │ ├── HomeAlertModal.dart │ │ │ ├── HomeBody.dart │ │ │ └── HomeBuildVersion.dart │ ├── UIDetail │ │ ├── Dimensions.dart │ │ ├── Provider.dart │ │ ├── TestKeys.dart │ │ ├── UIDetail.dart │ │ ├── data.dart │ │ ├── messages │ │ │ ├── keys.dart │ │ │ └── strings.dart │ │ └── widgets │ │ │ ├── UIDetailButton.dart │ │ │ ├── UIDetailContent.dart │ │ │ ├── UIDetailMoreUIs.dart │ │ │ └── UIDetailSupport.dart │ └── UIList │ │ ├── Dimensions.dart │ │ ├── TestKeys.dart │ │ └── UIList.dart ├── services │ └── notification │ │ ├── background.dart │ │ ├── configs.dart │ │ ├── local.dart │ │ ├── models.dart │ │ ├── notification.dart │ │ └── utils.dart ├── statics │ ├── Links.dart │ ├── data │ │ ├── uiDesigners.dart │ │ ├── uiList.dart │ │ └── uiListTestKeys.dart │ └── models │ │ ├── UIDesigner.dart │ │ └── UIItem.dart ├── utils │ ├── UIUtils.dart │ └── Utils.dart └── widgets │ ├── AboutUser │ ├── AboutUserBio.dart │ ├── AboutUserContactButton.dart │ ├── AboutUserHeading.dart │ ├── AboutUserJobTitle.dart │ ├── AboutUserName.dart │ ├── AboutUserSkills.dart │ └── messages │ │ ├── keys.dart │ │ └── strings.dart │ ├── BackButton4Stack │ └── BackButton4Stack.dart │ ├── Banners │ └── Alpha.dart │ ├── BorderButton │ └── BorderButton.dart │ ├── BottomSheets │ ├── Base.dart │ └── WithBoxButtons.dart │ ├── Buttons │ ├── Alpha.dart │ ├── AppButton.dart │ ├── BackIcon.dart │ └── Boxed.dart │ ├── Commons │ └── OpacityWithMount.dart │ ├── Header │ ├── Header.dart │ ├── StackFade.dart │ └── TestKeys.dart │ ├── Overlay │ └── GradientFade.dart │ ├── Screen │ ├── Provider.dart │ ├── Screen.dart │ ├── TestKeys.dart │ ├── messages │ │ ├── keys.dart │ │ └── strings.dart │ └── widgets │ │ ├── ScreenSettingsModal.dart │ │ ├── ScreenSettingsModalBody.dart │ │ ├── ScreenSettingsSelect.dart │ │ └── data.dart │ ├── ScreenAnimation │ └── Base.dart │ ├── ScreenReveals │ ├── AvatarWithPunchHole.dart │ └── AvatarWithPunchHoleClipper.dart │ ├── SnackBars │ └── Base.dart │ ├── UICard │ └── UICard.dart │ └── custom │ └── CustomFlexibleSpaceBar.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 ├── Podfile.lock ├── 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 ├── RunnerTests │ └── RunnerTests.swift └── firebase_app_id_file.json ├── personalNotes.md ├── pubspec.lock ├── pubspec.yaml ├── runner.scripts ├── scripts ├── assets.dart ├── autoTest.dart ├── genIntlJson.dart ├── genIntlKeys.dart ├── intl_json.dart ├── intl_keys.dart ├── keys-n-stuff.dart ├── mac.pub.dart ├── models.dart ├── post-web.dart ├── splitVectorIcons.dart ├── spliticonTemp.dart ├── test.dart ├── utils.dart ├── version_sync.dart └── vslaunch.dart ├── snap └── gui │ ├── app_icon.desktop │ └── app_icon.png ├── test-legacy.zip ├── test └── widget_test.dart ├── test_driver ├── actions.dart ├── app.dart ├── app_test.dart ├── chunks │ ├── ASC.dart │ ├── ETC.dart │ ├── HAB Detail.dart │ ├── HAB Scroll.dart │ └── SKV.dart ├── libs │ ├── androidsc.sh │ ├── screen.bat.notused │ ├── screenshot-linux │ ├── screenshot-windows.exe │ └── windowMode.bat.notUsed ├── screenshot.dart └── utils.dart ├── web ├── _redirects ├── favicon.png ├── firebase-messaging-sw.js ├── icons │ ├── Icon-192.png │ ├── Icon-512.png │ ├── Icon-maskable-192.png │ └── Icon-maskable-512.png ├── index.html ├── manifest.json ├── privacy-policy.html └── splash │ └── img │ ├── dark-1x.png │ ├── dark-2x.png │ ├── dark-3x.png │ ├── dark-4x.png │ ├── light-1x.png │ ├── light-2x.png │ ├── light-3x.png │ └── light-4x.png └── 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 /.firebaserc: -------------------------------------------------------------------------------- 1 | { 2 | "projects": { 3 | "default": "flutter-ui-challenges-hgl" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /.github/assets/android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/.github/assets/android.png -------------------------------------------------------------------------------- /.github/assets/google-play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/.github/assets/google-play.png -------------------------------------------------------------------------------- /.github/assets/linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/.github/assets/linux.png -------------------------------------------------------------------------------- /.github/assets/macos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/.github/assets/macos.png -------------------------------------------------------------------------------- /.github/assets/windows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/.github/assets/windows.png -------------------------------------------------------------------------------- /.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 | .firebase 19 | # The .vscode folder contains launch configuration and tasks you configure in 20 | # VS Code which you may wish to be included in version control, so this line 21 | # is commented out by default. 22 | .vscode/ 23 | node_modules/ 24 | # Flutter/Dart/Pub related 25 | **/doc/api/ 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 | # Exceptions to above rules. 40 | !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages 41 | 42 | # My Custom paths 43 | 44 | .keys-n-stuff/ 45 | service-account.json -------------------------------------------------------------------------------- /.keys-n-stuff.json: -------------------------------------------------------------------------------- 1 | { 2 | "dir": "fuid", 3 | "type": "flutter", 4 | "repo": "git@github.com:hmziqrs/keys-n-stuff.git" 5 | } -------------------------------------------------------------------------------- /.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: "603104015dd692ea3403755b55d07813d5cf8965" 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: 603104015dd692ea3403755b55d07813d5cf8965 17 | base_revision: 603104015dd692ea3403755b55d07813d5cf8965 18 | - platform: ios 19 | create_revision: 603104015dd692ea3403755b55d07813d5cf8965 20 | base_revision: 603104015dd692ea3403755b55d07813d5cf8965 21 | 22 | # User provided section 23 | 24 | # List of Local paths (relative to this file) that should be 25 | # ignored by the migrate tool. 26 | # 27 | # Files that are not part of the templates will be ignored by default. 28 | unmanaged_files: 29 | - 'lib/main.dart' 30 | - 'ios/Runner.xcodeproj/project.pbxproj' 31 | -------------------------------------------------------------------------------- /CNAME: -------------------------------------------------------------------------------- 1 | flutter-uis.hmziq.xyz -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) [2020][Hmziqrs] 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | 9 | # Remember to never publicly share your keystore. 10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app 11 | !key.properties 12 | prod.properties 13 | dev.properties 14 | prod.jks 15 | dev.jks 16 | google-services.json 17 | -------------------------------------------------------------------------------- /android/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -keep class androidx.lifecycle.** { *; } 2 | 3 | ## Gson rules 4 | # Gson uses generic type information stored in a class file when working with fields. Proguard 5 | # removes such information by default, so configure it to keep all of it. 6 | -keepattributes Signature 7 | 8 | # For using GSON @Expose annotation 9 | -keepattributes *Annotation* 10 | 11 | # Gson specific classes 12 | -dontwarn sun.misc.** 13 | #-keep class com.google.gson.stream.** { *; } 14 | 15 | # Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory, 16 | # JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter) 17 | -keep class * extends com.google.gson.TypeAdapter 18 | -keep class * implements com.google.gson.TypeAdapterFactory 19 | -keep class * implements com.google.gson.JsonSerializer 20 | -keep class * implements com.google.gson.JsonDeserializer 21 | 22 | # Prevent R8 from leaving Data object members always null 23 | -keepclassmembers,allowobfuscation class * { 24 | @com.google.gson.annotations.SerializedName ; 25 | } 26 | 27 | # Retain generic signatures of TypeToken and its subclasses with R8 version 3.0 and higher. 28 | -keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken 29 | -keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken -------------------------------------------------------------------------------- /android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /android/app/src/main/ic_launcher-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/android/app/src/main/ic_launcher-playstore.png -------------------------------------------------------------------------------- /android/app/src/main/kotlin/com/onemdev/flutter_ui_challenges/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.onemdev.flutter_ui_challenges 2 | 3 | import io.flutter.embedding.android.FlutterActivity 4 | 5 | class MainActivity: FlutterActivity() 6 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-hdpi/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/android/app/src/main/res/drawable-hdpi/ic_notification.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-hdpi/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/android/app/src/main/res/drawable-hdpi/splash.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-mdpi/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/android/app/src/main/res/drawable-mdpi/ic_notification.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-mdpi/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/android/app/src/main/res/drawable-mdpi/splash.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-night-v21/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/android/app/src/main/res/drawable-night-v21/background.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-night-v21/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-night/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/android/app/src/main/res/drawable-night/background.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-night/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-v21/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/android/app/src/main/res/drawable-v21/background.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-v21/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/android/app/src/main/res/drawable-xhdpi/ic_notification.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/android/app/src/main/res/drawable-xhdpi/splash.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/android/app/src/main/res/drawable-xxhdpi/ic_notification.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/android/app/src/main/res/drawable-xxhdpi/splash.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/android/app/src/main/res/drawable-xxxhdpi/ic_notification.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/android/app/src/main/res/drawable-xxxhdpi/splash.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/android/app/src/main/res/drawable/background.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/values-night-v31/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 16 | 19 | 20 | -------------------------------------------------------------------------------- /android/app/src/main/res/values-night/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 19 | 22 | 23 | -------------------------------------------------------------------------------- /android/app/src/main/res/values-v31/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 16 | 19 | 20 | -------------------------------------------------------------------------------- /android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 19 | 22 | 23 | -------------------------------------------------------------------------------- /android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 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=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | #android.enableR8=false 5 | 6 | org.gradle.daemon=true 7 | org.gradle.parallel=true -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 6 | networkTimeout=10000 7 | validateDistributionUrl=true 8 | -------------------------------------------------------------------------------- /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 | 10 | includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") 11 | 12 | repositories { 13 | google() 14 | mavenCentral() 15 | gradlePluginPortal() 16 | } 17 | } 18 | 19 | 20 | plugins { 21 | id "dev.flutter.flutter-plugin-loader" version "1.0.0" 22 | id "com.android.application" version '8.7.2' apply false 23 | id "org.jetbrains.kotlin.android" version "1.8.22" apply false 24 | // START: FlutterFire Configuration 25 | id "com.google.gms.google-services" version "4.4.2" apply false 26 | id "com.google.firebase.crashlytics" version "2.9.9" apply false 27 | id "com.google.firebase.firebase-perf" version "1.4.2" apply false 28 | // END: FlutterFire Configuration 29 | } 30 | 31 | include ":app" 32 | -------------------------------------------------------------------------------- /assets/food/breakfast.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/food/breakfast.jpg -------------------------------------------------------------------------------- /assets/food/dinner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/food/dinner.jpg -------------------------------------------------------------------------------- /assets/food/lunch.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/food/lunch.jpg -------------------------------------------------------------------------------- /assets/food/snacks.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/food/snacks.jpg -------------------------------------------------------------------------------- /assets/icons/logo-alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/icons/logo-alpha.png -------------------------------------------------------------------------------- /assets/icons/logo-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/icons/logo-dark.png -------------------------------------------------------------------------------- /assets/icons/logo-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/icons/logo-light.png -------------------------------------------------------------------------------- /assets/ma-asc/Asics_Logo_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-asc/Asics_Logo_1.png -------------------------------------------------------------------------------- /assets/ma-asc/Asics_Logo_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-asc/Asics_Logo_2.png -------------------------------------------------------------------------------- /assets/ma-asc/Asics_Logo_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-asc/Asics_Logo_3.png -------------------------------------------------------------------------------- /assets/ma-asc/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-asc/blue.png -------------------------------------------------------------------------------- /assets/ma-asc/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-asc/red.png -------------------------------------------------------------------------------- /assets/ma-asc/yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-asc/yellow.png -------------------------------------------------------------------------------- /assets/ma-hab/balloon-shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-hab/balloon-shadow.png -------------------------------------------------------------------------------- /assets/ma-hab/balloon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-hab/balloon.png -------------------------------------------------------------------------------- /assets/ma-hab/bubbles-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-hab/bubbles-bg.png -------------------------------------------------------------------------------- /assets/ma-hab/mountains.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-hab/mountains.jpg -------------------------------------------------------------------------------- /assets/ma-hfd/item-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-hfd/item-1.jpg -------------------------------------------------------------------------------- /assets/ma-hfd/item-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-hfd/item-2.jpg -------------------------------------------------------------------------------- /assets/ma-hfd/item-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-hfd/item-3.jpg -------------------------------------------------------------------------------- /assets/ma-hfd/item-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-hfd/item-4.jpg -------------------------------------------------------------------------------- /assets/ma-hfd/item-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-hfd/item-5.jpg -------------------------------------------------------------------------------- /assets/ma-hfd/item-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-hfd/item-6.jpg -------------------------------------------------------------------------------- /assets/ma-hfd/item-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-hfd/item-7.jpg -------------------------------------------------------------------------------- /assets/ma-hfd/item-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-hfd/item-8.jpg -------------------------------------------------------------------------------- /assets/ma-hfd/item-9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-hfd/item-9.jpg -------------------------------------------------------------------------------- /assets/ma-hfd/restaurant-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-hfd/restaurant-1.jpg -------------------------------------------------------------------------------- /assets/ma-hfd/restaurant-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-hfd/restaurant-2.jpg -------------------------------------------------------------------------------- /assets/ma-hfd/restaurant-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-hfd/restaurant-3.jpg -------------------------------------------------------------------------------- /assets/ma-hfd/restaurant-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-hfd/restaurant-4.jpg -------------------------------------------------------------------------------- /assets/ma-hfd/restaurant-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-hfd/restaurant-5.jpg -------------------------------------------------------------------------------- /assets/ma-skv/andromeda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-skv/andromeda.png -------------------------------------------------------------------------------- /assets/ma-skv/earth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-skv/earth.png -------------------------------------------------------------------------------- /assets/ma-skv/gradient-path.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-skv/gradient-path.png -------------------------------------------------------------------------------- /assets/ma-skv/hubble-space-telescope.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-skv/hubble-space-telescope.png -------------------------------------------------------------------------------- /assets/ma-skv/international-space-station.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-skv/international-space-station.png -------------------------------------------------------------------------------- /assets/ma-skv/jupiter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-skv/jupiter.png -------------------------------------------------------------------------------- /assets/ma-skv/mars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-skv/mars.png -------------------------------------------------------------------------------- /assets/ma-skv/mercury.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-skv/mercury.png -------------------------------------------------------------------------------- /assets/ma-skv/stars-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-skv/stars-bg.jpg -------------------------------------------------------------------------------- /assets/ma-skv/venus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/ma-skv/venus.png -------------------------------------------------------------------------------- /assets/thumbnails/asics_shoes_concept.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/thumbnails/asics_shoes_concept.jpg -------------------------------------------------------------------------------- /assets/thumbnails/chef_craft_nickelfox.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/thumbnails/chef_craft_nickelfox.jpg -------------------------------------------------------------------------------- /assets/thumbnails/egg_timer_concept.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/thumbnails/egg_timer_concept.jpg -------------------------------------------------------------------------------- /assets/thumbnails/healthy_food_delivery.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/thumbnails/healthy_food_delivery.jpg -------------------------------------------------------------------------------- /assets/thumbnails/hot_air_balloon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/thumbnails/hot_air_balloon.jpg -------------------------------------------------------------------------------- /assets/thumbnails/sky_view.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/thumbnails/sky_view.jpg -------------------------------------------------------------------------------- /assets/user/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/user/cover.jpg -------------------------------------------------------------------------------- /assets/user/rick.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/assets/user/rick.jpg -------------------------------------------------------------------------------- /commands.md: -------------------------------------------------------------------------------- 1 | # Commands 2 | 3 | ## Android 4 | 5 | ### App bundle (windows) 6 | 7 | ```bash 8 | flutter build appbundle -t .\lib\main.firebase.dart --release 9 | cp build\app\outputs\bundle\release\app-release.aab ~\Desktop\fuid\ 10 | ``` 11 | 12 | ## Web 13 | 14 | ### WASM 15 | 16 | ```bash 17 | flutter build web --wasm --no-tree-shake-icons 18 | ``` 19 | -------------------------------------------------------------------------------- /devtools_options.yaml: -------------------------------------------------------------------------------- 1 | description: This file stores settings for Dart & Flutter DevTools. 2 | documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states 3 | extensions: 4 | -------------------------------------------------------------------------------- /firebase.json: -------------------------------------------------------------------------------- 1 | { 2 | "hosting": { 3 | "public": "build/web", 4 | "ignore": ["firebase.json", "**/.*", "**/node_modules/**"], 5 | "rewrites": [ 6 | { "source": "/privacy-policy", "destination": "/privacy-policy.html" }, 7 | { "source": "**", "destination": "/index.html" } 8 | ] 9 | }, 10 | "flutter": { 11 | "platforms": { 12 | "android": { 13 | "default": { 14 | "projectId": "flutter-ui-challenges-hgl", 15 | "appId": "1:322047224635:android:16ac7d8a6518a95b", 16 | "fileOutput": "android/app/google-services.json" 17 | } 18 | }, 19 | "ios": { 20 | "default": { 21 | "projectId": "flutter-ui-challenges-hgl", 22 | "appId": "1:322047224635:ios:a8d0e327085d15edd2e51e", 23 | "uploadDebugSymbols": true, 24 | "fileOutput": "ios/Runner/GoogleService-Info.plist" 25 | } 26 | }, 27 | "macos": { 28 | "default": { 29 | "projectId": "flutter-ui-challenges-hgl", 30 | "appId": "1:322047224635:ios:a8d0e327085d15edd2e51e", 31 | "uploadDebugSymbols": true, 32 | "fileOutput": "macos/Runner/GoogleService-Info.plist" 33 | } 34 | } 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /fonts/BebasNeue/BebasNeue-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/fonts/BebasNeue/BebasNeue-Regular.ttf -------------------------------------------------------------------------------- /fonts/Montserrat/Montserrat-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/fonts/Montserrat/Montserrat-Black.ttf -------------------------------------------------------------------------------- /fonts/Montserrat/Montserrat-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/fonts/Montserrat/Montserrat-Bold.ttf -------------------------------------------------------------------------------- /fonts/Montserrat/Montserrat-ExtraBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/fonts/Montserrat/Montserrat-ExtraBold.ttf -------------------------------------------------------------------------------- /fonts/Montserrat/Montserrat-ExtraLight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/fonts/Montserrat/Montserrat-ExtraLight.ttf -------------------------------------------------------------------------------- /fonts/Montserrat/Montserrat-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/fonts/Montserrat/Montserrat-Light.ttf -------------------------------------------------------------------------------- /fonts/Montserrat/Montserrat-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/fonts/Montserrat/Montserrat-Medium.ttf -------------------------------------------------------------------------------- /fonts/Montserrat/Montserrat-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/fonts/Montserrat/Montserrat-Regular.ttf -------------------------------------------------------------------------------- /fonts/Montserrat/Montserrat-SemiBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/fonts/Montserrat/Montserrat-SemiBold.ttf -------------------------------------------------------------------------------- /fonts/Montserrat/Montserrat-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/fonts/Montserrat/Montserrat-Thin.ttf -------------------------------------------------------------------------------- /fonts/Muli/Muli-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/fonts/Muli/Muli-Black.ttf -------------------------------------------------------------------------------- /fonts/Muli/Muli-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/fonts/Muli/Muli-Bold.ttf -------------------------------------------------------------------------------- /fonts/Muli/Muli-ExtraBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/fonts/Muli/Muli-ExtraBold.ttf -------------------------------------------------------------------------------- /fonts/Muli/Muli-ExtraLight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/fonts/Muli/Muli-ExtraLight.ttf -------------------------------------------------------------------------------- /fonts/Muli/Muli-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/fonts/Muli/Muli-Light.ttf -------------------------------------------------------------------------------- /fonts/Muli/Muli-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/fonts/Muli/Muli-Regular.ttf -------------------------------------------------------------------------------- /fonts/Muli/Muli-SemiBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/fonts/Muli/Muli-SemiBold.ttf -------------------------------------------------------------------------------- /fonts/Nunito/Nunito-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/fonts/Nunito/Nunito-Black.ttf -------------------------------------------------------------------------------- /fonts/Nunito/Nunito-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/fonts/Nunito/Nunito-Bold.ttf -------------------------------------------------------------------------------- /fonts/Nunito/Nunito-ExtraBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/fonts/Nunito/Nunito-ExtraBold.ttf -------------------------------------------------------------------------------- /fonts/Nunito/Nunito-ExtraLight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/fonts/Nunito/Nunito-ExtraLight.ttf -------------------------------------------------------------------------------- /fonts/Nunito/Nunito-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/fonts/Nunito/Nunito-Light.ttf -------------------------------------------------------------------------------- /fonts/Nunito/Nunito-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/fonts/Nunito/Nunito-Regular.ttf -------------------------------------------------------------------------------- /fonts/Nunito/Nunito-SemiBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/fonts/Nunito/Nunito-SemiBold.ttf -------------------------------------------------------------------------------- /icons_launcher.yaml: -------------------------------------------------------------------------------- 1 | icons_launcher: 2 | image_path: "assets/icons/logo-light.png" 3 | platforms: 4 | android: 5 | enable: true 6 | image_path: "assets/icons/logo-light.png" 7 | notification_image: "assets/icons/logo-alpha.png" 8 | # adaptive_background_color: "#FFFFFF" 9 | # adaptive_foreground_image: "assets/icons/logo-light-foreground.png" 10 | # adaptive_round_image: "assets/icons/logo-light-round.png" 11 | # adaptive_monochrome_image: "assets/icons/logo-light-monochrome.png" 12 | 13 | ios: 14 | enable: true 15 | image_path: "assets/icons/logo-light.png" 16 | dark_path: "assets/icons/logo-dark.png" # For iOS 18+ dark mode 17 | # tinted_path: "assets/icons/logo-light-tinted.png" # For iOS 18+ tinted mode 18 | 19 | web: 20 | enable: true 21 | image_path: "assets/icons/logo-alpha.png" 22 | 23 | macos: 24 | enable: true 25 | image_path: "assets/icons/logo-light.png" 26 | 27 | windows: 28 | enable: true 29 | image_path: "assets/icons/logo-light.png" 30 | 31 | linux: 32 | enable: true 33 | image_path: "assets/icons/logo-light.png" 34 | -------------------------------------------------------------------------------- /internal-docs.md: -------------------------------------------------------------------------------- 1 | Cloud flare Pages url redirects 2 | 3 | https://developers.cloudflare.com/pages/configuration/redirects/ 4 | 5 | 6 | keytool -list -v -keystore prod.jks -alias flutter_ui_prod -------------------------------------------------------------------------------- /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 | GoogleService-Info.plist -------------------------------------------------------------------------------- /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 | 12.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/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 Flutter 2 | import UIKit 3 | 4 | @main 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/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/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/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/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/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/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/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/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/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/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/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/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/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-38x38@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-38x38@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-38x38@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-38x38@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/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/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/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/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/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/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/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/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/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/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/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/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/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/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/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/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-64x64@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-64x64@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-64x64@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-64x64@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-68x68@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-68x68@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/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/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/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/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/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/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/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/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-1024x1024@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-20x20@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-20x20@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-29x29@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-29x29@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-38x38@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-38x38@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-38x38@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-38x38@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-40x40@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-40x40@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-60x60@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-60x60@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-64x64@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-64x64@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-64x64@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-64x64@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-68x68@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-68x68@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-76x76@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-Dark-83.5x83.5@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchBackground.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "background.png", 5 | "idiom" : "universal" 6 | }, 7 | { 8 | "appearances" : [ 9 | { 10 | "appearance" : "luminosity", 11 | "value" : "dark" 12 | } 13 | ], 14 | "filename" : "darkbackground.png", 15 | "idiom" : "universal" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchBackground.imageset/darkbackground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/LaunchBackground.imageset/darkbackground.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "LaunchImage.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "filename" : "LaunchImage@2x.png", 10 | "idiom" : "universal", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "filename" : "LaunchImage@3x.png", 15 | "idiom" : "universal", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "author" : "xcode", 21 | "version" : 1 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/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/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /ios/RunnerTests/RunnerTests.swift: -------------------------------------------------------------------------------- 1 | import Flutter 2 | import UIKit 3 | import XCTest 4 | 5 | class RunnerTests: XCTestCase { 6 | 7 | func testExample() { 8 | // If you add code to the Runner application, consider adding tests here. 9 | // See https://developer.apple.com/documentation/xctest for more information about using XCTest. 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /ios/firebase_app_id_file.json: -------------------------------------------------------------------------------- 1 | { 2 | "file_generated_by": "FlutterFire CLI", 3 | "purpose": "FirebaseAppID & ProjectID for this Firebase app in this directory", 4 | "GOOGLE_APP_ID": "1:322047224635:ios:aa534f2a855aa0bdd2e51e", 5 | "FIREBASE_PROJECT_ID": "flutter-ui-challenges-hgl", 6 | "GCM_SENDER_ID": "322047224635" 7 | } -------------------------------------------------------------------------------- /lib/AppRoutes.dart: -------------------------------------------------------------------------------- 1 | class AppRoutes { 2 | static final home = "home"; 3 | static final about = "about"; 4 | static final aboutDeveloper = "aboutDeveloper"; 5 | static final download = "download"; 6 | static final uiList = "uiList"; 7 | static final uiDetail = "uiDetail"; 8 | static final designerProfile = "designerProfile"; 9 | 10 | // Healthy Food Delivery 11 | static final hfdHome = "hfdHome"; 12 | static final hfdDetail = "hfdDetail"; 13 | 14 | // Hot Air Balloon 15 | static final habHome = "habHome"; 16 | static final habDetail = "habDetail"; 17 | 18 | // Sky View 19 | static final skvHome = "skvHome"; 20 | static final skvDetail = "skvDetail"; 21 | 22 | static final ascHome = "ascHome"; 23 | 24 | static final etcHome = "etcHome"; 25 | 26 | static final ccnHome = "ccnHome"; 27 | static final ccnDetail = "ccnDetail"; 28 | } 29 | -------------------------------------------------------------------------------- /lib/MiniApps/AsicsShoesConcept/Screens/HomeScreen/Provider.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:provider/provider.dart'; 3 | 4 | class ASCShoeProvider extends ChangeNotifier { 5 | static ASCShoeProvider state(BuildContext context, [listen = false]) => 6 | Provider.of(context, listen: listen); 7 | static final List shoeSizes = [7, 8, 9, 10, 11]; 8 | 9 | int _activeShoeSize = shoeSizes[0]; 10 | late AnimationController shoesController; 11 | Animation? shoeAnimation; 12 | int _index = 0; 13 | get activeShoeSize => this._activeShoeSize; 14 | 15 | void setShoeSize(size, int index) { 16 | if (this._index == index) { 17 | return; 18 | } 19 | this._activeShoeSize = size; 20 | this.notifyListeners(); 21 | const SCALE_FACTOR = 0.07; 22 | this.shoeAnimation = Tween( 23 | begin: SCALE_FACTOR * (this._index), 24 | end: SCALE_FACTOR * (index), 25 | ).animate( 26 | CurvedAnimation( 27 | curve: Curves.elasticOut, 28 | parent: shoesController, 29 | ), 30 | ); 31 | this.shoesController.forward(from: 0.0); 32 | this._index = index; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /lib/MiniApps/AsicsShoesConcept/Screens/HomeScreen/TestKeys.dart: -------------------------------------------------------------------------------- 1 | const String scope = "ASCHomeScreen"; 2 | 3 | abstract class ASCHomeScreenTestKeys { 4 | static final String rootScroll = "$scope/rootScroll"; 5 | static final String colorsBase = "$scope/colorsBase"; 6 | 7 | // static final String color = "$scope/color"; 8 | 9 | static String getSize(int activePage, int index) => 10 | ("$scope/size" + "$activePage-$index"); 11 | 12 | static String getColor(int activePage, int index) => 13 | ("$scope/color" + "$activePage-$index"); 14 | } 15 | -------------------------------------------------------------------------------- /lib/MiniApps/AsicsShoesConcept/Screens/HomeScreen/messages/keys.dart: -------------------------------------------------------------------------------- 1 | // This is an auto generated file. Do not make any change on this. 2 | 3 | const scope = 'ASCHomeScreen'; 4 | 5 | abstract class ASCHomeScreenMessages { 6 | static const size = '$scope/size'; 7 | static const newText = '$scope/newText'; 8 | static const colours = '$scope/colours'; 9 | static const usd = '$scope/usd'; 10 | } 11 | -------------------------------------------------------------------------------- /lib/MiniApps/AsicsShoesConcept/Screens/HomeScreen/messages/strings.dart: -------------------------------------------------------------------------------- 1 | import 'dart:isolate'; 2 | 3 | const String scope = 'ASCHomeScreen'; 4 | 5 | const Map strings = { 6 | '$scope/size': "SIZE", 7 | '$scope/newText': "NEW", 8 | '$scope/colours': "COLOURS", 9 | '$scope/usd': "USD", 10 | }; 11 | 12 | main(List args, SendPort port) { 13 | port.send({"strings": strings, "scope": scope}); 14 | } 15 | -------------------------------------------------------------------------------- /lib/MiniApps/AsicsShoesConcept/messages/keys.dart: -------------------------------------------------------------------------------- 1 | // This is an auto generated file. Do not make any change on this. 2 | 3 | const scope = 'ASCRoot'; 4 | 5 | abstract class ASCRootMessages { 6 | static const defaultDescription = '$scope/defaultDescription'; 7 | static const defaultSubHeading = '$scope/defaultSubHeading'; 8 | } 9 | -------------------------------------------------------------------------------- /lib/MiniApps/AsicsShoesConcept/messages/strings.dart: -------------------------------------------------------------------------------- 1 | import 'dart:isolate'; 2 | 3 | const String scope = 'ASCRoot'; 4 | 5 | const Map strings = { 6 | '$scope/defaultDescription': 7 | "This entry-level model features a full-length Gum Rubber Outsole for excellent traction on the court. Rearfoot GEL Cushioning System provides enhanced cushioning - while the combination synthetic leather and mesh upper provides breathability and comfort. A great value for the multi-court player.", 8 | '$scope/defaultSubHeading': "RUNNING COLLECTION", 9 | }; 10 | 11 | main(List args, SendPort port) { 12 | port.send({"strings": strings, "scope": scope}); 13 | } 14 | -------------------------------------------------------------------------------- /lib/MiniApps/AsicsShoesConcept/models/ASCItem.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class ASCItem { 4 | final String logoLink; 5 | final String shoeImage; 6 | final String headerHeading; 7 | final String headerDescription; 8 | final String contentHeading; 9 | final String contentSubHeading; 10 | final List colors; 11 | final double stars; 12 | final double price; 13 | 14 | ASCItem({ 15 | required this.logoLink, 16 | required this.shoeImage, 17 | required this.headerHeading, 18 | required this.headerDescription, 19 | required this.contentHeading, 20 | required this.contentSubHeading, 21 | required this.colors, 22 | required this.stars, 23 | required this.price, 24 | }); 25 | } 26 | -------------------------------------------------------------------------------- /lib/MiniApps/ChefCraft/Screens/DetailScreen/Dimensions.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import 'package:flutter_uis/configs/AppDimensions.dart'; 4 | import 'package:flutter_uis/configs/App.dart'; 5 | 6 | class Dimensions { 7 | static late double coverImage; 8 | 9 | static init(BuildContext context) { 10 | App.init(context); 11 | 12 | coverImage = 150 + (AppDimensions.ratio * 120); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /lib/MiniApps/ChefCraft/Screens/DetailScreen/Provider.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import 'package:flutter_uis/Providers/FadeScreen.dart'; 4 | import 'package:provider/provider.dart'; 5 | 6 | class CCNDetailState extends FadeScreenProvider { 7 | static CCNDetailState state(BuildContext context, [listen = false]) => 8 | Provider.of(context, listen: listen); 9 | 10 | double _offset = 0.0; 11 | 12 | double get offset => this._offset; 13 | setOffset(double x) { 14 | this._offset = x; 15 | notifyListeners(); 16 | } 17 | 18 | getSafe(double max) { 19 | double safeOffset = this.offset; 20 | if (safeOffset > max) { 21 | safeOffset = max; 22 | } 23 | return safeOffset; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /lib/MiniApps/ChefCraft/Screens/DetailScreen/TestKeys.dart: -------------------------------------------------------------------------------- 1 | const String scope = "CCNDetailScreen"; 2 | 3 | abstract class CCNDetailScreenTestKeys { 4 | static final String rootScroll = "$scope/rootScroll"; 5 | static final String planetsScroll = "$scope/foodItemsScroll"; 6 | } 7 | -------------------------------------------------------------------------------- /lib/MiniApps/ChefCraft/Screens/DetailScreen/messages/keys.dart: -------------------------------------------------------------------------------- 1 | // This is an auto generated file. Do not make any change on this. 2 | 3 | const scope = 'CCNDetailScreen'; 4 | 5 | abstract class CCNDetailScreenMessages { 6 | static const calories = '$scope/calories'; 7 | static const ingredients = '$scope/ingredients'; 8 | static const totalTime = '$scope/totalTime'; 9 | static const about = '$scope/about'; 10 | static const reviews = '$scope/reviews'; 11 | static const cook = '$scope/cook'; 12 | } 13 | -------------------------------------------------------------------------------- /lib/MiniApps/ChefCraft/Screens/DetailScreen/messages/strings.dart: -------------------------------------------------------------------------------- 1 | import 'dart:isolate'; 2 | 3 | const String scope = 'CCNDetailScreen'; 4 | 5 | const Map strings = { 6 | '$scope/calories': "Calories", 7 | '$scope/ingredients': "Ingredients", 8 | '$scope/totalTime': "Total Time", 9 | '$scope/about': "About Recipe", 10 | '$scope/reviews': "Reviews", 11 | '$scope/cook': "Cook Now", 12 | }; 13 | 14 | main(List args, SendPort port) { 15 | port.send({"strings": strings, "scope": scope}); 16 | } 17 | -------------------------------------------------------------------------------- /lib/MiniApps/ChefCraft/Screens/HomeScreen/Dimensions.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import 'package:flutter_uis/configs/AppDimensions.dart'; 4 | import 'package:flutter_uis/configs/App.dart'; 5 | 6 | class Dimensions { 7 | static late double smallBox; 8 | static late double largeBox; 9 | 10 | static init(BuildContext context) { 11 | App.init(context); 12 | 13 | smallBox = 50 + (AppDimensions.ratio * 50); 14 | largeBox = 100 + (AppDimensions.ratio * 100); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lib/MiniApps/ChefCraft/Screens/HomeScreen/TestKeys.dart: -------------------------------------------------------------------------------- 1 | const String scope = "CCNHomeScreen"; 2 | 3 | abstract class CCNHomeScreenTestKeys { 4 | static final String rootScroll = "$scope/rootScroll"; 5 | static final String planetsScroll = "$scope/foodItemsScroll"; 6 | } 7 | -------------------------------------------------------------------------------- /lib/MiniApps/ChefCraft/Screens/HomeScreen/messages/keys.dart: -------------------------------------------------------------------------------- 1 | // This is an auto generated file. Do not make any change on this. 2 | 3 | const scope = 'CCNHomeScreen'; 4 | 5 | abstract class CCNHomeScreenMessages { 6 | static const heading = '$scope/heading'; 7 | static const cat1 = '$scope/cat1'; 8 | static const cat2 = '$scope/cat2'; 9 | static const cat3 = '$scope/cat3'; 10 | static const cat4 = '$scope/cat4'; 11 | static const tab1 = '$scope/tab1'; 12 | static const tab2 = '$scope/tab2'; 13 | static const tab3 = '$scope/tab3'; 14 | static const tab4 = '$scope/tab4'; 15 | } 16 | -------------------------------------------------------------------------------- /lib/MiniApps/ChefCraft/Screens/HomeScreen/messages/strings.dart: -------------------------------------------------------------------------------- 1 | import 'dart:isolate'; 2 | 3 | const String scope = 'CCNHomeScreen'; 4 | 5 | const Map strings = { 6 | '$scope/heading': "Looking for your favorite meal", 7 | 8 | // categories 9 | '$scope/cat1': "Breakfast", 10 | '$scope/cat2': "Lunch", 11 | '$scope/cat3': "Dinner", 12 | '$scope/cat4': "Snacks", 13 | 14 | // tabs 15 | '$scope/tab1': "Home", 16 | '$scope/tab2': "Meal Plan", 17 | '$scope/tab3': "Subscription", 18 | '$scope/tab4': "More", 19 | }; 20 | 21 | main(List args, SendPort port) { 22 | port.send({"strings": strings, "scope": scope}); 23 | } 24 | -------------------------------------------------------------------------------- /lib/MiniApps/ChefCraft/data/TestKeys.dart: -------------------------------------------------------------------------------- 1 | const String scope = "CCNItemRoot"; 2 | 3 | abstract class CCNItemRootTestKeys { 4 | static final String item1 = "$scope/item1"; 5 | static final String item2 = "$scope/item2"; 6 | } 7 | -------------------------------------------------------------------------------- /lib/MiniApps/ChefCraft/data/data.dart: -------------------------------------------------------------------------------- 1 | import '../models/CCNItem.dart'; 2 | import 'TestKeys.dart'; 3 | 4 | final items = [ 5 | CCNItem( 6 | testKey: CCNItemRootTestKeys.item1, 7 | stars: 4.0, 8 | name: 'Cheese Grill Sandwich', 9 | author: 'Sarah Smith', 10 | calories: 176, 11 | ingredients: 06, 12 | duration: 25, 13 | desc: 14 | "Veg cheese grilled sandwich / vegetable cheese Sandwich is a quick Vegetarian Sandwich (Or Vegan Sandwich) recipe that can be made in minutes with very few ingredients."), 15 | CCNItem( 16 | testKey: CCNItemRootTestKeys.item2, 17 | stars: 4.8, 18 | name: 'Fish Curry', 19 | author: 'Josheph', 20 | calories: 256, 21 | ingredients: 12, 22 | duration: 45, 23 | desc: 24 | "Simple, delicious & flavorful Indian fish curry in a onion tomato base. Fish is one of the favorite sea foods at home and most times it is the fish fry or the pepper fish that is made as they are quick to make."), 25 | ]; 26 | -------------------------------------------------------------------------------- /lib/MiniApps/ChefCraft/models/CCNItem.dart: -------------------------------------------------------------------------------- 1 | class CCNItem { 2 | CCNItem({ 3 | required this.testKey, 4 | required this.name, 5 | required this.author, 6 | required this.stars, 7 | required this.calories, 8 | required this.ingredients, 9 | required this.duration, 10 | required this.desc, 11 | }); 12 | 13 | String testKey; 14 | String name; 15 | String author; 16 | double stars; 17 | int calories; 18 | int ingredients; 19 | int duration; 20 | String desc; 21 | } 22 | -------------------------------------------------------------------------------- /lib/MiniApps/EggTimerConcept/Screens/HomeScreen/Dimensions.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import 'package:flutter_uis/configs/AppDimensions.dart'; 4 | import 'package:flutter_uis/configs/App.dart'; 5 | import 'Theme.dart'; 6 | 7 | class Dimensions { 8 | static late double radius; 9 | 10 | static init(BuildContext context) { 11 | App.init(context); 12 | ETCTheme.init(); 13 | 14 | final maxRadius = 500.0; 15 | radius = AppDimensions.size.width * 0.75; 16 | radius = (radius).clamp(-radius, maxRadius); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /lib/MiniApps/EggTimerConcept/Screens/HomeScreen/TestKeys.dart: -------------------------------------------------------------------------------- 1 | const String scope = "ETCHomeScreen"; 2 | 3 | abstract class ETCHomeScreenTestKeys { 4 | static final String radiusBase = "$scope/radiusBase"; 5 | 6 | static final String resetBtn = "$scope/resetBtn"; 7 | static final String restartBtn = "$scope/restartBtn"; 8 | static final String playPauseBtn = "$scope/playPauseBtn"; 9 | } 10 | -------------------------------------------------------------------------------- /lib/MiniApps/EggTimerConcept/Screens/HomeScreen/Theme.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:tinycolor2/tinycolor2.dart'; 3 | 4 | import 'package:flutter_uis/configs/App.dart'; 5 | 6 | abstract class ETCTheme { 7 | static late Color color1; 8 | static late Color color2; 9 | 10 | static void init() { 11 | color1 = TinyColor.fromString('#f5f5f5').color; 12 | color2 = TinyColor.fromString('#e8e8e8').color; 13 | 14 | if (App.isDark()) { 15 | color1 = TinyColor.fromString('#0a0a0a').color; 16 | color2 = TinyColor.fromString('#171717').color; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /lib/MiniApps/EggTimerConcept/Screens/HomeScreen/messages/keys.dart: -------------------------------------------------------------------------------- 1 | // This is an auto generated file. Do not make any change on this. 2 | 3 | const scope = 'ETCHomeScreen'; 4 | 5 | abstract class ETCHomeScreenMessages { 6 | static const restart = '$scope/restart'; 7 | static const reset = '$scope/reset'; 8 | static const play = '$scope/play'; 9 | static const pause = '$scope/pause'; 10 | } 11 | -------------------------------------------------------------------------------- /lib/MiniApps/EggTimerConcept/Screens/HomeScreen/messages/strings.dart: -------------------------------------------------------------------------------- 1 | import 'dart:isolate'; 2 | 3 | const String scope = 'ETCHomeScreen'; 4 | 5 | const Map strings = { 6 | '$scope/restart': 'Restart', 7 | '$scope/reset': 'Reset', 8 | '$scope/play': 'Play', 9 | '$scope/pause': 'Pause', 10 | }; 11 | 12 | main(List args, SendPort port) { 13 | port.send({"strings": strings, "scope": scope}); 14 | } 15 | -------------------------------------------------------------------------------- /lib/MiniApps/EggTimerConcept/configs/theme.dart: -------------------------------------------------------------------------------- 1 | import 'package:pigment/pigment.dart'; 2 | 3 | final light1 = Pigment.fromString('#f5f5f5'); 4 | final light2 = Pigment.fromString('#e8e8e8'); 5 | -------------------------------------------------------------------------------- /lib/MiniApps/HealtyFoodDelivery/Screens/DetailScreen/Dimensions.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import 'package:flutter_uis/configs/AppDimensions.dart'; 4 | import 'package:flutter_uis/configs/App.dart'; 5 | 6 | class Dimensions { 7 | static late double coverImageHeight; 8 | static late double contentHeight; 9 | 10 | static init(BuildContext context) { 11 | App.init(context); 12 | 13 | final height = AppDimensions.size.height; 14 | coverImageHeight = height * 0.60; 15 | contentHeight = coverImageHeight * 0.50; 16 | 17 | if (height < 980) { 18 | coverImageHeight = height * 0.75; 19 | contentHeight = coverImageHeight * 0.55; 20 | } 21 | if (height < 800) { 22 | coverImageHeight = height * 0.80; 23 | contentHeight = coverImageHeight * 0.60; 24 | } 25 | 26 | if (height < 650) { 27 | coverImageHeight = height * 0.85; 28 | contentHeight = coverImageHeight * 0.65; 29 | } 30 | if (height < 500) { 31 | coverImageHeight = (500); 32 | contentHeight = coverImageHeight * 0.70; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /lib/MiniApps/HealtyFoodDelivery/Screens/DetailScreen/Provider.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:provider/provider.dart'; 3 | 4 | class HFDDetailState extends ChangeNotifier { 5 | static HFDDetailState state(BuildContext context, [listen = false]) => 6 | Provider.of(context, listen: listen); 7 | 8 | double _offset = 0.0; 9 | 10 | double get offset => this._offset; 11 | setOffset(double x) { 12 | this._offset = x; 13 | notifyListeners(); 14 | } 15 | 16 | // getSafe(double max) { 17 | // double safeOffset = this._offset; 18 | // if (safeOffset > max) { 19 | // safeOffset = max; 20 | // } 21 | // return safeOffset; 22 | // } 23 | } 24 | -------------------------------------------------------------------------------- /lib/MiniApps/HealtyFoodDelivery/Screens/DetailScreen/data.dart: -------------------------------------------------------------------------------- 1 | enum AnimProp { 2 | base, 3 | circle, 4 | bars, 5 | } 6 | -------------------------------------------------------------------------------- /lib/MiniApps/HealtyFoodDelivery/Screens/DetailScreen/messages/keys.dart: -------------------------------------------------------------------------------- 1 | // This is an auto generated file. Do not make any change on this. 2 | 3 | const scope = 'HFDDetailScreen'; 4 | 5 | abstract class HFDDetailScreenMessages { 6 | static const title = '$scope/title'; 7 | static const orderNow = '$scope/orderNow'; 8 | static const nutritionFact = '$scope/nutritionFact'; 9 | static const dailyCalories = '$scope/dailyCalories'; 10 | static const carbo = '$scope/carbo'; 11 | static const protein = '$scope/protein'; 12 | static const fat = '$scope/fat'; 13 | } 14 | -------------------------------------------------------------------------------- /lib/MiniApps/HealtyFoodDelivery/Screens/DetailScreen/messages/strings.dart: -------------------------------------------------------------------------------- 1 | import 'dart:isolate'; 2 | 3 | const String scope = 'HFDDetailScreen'; 4 | 5 | const Map strings = { 6 | '$scope/title': 'Healthy Food', 7 | '$scope/orderNow': 'Order Now', 8 | '$scope/nutritionFact': 'Nutrition Fact', 9 | '$scope/dailyCalories': 'of daily calories', 10 | '$scope/carbo': 'Carbo', 11 | '$scope/protein': 'Protein', 12 | '$scope/fat': 'Fat', 13 | }; 14 | 15 | main(List args, SendPort port) { 16 | port.send({"strings": strings, "scope": scope}); 17 | } 18 | -------------------------------------------------------------------------------- /lib/MiniApps/HealtyFoodDelivery/Screens/DetailScreen/widgets/HFDDetailScreenBackground.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | 4 | import '../../../models/HFDFoodItem.dart'; 5 | import '../Dimensions.dart'; 6 | import '../Provider.dart'; 7 | 8 | class HFDDetailScreenBackground extends StatelessWidget { 9 | HFDDetailScreenBackground({required this.item}); 10 | 11 | final HFDFoodItem item; 12 | 13 | @override 14 | Widget build(BuildContext context) { 15 | final state = HFDDetailState.state(context, true); 16 | var offset = state.offset * 0.22; 17 | double height = Dimensions.coverImageHeight; 18 | var scale = 1 + (offset.abs() * 0.008); 19 | var translateY = offset * 2; 20 | if (state.offset > 0) { 21 | scale = 1.0; 22 | translateY = offset * 1.8; 23 | } 24 | 25 | print("SS ${state.offset} $scale"); 26 | 27 | return Container( 28 | color: Colors.red, 29 | width: double.infinity, 30 | height: height, 31 | child: Transform.translate( 32 | offset: Offset(0, translateY), 33 | child: Transform.scale( 34 | scale: scale, 35 | child: Image.asset(this.item.image, fit: BoxFit.cover), 36 | ), 37 | ), 38 | ); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /lib/MiniApps/HealtyFoodDelivery/Screens/HomeScreen/Provider.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter/foundation.dart'; 3 | import 'package:provider/provider.dart'; 4 | 5 | class HFDHomeState extends ChangeNotifier { 6 | static HFDHomeState state(BuildContext context, [listen = false]) => 7 | Provider.of(context, listen: listen); 8 | 9 | int _activeTab = 0; 10 | int get activeTab => this._activeTab; 11 | setActiveTab(int tab) { 12 | if (tab == this._activeTab) { 13 | return; 14 | } 15 | this._activeTab = tab; 16 | notifyListeners(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /lib/MiniApps/HealtyFoodDelivery/Screens/HomeScreen/TestKeys.dart: -------------------------------------------------------------------------------- 1 | const String scope = "HFDHomeScreen"; 2 | 3 | abstract class HFDHomeScreenTestKeys { 4 | static final String rootScroll = "$scope/rootScroll"; 5 | static final String foodItemsScroll = "$scope/foodItemsScroll"; 6 | static final String restaurantScroll = "$scope/restaurantScroll"; 7 | 8 | // Food Items 9 | static final String foodItem1 = "$scope/foodItem1"; 10 | static final String foodItem2 = "$scope/foodItem2"; 11 | static final String foodItem3 = "$scope/foodItem3"; 12 | static final String foodItem4 = "$scope/foodItem4"; 13 | static final String foodItem5 = "$scope/foodItem5"; 14 | static final String foodItem6 = "$scope/foodItem6"; 15 | static final String foodItem7 = "$scope/foodItem7"; 16 | static final String foodItem8 = "$scope/foodItem8"; 17 | static final String foodItem9 = "$scope/foodItem9"; 18 | 19 | // Restaurants 20 | static final String restaurant1 = "$scope/restaurant1"; 21 | static final String restaurant2 = "$scope/restaurant2"; 22 | static final String restaurant3 = "$scope/restaurant3"; 23 | static final String restaurant4 = "$scope/restaurant4"; 24 | static final String restaurant5 = "$scope/restaurant5"; 25 | } 26 | -------------------------------------------------------------------------------- /lib/MiniApps/HealtyFoodDelivery/Screens/HomeScreen/messages/keys.dart: -------------------------------------------------------------------------------- 1 | // This is an auto generated file. Do not make any change on this. 2 | 3 | const scope = 'HFDHomeScreen'; 4 | 5 | abstract class HFDHomeScreenMessages { 6 | static const title = '$scope/title'; 7 | static const nearBy = '$scope/nearBy'; 8 | static const recommended = '$scope/recommended'; 9 | static const popular = '$scope/popular'; 10 | static const breakfast = '$scope/breakfast'; 11 | static const lunch = '$scope/lunch'; 12 | static const bevrages = '$scope/bevrages'; 13 | static const snack = '$scope/snack'; 14 | static const topRestaurants = '$scope/topRestaurants'; 15 | } 16 | -------------------------------------------------------------------------------- /lib/MiniApps/HealtyFoodDelivery/Screens/HomeScreen/messages/strings.dart: -------------------------------------------------------------------------------- 1 | import 'dart:isolate'; 2 | 3 | const String scope = 'HFDHomeScreen'; 4 | 5 | const Map strings = { 6 | '$scope/title': 'Healthy Food', 7 | '$scope/nearBy': 'Near By', 8 | '$scope/recommended': 'Recommended', 9 | '$scope/popular': 'Popular', 10 | '$scope/breakfast': 'Breakfast', 11 | '$scope/lunch': 'Lunch', 12 | '$scope/bevrages': 'Beverages', 13 | '$scope/snack': 'Snack', 14 | '$scope/topRestaurants': 'Top Restaurants', 15 | }; 16 | 17 | main(List args, SendPort port) { 18 | port.send({"strings": strings, "scope": scope}); 19 | } 20 | -------------------------------------------------------------------------------- /lib/MiniApps/HealtyFoodDelivery/configs/theme.dart: -------------------------------------------------------------------------------- 1 | import 'package:pigment/pigment.dart'; 2 | 3 | final primary = Pigment.fromString("#f29b48"); 4 | final background = Pigment.fromString('#f5f5f5'); 5 | -------------------------------------------------------------------------------- /lib/MiniApps/HealtyFoodDelivery/models/HFDCategory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class HFDCategory { 4 | HFDCategory( 5 | this.name, 6 | this.icon, { 7 | this.testKey, 8 | this.margin = const EdgeInsets.all(0.0), 9 | this.iconSize = 24, 10 | }); 11 | 12 | String name; 13 | IconData icon; 14 | String? testKey; 15 | EdgeInsets margin; 16 | double iconSize; 17 | } 18 | -------------------------------------------------------------------------------- /lib/MiniApps/HealtyFoodDelivery/models/HFDFoodItem.dart: -------------------------------------------------------------------------------- 1 | class HFDFoodItem { 2 | HFDFoodItem({ 3 | required this.id, 4 | required this.name, 5 | required this.author, 6 | required this.description, 7 | required this.testKey, 8 | required this.price, 9 | required this.stars, 10 | required this.location, 11 | required this.kcal, 12 | required this.dailyCal, 13 | required this.carbo, 14 | required this.protien, 15 | required this.fat, 16 | required this.image, 17 | }); 18 | 19 | int id; 20 | String name; 21 | String author; 22 | String description; 23 | String testKey; 24 | double price; 25 | double stars; 26 | double location; 27 | double kcal; 28 | int dailyCal; 29 | int carbo; 30 | int protien; 31 | int fat; 32 | String image; 33 | } 34 | -------------------------------------------------------------------------------- /lib/MiniApps/HealtyFoodDelivery/models/HFDRestaurant.dart: -------------------------------------------------------------------------------- 1 | class HFDRestaurant { 2 | HFDRestaurant({ 3 | required this.id, 4 | required this.name, 5 | required this.image, 6 | required this.testKey, 7 | }); 8 | 9 | int id; 10 | String name; 11 | String image; 12 | String testKey; 13 | } 14 | -------------------------------------------------------------------------------- /lib/MiniApps/HotAirBalloons/Screens/DetailScreen/Dimensions.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import 'package:flutter_uis/UI.dart'; 4 | import 'package:flutter_uis/configs/App.dart'; 5 | import 'package:flutter_uis/configs/AppDimensions.dart'; 6 | 7 | class Dimensions { 8 | static late double borderClipping; 9 | static late double backgroundImageHeight; 10 | static int noOfImages = 1; 11 | 12 | static init(BuildContext context) { 13 | App.init(context); 14 | 15 | backgroundImageHeight = 100 + AppDimensions.ratio * 80; 16 | borderClipping = 30.0; 17 | 18 | if (UI.width > UI.height) { 19 | backgroundImageHeight = 80 + AppDimensions.ratio * 60; 20 | } 21 | 22 | if (UI.md) { 23 | noOfImages = 2; 24 | } 25 | if (UI.xlg) { 26 | noOfImages = 3; 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /lib/MiniApps/HotAirBalloons/Screens/DetailScreen/TestKeys.dart: -------------------------------------------------------------------------------- 1 | const String scope = "HABDetailScreen"; 2 | 3 | abstract class HABDetailScreenTestKeys { 4 | static final String rootPageView = "$scope/rootPageView"; 5 | static final String tabsScroll = "$scope/tabsScroll"; 6 | 7 | // Tabs 8 | static final String tabFlightDetails = "$scope/tabFlightDetails"; 9 | static final String tabPreFlightInfo = "$scope/tabPreFlightInfo"; 10 | static final String tabInFlightInfo = "$scope/tabInFlightInfo"; 11 | static final String tabPostFlightInfo = "$scope/tabPostFlightInfo"; 12 | } 13 | -------------------------------------------------------------------------------- /lib/MiniApps/HotAirBalloons/Screens/DetailScreen/messages/keys.dart: -------------------------------------------------------------------------------- 1 | // This is an auto generated file. Do not make any change on this. 2 | 3 | const scope = 'HABDetailScreen'; 4 | 5 | abstract class HABDetailScreenMessages { 6 | static const flight = '$scope/flight'; 7 | static const basketSize = '$scope/basketSize'; 8 | static const flightTime = '$scope/flightTime'; 9 | static const price = '$scope/price'; 10 | static const bookNow = '$scope/bookNow'; 11 | static const tabFlightDetails = '$scope/tabFlightDetails'; 12 | static const tabPreFlightInfo = '$scope/tabPreFlightInfo'; 13 | static const tabInFlightInfo = '$scope/tabInFlightInfo'; 14 | static const tabPostFlightInfo = '$scope/tabPostFlightInfo'; 15 | static const celebration = '$scope/celebration'; 16 | static const flightCertificate = '$scope/flightCertificate'; 17 | static const serviceBack = '$scope/serviceBack'; 18 | static const pickUp = '$scope/pickUp'; 19 | static const watchingInflation = '$scope/watchingInflation'; 20 | } 21 | -------------------------------------------------------------------------------- /lib/MiniApps/HotAirBalloons/Screens/DetailScreen/messages/strings.dart: -------------------------------------------------------------------------------- 1 | import 'dart:isolate'; 2 | 3 | const String scope = 'HABDetailScreen'; 4 | 5 | const Map strings = { 6 | '$scope/flight': "Flight", 7 | '$scope/basketSize': "Basket Size", 8 | '$scope/flightTime': "Flight Time", 9 | '$scope/price': "Price", 10 | '$scope/bookNow': "BOOK NOW", 11 | '$scope/tabFlightDetails': "FLIGHT DETAILS", 12 | '$scope/tabPreFlightInfo': "PRE-FLIGHT INFORMATION", 13 | '$scope/tabInFlightInfo': "IN-FLIGHT INFORMATION", 14 | '$scope/tabPostFlightInfo': "POST-FLIGHT INFORMATION", 15 | '$scope/celebration': "Celebration", 16 | '$scope/flightCertificate': "Flight Certificate", 17 | '$scope/serviceBack': "Service back to your hotel", 18 | '$scope/pickUp': "Pick-up from your hotel", 19 | '$scope/watchingInflation': "Watching the inflation", 20 | }; 21 | 22 | main(List args, SendPort port) { 23 | port.send({"strings": strings, "scope": scope}); 24 | } 25 | -------------------------------------------------------------------------------- /lib/MiniApps/HotAirBalloons/Screens/HomeScreen/messages/keys.dart: -------------------------------------------------------------------------------- 1 | // This is an auto generated file. Do not make any change on this. 2 | 3 | const scope = 'HABHomeScreen'; 4 | 5 | abstract class HABHomeScreenMessages { 6 | static const title = '$scope/title'; 7 | static const subTitle = '$scope/subTitle'; 8 | static const flight = '$scope/flight'; 9 | } 10 | -------------------------------------------------------------------------------- /lib/MiniApps/HotAirBalloons/Screens/HomeScreen/messages/strings.dart: -------------------------------------------------------------------------------- 1 | import 'dart:isolate'; 2 | 3 | const String scope = 'HABHomeScreen'; 4 | 5 | const Map strings = { 6 | '$scope/title': "Cappadocia\nHot Air Balloon", 7 | '$scope/subTitle': "Once in a lifetime adventure", 8 | '$scope/flight': "Flight", 9 | }; 10 | 11 | main(List args, SendPort port) { 12 | port.send({"strings": strings, "scope": scope}); 13 | } 14 | -------------------------------------------------------------------------------- /lib/MiniApps/HotAirBalloons/configs/theme.dart: -------------------------------------------------------------------------------- 1 | import 'package:pigment/pigment.dart'; 2 | 3 | final primary = Pigment.fromString("#d91f20"); 4 | final background = Pigment.fromString('#f5eee6'); 5 | final background2 = Pigment.fromString('#f6eee6'); 6 | final subText = Pigment.fromString('#1c1d24').withOpacity(0.6); 7 | final indicator = Pigment.fromString('#1c1d24').withOpacity(0.4); 8 | -------------------------------------------------------------------------------- /lib/MiniApps/HotAirBalloons/data/TestKeys.dart: -------------------------------------------------------------------------------- 1 | const String scope = "HABRoot"; 2 | 3 | abstract class HABRootTestKeys { 4 | static final String standard = "$scope/standard"; 5 | static final String ultra = "$scope/ultra"; 6 | static final String exclusive = "$scope/exclusive"; 7 | } 8 | -------------------------------------------------------------------------------- /lib/MiniApps/HotAirBalloons/models/HABFlight.dart: -------------------------------------------------------------------------------- 1 | import '../messages/keys.dart'; 2 | 3 | class HABFlight { 4 | HABFlight({ 5 | required this.id, 6 | required this.name, 7 | required this.testKey, 8 | required this.people, 9 | required this.basketSize, 10 | required this.shortDesc, 11 | breakFast, 12 | breakFastType, 13 | required this.time, 14 | required this.price, 15 | required this.desc, 16 | }) : this.breakFast = breakFast ?? HABRootMessages.defaultBreakFast, 17 | this.breakFastType = 18 | breakFastType ?? HABRootMessages.defaultBreakFastType; 19 | 20 | final int id; 21 | final String name; 22 | final String testKey; 23 | final String people; 24 | final String basketSize; 25 | final String shortDesc; 26 | final String time; 27 | final String price; 28 | final String desc; 29 | 30 | // Pre Flight 31 | final String pickUp = HABRootMessages.defaultPickUp; 32 | final String breakFastType; 33 | final String breakFast; 34 | final String inflation = HABRootMessages.defaultInflation; 35 | 36 | final String inFlightInfo = HABRootMessages.defaultInFlighInfo; 37 | 38 | // Post Flight 39 | final String celebration = HABRootMessages.defaultCelebration; 40 | final String certificate = HABRootMessages.defaultCertificate; 41 | final String serviceBack = HABRootMessages.defaultServiceBack; 42 | } 43 | -------------------------------------------------------------------------------- /lib/MiniApps/SkyView/Screens/DetailScreen/Dimensions.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import 'package:flutter_uis/UI.dart'; 4 | import 'package:flutter_uis/configs/AppDimensions.dart'; 5 | 6 | class Dimensions { 7 | static late double planetSize; 8 | static late double orbitInitialOffset; 9 | static late double starBgBottomSpace; 10 | static late double starBgTopSpace; 11 | 12 | static init(BuildContext context) { 13 | AppDimensions.init(context); 14 | 15 | orbitInitialOffset = -UI.horizontal * 80; 16 | 17 | planetSize = 120 + AppDimensions.ratio * 60; 18 | 19 | starBgTopSpace = 0.0; 20 | starBgBottomSpace = -UI.vertical * 10; 21 | 22 | if (UI.md) { 23 | planetSize = 140 + AppDimensions.ratio * 70; 24 | } 25 | if (UI.lg) { 26 | planetSize = 150 + AppDimensions.ratio * 75; 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /lib/MiniApps/SkyView/Screens/DetailScreen/TestKeys.dart: -------------------------------------------------------------------------------- 1 | const String scope = "SKVDetailScreen"; 2 | 3 | abstract class SKVDetailScreenTestKeys { 4 | static final String rootScroll = "$scope/rootScroll"; 5 | } 6 | -------------------------------------------------------------------------------- /lib/MiniApps/SkyView/Screens/DetailScreen/messages/keys.dart: -------------------------------------------------------------------------------- 1 | // This is an auto generated file. Do not make any change on this. 2 | 3 | const scope = 'SKVDetailScreen'; 4 | 5 | abstract class SKVDetailScreenMessages { 6 | static const distanceFromSun = '$scope/distanceFromSun'; 7 | static const oneWayTimeSun = '$scope/oneWayTimeSun'; 8 | static const lengthYear = '$scope/lengthYear'; 9 | static const earthDays = '$scope/earthDays'; 10 | } 11 | -------------------------------------------------------------------------------- /lib/MiniApps/SkyView/Screens/DetailScreen/messages/strings.dart: -------------------------------------------------------------------------------- 1 | import 'dart:isolate'; 2 | 3 | const String scope = 'SKVDetailScreen'; 4 | 5 | const Map strings = { 6 | '$scope/distanceFromSun': "DISTANCE FROM THE SUN", 7 | '$scope/oneWayTimeSun': "ONE WAY LIGHT TIME TO THE SUN", 8 | '$scope/lengthYear': "LENGTH OF YEAR", 9 | '$scope/earthDays': "Earth Days", 10 | }; 11 | 12 | main(List args, SendPort port) { 13 | port.send({"strings": strings, "scope": scope}); 14 | } 15 | -------------------------------------------------------------------------------- /lib/MiniApps/SkyView/Screens/DetailScreen/widgets/SKVDetailScreenAnimatedText.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_uis/Mixins/HoverWidget.dart'; 3 | import 'package:provider/provider.dart'; 4 | import '../Provider.dart'; 5 | 6 | class SKVDetailScreenAnimatedText extends StatelessWidget { 7 | SKVDetailScreenAnimatedText({ 8 | required this.index, 9 | required this.child, 10 | }); 11 | 12 | final int index; 13 | final Widget child; 14 | 15 | @override 16 | Widget build(BuildContext context) { 17 | return Selector( 18 | selector: (_, s) => s.pageRendered, 19 | builder: (context, pageRendered, _) { 20 | int initialDelay = (pageRendered ? 400 : 900) + (this.index * 60); 21 | return PlayAnimationBuilder( 22 | delay: Duration(milliseconds: initialDelay), 23 | duration: Duration(milliseconds: 550), 24 | tween: Tween(begin: 0.0, end: 1.0), 25 | builder: (ctx, animation, _) => Opacity( 26 | opacity: animation, 27 | child: child, 28 | ), 29 | ); 30 | }, 31 | ); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /lib/MiniApps/SkyView/Screens/HomeScreen/Provider.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_uis/utils/Utils.dart'; 3 | import 'package:provider/provider.dart'; 4 | 5 | class SKVHomeState extends ChangeNotifier { 6 | static SKVHomeState state(BuildContext context, [listen = false]) => 7 | Provider.of(context, listen: listen); 8 | 9 | double _offsetX = 0.0; 10 | double _previousOffsetX = 0.0; 11 | double get offsetX => this._offsetX; 12 | double get ratio => Utils.isWeb() ? 0.98 : 1.0; 13 | 14 | setOffsetX(double pixels) { 15 | this._offsetX = (pixels * ratio) - this._previousOffsetX; 16 | this._previousOffsetX = pixels; 17 | this.notifyListeners(); 18 | } 19 | 20 | double _offsetY = 0.0; 21 | double _previousOffsetY = 0.0; 22 | double get offsetY => this._offsetY; 23 | setOffsetY(double pixels) { 24 | this._offsetY = (pixels * ratio) - this._previousOffsetY; 25 | this._previousOffsetY = pixels; 26 | this.notifyListeners(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /lib/MiniApps/SkyView/Screens/HomeScreen/TestKeys.dart: -------------------------------------------------------------------------------- 1 | const String scope = "SKVHomeScreen"; 2 | 3 | abstract class SKVHomeScreenTestKeys { 4 | static final String rootScroll = "$scope/rootScroll"; 5 | static final String planetsScroll = "$scope/foodItemsScroll"; 6 | } 7 | -------------------------------------------------------------------------------- /lib/MiniApps/SkyView/Screens/HomeScreen/messages/keys.dart: -------------------------------------------------------------------------------- 1 | // This is an auto generated file. Do not make any change on this. 2 | 3 | const scope = 'SKVHomeScreen'; 4 | 5 | abstract class SKVHomeScreenMessages { 6 | static const explore = '$scope/explore'; 7 | static const popular = '$scope/popular'; 8 | static const planets = '$scope/planets'; 9 | static const stars = '$scope/stars'; 10 | static const satellites = '$scope/satellites'; 11 | static const asteroids = '$scope/asteroids'; 12 | static const comets = '$scope/comets'; 13 | static const searchBar = '$scope/searchBar'; 14 | } 15 | -------------------------------------------------------------------------------- /lib/MiniApps/SkyView/Screens/HomeScreen/messages/strings.dart: -------------------------------------------------------------------------------- 1 | import 'dart:isolate'; 2 | 3 | const String scope = 'SKVHomeScreen'; 4 | 5 | const Map strings = { 6 | '$scope/explore': "Explore", 7 | '$scope/popular': "Popular", 8 | 9 | // Tabs 10 | '$scope/planets': "Planets", 11 | '$scope/stars': "Stars", 12 | '$scope/satellites': "Satellites", 13 | '$scope/asteroids': "Asteroids", 14 | '$scope/comets': "Comets", 15 | 16 | // SearchBar 17 | '$scope/searchBar': "Search Planets, Stars, Satellite", 18 | }; 19 | 20 | main(List args, SendPort port) { 21 | port.send({"strings": strings, "scope": scope}); 22 | } 23 | -------------------------------------------------------------------------------- /lib/MiniApps/SkyView/Screens/HomeScreen/widgets/SKVHomeScreenStarFieldPainter.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class SKVHomeScreenStarFieldPainter extends CustomPainter { 4 | SKVHomeScreenStarFieldPainter(this.stars); 5 | final List stars; 6 | 7 | @override 8 | void paint(Canvas canvas, Size size) { 9 | this.stars.forEach((star) { 10 | double offsetX = star.x; 11 | double offsetY = star.y; 12 | double size = star.size; 13 | Paint paint = Paint(); 14 | paint..color = star.color; 15 | 16 | canvas.drawCircle(Offset(offsetX, offsetY), size, paint); 17 | }); 18 | } 19 | 20 | @override 21 | bool shouldRepaint(CustomPainter oldDelegate) { 22 | return true; 23 | } 24 | } 25 | 26 | class Star { 27 | double x; 28 | double y; 29 | double z; 30 | double size = 1.0; 31 | Color color = Colors.red; 32 | 33 | Star({this.x = 0, this.y = 0, this.z = 0}); 34 | } 35 | -------------------------------------------------------------------------------- /lib/MiniApps/SkyView/configs/theme.dart: -------------------------------------------------------------------------------- 1 | import 'package:pigment/pigment.dart'; 2 | 3 | final primary = Pigment.fromString("#ee9900"); 4 | final background = Pigment.fromString('#f7f8fa'); 5 | final secondary = Pigment.fromString('#46317f'); 6 | final background2 = Pigment.fromString('#f6eee6'); 7 | final lightText = Pigment.fromString('#d6d7d9'); 8 | final lightText2 = Pigment.fromString('#b2b2b2'); 9 | final subText = Pigment.fromString('#d8d9db'); 10 | final indicator = Pigment.fromString('#1c1d24').withOpacity(0.4); 11 | 12 | final gradient1 = Pigment.fromString("#181c24"); 13 | final gradient2 = Pigment.fromString("#2d3544"); 14 | 15 | //d6d7d9 16 | -------------------------------------------------------------------------------- /lib/MiniApps/SkyView/data/TestKeys.dart: -------------------------------------------------------------------------------- 1 | const String scope = "SKVRoot"; 2 | 3 | abstract class SKVRootTestKeys { 4 | static final String mercury = "$scope/mercury"; 5 | static final String venus = "$scope/venus,"; 6 | static final String earth = "$scope/earth,"; 7 | static final String mars = "$scope/mars,"; 8 | static final String jupiter = "$scope/jupiter"; 9 | 10 | static final String story1 = "$scope/story1"; 11 | static final String story2 = "$scope/story2"; 12 | static final String story3 = "$scope/story3"; 13 | static final String story4 = "$scope/story4"; 14 | static final String story5 = "$scope/story5"; 15 | static final String story6 = "$scope/story6"; 16 | } 17 | -------------------------------------------------------------------------------- /lib/MiniApps/SkyView/data/data.dart: -------------------------------------------------------------------------------- 1 | export 'objectsList.dart'; 2 | export 'storiesList.dart'; 3 | -------------------------------------------------------------------------------- /lib/MiniApps/SkyView/data/storiesList.dart: -------------------------------------------------------------------------------- 1 | import '../models/SKVStory.dart'; 2 | export '../models/SKVStory.dart'; 3 | 4 | import '../messages/keys.dart'; 5 | import 'TestKeys.dart'; 6 | 7 | final storyList = [ 8 | new SKVStory( 9 | SKVRootMessages.story1Title, 10 | 5.0, 11 | SKVRootMessages.story1Desc, 12 | "assets/ma-skv/andromeda.png", 13 | SKVRootTestKeys.story1, 14 | ), 15 | new SKVStory( 16 | SKVRootMessages.story2Title, 17 | 4.0, 18 | SKVRootMessages.story2Desc, 19 | "assets/ma-skv/hubble-space-telescope.png", 20 | SKVRootTestKeys.story2, 21 | ), 22 | new SKVStory( 23 | SKVRootMessages.story3Title, 24 | 5.0, 25 | SKVRootMessages.story3Desc, 26 | "assets/ma-skv/international-space-station.png", 27 | SKVRootTestKeys.story3, 28 | ), 29 | new SKVStory( 30 | SKVRootMessages.story1Title, 31 | 5.0, 32 | SKVRootMessages.story1Desc, 33 | "assets/ma-skv/andromeda.png", 34 | SKVRootTestKeys.story4, 35 | ), 36 | new SKVStory( 37 | SKVRootMessages.story2Title, 38 | 4.0, 39 | SKVRootMessages.story2Desc, 40 | "assets/ma-skv/hubble-space-telescope.png", 41 | SKVRootTestKeys.story5, 42 | ), 43 | new SKVStory( 44 | SKVRootMessages.story3Title, 45 | 5.0, 46 | SKVRootMessages.story3Desc, 47 | "assets/ma-skv/international-space-station.png", 48 | SKVRootTestKeys.story6, 49 | ), 50 | ]; 51 | -------------------------------------------------------------------------------- /lib/MiniApps/SkyView/messages/keys.dart: -------------------------------------------------------------------------------- 1 | // This is an auto generated file. Do not make any change on this. 2 | 3 | const scope = 'SKVRoot'; 4 | 5 | abstract class SKVRootMessages { 6 | static const explore = '$scope/explore'; 7 | static const objectMercuryNick = '$scope/objectMercuryNick'; 8 | static const objectMercuryPosition = '$scope/objectMercuryPosition'; 9 | static const objectVenusNick = '$scope/objectVenusNick'; 10 | static const objectVenusPosition = '$scope/objectVenusPosition'; 11 | static const objectEarthNick = '$scope/objectEarthNick'; 12 | static const objectEarthPosition = '$scope/objectEarthPosition'; 13 | static const objectMarsNick = '$scope/objectMarsNick'; 14 | static const objectMarsPosition = '$scope/objectMarsPosition'; 15 | static const objectJupiterNick = '$scope/objectJupiterNick'; 16 | static const objectJupiterPosition = '$scope/objectJupiterPosition'; 17 | static const story1Title = '$scope/story1Title'; 18 | static const story1Desc = '$scope/story1Desc'; 19 | static const story2Title = '$scope/story2Title'; 20 | static const story2Desc = '$scope/story2Desc'; 21 | static const story3Title = '$scope/story3Title'; 22 | static const story3Desc = '$scope/story3Desc'; 23 | } 24 | -------------------------------------------------------------------------------- /lib/MiniApps/SkyView/models/SKVObject.dart: -------------------------------------------------------------------------------- 1 | class SKVObject { 2 | SKVObject( 3 | this.name, 4 | this.nickname, 5 | this.positionInSystem, 6 | this.image, { 7 | required this.testKey, 8 | required this.distanceInKm, 9 | required this.distanceFromSun, 10 | required this.lightTimeFromSun, 11 | required this.lengthOfYears, 12 | }); 13 | 14 | String name; 15 | String nickname; 16 | String positionInSystem; 17 | String image; 18 | String testKey; 19 | String distanceInKm; 20 | String distanceFromSun; 21 | String lightTimeFromSun; 22 | String lengthOfYears; 23 | } 24 | -------------------------------------------------------------------------------- /lib/MiniApps/SkyView/models/SKVStory.dart: -------------------------------------------------------------------------------- 1 | class SKVStory { 2 | SKVStory( 3 | this.name, 4 | this.stars, 5 | this.desc, 6 | this.image, 7 | this.testKey, 8 | ); 9 | 10 | final String name; 11 | final double stars; 12 | final String desc; 13 | final String image; 14 | final String testKey; 15 | } 16 | -------------------------------------------------------------------------------- /lib/NavigatorObserver.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class AppNavigatorObserver extends RouteObserver> { 4 | void _sendScreenView(PageRoute route) async { 5 | // var screenName = route.settings.name; 6 | // final context = route.navigator.context; 7 | // await 1200.milliseconds.delay; 8 | // // StatusBarHandler.init(context, screenName); 9 | // UIUtils.lightStatusBar(); 10 | // await 1200.milliseconds.delay; 11 | // UIUtils.lightStatusBar(); 12 | // print('screenName $screenName'); 13 | } 14 | 15 | @override 16 | void didPush(Route route, Route? previousRoute) { 17 | super.didPush(route, previousRoute); 18 | if (route is PageRoute) { 19 | _sendScreenView(route); 20 | } 21 | } 22 | 23 | @override 24 | void didReplace({Route? newRoute, Route? oldRoute}) { 25 | // print('super.didReplace'); 26 | super.didReplace(newRoute: newRoute, oldRoute: oldRoute); 27 | if (newRoute is PageRoute) { 28 | _sendScreenView(newRoute); 29 | } 30 | } 31 | 32 | @override 33 | void didPop(Route route, Route? previousRoute) { 34 | // print('super.didPop'); 35 | super.didPop(route, previousRoute); 36 | if (previousRoute is PageRoute && route is PageRoute) { 37 | _sendScreenView(previousRoute); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /lib/Providers/FadeScreen.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:provider/provider.dart'; 3 | import 'package:supercharged/supercharged.dart'; 4 | 5 | abstract class FadeScreenProvider extends ChangeNotifier { 6 | static FadeScreenProvider state(BuildContext context, [listen = false]) => 7 | Provider.of(context, listen: listen); 8 | int dDelay = 300; 9 | 10 | bool _fadeOff = false; 11 | bool get fadeOff => _fadeOff; 12 | Future get dDelayD => dDelay.milliseconds.delay; 13 | 14 | void close({required VoidCallback callback, int? delay}) async { 15 | if (this._fadeOff) { 16 | return; 17 | } 18 | this._fadeOff = true; 19 | this.notifyListeners(); 20 | await (delay ?? dDelay).milliseconds.delay; 21 | callback(); 22 | } 23 | 24 | Future show() async { 25 | if (!this._fadeOff) { 26 | return; 27 | } 28 | this._fadeOff = false; 29 | this.notifyListeners(); 30 | } 31 | 32 | Future hide({int? delay}) async { 33 | if (this._fadeOff) { 34 | return; 35 | } 36 | this._fadeOff = true; 37 | this.notifyListeners(); 38 | await (delay ?? dDelay).milliseconds.delay; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /lib/configs/App.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_uis/AppLocalizations.dart'; 3 | 4 | import 'AppDimensions.dart'; 5 | import 'TextStyles.dart'; 6 | import 'CommonProps.dart'; 7 | import 'AppTheme.dart'; 8 | 9 | class App { 10 | static late BuildContext ctx; 11 | static late bool isLtr; 12 | static late bool showAds = false; 13 | 14 | static init(BuildContext context) { 15 | AppDimensions.init(context); 16 | AppTheme.init(context); 17 | TextStyles.init(); 18 | CommonProps.init(); 19 | App.ctx = context; 20 | isLtr = Directionality.of(context) == TextDirection.ltr; 21 | } 22 | 23 | static translate(String? key, [BuildContext? ctx]) { 24 | final base = AppLocalizations.of(ctx ?? App.ctx); 25 | if (base == null) { 26 | return key; 27 | } 28 | return base.translate(key ?? '') ?? key; 29 | } 30 | 31 | static bool isDark([BuildContext? context]) => 32 | Theme.of(context ?? App.ctx).brightness == Brightness.dark; 33 | } 34 | -------------------------------------------------------------------------------- /lib/io/FakePlatform.dart: -------------------------------------------------------------------------------- 1 | /* 2 | This is probably the most horrible way to implement Platform Class for web. 3 | But at the time of building this app current library("universal_io:1.0.0") is not wroking with latest flutter master branch. 23/Feb/2020 4 | BTW I did spent quite lot of time debugging the error but couldn't find a good solution. 5 | In the end it's what programming is about solving problems. 6 | */ 7 | 8 | class Platform { 9 | static bool isWindows = false; 10 | static bool isLinux = false; 11 | static bool isMacOS = false; 12 | static bool isAndroid = false; 13 | static bool isFuchsia = false; 14 | static bool isIOS = false; 15 | } 16 | -------------------------------------------------------------------------------- /lib/io/io.dart: -------------------------------------------------------------------------------- 1 | export 'dart:io' if (dart.library.js) 'FakePlatform.dart' show Platform; 2 | -------------------------------------------------------------------------------- /lib/main.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_riverpod/flutter_riverpod.dart'; 3 | 4 | import 'package:flutter_uis/Navigator.dart'; 5 | import 'package:flutter_uis/configs/App.dart'; 6 | 7 | import 'package:hive_flutter/hive_flutter.dart'; 8 | 9 | Future main(List args) async { 10 | await _main(null); 11 | } 12 | 13 | Future mainTest(NavigatorObserver observer) async { 14 | await _main(observer); 15 | } 16 | 17 | Future _main(NavigatorObserver? observer) async { 18 | App.showAds = false; 19 | WidgetsFlutterBinding.ensureInitialized(); 20 | await Hive.initFlutter(); 21 | await Hive.openBox('app'); 22 | 23 | FlutterError.onError = (FlutterErrorDetails err) {}; 24 | final List observers = []; 25 | 26 | if (observer != null) { 27 | observers.add(observer); 28 | } 29 | 30 | runApp(ProviderScope(child: AppNavigator(observers))); 31 | } 32 | -------------------------------------------------------------------------------- /lib/main.web.dart: -------------------------------------------------------------------------------- 1 | import 'package:firebase_messaging/firebase_messaging.dart'; 2 | import 'package:flutter/material.dart'; 3 | import 'package:firebase_crashlytics/firebase_crashlytics.dart'; 4 | import 'package:firebase_analytics/firebase_analytics.dart'; 5 | import 'package:firebase_core/firebase_core.dart'; 6 | import 'package:flutter_riverpod/flutter_riverpod.dart'; 7 | import 'package:flutter_uis/firebase_options.dart'; 8 | import 'package:flutter_uis/services/notification/notification.dart'; 9 | import 'package:hive_flutter/hive_flutter.dart'; 10 | 11 | import 'utils/UIUtils.dart'; 12 | import 'configs/App.dart'; 13 | import 'Navigator.dart'; 14 | 15 | Future main() async { 16 | WidgetsFlutterBinding.ensureInitialized(); 17 | await Firebase.initializeApp( 18 | options: DefaultFirebaseOptions.currentPlatform, 19 | ); 20 | await AppFCM.init(); 21 | 22 | App.showAds = false; 23 | 24 | 25 | await Hive.initFlutter(); 26 | await Hive.openBox('app'); 27 | 28 | final List observers = [ 29 | FirebaseAnalyticsObserver( 30 | analytics: FirebaseAnalytics.instance, 31 | ) 32 | ]; 33 | 34 | runApp(ProviderScope(child: AppNavigator(observers))); 35 | } 36 | -------------------------------------------------------------------------------- /lib/screens/AboutApp/Dimensions.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import 'package:flutter_uis/configs/App.dart'; 4 | 5 | class Dimensions { 6 | static init(BuildContext context) { 7 | App.init(context); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /lib/screens/AboutApp/messages/keys.dart: -------------------------------------------------------------------------------- 1 | // This is an auto generated file. Do not make any change on this. 2 | 3 | const scope = 'AboutAppScreen'; 4 | 5 | abstract class AboutAppScreenMessages { 6 | static const title = '$scope/title'; 7 | static const description = '$scope/description'; 8 | static const conclusion = '$scope/conclusion'; 9 | static const question1 = '$scope/question1'; 10 | static const answer1 = '$scope/answer1'; 11 | static const question2 = '$scope/question2'; 12 | static const answer2 = '$scope/answer2'; 13 | static const question3 = '$scope/question3'; 14 | static const answer3 = '$scope/answer3'; 15 | static const question4 = '$scope/question4'; 16 | static const answer4 = '$scope/answer4'; 17 | static const question5 = '$scope/question5'; 18 | static const answer5 = '$scope/answer5'; 19 | static const question6 = '$scope/question6'; 20 | static const answer6 = '$scope/answer6'; 21 | static const question7 = '$scope/question7'; 22 | static const answer7 = '$scope/answer7'; 23 | static const iDont = '$scope/iDont'; 24 | } 25 | -------------------------------------------------------------------------------- /lib/screens/AboutApp/widgets/AboutAppText.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import 'package:flutter_uis/configs/AppDimensions.dart'; 4 | import 'package:flutter_uis/configs/AppTheme.dart'; 5 | import 'package:flutter_uis/configs/TextStyles.dart'; 6 | 7 | class AboutAppText extends StatelessWidget { 8 | AboutAppText(this.string, {this.point = false, textStyle}) 9 | : this.textStyle = textStyle ?? TextStyle(); 10 | final String string; 11 | final bool point; 12 | final TextStyle textStyle; 13 | 14 | @override 15 | Widget build(BuildContext context) { 16 | final color = point ? AppTheme.subText2 : AppTheme.text; 17 | TextStyle style = TextStyles.body26.copyWith(color: color).merge(textStyle); 18 | 19 | return Padding( 20 | padding: EdgeInsets.symmetric( 21 | vertical: AppDimensions.padding / 1.8, 22 | horizontal: AppDimensions.padding * 3, 23 | ), 24 | child: Row( 25 | mainAxisAlignment: MainAxisAlignment.start, 26 | crossAxisAlignment: CrossAxisAlignment.start, 27 | children: [ 28 | point ? Text(" - ", style: style) : Container(), 29 | Flexible( 30 | child: Text( 31 | string, 32 | style: style, 33 | ), 34 | ) 35 | ], 36 | ), 37 | ); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /lib/screens/AboutDeveloper/AboutDeveloper.dart: -------------------------------------------------------------------------------- 1 | import 'package:cupertino_will_pop_scope/cupertino_will_pop_scope.dart'; 2 | import 'package:flutter/material.dart'; 3 | import 'package:flutter_uis/io/io.dart'; 4 | 5 | import 'package:flutter_uis/widgets/Screen/Screen.dart'; 6 | 7 | import 'widgets/AboutDeveloperBody.dart'; 8 | 9 | import 'Dimensions.dart'; 10 | 11 | class AboutDeveloperScreen extends StatelessWidget { 12 | @override 13 | Widget build(BuildContext context) { 14 | Dimensions.init(context); 15 | 16 | return ConditionalWillPopScope( 17 | shouldAddCallback: Platform.isAndroid, 18 | onWillPop: () async { 19 | Navigator.popUntil( 20 | context, 21 | (route) => 22 | route.settings.name != ModalRoute.of(context)!.settings.name, 23 | ); 24 | return false; 25 | }, 26 | child: Screen( 27 | child: AboutDeveloperBody(), 28 | ), 29 | ); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /lib/screens/AboutDeveloper/Dimensions.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import 'package:flutter_uis/configs/AppDimensions.dart'; 4 | import 'package:flutter_uis/configs/App.dart'; 5 | 6 | class Dimensions { 7 | static late double projectCardWidth; 8 | static late double projectCardHeight; 9 | 10 | static late double avatarRadius; 11 | 12 | static init(BuildContext context) { 13 | App.init(context); 14 | 15 | projectCardHeight = 80 + AppDimensions.ratio * 60; 16 | projectCardWidth = 170 + AppDimensions.ratio * 80; 17 | 18 | avatarRadius = 150 + AppDimensions.ratio * 60; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /lib/screens/AboutDeveloper/TestKeys.dart: -------------------------------------------------------------------------------- 1 | const String scope = "AboutDeveloperScreen"; 2 | 3 | abstract class AboutDeveloperTestKeys { 4 | static final String rootScroll = "$scope/rootScroll"; 5 | } 6 | -------------------------------------------------------------------------------- /lib/screens/AboutDeveloper/messages/keys.dart: -------------------------------------------------------------------------------- 1 | // This is an auto generated file. Do not make any change on this. 2 | 3 | const scope = 'AboutDeveloperScreen'; 4 | 5 | abstract class AboutDeveloperScreenMessages { 6 | static const title = '$scope/title'; 7 | static const intro = '$scope/intro'; 8 | static const skillSet = '$scope/skillSet'; 9 | static const contacts = '$scope/contacts'; 10 | static const contactsDesc = '$scope/contactsDesc'; 11 | static const likeProject = '$scope/likeProject'; 12 | static const likeProjectDesc = '$scope/likeProjectDesc'; 13 | static const moreProjects = '$scope/moreProjects'; 14 | static const projectINVMovie1 = '$scope/projectINVMovie1'; 15 | static const projectRNL = '$scope/projectRNL'; 16 | static const projectGandalf = '$scope/projectGandalf'; 17 | static const projectHCV = '$scope/projectHCV'; 18 | static const likeProject1 = '$scope/likeProject1'; 19 | static const likeProject2 = '$scope/likeProject2'; 20 | static const likeProject3 = '$scope/likeProject3'; 21 | static const likeProject4 = '$scope/likeProject4'; 22 | static const share = '$scope/share'; 23 | static const copy = '$scope/copy'; 24 | static const open = '$scope/open'; 25 | static const linkCopied = '$scope/linkCopied'; 26 | static const or = '$scope/or'; 27 | static const developers = '$scope/developers'; 28 | static const profile = '$scope/profile'; 29 | } 30 | -------------------------------------------------------------------------------- /lib/screens/DesignerProfile/Dimensions.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import 'package:flutter_uis/configs/AppDimensions.dart'; 4 | import 'package:flutter_uis/configs/App.dart'; 5 | import 'package:flutter_uis/UI.dart'; 6 | 7 | class Dimensions { 8 | static late double avatarSize; 9 | static late double coverImageHeight; 10 | 11 | static late double buttonWidth; 12 | 13 | static late double cardWidth; 14 | static late double cardHeight; 15 | 16 | static void init(BuildContext context) { 17 | App.init(context); 18 | 19 | cardWidth = 280; 20 | cardHeight = 160; 21 | avatarSize = AppDimensions.padding * 14; 22 | coverImageHeight = AppDimensions.ratio * 100; 23 | buttonWidth = 24 | (AppDimensions.maxContainerWidth - 2 - (AppDimensions.padding * 8)) / 2; 25 | 26 | if (UI.md && UI.height > 480) { 27 | avatarSize = AppDimensions.padding * 17; 28 | coverImageHeight = AppDimensions.ratio * 130; 29 | } 30 | if (UI.lg && UI.height > 600) { 31 | avatarSize = AppDimensions.padding * 20; 32 | coverImageHeight = AppDimensions.ratio * 160; 33 | } 34 | if (UI.xlg && UI.height > 800) { 35 | coverImageHeight = AppDimensions.ratio * 200; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /lib/screens/DesignerProfile/Provider.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:provider/provider.dart'; 3 | 4 | import 'package:flutter_uis/Providers/FadeScreen.dart'; 5 | 6 | class DesignerProfileStateProvider extends FadeScreenProvider { 7 | static DesignerProfileStateProvider state(BuildContext context, 8 | [listen = false]) => 9 | Provider.of(context, listen: listen); 10 | } 11 | -------------------------------------------------------------------------------- /lib/screens/DesignerProfile/messages/keys.dart: -------------------------------------------------------------------------------- 1 | // This is an auto generated file. Do not make any change on this. 2 | 3 | const scope = 'DesignerProfileScreen'; 4 | 5 | abstract class DesignerProfileScreenMessages { 6 | static const contactMe = '$scope/contactMe'; 7 | static const hireMe = '$scope/hireMe'; 8 | static const explore = '$scope/explore'; 9 | static const portfolio = '$scope/portfolio'; 10 | static const follow = '$scope/follow'; 11 | } 12 | -------------------------------------------------------------------------------- /lib/screens/DesignerProfile/messages/strings.dart: -------------------------------------------------------------------------------- 1 | import 'dart:isolate'; 2 | 3 | const String scope = 'DesignerProfileScreen'; 4 | 5 | const Map strings = { 6 | '$scope/contactMe': 'Contact me', 7 | '$scope/hireMe': 'Hire me freelance', 8 | '$scope/explore': 'Explore more designs', 9 | '$scope/portfolio': 'My Portfolio', 10 | '$scope/follow': 'Follow me', 11 | }; 12 | 13 | main(List args, SendPort port) { 14 | port.send({"strings": strings, "scope": scope}); 15 | } 16 | -------------------------------------------------------------------------------- /lib/screens/DesignerProfile/widgets/DesignerProfileHeading.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_uis/configs/AppDimensions.dart'; 3 | 4 | class DesignerProfileHeading extends StatelessWidget { 5 | DesignerProfileHeading(this.label); 6 | 7 | final String label; 8 | 9 | @override 10 | Widget build(BuildContext context) { 11 | return Padding( 12 | padding: EdgeInsets.all(AppDimensions.padding), 13 | child: Text( 14 | this.label, 15 | style: TextStyle( 16 | fontSize: 20, 17 | fontWeight: FontWeight.w600, 18 | ), 19 | ), 20 | ); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /lib/screens/Download/Dimensions.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import 'package:flutter_uis/configs/App.dart'; 4 | import 'package:flutter_uis/UI.dart'; 5 | 6 | class Dimensions { 7 | static late double buttonWidth; 8 | 9 | static init(BuildContext context) { 10 | App.init(context); 11 | buttonWidth = double.infinity; 12 | 13 | if (UI.sm) { 14 | buttonWidth = 200; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /lib/screens/Download/messages/keys.dart: -------------------------------------------------------------------------------- 1 | // This is an auto generated file. Do not make any change on this. 2 | 3 | const scope = 'DownloadScreen'; 4 | 5 | abstract class DownloadScreenMessages { 6 | static const title = '$scope/title'; 7 | static const description = '$scope/description'; 8 | static const mobile = '$scope/mobile'; 9 | static const desktop = '$scope/desktop'; 10 | static const web = '$scope/web'; 11 | static const copy = '$scope/copy'; 12 | static const share = '$scope/share'; 13 | static const download = '$scope/download'; 14 | static const open = '$scope/open'; 15 | static const linkCopied = '$scope/linkCopied'; 16 | } 17 | -------------------------------------------------------------------------------- /lib/screens/Download/messages/strings.dart: -------------------------------------------------------------------------------- 1 | import 'dart:isolate'; 2 | 3 | const String scope = 'DownloadScreen'; 4 | 5 | const Map strings = { 6 | // Title 7 | '$scope/title': 'Download', 8 | '$scope/description': 'Experience the app in different platform.', 9 | '$scope/mobile': 'Mobile', 10 | '$scope/desktop': 'Desktop', 11 | '$scope/web': 'Web', 12 | // 13 | '$scope/copy': 'Copy', 14 | '$scope/share': 'Share', 15 | '$scope/download': 'Download', 16 | '$scope/open': 'Open', 17 | '$scope/linkCopied': 'link copied', 18 | }; 19 | 20 | main(List args, SendPort port) { 21 | port.send({"strings": strings, "scope": scope}); 22 | } 23 | -------------------------------------------------------------------------------- /lib/screens/Download/widgets/DownloadHeading.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import 'package:flutter_uis/configs/AppDimensions.dart'; 4 | import 'package:flutter_uis/configs/TextStyles.dart'; 5 | import 'package:flutter_uis/configs/App.dart'; 6 | 7 | class DownloadHeading extends StatelessWidget { 8 | DownloadHeading({ 9 | required this.label, 10 | }); 11 | 12 | final String label; 13 | 14 | @override 15 | Widget build(BuildContext context) { 16 | return Container( 17 | width: double.infinity, 18 | padding: EdgeInsets.symmetric( 19 | horizontal: AppDimensions.padding * 2, 20 | ), 21 | child: Text( 22 | App.translate(this.label, context), 23 | style: TextStyles.heading46, 24 | ), 25 | ); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /lib/screens/Home/Dimensions.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_uis/configs/App.dart'; 3 | 4 | class Dimensions { 5 | static init(BuildContext context) { 6 | App.init(context); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /lib/screens/Home/Provider.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter/foundation.dart'; 3 | import 'package:provider/provider.dart'; 4 | 5 | import 'package:flutter_uis/utils/Utils.dart'; 6 | 7 | class HomeStateProvider extends ChangeNotifier { 8 | static HomeStateProvider state(BuildContext context, [listen = false]) => 9 | Provider.of(context, listen: listen); 10 | 11 | bool _isWebPopUpOpen = kIsWeb; 12 | bool get isWebPopUpOpen => this._isWebPopUpOpen; 13 | 14 | setWebPopUpOpen(bool flag) { 15 | if (flag == this._isWebPopUpOpen) { 16 | return; 17 | } 18 | this._isWebPopUpOpen = flag; 19 | notifyListeners(); 20 | } 21 | 22 | bool _isDesktopPopUpOpen = Utils.isDesktop(); 23 | bool get isDesktopPopUpOpen => this._isDesktopPopUpOpen; 24 | 25 | setDesktopPopUpOpen(bool flag) { 26 | if (flag == this._isDesktopPopUpOpen) { 27 | return; 28 | } 29 | this._isDesktopPopUpOpen = flag; 30 | notifyListeners(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /lib/screens/Home/TestKeys.dart: -------------------------------------------------------------------------------- 1 | const String scope = "HomeScreen"; 2 | 3 | abstract class HomeScreenTestKeys { 4 | static final String modalContinueBtn = "$scope/modalContinueBtn"; 5 | static final String uiListBtn = '$scope/uiListBtn'; 6 | static final String aboutBtn = '$scope/aboutBtn'; 7 | static final String aboutDeveloperBtn = '$scope/aboutDeveloperBtn'; 8 | static final String downloadBtn = '$scope/downloadBtn'; 9 | static final String settingsBtn = '$scope/settingsBtn'; 10 | } 11 | -------------------------------------------------------------------------------- /lib/screens/Home/data.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_font_icons/flutter_font_icons.dart'; 3 | 4 | import 'messages/keys.dart'; 5 | import 'TestKeys.dart'; 6 | 7 | final list = [ 8 | { 9 | "key": HomeScreenTestKeys.uiListBtn, 10 | "label": HomeScreenMessages.uiList, 11 | "path": 'uiList', 12 | "icon": MaterialCommunityIcons.compass_outline, 13 | }, 14 | { 15 | "key": "ad", 16 | }, 17 | { 18 | "key": HomeScreenTestKeys.aboutBtn, 19 | "label": HomeScreenMessages.about, 20 | "path": "about", 21 | "icon": Icons.info_outline, 22 | }, 23 | { 24 | "key": HomeScreenTestKeys.aboutDeveloperBtn, 25 | "label": HomeScreenMessages.aboutDeveloper, 26 | "path": "aboutDeveloper", 27 | "icon": Icons.info_outline, 28 | }, 29 | { 30 | "key": HomeScreenTestKeys.downloadBtn, 31 | "label": HomeScreenMessages.download, 32 | "path": "download", 33 | "icon": MaterialCommunityIcons.cloud_download_outline, 34 | }, 35 | { 36 | "key": HomeScreenTestKeys.settingsBtn, 37 | "label": HomeScreenMessages.settings, 38 | "path": "settings", 39 | "icon": Icons.settings_outlined, 40 | }, 41 | ]; 42 | -------------------------------------------------------------------------------- /lib/screens/Home/messages/keys.dart: -------------------------------------------------------------------------------- 1 | // This is an auto generated file. Do not make any change on this. 2 | 3 | const scope = 'HomeScreen'; 4 | 5 | abstract class HomeScreenMessages { 6 | static const title = '$scope/title'; 7 | static const desc = '$scope/desc'; 8 | static const uiList = '$scope/uiList'; 9 | static const about = '$scope/about'; 10 | static const aboutDeveloper = '$scope/aboutDeveloper'; 11 | static const download = '$scope/download'; 12 | static const settings = '$scope/settings'; 13 | static const modalWebTitle = '$scope/modalWebTitle'; 14 | static const modalWebDesc = '$scope/modalWebDesc'; 15 | static const modalWebButton1 = '$scope/modalWebButton1'; 16 | static const modalWebButton2 = '$scope/modalWebButton2'; 17 | static const modalDesktopTitle = '$scope/modalDesktopTitle'; 18 | static const modalDesktopDesc = '$scope/modalDesktopDesc'; 19 | static const modalDesktopButton = '$scope/modalDesktopButton'; 20 | static const version = '$scope/version'; 21 | static const settingsModalTitle = '$scope/settingsModalTitle'; 22 | static const settingsModalEnglish = '$scope/settingsModalEnglish'; 23 | static const settingsModalChinese = '$scope/settingsModalChinese'; 24 | static const settingsModalArabic = '$scope/settingsModalArabic'; 25 | static const settingsModalSystemDefault = '$scope/settingsModalSystemDefault'; 26 | } 27 | -------------------------------------------------------------------------------- /lib/screens/Home/messages/locales/zh.dart: -------------------------------------------------------------------------------- 1 | import 'dart:isolate'; 2 | 3 | const String scope = 'HomeScreen'; 4 | 5 | const Map strings = { 6 | '$scope/title': '欢迎', 7 | }; 8 | 9 | main(List args, SendPort port) { 10 | port.send(strings); 11 | } 12 | -------------------------------------------------------------------------------- /lib/screens/UIDetail/Dimensions.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import 'package:flutter_uis/configs/AppDimensions.dart'; 4 | import 'package:flutter_uis/configs/App.dart'; 5 | import 'package:flutter_uis/UI.dart'; 6 | 7 | class Dimensions { 8 | static late double coverImageHeight; 9 | 10 | static late double cardWidth; 11 | static late double cardHeight; 12 | static late double buttonWidth; 13 | 14 | static init(BuildContext context) { 15 | App.init(context); 16 | 17 | coverImageHeight = 260; 18 | cardWidth = 280; 19 | cardHeight = 160; 20 | buttonWidth = 21 | (AppDimensions.maxContainerWidth - (AppDimensions.padding * 6)) / 2; 22 | 23 | if (UI.lg && UI.height > 600) { 24 | coverImageHeight = 380; 25 | } 26 | if (UI.xlg && UI.height > 800) { 27 | coverImageHeight = 500; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /lib/screens/UIDetail/Provider.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:provider/provider.dart'; 3 | 4 | import 'package:flutter_uis/Providers/FadeScreen.dart'; 5 | 6 | class UIDetailStateProvider extends FadeScreenProvider { 7 | static UIDetailStateProvider state(BuildContext context, [listen = false]) => 8 | Provider.of(context, listen: listen); 9 | } 10 | -------------------------------------------------------------------------------- /lib/screens/UIDetail/TestKeys.dart: -------------------------------------------------------------------------------- 1 | const String scope = "UIDetailScreen"; 2 | 3 | abstract class UIDetailScreenTestKeys { 4 | static final String openApp = "$scope/openApp"; 5 | static final String viewSource = "$scope/viewSource"; 6 | static final String viewDesigner = "$scope/viewDesigner"; 7 | } 8 | -------------------------------------------------------------------------------- /lib/screens/UIDetail/data.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter_font_icons/flutter_font_icons.dart'; 2 | 3 | import 'package:flutter_uis/statics/models/UIItem.dart'; 4 | 5 | import 'messages/keys.dart'; 6 | 7 | final getSupportList = (UIItem uiItem) => [ 8 | { 9 | "label": UIDetailScreenMessages.landscape, 10 | "icon": MaterialCommunityIcons.phone_rotate_landscape, 11 | "flag": uiItem.landscapeSupport, 12 | }, 13 | { 14 | "label": UIDetailScreenMessages.tablet, 15 | "icon": MaterialCommunityIcons.tablet, 16 | "flag": uiItem.tabletSupport, 17 | }, 18 | { 19 | "label": UIDetailScreenMessages.android, 20 | "icon": MaterialCommunityIcons.android, 21 | "flag": true, 22 | }, 23 | { 24 | "label": UIDetailScreenMessages.ios, 25 | "icon": MaterialCommunityIcons.apple, 26 | "flag": true, 27 | }, 28 | { 29 | "label": UIDetailScreenMessages.web, 30 | "icon": MaterialCommunityIcons.web, 31 | "flag": uiItem.webSupport, 32 | }, 33 | { 34 | "label": UIDetailScreenMessages.desktop, 35 | "icon": MaterialCommunityIcons.desktop_mac, 36 | "flag": uiItem.desktopSupport, 37 | }, 38 | ]; 39 | -------------------------------------------------------------------------------- /lib/screens/UIDetail/messages/keys.dart: -------------------------------------------------------------------------------- 1 | // This is an auto generated file. Do not make any change on this. 2 | 3 | const scope = 'UIDetailScreen'; 4 | 5 | abstract class UIDetailScreenMessages { 6 | static const title = '$scope/title'; 7 | static const by = '$scope/by'; 8 | static const openApp = '$scope/openApp'; 9 | static const viewSource = '$scope/viewSource'; 10 | static const contact = '$scope/contact'; 11 | static const moreUIs = '$scope/moreUIs'; 12 | static const platformNScreens = '$scope/platformNScreens'; 13 | static const landscape = '$scope/landscape'; 14 | static const tablet = '$scope/tablet'; 15 | static const android = '$scope/android'; 16 | static const ios = '$scope/ios'; 17 | static const web = '$scope/web'; 18 | static const desktop = '$scope/desktop'; 19 | } 20 | -------------------------------------------------------------------------------- /lib/screens/UIDetail/messages/strings.dart: -------------------------------------------------------------------------------- 1 | import 'dart:isolate'; 2 | 3 | const String scope = 'UIDetailScreen'; 4 | 5 | const Map strings = { 6 | '$scope/title': 'About App', 7 | '$scope/by': 'By', 8 | '$scope/openApp': 'Open App', 9 | '$scope/viewSource': 'View UI Source', 10 | '$scope/contact': 'Contact', 11 | '$scope/moreUIs': 'More UIs from', 12 | '$scope/platformNScreens': 'Platform And Screens', 13 | '$scope/landscape': 'Landscape', 14 | '$scope/tablet': 'Tablet', 15 | '$scope/android': 'Android', 16 | '$scope/ios': 'iOS', 17 | '$scope/web': 'Web', 18 | '$scope/desktop': 'Desktop', 19 | }; 20 | 21 | main(List args, SendPort port) { 22 | port.send({"strings": strings, "scope": scope}); 23 | } 24 | -------------------------------------------------------------------------------- /lib/screens/UIDetail/widgets/UIDetailButton.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import 'package:flutter_uis/configs/Theme.dart' as theme; 4 | 5 | import 'package:flutter_uis/widgets/BorderButton/BorderButton.dart'; 6 | 7 | import '../Dimensions.dart'; 8 | 9 | class UIDetailButton extends StatelessWidget { 10 | UIDetailButton({ 11 | required this.text, 12 | required this.testKey, 13 | required this.callback, 14 | }); 15 | 16 | final String text; 17 | final String testKey; 18 | final VoidCallback callback; 19 | 20 | @override 21 | Widget build(BuildContext context) { 22 | return BorderButton( 23 | maxWidth: 200, 24 | onPressed: callback, 25 | color: theme.primary, 26 | testKey: this.testKey, 27 | width: Dimensions.buttonWidth, 28 | child: Text( 29 | text, 30 | style: TextStyle(), 31 | ), 32 | ); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /lib/screens/UIList/Dimensions.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_uis/UI.dart'; 3 | 4 | import 'package:flutter_uis/configs/AppDimensions.dart'; 5 | 6 | class Dimensions { 7 | static late double cardHeight; 8 | static late double cardWidth; 9 | static late int chunks; 10 | 11 | static init(BuildContext context) { 12 | AppDimensions.init(context); 13 | cardHeight = 200; 14 | 15 | chunks = 1; 16 | 17 | if (UI.md) { 18 | chunks = 2; 19 | } 20 | if (UI.lg) { 21 | chunks = 3; 22 | } 23 | if (UI.xlg) { 24 | chunks = 4; 25 | } 26 | if (UI.xxlg) { 27 | chunks = 5; 28 | } 29 | final cardBase = UI.safeWidth - AppDimensions.padding * 2; 30 | cardWidth = cardBase / chunks; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /lib/screens/UIList/TestKeys.dart: -------------------------------------------------------------------------------- 1 | const String scope = "UIListScreen"; 2 | 3 | abstract class UIListScreenTestKeys { 4 | static final String rootScroll = "$scope/rootScroll"; 5 | } 6 | -------------------------------------------------------------------------------- /lib/services/notification/background.dart: -------------------------------------------------------------------------------- 1 | part of 'notification.dart'; 2 | 3 | Future _onBackgroundMessageHandler(RemoteMessage message) async { 4 | print("Handling a background message: ${message.messageId}"); 5 | } 6 | -------------------------------------------------------------------------------- /lib/services/notification/configs.dart: -------------------------------------------------------------------------------- 1 | part of 'notification.dart'; 2 | 3 | const MAIN_CHANNEL = AndroidNotificationChannel( 4 | 'high_importance_channel', // id 5 | 'High Importance Notifications', // title 6 | description: 7 | "This channel is used for important notifications.", // description 8 | importance: Importance.high, 9 | ); 10 | -------------------------------------------------------------------------------- /lib/services/notification/models.dart: -------------------------------------------------------------------------------- 1 | part of 'notification.dart'; 2 | 3 | class NotificationData { 4 | static const message = 'message'; 5 | static const link = 'link'; 6 | static const order = 'order'; 7 | } 8 | -------------------------------------------------------------------------------- /lib/services/notification/utils.dart: -------------------------------------------------------------------------------- 1 | part of 'notification.dart'; 2 | 3 | class NotificationUtils { 4 | static String flavoredTopic(String value) { 5 | // String topicName; 6 | // final environment = AppFlavor.env; 7 | // final isRelease = AppFlavor.isRelease(); 8 | // switch (environment) { 9 | // case Env.prod: 10 | // topicName = '$value-prod'; 11 | // break; 12 | // case Env.dev: 13 | // topicName = '$value-dev'; 14 | // break; 15 | // case Env.stage: 16 | // topicName = '$value-stage'; 17 | // break; 18 | // case Env.qa: 19 | // topicName = '$value-qa'; 20 | // break; 21 | // } 22 | 23 | // if (isRelease) { 24 | // topicName = "$topicName-release"; 25 | // } else { 26 | // topicName = "$topicName-debug"; 27 | // } 28 | 29 | // return topicName; 30 | return value; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /lib/statics/Links.dart: -------------------------------------------------------------------------------- 1 | abstract class MyLinks { 2 | static final facebook = 'https://facebook.com/hmziqrs'; 3 | static final twitter = 'https://twitter.com/hmziqrs'; 4 | static final github = 'https://github.com/hmziqrs'; 5 | 6 | // 7 | static final fudGithub = 'https://github.com/hmziqrs/flutter-ui-designs'; 8 | static final fudGooglePlay = 9 | 'https://play.google.com/store/apps/details?id=com.onemdev.flutter_ui_challenges'; 10 | 11 | // 12 | static final rnLoopWeb = "https://rnloop.hmziq.xyz"; 13 | static final rnLoopGithub = 14 | 'https://github.com/hmziqrs/react-native-loop-game'; 15 | static final rnLoopGooglePlay = 16 | 'https://play.google.com/store/apps/details?id=com.onemdev.rnloop'; 17 | 18 | static final gandalfWeb = "https://gandalf.hmziq.xyz"; 19 | static final gandalfGithub = 'https://github.com/hmziqrs/gandalf-sax'; 20 | static final gandalfGooglePlay = 21 | 'https://play.google.com/store/apps/details?id=com.onemdev.gandalf'; 22 | 23 | // 24 | static final invmovie1Web = 'https://movieui.hmziq.xyz'; 25 | static final invmovie1Github = 26 | 'https://github.com/hmziqrs/invmovieconcept1'; 27 | static final invmovie1GooglePlay = 28 | 'https://play.google.com/store/apps/details?id=com.onemdev.invmovieconcept1'; 29 | 30 | // 31 | static final myCVWeb = 'https://cv.hmziq.rs'; 32 | static final myCVGithub = 'https://github.com/hmziqrs/cv'; 33 | } 34 | -------------------------------------------------------------------------------- /lib/statics/data/uiListTestKeys.dart: -------------------------------------------------------------------------------- 1 | const String scope = "UIListData"; 2 | 3 | abstract class UIListDataTestKeys { 4 | static final String hfd = "$scope/hfd"; 5 | static final String hab = "$scope/hab"; 6 | static final String skv = "$scope/skv"; 7 | static final String asc = "$scope/asc"; 8 | static final String etc = "$scope/etc"; 9 | static final String coda = "$scope/coda"; 10 | static final String ccn = "$scope/ccn"; 11 | } 12 | -------------------------------------------------------------------------------- /lib/statics/models/UIDesigner.dart: -------------------------------------------------------------------------------- 1 | class UIDesigner { 2 | // Database 3 | int id; 4 | String username; 5 | 6 | // Personal Info 7 | String? avatar; 8 | String cover; 9 | String name; 10 | String? description; 11 | 12 | // Location 13 | String? job; 14 | String? address; 15 | String? location; 16 | 17 | // Soical Media 18 | String? facebook; 19 | String? twitter; 20 | String? instagram; 21 | String? linkedin; 22 | String? linkedinCompany; 23 | 24 | // Portfolio 25 | String? website; 26 | String? dribbble; 27 | String? behance; 28 | 29 | // Freelance 30 | String? fiverr; 31 | String? upwork; 32 | String? upworkCompany; 33 | 34 | // Direct 35 | String? skype; 36 | List emails; 37 | List phone; 38 | 39 | UIDesigner({ 40 | required this.id, 41 | required this.username, 42 | this.avatar, 43 | this.cover = "assets/user/cover.jpg", 44 | required this.name, 45 | this.description, 46 | this.address, 47 | this.job, 48 | this.location, 49 | this.facebook, 50 | this.twitter, 51 | this.instagram, 52 | this.linkedin, 53 | this.linkedinCompany, 54 | this.skype, 55 | this.dribbble, 56 | this.behance, 57 | this.website, 58 | this.fiverr, 59 | this.upwork, 60 | this.upworkCompany, 61 | this.emails = const [], 62 | this.phone = const [], 63 | }); 64 | } 65 | -------------------------------------------------------------------------------- /lib/statics/models/UIItem.dart: -------------------------------------------------------------------------------- 1 | class UIItem { 2 | int id; 3 | String name; 4 | String? description; 5 | String? designer; 6 | String? source; 7 | String? miniApp; 8 | String? link; 9 | String? thumbnail; 10 | String? testKey; 11 | bool tabletSupport; 12 | bool webSupport; 13 | bool landscapeSupport; 14 | bool desktopSupport; 15 | 16 | UIItem({ 17 | required this.id, 18 | required this.name, 19 | this.description, 20 | this.designer, 21 | this.source, 22 | this.miniApp, 23 | this.link, 24 | this.thumbnail, 25 | this.testKey, 26 | this.landscapeSupport = false, 27 | this.tabletSupport = false, 28 | this.webSupport = false, 29 | this.desktopSupport = false, 30 | }); 31 | } 32 | -------------------------------------------------------------------------------- /lib/widgets/AboutUser/AboutUserBio.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import 'package:flutter_uis/configs/AppDimensions.dart'; 4 | import 'package:flutter_uis/configs/TextStyles.dart'; 5 | import 'package:flutter_uis/configs/AppTheme.dart'; 6 | import 'package:flutter_uis/configs/App.dart'; 7 | 8 | class AboutUserBio extends StatelessWidget { 9 | AboutUserBio({ 10 | required this.points, 11 | this.translate = true, 12 | }); 13 | 14 | final List points; 15 | final bool translate; 16 | 17 | @override 18 | Widget build(BuildContext context) { 19 | return Column( 20 | crossAxisAlignment: CrossAxisAlignment.start, 21 | children: this 22 | .points 23 | .map( 24 | (text) => Padding( 25 | padding: EdgeInsets.only( 26 | left: AppDimensions.padding * 2, 27 | right: AppDimensions.padding * 2, 28 | top: AppDimensions.padding * 0.8, 29 | ), 30 | child: Text( 31 | App.translate(text, context), 32 | style: TextStyles.body16.copyWith( 33 | color: AppTheme.subText, 34 | ), 35 | ), 36 | ), 37 | ) 38 | .toList(), 39 | ); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /lib/widgets/AboutUser/AboutUserHeading.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import 'package:flutter_uis/configs/AppDimensions.dart'; 4 | import 'package:flutter_uis/configs/TextStyles.dart'; 5 | import 'package:flutter_uis/configs/App.dart'; 6 | 7 | import 'messages/keys.dart'; 8 | 9 | final map = { 10 | "skills": AboutUserWidgetMessages.skillSet, 11 | "contacts": AboutUserWidgetMessages.contacts, 12 | "followMe": AboutUserWidgetMessages.followMe, 13 | "likeProject": AboutUserWidgetMessages.likeProject, 14 | "moreProjects": AboutUserWidgetMessages.moreProjects, 15 | }; 16 | 17 | class AboutUserHeading extends StatelessWidget { 18 | AboutUserHeading({ 19 | required this.label, 20 | this.isMapped = true, 21 | }); 22 | 23 | final String label; 24 | final bool isMapped; 25 | 26 | @override 27 | Widget build(BuildContext context) { 28 | return Container( 29 | width: double.infinity, 30 | padding: EdgeInsets.symmetric( 31 | horizontal: AppDimensions.padding * 2, 32 | ), 33 | child: Text( 34 | this.isMapped ? App.translate(map[this.label], context) : this.label, 35 | style: TextStyles.heading4, 36 | ), 37 | ); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /lib/widgets/AboutUser/AboutUserJobTitle.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import 'package:flutter_uis/configs/AppDimensions.dart'; 4 | import 'package:flutter_uis/configs/TextStyles.dart'; 5 | import 'package:flutter_uis/configs/AppTheme.dart'; 6 | 7 | class AboutUserJobTitle extends StatelessWidget { 8 | AboutUserJobTitle({ 9 | required this.label, 10 | }); 11 | 12 | final String label; 13 | 14 | @override 15 | Widget build(BuildContext context) { 16 | return Container( 17 | margin: EdgeInsets.symmetric( 18 | horizontal: AppDimensions.padding * 2, 19 | ), 20 | child: Text( 21 | this.label, 22 | style: TextStyles.body17.copyWith( 23 | color: AppTheme.primary, 24 | ), 25 | ), 26 | ); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /lib/widgets/AboutUser/AboutUserName.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import 'package:flutter_uis/configs/AppDimensions.dart'; 4 | import 'package:flutter_uis/configs/TextStyles.dart'; 5 | 6 | class AboutUserName extends StatelessWidget { 7 | AboutUserName({ 8 | required this.name, 9 | }); 10 | 11 | final String name; 12 | 13 | @override 14 | Widget build(BuildContext context) { 15 | return Container( 16 | margin: EdgeInsets.symmetric( 17 | horizontal: AppDimensions.padding * 2, 18 | ), 19 | child: Text( 20 | this.name, 21 | style: TextStyles.heading16, 22 | ), 23 | ); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /lib/widgets/AboutUser/messages/keys.dart: -------------------------------------------------------------------------------- 1 | // This is an auto generated file. Do not make any change on this. 2 | 3 | const scope = 'AboutUserWidget'; 4 | 5 | abstract class AboutUserWidgetMessages { 6 | static const skillSet = '$scope/skillSet'; 7 | static const contacts = '$scope/contacts'; 8 | static const followMe = '$scope/followMe'; 9 | static const likeProject = '$scope/likeProject'; 10 | static const moreProjects = '$scope/moreProjects'; 11 | static const contactsDesc = '$scope/contactsDesc'; 12 | static const likeProjectDesc = '$scope/likeProjectDesc'; 13 | static const share = '$scope/share'; 14 | static const copy = '$scope/copy'; 15 | static const open = '$scope/open'; 16 | static const linkCopied = '$scope/linkCopied'; 17 | static const or = '$scope/or'; 18 | static const developers = '$scope/developers'; 19 | static const profile = '$scope/profile'; 20 | } 21 | -------------------------------------------------------------------------------- /lib/widgets/AboutUser/messages/strings.dart: -------------------------------------------------------------------------------- 1 | import 'dart:isolate'; 2 | 3 | const String scope = 'AboutUserWidget'; 4 | 5 | const Map strings = { 6 | // Headings 7 | '$scope/skillSet': 'My Skill Set', 8 | '$scope/contacts': 'My Contacts', 9 | '$scope/followMe': 'Follow me', 10 | '$scope/likeProject': 'Like The Project?', 11 | '$scope/moreProjects': 'Explore More Projects', 12 | 13 | // Banners 14 | '$scope/contactsDesc': 15 | "I've shared my contacts strictly for business related queries ONLY.\nFor any Flutter related help post your query on Flutter Github, Flutter sub reddit & Flutter facebook groups", 16 | '$scope/likeProjectDesc': 17 | "Show support by performing any action listed below.", 18 | 19 | // singulars 20 | '$scope/share': 'Share', 21 | '$scope/copy': 'Copy', 22 | '$scope/open': 'Open', 23 | '$scope/linkCopied': 'link copied', 24 | '$scope/or': 'or', 25 | '$scope/developers': "developer\'s", 26 | '$scope/profile': 'profile', 27 | }; 28 | 29 | main(List args, SendPort port) { 30 | port.send({"strings": strings, "scope": scope}); 31 | } 32 | -------------------------------------------------------------------------------- /lib/widgets/BackButton4Stack/BackButton4Stack.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_uis/utils/Utils.dart'; 3 | import 'package:flutter_uis/configs/AppDimensions.dart'; 4 | 5 | class BackButton4Stack extends StatelessWidget { 6 | @override 7 | Widget build(BuildContext context) { 8 | return Positioned( 9 | top: AppDimensions.padding * 2, 10 | child: Container( 11 | margin: Utils.safePaddingUnit(context, "top").add( 12 | EdgeInsets.symmetric( 13 | horizontal: AppDimensions.padding * 2, 14 | ), 15 | ), 16 | child: BackButton(), 17 | ), 18 | ); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /lib/widgets/Banners/Alpha.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_uis/configs/AppDimensions.dart'; 3 | import 'package:flutter_uis/configs/AppTheme.dart'; 4 | import 'package:flutter_uis/configs/TextStyles.dart'; 5 | 6 | class AlphaBanner extends StatelessWidget { 7 | AlphaBanner({ 8 | required this.text, 9 | this.margin = EdgeInsets.zero, 10 | }); 11 | 12 | final String text; 13 | final EdgeInsets margin; 14 | 15 | @override 16 | Widget build(BuildContext context) { 17 | return Container( 18 | margin: this.margin, 19 | width: double.infinity, 20 | decoration: BoxDecoration( 21 | color: AppTheme.text.withOpacity(0.65), 22 | ), 23 | padding: EdgeInsets.only( 24 | left: AppDimensions.padding * 2.0, 25 | right: AppDimensions.padding * 2.0, 26 | top: AppDimensions.padding * 1.5, 27 | bottom: AppDimensions.padding * 1.5, 28 | ), 29 | child: Text( 30 | this.text, 31 | style: TextStyles.body17.copyWith( 32 | color: AppTheme.background, 33 | // color: Theme.of(context).scaffoldBackgroundColor, 34 | ), 35 | ), 36 | ); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /lib/widgets/Buttons/BackIcon.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_font_icons/flutter_font_icons.dart'; 3 | 4 | import 'package:flutter_uis/configs/App.dart'; 5 | 6 | class BackIconButton extends StatelessWidget { 7 | BackIconButton({ 8 | this.onPressed, 9 | }); 10 | 11 | final VoidCallback? onPressed; 12 | 13 | @override 14 | Widget build(BuildContext context) { 15 | return IconButton( 16 | onPressed: () => 17 | this.onPressed != null ? this.onPressed : Navigator.pop(context), 18 | icon: Icon( 19 | App.isLtr 20 | ? MaterialCommunityIcons.chevron_left 21 | : MaterialCommunityIcons.chevron_right, 22 | ), 23 | ); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /lib/widgets/Commons/OpacityWithMount.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/lib/widgets/Commons/OpacityWithMount.dart -------------------------------------------------------------------------------- /lib/widgets/Header/TestKeys.dart: -------------------------------------------------------------------------------- 1 | const String scope = "HeaderWidget"; 2 | 3 | abstract class HeaderWidgetKey { 4 | static final String backButton = "$scope/drawerButton"; 5 | } 6 | -------------------------------------------------------------------------------- /lib/widgets/Screen/Provider.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:provider/provider.dart'; 3 | 4 | class ScreenStateProvider extends ChangeNotifier { 5 | static ScreenStateProvider state(BuildContext context, [listen = false]) => 6 | Provider.of(context, listen: listen); 7 | 8 | bool _isSettingsOpen = false; 9 | bool get isSettingsOpen => this._isSettingsOpen; 10 | setSettingsOpen(bool flag) { 11 | if (flag == this._isSettingsOpen) { 12 | return; 13 | } 14 | this._isSettingsOpen = flag; 15 | notifyListeners(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /lib/widgets/Screen/TestKeys.dart: -------------------------------------------------------------------------------- 1 | const String scope = "ScreenWidget"; 2 | 3 | abstract class ScreenWidgetTestKeys { 4 | static final String close = "$scope/close"; 5 | static final String rootScroll = "$scope/rootScroll"; 6 | static final String systemTheme = "$scope/systemTheme"; 7 | static final String darkTheme = "$scope/darkTheme"; 8 | static final String lightTheme = "$scope/lightTheme"; 9 | } 10 | -------------------------------------------------------------------------------- /lib/widgets/Screen/messages/keys.dart: -------------------------------------------------------------------------------- 1 | // This is an auto generated file. Do not make any change on this. 2 | 3 | const scope = 'ScreenWidget'; 4 | 5 | abstract class ScreenWidgetMessages { 6 | static const smTitle = '$scope/smTitle'; 7 | static const smSelectLanguage = '$scope/smSelectLanguage'; 8 | static const smEnglish = '$scope/smEnglish'; 9 | static const smChinese = '$scope/smChinese'; 10 | static const smArabic = '$scope/smArabic'; 11 | static const smSystemDefault = '$scope/smSystemDefault'; 12 | static const smSelectTheme = '$scope/smSelectTheme'; 13 | static const smSytemTheme = '$scope/smSytemTheme'; 14 | static const smLightTheme = '$scope/smLightTheme'; 15 | static const smDarkTheme = '$scope/smDarkTheme'; 16 | } 17 | -------------------------------------------------------------------------------- /lib/widgets/Screen/messages/strings.dart: -------------------------------------------------------------------------------- 1 | import 'dart:isolate'; 2 | 3 | const String scope = 'ScreenWidget'; 4 | 5 | const Map strings = { 6 | '$scope/smTitle': "Settings", 7 | // 8 | '$scope/smSelectLanguage': "Select Language", 9 | '$scope/smEnglish': "english", 10 | '$scope/smChinese': "chinese", 11 | '$scope/smArabic': "arabic", 12 | '$scope/smSystemDefault': "system default", 13 | 14 | // 15 | '$scope/smSelectTheme': "Select Theme", 16 | '$scope/smSytemTheme': "Sytem Theme", 17 | '$scope/smLightTheme': "Light Theme", 18 | '$scope/smDarkTheme': "Dark Theme", 19 | }; 20 | 21 | main(List args, SendPort port) { 22 | port.send({"strings": strings, "scope": scope}); 23 | } 24 | -------------------------------------------------------------------------------- /lib/widgets/Screen/widgets/data.dart: -------------------------------------------------------------------------------- 1 | 2 | import 'package:emojis/emojis.dart'; 3 | import 'package:flutter/material.dart'; 4 | 5 | import '../messages/keys.dart'; 6 | import '../TestKeys.dart'; 7 | 8 | final Map> map = { 9 | "en": { 10 | "label": "English", 11 | "trans": ScreenWidgetMessages.smEnglish, 12 | "emoji": Emojis.flagUnitedStates, 13 | }, 14 | "zh": { 15 | "label": "中文", 16 | "trans": ScreenWidgetMessages.smChinese, 17 | "emoji": Emojis.flagChina, 18 | }, 19 | "ar": { 20 | "label": "عربى", 21 | "trans": ScreenWidgetMessages.smArabic, 22 | "emoji": Emojis.flagSaudiArabia, 23 | }, 24 | "def": { 25 | "label": "System Default", 26 | "trans": ScreenWidgetMessages.smSystemDefault, 27 | "emoji": Emojis.gear, 28 | }, 29 | }; 30 | 31 | final themeTestKeysMap = { 32 | ThemeMode.system: ScreenWidgetTestKeys.systemTheme, 33 | ThemeMode.light: ScreenWidgetTestKeys.lightTheme, 34 | ThemeMode.dark: ScreenWidgetTestKeys.darkTheme, 35 | }; 36 | 37 | final Map themeModeMap = { 38 | ThemeMode.system: ScreenWidgetMessages.smSelectTheme, 39 | ThemeMode.light: ScreenWidgetMessages.smLightTheme, 40 | ThemeMode.dark: ScreenWidgetMessages.smDarkTheme, 41 | }; 42 | -------------------------------------------------------------------------------- /lib/widgets/ScreenAnimation/Base.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_uis/Mixins/HoverWidget.dart'; 3 | import 'package:supercharged/supercharged.dart'; 4 | import 'package:provider/provider.dart'; 5 | 6 | import 'package:flutter_uis/Providers/FadeScreen.dart'; 7 | 8 | class ScreenAnimationBase 9 | extends StatelessWidget { 10 | const ScreenAnimationBase({ 11 | Key? key, 12 | this.delay, 13 | this.duration, 14 | required this.child, 15 | required this.builder, 16 | }) : super(key: key); 17 | 18 | final int? delay; 19 | final int? duration; 20 | 21 | final Widget child; 22 | final Widget Function(BuildContext, double, Widget?) builder; 23 | @override 24 | Widget build(BuildContext context) { 25 | int delay = this.delay ?? 120; 26 | int duration = this.duration ?? 300; 27 | 28 | return Selector( 29 | selector: (_, state) => state.fadeOff, 30 | builder: (context, flag, child) { 31 | return CustomAnimationBuilder( 32 | child: this.child, 33 | tween: 0.0.tweenTo(1.0), 34 | delay: delay.milliseconds, 35 | duration: duration.milliseconds, 36 | control: !flag 37 | ? Control.play : Control.playReverse, 38 | builder: this.builder, 39 | ); 40 | }, 41 | ); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /lib/widgets/ScreenReveals/AvatarWithPunchHoleClipper.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class AvatarWithPunchHoleClipper extends CustomClipper { 4 | AvatarWithPunchHoleClipper({ 5 | required this.holeRadius, 6 | required this.position, 7 | }); 8 | final double holeRadius; 9 | final String position; 10 | 11 | @override 12 | Path getClip(Size size) { 13 | final x = size.width / 2; 14 | final xRadius = holeRadius / 2; 15 | 16 | final path = Path() 17 | ..moveTo(0, 0) 18 | ..lineTo(x - xRadius, 0.0); 19 | if (position == "top") { 20 | path 21 | ..arcToPoint( 22 | Offset(x + xRadius, 0.0), 23 | clockwise: false, 24 | radius: Radius.circular(1), 25 | ); 26 | } 27 | path 28 | ..lineTo(size.width, 0.0) 29 | ..lineTo(size.width, size.height) 30 | ..lineTo(x + xRadius, size.height); 31 | if (position == "bottom") { 32 | path 33 | ..arcToPoint( 34 | Offset(x - xRadius, size.height), 35 | clockwise: false, 36 | radius: Radius.circular(1), 37 | ); 38 | } 39 | 40 | path.lineTo(0.0, size.height); 41 | 42 | path.close(); 43 | return path; 44 | } 45 | 46 | @override 47 | bool shouldReclip(AvatarWithPunchHoleClipper oldClipper) => true; 48 | } 49 | -------------------------------------------------------------------------------- /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 | #include 10 | 11 | void fl_register_plugins(FlPluginRegistry* registry) { 12 | g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar = 13 | fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin"); 14 | url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar); 15 | } 16 | -------------------------------------------------------------------------------- /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 | url_launcher_linux 7 | ) 8 | 9 | list(APPEND FLUTTER_FFI_PLUGIN_LIST 10 | ) 11 | 12 | set(PLUGIN_BUNDLED_LIBRARIES) 13 | 14 | foreach(plugin ${FLUTTER_PLUGIN_LIST}) 15 | add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) 16 | target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) 17 | list(APPEND PLUGIN_BUNDLED_LIBRARIES $) 18 | list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) 19 | endforeach(plugin) 20 | 21 | foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) 22 | add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) 23 | list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) 24 | endforeach(ffi_plugin) 25 | -------------------------------------------------------------------------------- /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 | 9 | build 10 | GoogleService-Info.plist -------------------------------------------------------------------------------- /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 firebase_analytics 9 | import firebase_core 10 | import firebase_crashlytics 11 | import firebase_messaging 12 | import flutter_local_notifications 13 | import package_info_plus 14 | import path_provider_foundation 15 | import share_plus 16 | import url_launcher_macos 17 | 18 | func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { 19 | FLTFirebaseAnalyticsPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseAnalyticsPlugin")) 20 | FLTFirebaseCorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseCorePlugin")) 21 | FLTFirebaseCrashlyticsPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseCrashlyticsPlugin")) 22 | FLTFirebaseMessagingPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseMessagingPlugin")) 23 | FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin")) 24 | FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin")) 25 | PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) 26 | SharePlusMacosPlugin.register(with: registry.registrar(forPlugin: "SharePlusMacosPlugin")) 27 | UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) 28 | } 29 | -------------------------------------------------------------------------------- /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 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /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 | @main 5 | class AppDelegate: FlutterAppDelegate { 6 | override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { 7 | return true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png -------------------------------------------------------------------------------- /macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png -------------------------------------------------------------------------------- /macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png -------------------------------------------------------------------------------- /macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png -------------------------------------------------------------------------------- /macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png -------------------------------------------------------------------------------- /macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png -------------------------------------------------------------------------------- /macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/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_uis 9 | 10 | // The application's bundle identifier 11 | PRODUCT_BUNDLE_IDENTIFIER = com.onemdev.flutterUis 12 | 13 | // The copyright displayed in application information 14 | PRODUCT_COPYRIGHT = Copyright © 2022 com.onemdev. 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 | -------------------------------------------------------------------------------- /macos/RunnerTests/RunnerTests.swift: -------------------------------------------------------------------------------- 1 | import FlutterMacOS 2 | import Cocoa 3 | import XCTest 4 | 5 | class RunnerTests: XCTestCase { 6 | 7 | func testExample() { 8 | // If you add code to the Runner application, consider adding tests here. 9 | // See https://developer.apple.com/documentation/xctest for more information about using XCTest. 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /macos/firebase_app_id_file.json: -------------------------------------------------------------------------------- 1 | { 2 | "file_generated_by": "FlutterFire CLI", 3 | "purpose": "FirebaseAppID & ProjectID for this Firebase app in this directory", 4 | "GOOGLE_APP_ID": "1:322047224635:ios:99d72077bc2e6c0bd2e51e", 5 | "FIREBASE_PROJECT_ID": "flutter-ui-challenges-hgl", 6 | "GCM_SENDER_ID": "322047224635" 7 | } -------------------------------------------------------------------------------- /runner.scripts: -------------------------------------------------------------------------------- 1 | # Flutter drivers 2 | flutter drive -t test_driver/app.dart -d windows 3 | flutter drive -t test_driver/app.dart -d windows --dart-define="PLATFORM=windows" 4 | flutter drive -t test_driver/app.dart -d linux --dart-define="PLATFORM=linux" 5 | flutter drive -t test_driver/app.dart -d emulator-5554 --dart-define="PLATFORM=android" 6 | flutter drive -t test_driver/app.dart -d ZY224BJD43 --dart-define="PLATFORM=android" 7 | flutter drive -t test_driver/app.dart -d ZY224BJD43 --dart-define="PLATFORM=android" --dart-define="DEVICE=mobile" 8 | flutter drive -t test_driver/app.dart -d CB5A27Y1RN --dart-define="PLATFORM=android" 9 | 10 | flutter run -t .\lib\main.dart -d windows --device-vmservice-port 8999 --host-vmservice-port 8998 11 | 12 | # Windows Native Libraries 13 | .\test_driver\libs\cmdow.exe flutter_uis /MAX 14 | .\test_driver\libs\cmdow.exe 0x02608B4 /MAX 15 | .\test_driver\libs\cmdow.exe | findstr flutter 16 | 17 | call .\test_driver\libs\windowMode.bat -pid 7548 -mode maximized [CMD] 18 | cmd.exe /c "call .\test_driver\libs\windowMode.bat -pid 7548 -mode maximized" [PS] 19 | 20 | 21 | 22 | flutter drive -t test_driver/app.dart \ 23 | -d DFEAD234-4BB0-447E-97D2-622C577EA024 \ 24 | --dart-define="PLATFORM=ios" --dart-define="DEVICE=mobile" -------------------------------------------------------------------------------- /scripts/autoTest.dart: -------------------------------------------------------------------------------- 1 | import 'dart:io'; 2 | 3 | import 'utils.dart' as utils; 4 | 5 | const desktopFlags = ["windows", "macos", "linux"]; 6 | const mobileFlags = ["ios", "android"]; 7 | 8 | final deviceMap = { 9 | "windows": "windows", 10 | "linux": "linux", 11 | "mac": "mac", 12 | }; 13 | 14 | // NOT IN USE 15 | // FAILED HORRIBLY WATSED GOOD AMOUNT OF TIME 16 | 17 | main(List args) async { 18 | final String platform = args[0]; 19 | const int observatoryPort = 8888; 20 | String targetFile = utils.normalize("./lib/main.mobile.dart"); 21 | final tmpEnvFile = File("env.tmp"); 22 | 23 | tmpEnvFile.writeAsStringSync(platform); 24 | 25 | if (desktopFlags.contains(platform)) { 26 | targetFile = utils.normalize("./lib/main.dart"); 27 | } 28 | 29 | final flutter = await Process.start( 30 | "flutter", 31 | [ 32 | "run", 33 | "--observatory-port", 34 | observatoryPort.toString(), 35 | "-t", 36 | targetFile, 37 | "-d", 38 | deviceMap[platform]!, 39 | ], 40 | runInShell: Platform.isWindows, 41 | ); 42 | 43 | print("FLUTTER OUT"); 44 | print(flutter.stdout); 45 | print("FLUTTER error"); 46 | print(flutter.stderr); 47 | 48 | flutter.stdout.listen((event) { 49 | print(event.toString()); 50 | }); 51 | 52 | utils.setEnv("VM_SERVICE_URL", "http://127.0.0.1:$observatoryPort/"); 53 | } 54 | -------------------------------------------------------------------------------- /scripts/mac.pub.dart: -------------------------------------------------------------------------------- 1 | import 'dart:io'; 2 | 3 | void main(List args) { 4 | final file = File("pubspec.yaml"); 5 | if (args.isNotEmpty && args[0] == 'restore') { 6 | final tmp = File("pubspec.tmp"); 7 | tmp.copySync("pubspec.yaml"); 8 | return; 9 | } 10 | file.copySync("pubspec.tmp"); 11 | final fileData = file.readAsStringSync().split("\n").toList(); 12 | final List newDataList = 13 | fileData.where((element) => !element.contains("firebase")).toList(); 14 | final newData = newDataList.join("\n"); 15 | 16 | final newFile = File("pubspec.yaml"); 17 | newFile.writeAsString(newData); 18 | } 19 | -------------------------------------------------------------------------------- /scripts/post-web.dart: -------------------------------------------------------------------------------- 1 | import 'dart:io'; 2 | 3 | void main(List args) { 4 | final source = File('privacy-policy/index.html'); 5 | final targetPath = 'build/web/privacy-policy.html'; 6 | // copy the source to target 7 | source.copySync(targetPath); 8 | print('Copied $source to $targetPath'); 9 | } 10 | -------------------------------------------------------------------------------- /scripts/test.dart: -------------------------------------------------------------------------------- 1 | import 'dart:io'; 2 | 3 | main(List args) { 4 | final lib = "./test_driver/libs/androidsc.sh"; 5 | final List arguments = []; 6 | 7 | Process.runSync( 8 | lib, 9 | arguments, 10 | runInShell: Platform.isWindows, 11 | ); 12 | 13 | // run(lib, arguments, verbose: true); 14 | } 15 | 16 | // main(List args) async { 17 | // final filePath = "abs.png"; 18 | // final arguments = [ 19 | // "exec-out", 20 | // "screencap", 21 | // ]; 22 | // if (!Platform.isLinux) { 23 | // arguments.addAll( 24 | // ["-p", ">", filePath], 25 | // ); 26 | // } 27 | // final out = Process.runSync( 28 | // "adb", 29 | // arguments, 30 | // runInShell: !Platform.isWindows, 31 | // // stdoutEncoding: Encoding.getByName("utf8"), 32 | // ); 33 | 34 | // if (Platform.isLinux) { 35 | // final parse = jsonDecode(out.stdout.toString().replaceAll("\n", "").trim()); 36 | // // final List xl = parse.map((s) => s as int).toList(); 37 | // final xl = List.from(parse); 38 | // final file = File(filePath); 39 | // file.writeAsBytesSync(xl); 40 | // } 41 | // } 42 | -------------------------------------------------------------------------------- /scripts/utils.dart: -------------------------------------------------------------------------------- 1 | import 'dart:io'; 2 | 3 | String normalize(String path) { 4 | if (Platform.isWindows) { 5 | return path.replaceAll("/", "\\"); 6 | } 7 | return path; 8 | } 9 | 10 | dynamic mkDir(String path, {bool logs = false}) { 11 | try { 12 | final file = Directory(path); 13 | final check = file.existsSync(); 14 | if (logs) { 15 | print('path: $path'); 16 | print('check: $check'); 17 | } 18 | if (!check) { 19 | return file.createSync(); 20 | } 21 | return check; 22 | } catch (e) { 23 | throw e; 24 | } 25 | } 26 | 27 | // Doesn't work wasted loads of time 28 | void setEnv(String key, String value) { 29 | if (Platform.isWindows) { 30 | final result = Process.runSync( 31 | "SET", 32 | [key, "=", value, "&", "echo", "%$key%"], 33 | // "\$env:$key=\"$value\"", 34 | // [";", "\$env:$key"], 35 | runInShell: true, 36 | ); 37 | final resultA = Process.runSync( 38 | "\$env:$key", 39 | [], 40 | runInShell: true, 41 | ); 42 | print(resultA.stdout); 43 | print(result.stdout); 44 | print("ERROR"); 45 | print(result.stderr); 46 | } else { 47 | Process.runSync("export", ["$key=$value"]); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /snap/gui/app_icon.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Flutter Linux App 3 | Comment=Flutter Linux launcher icon 4 | Exec=app_icon 5 | Icon=app_icon.png 6 | Terminal=false 7 | Type=Application 8 | Categories=Entertainment; 9 | -------------------------------------------------------------------------------- /snap/gui/app_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/snap/gui/app_icon.png -------------------------------------------------------------------------------- /test-legacy.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/test-legacy.zip -------------------------------------------------------------------------------- /test/widget_test.dart: -------------------------------------------------------------------------------- 1 | // This is a basic Flutter widget test. 2 | // 3 | // To perform an interaction with a widget in your test, use the WidgetTester 4 | // utility that Flutter provides. For example, you can send tap and scroll 5 | // gestures. You can also use WidgetTester to find child widgets in the widget 6 | // tree, read text, and verify that the values of widget properties are correct. 7 | 8 | import 'package:flutter/material.dart'; 9 | import 'package:flutter_test/flutter_test.dart'; 10 | 11 | import 'package:flutter_uis/Navigator.dart'; 12 | 13 | void main() { 14 | testWidgets('Counter increments smoke test', (WidgetTester tester) async { 15 | // Build our app and trigger a frame. 16 | await tester.pumpWidget(AppNavigator([])); 17 | 18 | // Verify that our counter starts at 0. 19 | expect(find.text('0'), findsOneWidget); 20 | expect(find.text('1'), findsNothing); 21 | 22 | // Tap the '+' icon and trigger a frame. 23 | await tester.tap(find.byIcon(Icons.add)); 24 | await tester.pump(); 25 | 26 | // Verify that our counter has incremented. 27 | expect(find.text('0'), findsNothing); 28 | expect(find.text('1'), findsOneWidget); 29 | }); 30 | } 31 | -------------------------------------------------------------------------------- /test_driver/chunks/ASC.dart: -------------------------------------------------------------------------------- 1 | // await TestActions.tap(ASCHomeScreenTestKeys.getColor(0, 3)); 2 | // await Screenshot.screenshot("ASC-Home-Screen-1"); 3 | // await TestActions.scroll( 4 | // scroller: ASCHomeScreenTestKeys.rootScroll, 5 | // x: -width, 6 | // ); 7 | // await TestActions.delay(8000); 8 | // await TestActions.tap(ASCHomeScreenTestKeys.getColor(1, 1)); 9 | // await TestActions.tap(ASCHomeScreenTestKeys.getSize(1, 2)); 10 | // await Screenshot.screenshot("ASC-Home-Screen-2"); 11 | // await TestActions.scroll( 12 | // scroller: ASCHomeScreenTestKeys.rootScroll, 13 | // x: -width, 14 | // ); 15 | // await TestActions.tap(ASCHomeScreenTestKeys.getColor(2, 4)); 16 | // await TestActions.tap(ASCHomeScreenTestKeys.getSize(2, 2)); 17 | // await Screenshot.screenshot("ASC-Home-Screen-3"); 18 | -------------------------------------------------------------------------------- /test_driver/chunks/ETC.dart: -------------------------------------------------------------------------------- 1 | // await Screenshot.screenshot("ETC-Home-Screen-1"); 2 | // await driver.scroll( 3 | // find.byValueKey(ETCHomeScreenTestKeys.radiusBase), 4 | // -100.0, 5 | // 0.0, 6 | // Duration(milliseconds: 400), 7 | // ); 8 | // await Screenshot.screenshot("ETC-Home-Screen-2"); 9 | // await TestActions.tap(ETCHomeScreenTestKeys.playPauseBtn); 10 | // await Screenshot.screenshot("ETC-Home-Screen-3"); 11 | // await TestActions.tap(ETCHomeScreenTestKeys.resetBtn); 12 | // await Screenshot.screenshot("ETC-Home-Screen-4"); 13 | -------------------------------------------------------------------------------- /test_driver/chunks/HAB Detail.dart: -------------------------------------------------------------------------------- 1 | // test('Chunk testing', () async { 2 | // await driver.runUnsynchronized(() async { 3 | // await Screenshot.screenshot("HAB-Home-Screen"); 4 | // await TestActions.tap(HABRootTestKeys.standard); 5 | // await Screenshot.screenshot("HAB-Detail-Screen-1"); 6 | // await driver.scroll( 7 | // find.byValueKey(HABDetailScreenTestKeys.rootPageView), 8 | // -width * 0.9, 9 | // 0.0, 10 | // Duration(milliseconds: 400), 11 | // ); 12 | // await TestActions.delay(1000); 13 | // await Screenshot.screenshot("HAB-Detail-Screen-2"); 14 | // await driver.scroll( 15 | // find.byValueKey(HABDetailScreenTestKeys.rootPageView), 16 | // -width * 0.9, 17 | // 0.0, 18 | // Duration(milliseconds: 400), 19 | // ); 20 | // await TestActions.delay(1000); 21 | // TestActions.tap(HABDetailScreenTestKeys.tabPreFlightInfo); 22 | // await Screenshot.screenshot("HAB-Detail-Screen-3"); 23 | // TestActions.tap(HABDetailScreenTestKeys.tabPostFlightInfo); 24 | // await Screenshot.screenshot("HAB-Detail-Screen-4"); 25 | // TestActions.tap(HABDetailScreenTestKeys.tabInFlightInfo); 26 | // await TestActions.delay(2000); 27 | // }); 28 | // }, timeout: Timeout.none); 29 | -------------------------------------------------------------------------------- /test_driver/chunks/HAB Scroll.dart: -------------------------------------------------------------------------------- 1 | // test('Chunk testing', () async { 2 | // await driver.runUnsynchronized(() async { 3 | // await Screenshot.screenshot("HFD-Home-Screen-1"); 4 | // await driver.scrollUntilVisible( 5 | // find.byValueKey(HFDHomeScreenTestKeys.foodItemsScroll), 6 | // find.byValueKey(HFDHomeScreenTestKeys.foodItem9), 7 | // dxScroll: -140, 8 | // dyScroll: 0.0, 9 | // timeout: Duration(seconds: 20), 10 | // ); 11 | // await Screenshot.screenshot("HFD-Home-Screen-2"); 12 | // await driver.scrollUntilVisible( 13 | // find.byValueKey(HFDHomeScreenTestKeys.restaurantScroll), 14 | // find.byValueKey(HFDHomeScreenTestKeys.restaurant5), 15 | // dxScroll: -360, 16 | // dyScroll: 0.0, 17 | // timeout: Duration(seconds: 20), 18 | // ); 19 | // await TestActions.tap(HFDHomeScreenTestKeys.restaurant5); 20 | // await Screenshot.screenshot("HFD-Home-Screen-3"); 21 | // }); 22 | // }, timeout: Timeout.none); 23 | -------------------------------------------------------------------------------- /test_driver/libs/androidsc.sh: -------------------------------------------------------------------------------- 1 | if [ $# -eq 0 ] 2 | then 3 | name="screenshot.png" 4 | else 5 | name="$1" 6 | fi 7 | adb shell screencap -p > $name 8 | curr_dir=pwd 9 | echo "save to `pwd`/$name" -------------------------------------------------------------------------------- /test_driver/libs/screenshot-linux: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/test_driver/libs/screenshot-linux -------------------------------------------------------------------------------- /test_driver/libs/screenshot-windows.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/test_driver/libs/screenshot-windows.exe -------------------------------------------------------------------------------- /web/_redirects: -------------------------------------------------------------------------------- 1 | /privacy-policy.html /privacy-policy -------------------------------------------------------------------------------- /web/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/web/favicon.png -------------------------------------------------------------------------------- /web/icons/Icon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/web/icons/Icon-192.png -------------------------------------------------------------------------------- /web/icons/Icon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/web/icons/Icon-512.png -------------------------------------------------------------------------------- /web/icons/Icon-maskable-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/web/icons/Icon-maskable-192.png -------------------------------------------------------------------------------- /web/icons/Icon-maskable-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/web/icons/Icon-maskable-512.png -------------------------------------------------------------------------------- /web/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "flutter_uis", 3 | "short_name": "flutter_uis", 4 | "start_url": ".", 5 | "display": "standalone", 6 | "background_color": "#ffff", 7 | "theme_color": "#cc2f2c", 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 | } -------------------------------------------------------------------------------- /web/splash/img/dark-1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/web/splash/img/dark-1x.png -------------------------------------------------------------------------------- /web/splash/img/dark-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/web/splash/img/dark-2x.png -------------------------------------------------------------------------------- /web/splash/img/dark-3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/web/splash/img/dark-3x.png -------------------------------------------------------------------------------- /web/splash/img/dark-4x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/web/splash/img/dark-4x.png -------------------------------------------------------------------------------- /web/splash/img/light-1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/web/splash/img/light-1x.png -------------------------------------------------------------------------------- /web/splash/img/light-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/web/splash/img/light-2x.png -------------------------------------------------------------------------------- /web/splash/img/light-3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/web/splash/img/light-3x.png -------------------------------------------------------------------------------- /web/splash/img/light-4x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/web/splash/img/light-4x.png -------------------------------------------------------------------------------- /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 | #include 10 | #include 11 | #include 12 | 13 | void RegisterPlugins(flutter::PluginRegistry* registry) { 14 | FirebaseCorePluginCApiRegisterWithRegistrar( 15 | registry->GetRegistrarForPlugin("FirebaseCorePluginCApi")); 16 | SharePlusWindowsPluginCApiRegisterWithRegistrar( 17 | registry->GetRegistrarForPlugin("SharePlusWindowsPluginCApi")); 18 | UrlLauncherWindowsRegisterWithRegistrar( 19 | registry->GetRegistrarForPlugin("UrlLauncherWindows")); 20 | } 21 | -------------------------------------------------------------------------------- /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 | firebase_core 7 | share_plus 8 | url_launcher_windows 9 | ) 10 | 11 | list(APPEND FLUTTER_FFI_PLUGIN_LIST 12 | flutter_local_notifications_windows 13 | ) 14 | 15 | set(PLUGIN_BUNDLED_LIBRARIES) 16 | 17 | foreach(plugin ${FLUTTER_PLUGIN_LIST}) 18 | add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) 19 | target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) 20 | list(APPEND PLUGIN_BUNDLED_LIBRARIES $) 21 | list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) 22 | endforeach(plugin) 23 | 24 | foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) 25 | add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) 26 | list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) 27 | endforeach(ffi_plugin) 28 | -------------------------------------------------------------------------------- /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/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/hmziqrs/flutter-ui-designs/91d1af7fb70bec2c3646f9590fdfde197efcbeb2/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 | -------------------------------------------------------------------------------- /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 | --------------------------------------------------------------------------------