├── .fvm └── fvm_config.json ├── .gitignore ├── .metadata ├── CONTRIBUTING.md ├── Makefile ├── README.md ├── android ├── .gitignore ├── app │ ├── build.gradle │ └── src │ │ ├── debug │ │ └── AndroidManifest.xml │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── kotlin │ │ │ └── dev │ │ │ │ └── getflutter │ │ │ │ └── appkit │ │ │ │ └── MainActivity.kt │ │ └── res │ │ │ ├── drawable │ │ │ ├── launch_background.xml │ │ │ └── splashscreen.png │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── launch_image.png │ │ │ ├── mipmap-ldpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── playstore-icon.png │ │ │ └── values │ │ │ └── styles.xml │ │ └── profile │ │ └── AndroidManifest.xml ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ └── gradle-wrapper.properties └── settings.gradle ├── ios ├── .gitignore ├── Flutter │ ├── .last_build_id │ ├── AppFrameworkInfo.plist │ ├── Debug.xcconfig │ └── Release.xcconfig ├── Podfile ├── Podfile.lock ├── Runner.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── WorkspaceSettings.xcsettings │ └── xcshareddata │ │ └── xcschemes │ │ └── Runner.xcscheme ├── Runner.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ ├── IDEWorkspaceChecks.plist │ │ └── WorkspaceSettings.xcsettings └── Runner │ ├── AppDelegate.swift │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── Icon-App-1024x1024@1x.png │ │ ├── Icon-App-20x20@1x.png │ │ ├── Icon-App-20x20@2x.png │ │ ├── Icon-App-20x20@3x.png │ │ ├── Icon-App-29x29@1x.png │ │ ├── Icon-App-29x29@2x.png │ │ ├── Icon-App-29x29@3x.png │ │ ├── Icon-App-40x40@1x.png │ │ ├── Icon-App-40x40@2x.png │ │ ├── Icon-App-40x40@3x.png │ │ ├── Icon-App-60x60@2x.png │ │ ├── Icon-App-60x60@3x.png │ │ ├── Icon-App-76x76@1x.png │ │ ├── Icon-App-76x76@2x.png │ │ └── Icon-App-83.5x83.5@2x.png │ └── LaunchImage.imageset │ │ ├── Contents.json │ │ ├── LaunchImage.png │ │ ├── LaunchImage@2x.png │ │ ├── LaunchImage@3x.png │ │ └── README.md │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ └── Runner-Bridging-Header.h ├── lib ├── assets │ ├── fonts │ │ ├── gfFontIcon.ttf │ │ ├── gfFontIcons2.ttf │ │ ├── gfIconFonts.ttf │ │ ├── gfSocialFonts.ttf │ │ ├── loader.ttf │ │ ├── new.ttf │ │ └── newcomp.ttf │ ├── gif │ │ ├── loader.gif │ │ ├── loader1.gif │ │ └── success1.gif │ ├── icons │ │ ├── Rotation.png │ │ ├── allign.png │ │ ├── gflogo.png │ │ ├── scaling.png │ │ ├── size.png │ │ └── slide.png │ └── images │ │ ├── avatar.png │ │ ├── avatar1.png │ │ ├── avatar10.png │ │ ├── avatar11.png │ │ ├── avatar12.png │ │ ├── avatar2.png │ │ ├── avatar3.png │ │ ├── avatar4.png │ │ ├── avatar5.png │ │ ├── avatar6.png │ │ ├── avatar7.png │ │ ├── avatar8.png │ │ ├── avatar9.png │ │ ├── card.png │ │ ├── card1.png │ │ ├── card2.png │ │ ├── card3.png │ │ ├── card4.png │ │ ├── card5.png │ │ ├── e1.png │ │ ├── e2.png │ │ ├── e3.png │ │ ├── e4.png │ │ ├── e5.png │ │ ├── gflogo.png │ │ ├── i1.png │ │ ├── i2.png │ │ ├── i3.png │ │ ├── i4.png │ │ ├── image.png │ │ ├── image1.png │ │ ├── image2.png │ │ ├── img.png │ │ ├── img1.png │ │ ├── img2.png │ │ ├── orange.png │ │ ├── pink.png │ │ ├── purple.png │ │ ├── red.png │ │ ├── s1.png │ │ ├── s2.png │ │ ├── s3.png │ │ ├── s4.png │ │ ├── s5.png │ │ └── story.jpg ├── main.dart └── screens │ ├── accordian │ └── accordian.dart │ ├── alert │ └── alert.dart │ ├── animations │ └── animation.dart │ ├── appbar │ ├── app_home.dart │ ├── appbar.dart │ ├── searchbar.dart │ └── segmented_appbar.dart │ ├── avatar │ └── avatars.dart │ ├── badges │ └── badges.dart │ ├── border │ └── border.dart │ ├── bottomsheet │ └── bottomsheet.dart │ ├── button │ ├── button_types.dart │ ├── icon_buttons.dart │ ├── pill_buttons.dart │ ├── shadow_buttons.dart │ ├── social_buttons.dart │ ├── square_buttons.dart │ └── standard_buttons.dart │ ├── cards │ └── cards.dart │ ├── carousel │ └── carousel.dart │ ├── checkbox │ └── checkboxs.dart │ ├── checkboxlisttile │ └── checkbox_list_tile_page.dart │ ├── drawer │ ├── drawer.dart │ └── webview.dart │ ├── dropdowns │ ├── dropdown-types.dart │ ├── dropdown │ │ └── types.dart │ └── multiselect │ │ └── types.dart │ ├── floating_widget │ ├── fab_floating.dart │ ├── floating_widget.dart │ └── messenger_floating.dart │ ├── home.dart │ ├── images │ └── images.dart │ ├── intro-screen │ ├── fullwidth.dart │ ├── halfwidth.dart │ └── introscreen.dart │ ├── loader │ └── loaders.dart │ ├── progress_bar │ └── progress_bar.dart │ ├── radiobutton │ └── radio_buttons.dart │ ├── radiolisttile │ └── radiolisttile.dart │ ├── rating │ └── rating.dart │ ├── searchbar │ └── seachbar.dart │ ├── shimmer │ └── shimmer.dart │ ├── sticky_header │ ├── customstickyheader.dart │ ├── sticky_types.dart │ └── stickyheader.dart │ ├── tabs │ ├── bottom_label_tab.dart │ ├── botton_icon_tab.dart │ ├── icon_tabs.dart │ ├── labeled_tabs.dart │ ├── segment_tabs.dart │ └── tab_types.dart │ ├── tiles │ └── tiles_page.dart │ ├── toast │ └── toasts.dart │ ├── toggle │ └── toggles.dart │ └── typography │ └── typography.dart ├── pubspec.lock ├── pubspec.yaml ├── test └── widget_test.dart └── web ├── icons ├── Icon-192.png └── Icon-512.png ├── index.html └── manifest.json /.fvm/fvm_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "flutterSdkVersion": "1.22.2" 3 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Miscellaneous 2 | *.class 3 | *.log 4 | *.pyc 5 | *.swp 6 | .DS_Store 7 | .atom/ 8 | .buildlog/ 9 | .history 10 | .svn/ 11 | android/key.properties 12 | android/key.jks 13 | 14 | # IntelliJ related 15 | *.iml 16 | *.ipr 17 | *.iws 18 | .idea/ 19 | 20 | # The .vscode folder contains launch configuration and tasks you configure in 21 | # VS Code which you may wish to be included in version control, so this line 22 | # is commented out by default. 23 | #.vscode/ 24 | 25 | # Flutter/Dart/Pub related 26 | **/doc/api/ 27 | .dart_tool/ 28 | .flutter-plugins 29 | .flutter-plugins-dependencies 30 | .packages 31 | .pub-cache/ 32 | .pub/ 33 | /build/ 34 | 35 | # Web related 36 | lib/generated_plugin_registrant.dart 37 | 38 | # Exceptions to above rules. 39 | !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages 40 | 41 | 42 | ####################################### 43 | 44 | # add 2020-10-30: 45 | 46 | .fvm/flutter_sdk 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /.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: 27321ebbad34b0a3fafe99fac037102196d655ff 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | Contributing 2 | When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change. 3 | 4 | Please note we have a code of conduct, please follow it in all your interactions with the project. 5 | 6 | Pull Request Process 7 | Ensure any install or build dependencies are removed before the end of the layer when doing a build. 8 | Update the README.md with details of changes to the interface, this includes new environment variables, exposed ports, useful file locations and container parameters. 9 | Increase the version numbers in any examples files and the README.md to the new version that this Pull Request would represent. 10 | You may merge the Pull Request in once you have the sign-off of two other developers, or if you do not have permission to do that, you may request the second reviewer to merge it for you. 11 | Code of Conduct 12 | Our Pledge 13 | In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. 14 | 15 | Our Standards 16 | Examples of behavior that contributes to creating a positive environment include: 17 | 18 | Using welcoming and inclusive language 19 | Being respectful of differing viewpoints and experiences 20 | Gracefully accepting constructive criticism 21 | Focusing on what is best for the community 22 | Showing empathy towards other community members 23 | Examples of unacceptable behavior by participants include: 24 | 25 | The use of sexualized language or imagery and unwelcome sexual attention or advances 26 | Trolling, insulting/derogatory comments, and personal or political attacks 27 | Public or private harassment 28 | Publishing others' private information, such as a physical or electronic address, without explicit permission 29 | Other conduct which could reasonably be considered inappropriate in a professional setting 30 | Our Responsibilities 31 | Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. 32 | 33 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. 34 | 35 | Scope 36 | This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. 37 | 38 | Enforcement 39 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [INSERT EMAIL ADDRESS]. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. 40 | 41 | Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. 42 | 43 | Attribution 44 | This Code of Conduct is adapted from the Contributor Covenant, version 1.4, available at http://contributor-covenant.org/version/1/4 -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | 2 | # 3 | env: 4 | # fvm has bugs, please always use `--global` args. 5 | fvm use 1.22.2 --global 6 | 7 | setup: 8 | flutter pub get 9 | 10 | run: 11 | flutter run 12 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![pub package](https://img.shields.io/pub/v/getwidget.svg)](https://pub.dartlang.org/packages/getwidget) [![Build Status](https://travis-ci.org/ionicfirebaseapp/getwidget.svg?branch=master)](https://travis-ci.com/ionicfirebaseapp/getwidget) [![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=102)](https://opensource.org/licenses/MIT) [![License](https://img.shields.io/badge/license-MIT-orange.svg)](https://github.com/ionicfirebaseapp/getwidget/blob/master/LICENSE) [![Twitter Follow](https://img.shields.io/twitter/follow/getwidgetdev.svg?style=social)](https://twitter.com/getwidgetdev) 2 | 3 | 4 |

5 | 6 | Get Widget 7 | 8 |

9 | 10 | [**GetWidget**](https://www.getwidget.dev) is a 100% free Flutter open-source UI library built with Flutter SDK to make Flutter development easier and more joyful than ever. GetWidget has 1000+ pre-build widgets that you can reuse to develop both Flutter mobile app and web app. Our motto is to provide the best Flutter UI library to the Flutter community to speed up their development process and build awesome apps with pre-build Flutter Library Components. 11 | 12 | ## Table of contents 13 | 14 | - [Screenshot](#screenshot) 15 | - [Quick start](#quick-start) 16 | - [Features](#features) 17 | - [Demo](#demo) 18 | - [Contributing](#contributing) 19 | - [Documentation](#documentation) 20 | - [Copyright and license](#copyright-and-license) 21 | 22 | 23 | ## Screenshot 24 |

25 | 26 | Get Flutter Screens 27 | 28 |

29 | 30 | 31 | ## Quick start 32 | 33 | Read the [Getting started page](https://docs.getwidget.dev) 34 | Forum [Support and discussion ](https://forum.getwidget.dev) 35 | 36 | ## Features 37 | we have launched the library with the following components : 38 | 39 | #### [Button](https://docs.getwidget.dev/gf-button) | [Badge](https://docs.getwidget.dev/gf-badge) | [Avatar](https://docs.getwidget.dev/gf-avatar) | [Image](https://docs.getwidget.dev/gf-image) | [Card](https://docs.getwidget.dev/gf-card) | [Carousel](https://docs.getwidget.dev/gf-carousel) | [Tile](https://docs.getwidget.dev/gf-tile) | [Tab](https://docs.getwidget.dev/gf-tab) | [Typography](https://docs.getwidget.dev/gf-typography) | [Toast](https://docs.getwidget.dev/gf-toast) | [Toggle](https://docs.getwidget.dev/gf-toggle) | [Drawer](https://docs.getwidget.dev/gf-drawer) | [Accordian](https://docs.getwidget.dev/gf-accordion) | [Alert](https://docs.getwidget.dev/gf-alert) | [Appbar](https://docs.getwidget.dev/gf-appbar) | [Searchbar](https://docs.getwidget.dev/gf-searchbar) 40 | 41 | 42 | ## Demo 43 | 44 | ### Play Store 45 |

46 | 47 | Get Flutter playstore Demo 48 | 49 |

50 | 51 | ### IOS Store and Web Demo 52 | Coming Soon 53 | 54 | ### An Open-Source News App Built With GetWidget & Flutter 55 | Ionicfirebaseapp.com has been developed an open-source News Mobile App with GetWidget, So can start building app faster to get an overview and do customization. You can Download News App Souce Code here: https://www.ionicfirebaseapp.com/products/flutter-news-app 56 | ## Contributing 57 | 58 | GetWidget is **100% free** and **open source**. We encourage and support an active, healthy community that accepts contributions from the public – including you. There are a couple of ways in which you can contribute to the growing community of `getwidget`. 59 | 60 | * Pick up any issue marked with ["good first issue"](https://github.com/ionicfirebaseapp/getwidget/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22) 61 | * Fix a bug 62 | * Write and improve some **documentation**. Documentation is very critical to us. We would appreciate help in adding multiple languages to our docs. 63 | * If you are a developer, feel free to check out the source and submit pull requests. 64 | * Dig into [**CONTRIBUTING.MD**](CONTRIBUTING.md), which covers submitting bugs, requesting new features, preparing your code for a pull request, etc. 65 | * Please don't forget to **like**, **follow**, and **star our repo**! Join our growing [community](http://forum.getflutter.dev) to keep up to date with the latest GetWidget development. 66 | 67 | 68 | 69 | ## Documentation 70 | 71 | [**Installation Guide**](https://docs.getwidget.dev) 72 | 73 | 74 | ### Social Media 75 | 76 | Twitter: 77 | 78 | Facebook: 79 | 80 | Linkedin: 81 | 82 | Instagram: 83 | 84 | 85 | ## Copyright-and-license 86 | Code and documentation Copyright 2017-2020 the [GETWIDGET Authors](https://www.getwidget.dev) and [IONICFIREBASEAPP](https://ionicfirebaseapp.com) Code released under the [MIT License]. Docs released under [Creative Commons](https://creativecommons.org/licenses/by/3.0/). 87 | 88 | ## Contributors 89 | 90 | ### Code Contributors 91 | 92 | This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)]. 93 | 94 | 95 | ### Financial Contributors 96 | 97 | Become a financial contributor and help us sustain our community. [[Contribute](https://opencollective.com/getwidget/contribute)] 98 | 99 | #### Individuals 100 | 101 | 102 | 103 | #### Organizations 104 | 105 | Support this project with your organization. Your logo will show up here with a link to your website. [[Contribute](https://opencollective.com/getwidget/contribute)] 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | -------------------------------------------------------------------------------- /android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | -------------------------------------------------------------------------------- /android/app/build.gradle: -------------------------------------------------------------------------------- 1 | def localProperties = new Properties() 2 | def localPropertiesFile = rootProject.file('local.properties') 3 | if (localPropertiesFile.exists()) { 4 | localPropertiesFile.withReader('UTF-8') { reader -> 5 | localProperties.load(reader) 6 | } 7 | } 8 | 9 | def flutterRoot = localProperties.getProperty('flutter.sdk') 10 | if (flutterRoot == null) { 11 | throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") 12 | } 13 | 14 | def flutterVersionCode = localProperties.getProperty('flutter.versionCode') 15 | if (flutterVersionCode == null) { 16 | flutterVersionCode = '1' 17 | } 18 | 19 | def flutterVersionName = localProperties.getProperty('flutter.versionName') 20 | if (flutterVersionName == null) { 21 | flutterVersionName = '1.0' 22 | } 23 | 24 | 25 | def keystoreProperties = new Properties() 26 | def keystorePropertiesFile = rootProject.file('key.properties') 27 | if (keystorePropertiesFile.exists()) { 28 | keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) 29 | } 30 | 31 | apply plugin: 'com.android.application' 32 | apply plugin: 'kotlin-android' 33 | apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" 34 | 35 | android { 36 | compileSdkVersion flutter.compileSdkVersion 37 | ndkVersion flutter.ndkVersion 38 | 39 | compileOptions { 40 | sourceCompatibility JavaVersion.VERSION_1_8 41 | targetCompatibility JavaVersion.VERSION_1_8 42 | } 43 | 44 | kotlinOptions { 45 | jvmTarget = '1.8' 46 | } 47 | 48 | sourceSets { 49 | main.java.srcDirs += 'src/main/kotlin' 50 | } 51 | 52 | defaultConfig { 53 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). 54 | applicationId "dev.getflutter.appkit" 55 | // You can update the following values to match your application needs. 56 | // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. 57 | minSdkVersion 19 58 | targetSdkVersion flutter.targetSdkVersion 59 | versionCode flutterVersionCode.toInteger() 60 | versionName flutterVersionName 61 | } 62 | 63 | signingConfigs { 64 | release { 65 | keyAlias keystoreProperties['keyAlias'] 66 | keyPassword keystoreProperties['keyPassword'] 67 | storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null 68 | storePassword keystoreProperties['storePassword'] 69 | } 70 | } 71 | 72 | buildTypes { 73 | release { 74 | if (keystorePropertiesFile.exists()) { 75 | signingConfig signingConfigs.release 76 | } else { 77 | signingConfig signingConfigs.debug 78 | } 79 | } 80 | } 81 | } 82 | 83 | flutter { 84 | source '../..' 85 | } 86 | 87 | dependencies { 88 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" 89 | } 90 | -------------------------------------------------------------------------------- /android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 7 | 8 | -------------------------------------------------------------------------------- /android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 7 | 15 | 19 | 23 | 24 | 25 | 26 | 27 | 28 | 30 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /android/app/src/main/kotlin/dev/getflutter/appkit/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package dev.getflutter.appkit 2 | 3 | import io.flutter.embedding.android.FlutterActivity 4 | 5 | class MainActivity: FlutterActivity() { 6 | } 7 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/splashscreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/android/app/src/main/res/drawable/splashscreen.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/launch_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/android/app/src/main/res/mipmap-hdpi/launch_image.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-ldpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/android/app/src/main/res/mipmap-ldpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/playstore-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/android/app/src/main/res/playstore-icon.png -------------------------------------------------------------------------------- /android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 15 | 18 | 19 | -------------------------------------------------------------------------------- /android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /android/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | ext.kotlin_version = '1.7.10' 3 | repositories { 4 | google() 5 | mavenCentral() 6 | } 7 | 8 | dependencies { 9 | classpath 'com.android.tools.build:gradle:7.2.0' 10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 11 | } 12 | } 13 | 14 | allprojects { 15 | repositories { 16 | google() 17 | mavenCentral() 18 | } 19 | } 20 | 21 | rootProject.buildDir = '../build' 22 | subprojects { 23 | project.buildDir = "${rootProject.buildDir}/${project.name}" 24 | } 25 | subprojects { 26 | project.evaluationDependsOn(':app') 27 | } 28 | 29 | task clean(type: Delete) { 30 | delete rootProject.buildDir 31 | } 32 | -------------------------------------------------------------------------------- /android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | android.enableR8=true 3 | android.useAndroidX=true 4 | android.enableJetifier=true 5 | -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip 6 | -------------------------------------------------------------------------------- /android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | 3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties") 4 | def properties = new Properties() 5 | 6 | assert localPropertiesFile.exists() 7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } 8 | 9 | def flutterSdkPath = properties.getProperty("flutter.sdk") 10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties" 11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" -------------------------------------------------------------------------------- /ios/.gitignore: -------------------------------------------------------------------------------- 1 | *.mode1v3 2 | *.mode2v3 3 | *.moved-aside 4 | *.pbxuser 5 | *.perspectivev3 6 | **/*sync/ 7 | .sconsign.dblite 8 | .tags* 9 | **/.vagrant/ 10 | **/DerivedData/ 11 | Icon? 12 | **/Pods/ 13 | **/.symlinks/ 14 | profile 15 | xcuserdata 16 | **/.generated/ 17 | Flutter/App.framework 18 | Flutter/Flutter.framework 19 | Flutter/Flutter.podspec 20 | Flutter/Generated.xcconfig 21 | Flutter/app.flx 22 | Flutter/app.zip 23 | Flutter/flutter_assets/ 24 | Flutter/flutter_export_environment.sh 25 | ServiceDefinitions.json 26 | Runner/GeneratedPluginRegistrant.* 27 | 28 | # Exceptions to above rules. 29 | !default.mode1v3 30 | !default.mode2v3 31 | !default.pbxuser 32 | !default.perspectivev3 33 | -------------------------------------------------------------------------------- /ios/Flutter/.last_build_id: -------------------------------------------------------------------------------- 1 | 2703d2e4353364d371b1beda0174a54e -------------------------------------------------------------------------------- /ios/Flutter/AppFrameworkInfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | App 9 | CFBundleIdentifier 10 | io.flutter.flutter.app 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | App 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | MinimumOSVersion 24 | 9.0 25 | 26 | 27 | -------------------------------------------------------------------------------- /ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" 2 | #include "Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" 2 | #include "Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /ios/Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment this line to define a global platform for your project 2 | # platform :ios, '9.0' 3 | 4 | # CocoaPods analytics sends network stats synchronously affecting flutter build latency. 5 | ENV['COCOAPODS_DISABLE_STATS'] = 'true' 6 | 7 | project 'Runner', { 8 | 'Debug' => :debug, 9 | 'Profile' => :release, 10 | 'Release' => :release, 11 | } 12 | 13 | def flutter_root 14 | generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) 15 | unless File.exist?(generated_xcode_build_settings_path) 16 | raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" 17 | end 18 | 19 | File.foreach(generated_xcode_build_settings_path) do |line| 20 | matches = line.match(/FLUTTER_ROOT\=(.*)/) 21 | return matches[1].strip if matches 22 | end 23 | raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" 24 | end 25 | 26 | require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) 27 | 28 | flutter_ios_podfile_setup 29 | 30 | target 'Runner' do 31 | use_frameworks! 32 | use_modular_headers! 33 | 34 | flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) 35 | end 36 | 37 | post_install do |installer| 38 | installer.pods_project.targets.each do |target| 39 | flutter_additional_ios_build_settings(target) 40 | end 41 | end 42 | -------------------------------------------------------------------------------- /ios/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Flutter (1.0.0) 3 | - flutter_webview_plugin (0.0.1): 4 | - Flutter 5 | 6 | DEPENDENCIES: 7 | - Flutter (from `Flutter`) 8 | - flutter_webview_plugin (from `.symlinks/plugins/flutter_webview_plugin/ios`) 9 | 10 | EXTERNAL SOURCES: 11 | Flutter: 12 | :path: Flutter 13 | flutter_webview_plugin: 14 | :path: ".symlinks/plugins/flutter_webview_plugin/ios" 15 | 16 | SPEC CHECKSUMS: 17 | Flutter: 434fef37c0980e73bb6479ef766c45957d4b510c 18 | flutter_webview_plugin: ed9e8a6a96baf0c867e90e1bce2673913eeac694 19 | 20 | PODFILE CHECKSUM: aafe91acc616949ddb318b77800a7f51bffa2a4c 21 | 22 | COCOAPODS: 1.10.2 23 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 43 | 44 | 54 | 56 | 62 | 63 | 64 | 65 | 66 | 67 | 73 | 75 | 81 | 82 | 83 | 84 | 86 | 87 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | 4 | @UIApplicationMain 5 | @objc class AppDelegate: FlutterAppDelegate { 6 | override func application( 7 | _ application: UIApplication, 8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 9 | ) -> Bool { 10 | GeneratedPluginRegistrant.register(with: self) 11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "size" : "20x20", 5 | "idiom" : "iphone", 6 | "filename" : "Icon-App-20x20@2x.png", 7 | "scale" : "2x" 8 | }, 9 | { 10 | "size" : "20x20", 11 | "idiom" : "iphone", 12 | "filename" : "Icon-App-20x20@3x.png", 13 | "scale" : "3x" 14 | }, 15 | { 16 | "size" : "29x29", 17 | "idiom" : "iphone", 18 | "filename" : "Icon-App-29x29@1x.png", 19 | "scale" : "1x" 20 | }, 21 | { 22 | "size" : "29x29", 23 | "idiom" : "iphone", 24 | "filename" : "Icon-App-29x29@2x.png", 25 | "scale" : "2x" 26 | }, 27 | { 28 | "size" : "29x29", 29 | "idiom" : "iphone", 30 | "filename" : "Icon-App-29x29@3x.png", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "size" : "40x40", 35 | "idiom" : "iphone", 36 | "filename" : "Icon-App-40x40@2x.png", 37 | "scale" : "2x" 38 | }, 39 | { 40 | "size" : "40x40", 41 | "idiom" : "iphone", 42 | "filename" : "Icon-App-40x40@3x.png", 43 | "scale" : "3x" 44 | }, 45 | { 46 | "size" : "60x60", 47 | "idiom" : "iphone", 48 | "filename" : "Icon-App-60x60@2x.png", 49 | "scale" : "2x" 50 | }, 51 | { 52 | "size" : "60x60", 53 | "idiom" : "iphone", 54 | "filename" : "Icon-App-60x60@3x.png", 55 | "scale" : "3x" 56 | }, 57 | { 58 | "size" : "20x20", 59 | "idiom" : "ipad", 60 | "filename" : "Icon-App-20x20@1x.png", 61 | "scale" : "1x" 62 | }, 63 | { 64 | "size" : "20x20", 65 | "idiom" : "ipad", 66 | "filename" : "Icon-App-20x20@2x.png", 67 | "scale" : "2x" 68 | }, 69 | { 70 | "size" : "29x29", 71 | "idiom" : "ipad", 72 | "filename" : "Icon-App-29x29@1x.png", 73 | "scale" : "1x" 74 | }, 75 | { 76 | "size" : "29x29", 77 | "idiom" : "ipad", 78 | "filename" : "Icon-App-29x29@2x.png", 79 | "scale" : "2x" 80 | }, 81 | { 82 | "size" : "40x40", 83 | "idiom" : "ipad", 84 | "filename" : "Icon-App-40x40@1x.png", 85 | "scale" : "1x" 86 | }, 87 | { 88 | "size" : "40x40", 89 | "idiom" : "ipad", 90 | "filename" : "Icon-App-40x40@2x.png", 91 | "scale" : "2x" 92 | }, 93 | { 94 | "size" : "76x76", 95 | "idiom" : "ipad", 96 | "filename" : "Icon-App-76x76@1x.png", 97 | "scale" : "1x" 98 | }, 99 | { 100 | "size" : "76x76", 101 | "idiom" : "ipad", 102 | "filename" : "Icon-App-76x76@2x.png", 103 | "scale" : "2x" 104 | }, 105 | { 106 | "size" : "83.5x83.5", 107 | "idiom" : "ipad", 108 | "filename" : "Icon-App-83.5x83.5@2x.png", 109 | "scale" : "2x" 110 | }, 111 | { 112 | "size" : "1024x1024", 113 | "idiom" : "ios-marketing", 114 | "filename" : "Icon-App-1024x1024@1x.png", 115 | "scale" : "1x" 116 | } 117 | ], 118 | "info" : { 119 | "version" : 1, 120 | "author" : "xcode" 121 | } 122 | } 123 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/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/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/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/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/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/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/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/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/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/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/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/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/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/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/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/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/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/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/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/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/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/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchImage.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchImage@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchImage@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. -------------------------------------------------------------------------------- /ios/Runner/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /ios/Runner/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /ios/Runner/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleDisplayName 8 | GetWidget 9 | CFBundleExecutable 10 | $(EXECUTABLE_NAME) 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | gf_app 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | $(FLUTTER_BUILD_NAME) 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | $(FLUTTER_BUILD_NUMBER) 25 | LSRequiresIPhoneOS 26 | 27 | UILaunchStoryboardName 28 | LaunchScreen 29 | UIMainStoryboardFile 30 | Main 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | UISupportedInterfaceOrientations~ipad 38 | 39 | UIInterfaceOrientationPortrait 40 | UIInterfaceOrientationPortraitUpsideDown 41 | UIInterfaceOrientationLandscapeLeft 42 | UIInterfaceOrientationLandscapeRight 43 | 44 | UIViewControllerBasedStatusBarAppearance 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /lib/assets/fonts/gfFontIcon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/fonts/gfFontIcon.ttf -------------------------------------------------------------------------------- /lib/assets/fonts/gfFontIcons2.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/fonts/gfFontIcons2.ttf -------------------------------------------------------------------------------- /lib/assets/fonts/gfIconFonts.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/fonts/gfIconFonts.ttf -------------------------------------------------------------------------------- /lib/assets/fonts/gfSocialFonts.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/fonts/gfSocialFonts.ttf -------------------------------------------------------------------------------- /lib/assets/fonts/loader.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/fonts/loader.ttf -------------------------------------------------------------------------------- /lib/assets/fonts/new.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/fonts/new.ttf -------------------------------------------------------------------------------- /lib/assets/fonts/newcomp.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/fonts/newcomp.ttf -------------------------------------------------------------------------------- /lib/assets/gif/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/gif/loader.gif -------------------------------------------------------------------------------- /lib/assets/gif/loader1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/gif/loader1.gif -------------------------------------------------------------------------------- /lib/assets/gif/success1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/gif/success1.gif -------------------------------------------------------------------------------- /lib/assets/icons/Rotation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/icons/Rotation.png -------------------------------------------------------------------------------- /lib/assets/icons/allign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/icons/allign.png -------------------------------------------------------------------------------- /lib/assets/icons/gflogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/icons/gflogo.png -------------------------------------------------------------------------------- /lib/assets/icons/scaling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/icons/scaling.png -------------------------------------------------------------------------------- /lib/assets/icons/size.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/icons/size.png -------------------------------------------------------------------------------- /lib/assets/icons/slide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/icons/slide.png -------------------------------------------------------------------------------- /lib/assets/images/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/avatar.png -------------------------------------------------------------------------------- /lib/assets/images/avatar1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/avatar1.png -------------------------------------------------------------------------------- /lib/assets/images/avatar10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/avatar10.png -------------------------------------------------------------------------------- /lib/assets/images/avatar11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/avatar11.png -------------------------------------------------------------------------------- /lib/assets/images/avatar12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/avatar12.png -------------------------------------------------------------------------------- /lib/assets/images/avatar2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/avatar2.png -------------------------------------------------------------------------------- /lib/assets/images/avatar3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/avatar3.png -------------------------------------------------------------------------------- /lib/assets/images/avatar4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/avatar4.png -------------------------------------------------------------------------------- /lib/assets/images/avatar5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/avatar5.png -------------------------------------------------------------------------------- /lib/assets/images/avatar6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/avatar6.png -------------------------------------------------------------------------------- /lib/assets/images/avatar7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/avatar7.png -------------------------------------------------------------------------------- /lib/assets/images/avatar8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/avatar8.png -------------------------------------------------------------------------------- /lib/assets/images/avatar9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/avatar9.png -------------------------------------------------------------------------------- /lib/assets/images/card.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/card.png -------------------------------------------------------------------------------- /lib/assets/images/card1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/card1.png -------------------------------------------------------------------------------- /lib/assets/images/card2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/card2.png -------------------------------------------------------------------------------- /lib/assets/images/card3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/card3.png -------------------------------------------------------------------------------- /lib/assets/images/card4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/card4.png -------------------------------------------------------------------------------- /lib/assets/images/card5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/card5.png -------------------------------------------------------------------------------- /lib/assets/images/e1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/e1.png -------------------------------------------------------------------------------- /lib/assets/images/e2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/e2.png -------------------------------------------------------------------------------- /lib/assets/images/e3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/e3.png -------------------------------------------------------------------------------- /lib/assets/images/e4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/e4.png -------------------------------------------------------------------------------- /lib/assets/images/e5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/e5.png -------------------------------------------------------------------------------- /lib/assets/images/gflogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/gflogo.png -------------------------------------------------------------------------------- /lib/assets/images/i1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/i1.png -------------------------------------------------------------------------------- /lib/assets/images/i2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/i2.png -------------------------------------------------------------------------------- /lib/assets/images/i3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/i3.png -------------------------------------------------------------------------------- /lib/assets/images/i4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/i4.png -------------------------------------------------------------------------------- /lib/assets/images/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/image.png -------------------------------------------------------------------------------- /lib/assets/images/image1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/image1.png -------------------------------------------------------------------------------- /lib/assets/images/image2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/image2.png -------------------------------------------------------------------------------- /lib/assets/images/img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/img.png -------------------------------------------------------------------------------- /lib/assets/images/img1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/img1.png -------------------------------------------------------------------------------- /lib/assets/images/img2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/img2.png -------------------------------------------------------------------------------- /lib/assets/images/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/orange.png -------------------------------------------------------------------------------- /lib/assets/images/pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/pink.png -------------------------------------------------------------------------------- /lib/assets/images/purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/purple.png -------------------------------------------------------------------------------- /lib/assets/images/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/red.png -------------------------------------------------------------------------------- /lib/assets/images/s1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/s1.png -------------------------------------------------------------------------------- /lib/assets/images/s2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/s2.png -------------------------------------------------------------------------------- /lib/assets/images/s3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/s3.png -------------------------------------------------------------------------------- /lib/assets/images/s4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/s4.png -------------------------------------------------------------------------------- /lib/assets/images/s5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/s5.png -------------------------------------------------------------------------------- /lib/assets/images/story.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/lib/assets/images/story.jpg -------------------------------------------------------------------------------- /lib/main.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'screens/home.dart'; 3 | 4 | void main() => runApp(MyApp()); 5 | 6 | class MyApp extends StatelessWidget { 7 | @override 8 | Widget build(BuildContext context) => MaterialApp( 9 | title: 10 | 'GetWidget Demo App | GetWidget - Open source UI library for flutter app', 11 | debugShowCheckedModeBanner: false, 12 | theme: ThemeData( 13 | primarySwatch: Colors.blue, 14 | ), 15 | home: HomePage(), 16 | ); 17 | } 18 | -------------------------------------------------------------------------------- /lib/screens/accordian/accordian.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter/cupertino.dart'; 3 | import 'package:getwidget/getwidget.dart'; 4 | 5 | class Accordion extends StatefulWidget { 6 | @override 7 | _AccordionState createState() => _AccordionState(); 8 | } 9 | 10 | class _AccordionState extends State { 11 | @override 12 | Widget build(BuildContext context) => Scaffold( 13 | backgroundColor: GFColors.WHITE, 14 | appBar: AppBar( 15 | backgroundColor: GFColors.DARK, 16 | leading: InkWell( 17 | onTap: () { 18 | Navigator.pop(context); 19 | }, 20 | child: Icon( 21 | CupertinoIcons.back, 22 | color: GFColors.SUCCESS, 23 | ), 24 | ), 25 | title: const Text( 26 | 'Accordion', 27 | style: TextStyle(fontSize: 17), 28 | ), 29 | centerTitle: true, 30 | ), 31 | body: ListView( 32 | children: [ 33 | const Padding( 34 | padding: EdgeInsets.only(left: 15, top: 30), 35 | child: GFTypography( 36 | text: 'Basic Accordion', 37 | type: GFTypographyType.typo5, 38 | dividerWidth: 25, 39 | dividerColor: Color(0xFF19CA4B), 40 | ), 41 | ), 42 | GFAccordion( 43 | titleBorder: Border( 44 | top: BorderSide( 45 | color: Colors.black.withOpacity(0.2), width: 0.5), 46 | left: BorderSide( 47 | color: Colors.black.withOpacity(0.2), width: 0.5), 48 | right: BorderSide( 49 | color: Colors.black.withOpacity(0.2), width: 0.5), 50 | bottom: BorderSide( 51 | color: Colors.black.withOpacity(0.2), width: 0.5), 52 | ), 53 | contentBorder: Border( 54 | top: BorderSide( 55 | color: Colors.black.withOpacity(0.2), width: 0.5), 56 | bottom: BorderSide( 57 | color: Colors.black.withOpacity(0.2), width: 0.5), 58 | left: BorderSide( 59 | color: Colors.black.withOpacity(0.2), width: 0.5), 60 | right: BorderSide( 61 | color: Colors.black.withOpacity(0.2), width: 0.5), 62 | ), 63 | title: 'GF Accordion', 64 | content: 65 | 'GetWidget is an open source library that comes with pre-build 1000+ UI components.' 66 | ' The library is built to make flutter development faster and more enjoyable.'), 67 | const Padding( 68 | padding: EdgeInsets.only(left: 15, top: 30), 69 | child: GFTypography( 70 | text: 'Accordion with Text', 71 | type: GFTypographyType.typo5, 72 | dividerWidth: 25, 73 | dividerColor: Color(0xFF19CA4B), 74 | ), 75 | ), 76 | GFAccordion( 77 | titleBorder: Border( 78 | top: BorderSide( 79 | color: Colors.black.withOpacity(0.2), width: 0.5), 80 | left: BorderSide( 81 | color: Colors.black.withOpacity(0.2), width: 0.5), 82 | right: BorderSide( 83 | color: Colors.black.withOpacity(0.2), width: 0.5), 84 | bottom: BorderSide( 85 | color: Colors.black.withOpacity(0.2), width: 0.5), 86 | ), 87 | contentBorder: Border( 88 | top: BorderSide( 89 | color: Colors.black.withOpacity(0.2), width: 0.5), 90 | bottom: BorderSide( 91 | color: Colors.black.withOpacity(0.2), width: 0.5), 92 | left: BorderSide( 93 | color: Colors.black.withOpacity(0.2), width: 0.5), 94 | right: BorderSide( 95 | color: Colors.black.withOpacity(0.2), width: 0.5), 96 | ), 97 | title: 'GF Accordion', 98 | content: 99 | 'GetWidget is an open source library that comes with pre-build 1000+ UI components.' 100 | ' The library is built to make flutter development faster and more enjoyable.', 101 | collapsedIcon: const Text('Show'), 102 | expandedIcon: const Text( 103 | 'Hide', 104 | style: TextStyle(color: Colors.red), 105 | )), 106 | const Padding( 107 | padding: EdgeInsets.only(left: 15, top: 30), 108 | child: GFTypography( 109 | text: 'Accordion with Icon', 110 | type: GFTypographyType.typo5, 111 | dividerWidth: 25, 112 | dividerColor: Color(0xFF19CA4B), 113 | ), 114 | ), 115 | GFAccordion( 116 | titleBorder: Border( 117 | top: BorderSide( 118 | color: Colors.black.withOpacity(0.2), width: 0.5), 119 | left: BorderSide( 120 | color: Colors.black.withOpacity(0.2), width: 0.5), 121 | right: BorderSide( 122 | color: Colors.black.withOpacity(0.2), width: 0.5), 123 | bottom: BorderSide( 124 | color: Colors.black.withOpacity(0.2), width: 0.5), 125 | ), 126 | contentBorder: Border( 127 | top: BorderSide( 128 | color: Colors.black.withOpacity(0.2), width: 0.5), 129 | bottom: BorderSide( 130 | color: Colors.black.withOpacity(0.2), width: 0.5), 131 | left: BorderSide( 132 | color: Colors.black.withOpacity(0.2), width: 0.5), 133 | right: BorderSide( 134 | color: Colors.black.withOpacity(0.2), width: 0.5), 135 | ), 136 | title: 'GF Accordion', 137 | content: 138 | 'GetWidget is an open source library that comes with pre-build 1000+ UI components.' 139 | ' The library is built to make flutter development faster and more enjoyable.', 140 | collapsedIcon: Icon(Icons.add_circle_outline), 141 | expandedIcon: Icon( 142 | Icons.remove_circle_outline, 143 | color: Colors.red, 144 | ), 145 | ), 146 | ], 147 | ), 148 | ); 149 | } 150 | -------------------------------------------------------------------------------- /lib/screens/appbar/app_home.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:flutter/cupertino.dart'; 4 | import 'appbar.dart'; 5 | import 'searchbar.dart'; 6 | import 'segmented_appbar.dart'; 7 | 8 | class AppHome extends StatefulWidget { 9 | @override 10 | _AppHomeState createState() => _AppHomeState(); 11 | } 12 | 13 | class _AppHomeState extends State { 14 | @override 15 | Widget build(BuildContext context) => Scaffold( 16 | appBar: AppBar( 17 | backgroundColor: GFColors.DARK, 18 | leading: InkWell( 19 | onTap: () { 20 | Navigator.pop(context); 21 | }, 22 | child: Icon( 23 | CupertinoIcons.back, 24 | color: GFColors.SUCCESS, 25 | ), 26 | ), 27 | title: const Text( 28 | 'Appbar', 29 | style: TextStyle(fontSize: 17), 30 | ), 31 | centerTitle: true, 32 | ), 33 | body: ListView( 34 | children: [ 35 | const Padding( 36 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 37 | child: GFTypography( 38 | text: 'Basic Appbar', 39 | type: GFTypographyType.typo5, 40 | dividerWidth: 25, 41 | dividerColor: Color(0xFF19CA4B), 42 | ), 43 | ), 44 | Container( 45 | height: 70, 46 | child: Appbar(), 47 | ), 48 | const Padding( 49 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 50 | child: GFTypography( 51 | text: 'Appbar with SearchBox', 52 | type: GFTypographyType.typo5, 53 | dividerWidth: 25, 54 | dividerColor: Color(0xFF19CA4B), 55 | ), 56 | ), 57 | Container( 58 | height: 70, 59 | child: Searchbar(), 60 | ), 61 | const Padding( 62 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 63 | child: GFTypography( 64 | text: 'Segmented Tabs Appbar', 65 | type: GFTypographyType.typo5, 66 | dividerWidth: 25, 67 | dividerColor: Color(0xFF19CA4B), 68 | ), 69 | ), 70 | Container( 71 | height: 200, 72 | child: SegmentedAppbar(), 73 | ) 74 | ], 75 | ), 76 | ); 77 | } 78 | -------------------------------------------------------------------------------- /lib/screens/appbar/appbar.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:flutter/cupertino.dart'; 4 | 5 | class Appbar extends StatefulWidget { 6 | @override 7 | _AppbarState createState() => _AppbarState(); 8 | } 9 | 10 | class _AppbarState extends State { 11 | List list = [ 12 | 'Flutter', 13 | 'React', 14 | 'Ionic', 15 | 'Xamarin', 16 | 'Flutter2', 17 | 'React2', 18 | 'Ionic2', 19 | 'Xamarin2', 20 | ]; 21 | @override 22 | Widget build(BuildContext context) => Scaffold( 23 | appBar: GFAppBar( 24 | leading: InkWell( 25 | onTap: () { 26 | Navigator.pop(context); 27 | }, 28 | child: Icon( 29 | CupertinoIcons.back, 30 | color: GFColors.WHITE, 31 | ), 32 | ), 33 | backgroundColor: GFColors.DARK, 34 | title: const Text('UI Kit'), 35 | actions: [ 36 | GFIconButton( 37 | icon: Icon( 38 | Icons.favorite, 39 | color: Colors.white, 40 | ), 41 | onPressed: () {}, 42 | type: GFButtonType.transparent, 43 | ), 44 | ], 45 | ), 46 | ); 47 | } 48 | -------------------------------------------------------------------------------- /lib/screens/appbar/searchbar.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | 4 | class Searchbar extends StatefulWidget { 5 | @override 6 | _SearchbarState createState() => _SearchbarState(); 7 | } 8 | 9 | class _SearchbarState extends State { 10 | @override 11 | Widget build(BuildContext context) => Scaffold( 12 | appBar: GFAppBar( 13 | backgroundColor: GFColors.DARK, 14 | title: const Text('UI Kit'), 15 | searchBar: true, 16 | actions: [ 17 | GFIconButton( 18 | icon: Icon( 19 | Icons.share, 20 | color: Colors.white, 21 | ), 22 | onPressed: () {}, 23 | type: GFButtonType.transparent, 24 | ), 25 | ], 26 | ), 27 | ); 28 | } 29 | -------------------------------------------------------------------------------- /lib/screens/appbar/segmented_appbar.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | 4 | class SegmentedAppbar extends StatefulWidget { 5 | @override 6 | _SegmentedAppbarState createState() => _SegmentedAppbarState(); 7 | } 8 | 9 | class _SegmentedAppbarState extends State 10 | with TickerProviderStateMixin { 11 | TabController? tabController; 12 | @override 13 | void initState() { 14 | super.initState(); 15 | tabController = TabController(length: 3, vsync: this); 16 | } 17 | 18 | @override 19 | void dispose() { 20 | tabController!.dispose(); 21 | super.dispose(); 22 | } 23 | 24 | @override 25 | Widget build(BuildContext context) => Scaffold( 26 | appBar: GFAppBar( 27 | backgroundColor: GFColors.DARK, 28 | title: GFSegmentTabs( 29 | tabController: tabController, 30 | tabBarColor: GFColors.LIGHT, 31 | labelColor: GFColors.WHITE, 32 | unselectedLabelColor: GFColors.DARK, 33 | indicator: const BoxDecoration( 34 | color: GFColors.DARK, 35 | ), 36 | // indicatorPadding: const EdgeInsets.all(8), 37 | // indicatorWeight: 2, 38 | border: Border.all(color: Colors.white, width: 1), 39 | length: 3, 40 | tabs: const [ 41 | Text('Tab1'), 42 | Text('Tab2'), 43 | Text('Tab3'), 44 | ], 45 | ), 46 | ), 47 | body: GFTabBarView(controller: tabController, children: const [ 48 | Center( 49 | child: Text('Tab 1'), 50 | ), 51 | Center( 52 | child: Text('Tab 2'), 53 | ), 54 | Center( 55 | child: Text('Tab 3'), 56 | ), 57 | ]), 58 | ); 59 | } 60 | -------------------------------------------------------------------------------- /lib/screens/avatar/avatars.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter/cupertino.dart'; 3 | import 'package:getwidget/getwidget.dart'; 4 | 5 | class Avatar extends StatefulWidget { 6 | @override 7 | _AvatarState createState() => _AvatarState(); 8 | } 9 | 10 | class _AvatarState extends State { 11 | bool showToast = false; 12 | @override 13 | Widget build(BuildContext context) => Scaffold( 14 | appBar: AppBar( 15 | backgroundColor: GFColors.DARK, 16 | leading: InkWell( 17 | onTap: () { 18 | Navigator.pop(context); 19 | }, 20 | child: Icon( 21 | CupertinoIcons.back, 22 | color: GFColors.SUCCESS, 23 | ), 24 | ), 25 | title: const Text( 26 | 'Avatar', 27 | style: TextStyle(fontSize: 17), 28 | ), 29 | centerTitle: true, 30 | ), 31 | body: Column( 32 | children: [ 33 | const Padding( 34 | padding: EdgeInsets.only(left: 15, top: 30), 35 | child: GFTypography( 36 | text: 'Basic Avatar', 37 | type: GFTypographyType.typo5, 38 | dividerWidth: 25, 39 | dividerColor: Color(0xFF19CA4B), 40 | ), 41 | ), 42 | GFCard( 43 | content: Column( 44 | children: [ 45 | const SizedBox( 46 | height: 10, 47 | ), 48 | Row( 49 | mainAxisAlignment: MainAxisAlignment.spaceBetween, 50 | children: const [ 51 | GFAvatar( 52 | backgroundImage: 53 | AssetImage('lib/assets/images/avatar5.png'), 54 | ), 55 | GFAvatar( 56 | backgroundImage: 57 | AssetImage('lib/assets/images/img.png'), 58 | ), 59 | GFAvatar( 60 | backgroundImage: 61 | AssetImage('lib/assets/images/img1.png'), 62 | ), 63 | GFAvatar( 64 | backgroundImage: 65 | AssetImage('lib/assets/images/img2.png'), 66 | ) 67 | ], 68 | ), 69 | const SizedBox( 70 | height: 20, 71 | ), 72 | Row( 73 | mainAxisAlignment: MainAxisAlignment.spaceBetween, 74 | children: const [ 75 | GFAvatar( 76 | backgroundImage: 77 | AssetImage('lib/assets/images/avatar6.png'), 78 | shape: GFAvatarShape.standard, 79 | ), 80 | GFAvatar( 81 | backgroundImage: 82 | AssetImage('lib/assets/images/avatar11.png'), 83 | shape: GFAvatarShape.standard, 84 | ), 85 | GFAvatar( 86 | backgroundImage: 87 | AssetImage('lib/assets/images/avatar9.png'), 88 | shape: GFAvatarShape.standard, 89 | ), 90 | GFAvatar( 91 | backgroundImage: 92 | AssetImage('lib/assets/images/avatar12.png'), 93 | shape: GFAvatarShape.standard, 94 | ), 95 | ], 96 | ), 97 | const SizedBox( 98 | height: 20, 99 | ), 100 | Row( 101 | mainAxisAlignment: MainAxisAlignment.spaceBetween, 102 | children: const [ 103 | GFAvatar( 104 | backgroundImage: AssetImage( 105 | 'lib/assets/images/avatar10.png', 106 | ), 107 | shape: GFAvatarShape.square, 108 | ), 109 | GFAvatar( 110 | backgroundImage: 111 | AssetImage('lib/assets/images/avatar12.png'), 112 | shape: GFAvatarShape.square, 113 | ), 114 | GFAvatar( 115 | backgroundImage: 116 | AssetImage('lib/assets/images/avatar11.png'), 117 | shape: GFAvatarShape.square, 118 | ), 119 | GFAvatar( 120 | backgroundImage: 121 | AssetImage('lib/assets/images/avatar6.png'), 122 | shape: GFAvatarShape.square, 123 | ), 124 | ], 125 | ), 126 | const SizedBox( 127 | height: 10, 128 | ), 129 | ], 130 | ), 131 | ) 132 | ], 133 | ), 134 | ); 135 | } 136 | -------------------------------------------------------------------------------- /lib/screens/checkboxlisttile/checkbox_list_tile_page.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:flutter/cupertino.dart'; 4 | 5 | class CheckBoxListTilePage extends StatefulWidget { 6 | @override 7 | _CheckBoxListTilePageState createState() => _CheckBoxListTilePageState(); 8 | } 9 | 10 | class _CheckBoxListTilePageState extends State { 11 | bool check = true; 12 | bool check1 = false; 13 | bool check2 = true; 14 | @override 15 | Widget build(BuildContext context) => Scaffold( 16 | appBar: AppBar( 17 | backgroundColor: GFColors.DARK, 18 | leading: InkWell( 19 | onTap: () { 20 | Navigator.pop(context); 21 | }, 22 | child: Container( 23 | child: Icon( 24 | CupertinoIcons.back, 25 | color: GFColors.SUCCESS, 26 | ), 27 | )), 28 | title: const Text( 29 | 'CheckboxListTile', 30 | style: TextStyle(fontSize: 17), 31 | ), 32 | centerTitle: true, 33 | ), 34 | body: ListView( 35 | children: [ 36 | GFCheckboxListTile( 37 | titleText: 'hi', 38 | subTitleText: 'Happy Ugadi', 39 | position: GFPosition.start, 40 | icon: GFAvatar( 41 | backgroundImage: AssetImage('lib/assets/images/img.png'), 42 | ), 43 | size: 25, 44 | activeBgColor: Colors.green, 45 | activeIcon: Icon( 46 | Icons.check, 47 | size: 15, 48 | color: Colors.white, 49 | ), 50 | type: GFCheckboxType.circle, 51 | onChanged: (val) { 52 | setState(() { 53 | check = val; 54 | print(val); 55 | }); 56 | }, 57 | value: check, 58 | ), 59 | // GFCheckboxListTile( 60 | // titleText: 'hi', 61 | // subtitleText: 'Happy Ugadi', 62 | // avatar: GFAvatar( 63 | // backgroundImage: AssetImage('lib/assets/images/img1.png'), 64 | // ), 65 | // size: 25, 66 | // activebgColor: Colors.green, 67 | // activeIcon: Icon( 68 | // Icons.check, 69 | // size: 15, 70 | // color: Colors.white, 71 | // ), 72 | // type: GFCheckboxType.circle, 73 | // onChanged: (val) { 74 | // setState(() { 75 | // check1 = val; 76 | // }); 77 | // }, 78 | // value: check1, 79 | // ), 80 | GFCheckboxListTile( 81 | titleText: 'hi', 82 | subTitleText: 'Happy Ugadi', 83 | avatar: GFAvatar( 84 | backgroundImage: AssetImage('lib/assets/images/img1.png'), 85 | ), 86 | size: 25, 87 | activeBgColor: GFColors.SECONDARY, 88 | activeIcon: Icon( 89 | Icons.check, 90 | size: 15, 91 | color: Colors.white, 92 | ), 93 | type: GFCheckboxType.square, 94 | onChanged: (val) { 95 | setState(() { 96 | check2 = val; 97 | }); 98 | }, 99 | value: check2, 100 | ) 101 | ], 102 | ), 103 | ); 104 | } 105 | -------------------------------------------------------------------------------- /lib/screens/drawer/webview.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:webview_flutter/webview_flutter.dart'; 4 | 5 | class WebView extends StatelessWidget { 6 | final String? url; 7 | WebView({Key? key, this.url}) : super(key: key); 8 | final controller = WebViewController() 9 | ..setJavaScriptMode(JavaScriptMode.unrestricted) 10 | ..setBackgroundColor(const Color(0x00000000)) 11 | ..setNavigationDelegate( 12 | NavigationDelegate( 13 | onProgress: (int progress) { 14 | // Update loading bar. 15 | }, 16 | onPageStarted: (String url) {}, 17 | onPageFinished: (String url) {}, 18 | onWebResourceError: (WebResourceError error) {}, 19 | onNavigationRequest: (NavigationRequest request) { 20 | if (request.url.startsWith('https://www.getwidget.dev/')) { 21 | return NavigationDecision.prevent; 22 | } 23 | return NavigationDecision.navigate; 24 | }, 25 | ), 26 | ) 27 | ..loadRequest(Uri.parse('https://www.getwidget.dev/')); 28 | @override 29 | Widget build(BuildContext context) { 30 | return Scaffold( 31 | appBar: AppBar( 32 | title: Image.asset( 33 | 'lib/assets/icons/gflogo.png', 34 | width: 150, 35 | ), 36 | centerTitle: true, 37 | backgroundColor: GFColors.DARK, 38 | ), 39 | body: WebViewWidget(controller: controller), 40 | ); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /lib/screens/dropdowns/dropdown-types.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/cupertino.dart'; 2 | import 'package:flutter/material.dart'; 3 | import 'package:getwidget/getwidget.dart'; 4 | import 'package:gf_app/screens/dropdowns/dropdown/types.dart'; 5 | import 'package:gf_app/screens/dropdowns/multiselect/types.dart'; 6 | 7 | class DropDown extends StatefulWidget { 8 | @override 9 | _DropDownState createState() => _DropDownState(); 10 | } 11 | 12 | class _DropDownState extends State { 13 | String dropdownValue = 'One'; 14 | List dropList = [ 15 | 'Running', 16 | 'Walking', 17 | 'Eating', 18 | 'Sleeping', 19 | 'Playing', 20 | 'Drinking', 21 | 'Jogging' 22 | ]; 23 | String? dropdown; 24 | String? selected, selectedIndex; 25 | @override 26 | Widget build(BuildContext context) => Scaffold( 27 | appBar: AppBar( 28 | backgroundColor: GFColors.DARK, 29 | leading: InkWell( 30 | onTap: () { 31 | Navigator.pop(context); 32 | }, 33 | child: Container( 34 | child: Icon( 35 | CupertinoIcons.back, 36 | color: GFColors.SUCCESS, 37 | ), 38 | )), 39 | title: const Text( 40 | 'Dropdowns', 41 | style: TextStyle(fontSize: 17), 42 | ), 43 | centerTitle: true, 44 | ), 45 | backgroundColor: Colors.white, 46 | body: SingleChildScrollView( 47 | child: Column( 48 | children: [ 49 | GestureDetector( 50 | onTap: () { 51 | Navigator.push( 52 | context, 53 | MaterialPageRoute( 54 | builder: (BuildContext context) => DropDownTypes()), 55 | ); 56 | }, 57 | child: Container( 58 | margin: const EdgeInsets.only(left: 15, right: 15, top: 20), 59 | padding: const EdgeInsets.all(5), 60 | decoration: BoxDecoration( 61 | borderRadius: 62 | const BorderRadius.all(Radius.circular(7)), 63 | color: GFColors.DARK, 64 | boxShadow: [ 65 | BoxShadow( 66 | color: Colors.black.withOpacity(0.40), 67 | blurRadius: 5) 68 | ]), 69 | child: GFListTile( 70 | color: GFColors.DARK, 71 | title: const Text( 72 | 'Drop down', 73 | style: TextStyle(color: GFColors.WHITE), 74 | ), 75 | icon: Icon( 76 | CupertinoIcons.forward, 77 | color: GFColors.SUCCESS, 78 | )), 79 | )), 80 | GestureDetector( 81 | onTap: () { 82 | Navigator.push( 83 | context, 84 | MaterialPageRoute( 85 | builder: (BuildContext context) => 86 | MultiselectTypes()), 87 | ); 88 | }, 89 | child: Container( 90 | margin: const EdgeInsets.only(left: 15, right: 15, top: 20), 91 | padding: const EdgeInsets.all(5), 92 | decoration: BoxDecoration( 93 | borderRadius: 94 | const BorderRadius.all(Radius.circular(7)), 95 | color: GFColors.DARK, 96 | boxShadow: [ 97 | BoxShadow( 98 | color: Colors.black.withOpacity(0.40), 99 | blurRadius: 5) 100 | ]), 101 | child: GFListTile( 102 | color: GFColors.DARK, 103 | title: const Text( 104 | 'Multi select', 105 | style: TextStyle(color: GFColors.WHITE), 106 | ), 107 | icon: Icon( 108 | CupertinoIcons.forward, 109 | color: GFColors.SUCCESS, 110 | )), 111 | )), 112 | ], 113 | ), 114 | ), 115 | ); 116 | } 117 | -------------------------------------------------------------------------------- /lib/screens/dropdowns/dropdown/types.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/cupertino.dart'; 2 | import 'package:flutter/material.dart'; 3 | import 'package:getwidget/getwidget.dart'; 4 | 5 | class DropDownTypes extends StatefulWidget { 6 | @override 7 | _DropDownTypesState createState() => _DropDownTypesState(); 8 | } 9 | 10 | class _DropDownTypesState extends State 11 | with SingleTickerProviderStateMixin { 12 | TabController? tabController; 13 | @override 14 | void initState() { 15 | super.initState(); 16 | tabController = TabController(length: 2, vsync: this); 17 | } 18 | 19 | @override 20 | void dispose() { 21 | tabController!.dispose(); 22 | super.dispose(); 23 | } 24 | 25 | String? dropdownValue = 'FC Barcelona'; 26 | List dropList = [ 27 | 'Running', 28 | 'Walking', 29 | 'Eating', 30 | 'Sleeping', 31 | 'Playing', 32 | 'Drinking', 33 | 'Jogging' 34 | ]; 35 | String? dropdown; 36 | String? selected, selectedIndex; 37 | @override 38 | Widget build(BuildContext context) => Scaffold( 39 | appBar: AppBar( 40 | backgroundColor: GFColors.DARK, 41 | leading: InkWell( 42 | onTap: () { 43 | Navigator.pop(context); 44 | }, 45 | child: Container( 46 | child: Icon( 47 | CupertinoIcons.back, 48 | color: GFColors.SUCCESS, 49 | ), 50 | )), 51 | title: const Text( 52 | 'Dropdowns', 53 | style: TextStyle(fontSize: 17), 54 | ), 55 | centerTitle: true, 56 | ), 57 | backgroundColor: Colors.white, 58 | body: SingleChildScrollView( 59 | child: Column( 60 | children: [ 61 | Container( 62 | height: 40, 63 | margin: const EdgeInsets.only(top: 20, left: 25, right: 25), 64 | child: GFSegmentTabs( 65 | tabController: tabController, 66 | width: 280, 67 | length: 2, 68 | tabs: const [ 69 | Tab( 70 | child: Text('Basic'), 71 | ), 72 | Tab( 73 | child: Text('Custom'), 74 | ), 75 | ], 76 | tabBarColor: GFColors.LIGHT, 77 | indicatorSize: TabBarIndicatorSize.tab, 78 | labelColor: GFColors.WHITE, 79 | unselectedLabelColor: GFColors.DARK, 80 | indicator: const BoxDecoration( 81 | color: Colors.black, 82 | border: Border( 83 | bottom: BorderSide( 84 | color: GFColors.SUCCESS, 85 | width: 3, 86 | ), 87 | ), 88 | ), 89 | // indicatorPadding: const EdgeInsets.all(8), 90 | // indicatorWeight: 2, 91 | border: Border.all(color: Colors.white, width: 2), 92 | ), 93 | ), 94 | Container( 95 | height: MediaQuery.of(context).size.height - 140, 96 | child: GFTabBarView( 97 | height: 500, 98 | controller: tabController, 99 | children: [ 100 | Container( 101 | child: Column( 102 | children: [ 103 | Container( 104 | height: 50, 105 | width: MediaQuery.of(context).size.width, 106 | margin: EdgeInsets.all(20), 107 | child: DropdownButtonHideUnderline( 108 | child: GFDropdown( 109 | padding: const EdgeInsets.all(5), 110 | borderRadius: BorderRadius.circular(5), 111 | // border: const BorderSide( 112 | // color: Colors.black12, width: 1), 113 | dropdownColor: Colors.white, 114 | value: dropdownValue, 115 | onChanged: (dynamic newValue) { 116 | print('value $newValue'); 117 | setState(() { 118 | dropdownValue = newValue; 119 | }); 120 | }, 121 | items: [ 122 | 'FC Barcelona', 123 | 'Real Madrid', 124 | 'Villareal', 125 | 'Manchester City' 126 | ] 127 | .map((value) => DropdownMenuItem( 128 | value: value, 129 | child: Text(value), 130 | )) 131 | .toList(), 132 | ), 133 | ), 134 | ), 135 | ], 136 | ), 137 | ), 138 | Container( 139 | child: Column( 140 | children: [ 141 | Container( 142 | height: 50, 143 | width: MediaQuery.of(context).size.width, 144 | margin: EdgeInsets.all(20), 145 | child: DropdownButtonHideUnderline( 146 | child: GFDropdown( 147 | padding: const EdgeInsets.all(5), 148 | borderRadius: BorderRadius.circular(10), 149 | border: const BorderSide( 150 | color: Colors.black12, width: 1), 151 | dropdownColor: Colors.grey[300], 152 | value: dropdownValue, 153 | onChanged: (dynamic newValue) { 154 | print('value $newValue'); 155 | setState(() { 156 | dropdownValue = newValue; 157 | }); 158 | }, 159 | items: [ 160 | 'FC Barcelona', 161 | 'Real Madrid', 162 | 'Villareal', 163 | 'Manchester City' 164 | ] 165 | .map((value) => DropdownMenuItem( 166 | value: value, 167 | child: Text(value), 168 | )) 169 | .toList(), 170 | ), 171 | ), 172 | ), 173 | ], 174 | ), 175 | ), 176 | ]), 177 | ) 178 | ], 179 | ), 180 | ), 181 | ); 182 | } 183 | -------------------------------------------------------------------------------- /lib/screens/dropdowns/multiselect/types.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/cupertino.dart'; 2 | import 'package:flutter/material.dart'; 3 | import 'package:getwidget/getwidget.dart'; 4 | 5 | class MultiselectTypes extends StatefulWidget { 6 | @override 7 | _MultiselectTypesState createState() => _MultiselectTypesState(); 8 | } 9 | 10 | class _MultiselectTypesState extends State 11 | with SingleTickerProviderStateMixin { 12 | TabController? tabController; 13 | 14 | @override 15 | void initState() { 16 | super.initState(); 17 | tabController = TabController(length: 2, vsync: this); 18 | } 19 | 20 | @override 21 | void dispose() { 22 | tabController!.dispose(); 23 | super.dispose(); 24 | } 25 | 26 | String dropdownValue = 'One'; 27 | List dropList = [ 28 | 'Messi', 29 | 'Griezmann', 30 | 'Coutinho', 31 | 'Fati', 32 | 'Dest', 33 | ]; 34 | String? dropdown; 35 | String? selected, selectedIndex; 36 | 37 | @override 38 | Widget build(BuildContext context) => Scaffold( 39 | appBar: AppBar( 40 | backgroundColor: GFColors.DARK, 41 | leading: InkWell( 42 | onTap: () { 43 | Navigator.pop(context); 44 | }, 45 | child: Container( 46 | child: Icon( 47 | CupertinoIcons.back, 48 | color: GFColors.SUCCESS, 49 | ), 50 | )), 51 | title: const Text( 52 | 'Multiselect', 53 | style: TextStyle(fontSize: 17), 54 | ), 55 | centerTitle: true, 56 | ), 57 | backgroundColor: Colors.white, 58 | body: SingleChildScrollView( 59 | child: Column( 60 | children: [ 61 | Container( 62 | height: 40, 63 | margin: const EdgeInsets.only(top: 20, left: 25, right: 25), 64 | child: GFSegmentTabs( 65 | tabController: tabController, 66 | width: 280, 67 | length: 2, 68 | tabs: const [ 69 | Tab( 70 | child: Text('Basic'), 71 | ), 72 | Tab( 73 | child: Text('Custom'), 74 | ), 75 | ], 76 | tabBarColor: GFColors.LIGHT, 77 | indicatorSize: TabBarIndicatorSize.tab, 78 | labelColor: GFColors.WHITE, 79 | unselectedLabelColor: GFColors.DARK, 80 | indicator: const BoxDecoration( 81 | color: Colors.black, 82 | border: Border( 83 | bottom: BorderSide( 84 | color: GFColors.SUCCESS, 85 | width: 3, 86 | ), 87 | ), 88 | ), 89 | // indicatorPadding: const EdgeInsets.all(8), 90 | // indicatorWeight: 2, 91 | border: Border.all(color: Colors.white, width: 2), 92 | ), 93 | ), 94 | Container( 95 | height: MediaQuery.of(context).size.height - 140, 96 | child: GFTabBarView( 97 | controller: tabController, 98 | height: 400, 99 | children: [ 100 | /// 101 | /// todo: need fix 102 | /// 103 | GFMultiSelect( 104 | items: dropList, 105 | // onSelect: (value) { 106 | // print('sel $value '); 107 | // }, 108 | // 109 | // dropdownTitleTileText: 'Messi, Griezmann, Coutinho ', 110 | // dropdownTitleTileMargin: EdgeInsets.only( 111 | // top: 22, left: 18, right: 18, bottom: 5), 112 | // dropdownTitleTilePadding: EdgeInsets.all(10), 113 | // dropdownUnderlineBorder: 114 | // const BorderSide(color: Colors.transparent, width: 2), 115 | // dropdownTitleTileBorder: 116 | // Border.all(color: Colors.grey[200], width: 1), 117 | // dropdownTitleTileBorderRadius: BorderRadius.circular(5), 118 | // expandedIcon: const Icon( 119 | // Icons.keyboard_arrow_down, 120 | // color: Colors.black54, 121 | // ), 122 | // collapsedIcon: const Icon( 123 | // Icons.keyboard_arrow_up, 124 | // color: Colors.black54, 125 | // ), 126 | // submitButton: Text('OK'), 127 | // cancelButton: Text('Cancel'), 128 | // dropdownTitleTileTextStyle: 129 | // const TextStyle(fontSize: 14, color: Colors.black54), 130 | padding: const EdgeInsets.all(6), 131 | margin: const EdgeInsets.all(6), 132 | type: GFCheckboxType.basic, 133 | activeBgColor: GFColors.SUCCESS, 134 | activeBorderColor: GFColors.SUCCESS, 135 | inactiveBorderColor: Colors.grey[200]!, 136 | onSelect: (value) {}, 137 | ), 138 | Container( 139 | child: GFMultiSelect( 140 | items: dropList, 141 | // onSelect: (value) { 142 | // print('sel $value '); 143 | // }, 144 | dropdownTitleTileText: 'Messi, Griezmann, Coutinho ', 145 | dropdownTitleTileColor: Colors.grey[200], 146 | dropdownTitleTileMargin: EdgeInsets.only( 147 | top: 22, left: 18, right: 18, bottom: 5), 148 | dropdownTitleTilePadding: EdgeInsets.all(10), 149 | dropdownUnderlineBorder: const BorderSide( 150 | color: Colors.transparent, width: 2), 151 | // dropdownTitleTileBorder: 152 | // Border.all(color: Colors.grey[300], width: 1), 153 | dropdownTitleTileBorderRadius: BorderRadius.circular(5), 154 | expandedIcon: const Icon( 155 | Icons.keyboard_arrow_down, 156 | color: Colors.black54, 157 | ), 158 | collapsedIcon: const Icon( 159 | Icons.keyboard_arrow_up, 160 | color: Colors.black54, 161 | ), 162 | submitButton: Text('OK'), 163 | dropdownTitleTileTextStyle: const TextStyle( 164 | fontSize: 14, color: Colors.black54), 165 | padding: const EdgeInsets.all(6), 166 | margin: const EdgeInsets.all(6), 167 | type: GFCheckboxType.basic, 168 | activeBgColor: Colors.green.withOpacity(0.5), 169 | inactiveBorderColor: Colors.grey[200]!, 170 | onSelect: (value) {}, 171 | ), 172 | ), 173 | ], 174 | ), 175 | ) 176 | ], 177 | ), 178 | ), 179 | ); 180 | } 181 | -------------------------------------------------------------------------------- /lib/screens/floating_widget/fab_floating.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | 4 | class FabFloatingWidget extends StatefulWidget { 5 | @override 6 | _FabFloatingWidgetState createState() => _FabFloatingWidgetState(); 7 | } 8 | 9 | class _FabFloatingWidgetState extends State 10 | with TickerProviderStateMixin { 11 | TextEditingController controller1 = TextEditingController(); 12 | Animation? animation; 13 | late AnimationController animationController; 14 | 15 | @override 16 | void initState() { 17 | super.initState(); 18 | animationController = AnimationController( 19 | duration: const Duration(seconds: 2), 20 | vsync: this, 21 | ); 22 | controller = AnimationController( 23 | vsync: this, 24 | duration: const Duration(milliseconds: 300), 25 | ); 26 | offset = 27 | Tween(begin: const Offset(0, -0.04), end: const Offset(0, 0.2)) 28 | .animate(controller); 29 | // offset = Tween(begin: Offset.zero, end: Offset(0.0, 1.0)) 30 | // .animate(controller); 31 | _controller = AnimationController( 32 | vsync: this, 33 | duration: const Duration(milliseconds: 300), 34 | ); 35 | offset1 = Tween(begin: Offset.zero, end: const Offset(0, -0.05)) 36 | .animate(_controller); 37 | animation = Tween(begin: 1, end: 0).animate(CurvedAnimation( 38 | parent: animationController, curve: Curves.fastLinearToSlowEaseIn)); 39 | } 40 | 41 | late AnimationController controller, _controller; 42 | late Animation offset, offset1; 43 | 44 | bool showfabFloatingWidget = false; 45 | 46 | @override 47 | void dispose() { 48 | animationController.dispose(); 49 | controller.dispose(); 50 | super.dispose(); 51 | } 52 | 53 | @override 54 | Widget build(BuildContext context) => Scaffold( 55 | body: GFFloatingWidget( 56 | verticalPosition: MediaQuery.of(context).size.height * 0.4, 57 | horizontalPosition: MediaQuery.of(context).size.width * 0.8, 58 | child: Container( 59 | margin: const EdgeInsets.only(top: 20), 60 | child: GFIconButton( 61 | icon: 62 | showfabFloatingWidget ? Icon(Icons.close) : Icon(Icons.add), 63 | shape: GFIconButtonShape.circle, 64 | color: GFColors.PRIMARY, 65 | // iconSize: 80, 66 | size: 100, 67 | onPressed: () { 68 | setState(() { 69 | showfabFloatingWidget = !showfabFloatingWidget; 70 | }); 71 | switch (controller.status) { 72 | case AnimationStatus.completed: 73 | controller.forward(from: 1); 74 | break; 75 | 76 | case AnimationStatus.dismissed: 77 | controller.reverse(from: 1); 78 | break; 79 | default: 80 | } 81 | }), 82 | ), 83 | body: ListView( 84 | // mainAxisAlignment: MainAxisAlignment.center, 85 | children: [ 86 | const Padding( 87 | padding: EdgeInsets.only(left: 15, top: 20, bottom: 40), 88 | child: GFTypography( 89 | text: 'FAB Button as a Floating Widget', 90 | type: GFTypographyType.typo5, 91 | dividerWidth: 25, 92 | dividerColor: Color(0xFF19CA4B), 93 | ), 94 | ), 95 | showfabFloatingWidget 96 | ? SlideTransition( 97 | position: offset, 98 | child: Container( 99 | margin: const EdgeInsets.only(right: 35), 100 | alignment: Alignment.topRight, 101 | child: Column( 102 | children: [ 103 | GFButtonBar( 104 | alignment: WrapAlignment.end, 105 | direction: Axis.vertical, 106 | children: [ 107 | GFIconButton( 108 | icon: Icon(Icons.add), 109 | shape: GFIconButtonShape.circle, 110 | color: GFColors.INFO, 111 | onPressed: () {}), 112 | GFIconButton( 113 | icon: Icon(Icons.share), 114 | shape: GFIconButtonShape.circle, 115 | color: GFColors.SUCCESS, 116 | onPressed: () {}), 117 | GFIconButton( 118 | icon: Icon(Icons.message), 119 | shape: GFIconButtonShape.circle, 120 | color: GFColors.WARNING, 121 | onPressed: () {}), 122 | GFIconButton( 123 | icon: Icon(Icons.settings), 124 | shape: GFIconButtonShape.circle, 125 | color: GFColors.SECONDARY, 126 | onPressed: () {}), 127 | ], 128 | ) 129 | ], 130 | ), 131 | ), 132 | ) 133 | : Container(), 134 | ]))); 135 | } 136 | -------------------------------------------------------------------------------- /lib/screens/floating_widget/floating_widget.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:flutter/cupertino.dart'; 4 | import 'messenger_floating.dart'; 5 | 6 | class FloatingWidgetHome extends StatefulWidget { 7 | @override 8 | _FloatingWidgetHomeState createState() => _FloatingWidgetHomeState(); 9 | } 10 | 11 | class _FloatingWidgetHomeState extends State { 12 | bool showFloatingWidget = false; 13 | @override 14 | Widget build(BuildContext context) => Scaffold( 15 | appBar: AppBar( 16 | backgroundColor: GFColors.DARK, 17 | leading: InkWell( 18 | onTap: () { 19 | Navigator.pop(context); 20 | }, 21 | child: Icon( 22 | CupertinoIcons.back, 23 | color: GFColors.SUCCESS, 24 | ), 25 | ), 26 | title: const Text( 27 | 'Floating Widget', 28 | style: TextStyle(fontSize: 17), 29 | ), 30 | centerTitle: true, 31 | ), 32 | body: ListView( 33 | children: [ 34 | Container( 35 | height: 200, 36 | child: MessengerFloatingWidget(), 37 | ), 38 | // Container( 39 | // height: MediaQuery.of(context).size.height * 0.55, 40 | // child: FabFloatingWidget(), 41 | // ), 42 | ], 43 | ), 44 | ); 45 | } 46 | -------------------------------------------------------------------------------- /lib/screens/floating_widget/messenger_floating.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | 4 | class MessengerFloatingWidget extends StatefulWidget { 5 | @override 6 | _MessengerFloatingWidgetState createState() => 7 | _MessengerFloatingWidgetState(); 8 | } 9 | 10 | class _MessengerFloatingWidgetState extends State { 11 | bool showFloatingWidget = false; 12 | 13 | @override 14 | Widget build(BuildContext context) => Scaffold( 15 | body: GFFloatingWidget( 16 | verticalPosition: MediaQuery.of(context).size.height * 0.01, 17 | horizontalPosition: MediaQuery.of(context).size.width * 0.8, 18 | child: showFloatingWidget 19 | ? Column( 20 | children: const [ 21 | GFIconBadge( 22 | child: GFAvatar( 23 | size: GFSize.LARGE, 24 | backgroundImage: 25 | AssetImage('lib/assets/images/avatar5.png'), 26 | ), 27 | counterChild: GFBadge( 28 | text: '12', 29 | shape: GFBadgeShape.circle, 30 | )), 31 | ], 32 | ) 33 | : Container(), 34 | body: Container( 35 | height: MediaQuery.of(context).size.height, 36 | child: Column( 37 | children: [ 38 | const Padding( 39 | padding: EdgeInsets.only(left: 15, top: 20, bottom: 40), 40 | child: GFTypography( 41 | text: 'Avatar as a Floating Widget', 42 | type: GFTypographyType.typo5, 43 | dividerWidth: 25, 44 | dividerColor: Color(0xFF19CA4B), 45 | ), 46 | ), 47 | GFButton( 48 | onPressed: () { 49 | setState(() { 50 | showFloatingWidget = !showFloatingWidget; 51 | }); 52 | }, 53 | text: 'View Floating Widget', 54 | ), 55 | ], 56 | ), 57 | ), 58 | ), 59 | ); 60 | } 61 | -------------------------------------------------------------------------------- /lib/screens/intro-screen/fullwidth.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | 4 | class FullWidthIntro extends StatefulWidget { 5 | FullWidthIntro({Key? key}) : super(key: key); 6 | @override 7 | _FullWidthIntroState createState() => _FullWidthIntroState(); 8 | } 9 | 10 | class _FullWidthIntroState extends State { 11 | late PageController _pageController; 12 | List? slideList; 13 | late int initialPage; 14 | @override 15 | void initState() { 16 | _pageController = PageController(initialPage: 2); 17 | initialPage = _pageController.initialPage; 18 | super.initState(); 19 | } 20 | 21 | @override 22 | Widget build(BuildContext context) { 23 | return SafeArea( 24 | child: GFIntroScreen( 25 | // height: 500, 26 | // width: MediaQuery.of(context).size.width, 27 | color: Colors.blueGrey, 28 | // borderRadius: BorderRadius.circular(50), 29 | // border: Border.all(color: Colors.red, width: 5), 30 | slides: slides()!, 31 | pageController: _pageController, currentIndex: 0, pageCount: 5, 32 | // showIntroScreenBottomNavigationBar: false, 33 | // showIntroSCreenBottomNavigationBar: false, 34 | // introScreenBottomNavigationBar: false, 35 | introScreenBottomNavigationBar: GFIntroScreenBottomNavigationBar( 36 | pageController: _pageController, 37 | pageCount: slideList!.length, 38 | currentIndex: initialPage, 39 | // child: Text('dfghj'), 40 | 41 | onForwardButtonTap: () { 42 | // print('fffffff'); 43 | _pageController.nextPage( 44 | duration: const Duration(milliseconds: 500), 45 | curve: Curves.linear); 46 | }, 47 | onBackButtonTap: () { 48 | // print('kkkkkkkkk'); 49 | _pageController.previousPage( 50 | duration: const Duration(milliseconds: 500), 51 | curve: Curves.linear); 52 | }, 53 | // onDoneTap: (){ 54 | // print('done'); 55 | // }, 56 | // onSkipTap: (){ 57 | // print('skip'); 58 | // }, 59 | // backButtonTextStyle: TextStyle( 60 | // fontSize: 12 61 | // ), 62 | 63 | // backButton: GFButton(onPressed: null, child: Text('back'),), 64 | // forwardButton: GFButton(onPressed: null, child: Text('next'),), 65 | // skipButton: GFButton(onPressed: null, child: Text('skip'),), 66 | // doneButton: GFButton(onPressed: null, child: Text('done'),), 67 | 68 | // backButtonText: 'bbbb', 69 | // forwardButtonText: 'ffffff', 70 | // skipButtonText: 'ssssss', 71 | // doneButtonText: 'ddddddd', 72 | 73 | // navigationBarHeight: 100, 74 | // navigationBarWidth: 300, 75 | // navigationBarMargin: EdgeInsets.all(20), 76 | // navigationBarPadding: EdgeInsets.all(20), 77 | // navigationBarShape: RoundedRectangleBorder( 78 | // side: const BorderSide(color: Colors.blue, width: 4), 79 | // borderRadius: BorderRadius.circular(50), 80 | // ), 81 | navigationBarColor: Colors.white, 82 | 83 | showDivider: false, 84 | // dividerHeight: 2, 85 | // dividerThickness: 13, 86 | // dividerColor: GFColors.ALT, 87 | 88 | // dotHeight: 10, 89 | // dotWidth: 16, 90 | // dotShape: RoundedRectangleBorder( 91 | // side: BorderSide(color: Colors.red, width: 2), 92 | // borderRadius: BorderRadius.circular(5) 93 | // ), 94 | inactiveColor: Colors.grey[200]!, 95 | activeColor: GFColors.SUCCESS, 96 | // dotMargin: EdgeInsets.symmetric(horizontal: 6), 97 | 98 | // showButton: false, 99 | // showPagination: true, 100 | ), 101 | ), 102 | ); 103 | } 104 | 105 | List? slides() { 106 | slideList = [ 107 | Container( 108 | // color: Colors.teal, 109 | child: GFImageOverlay( 110 | width: MediaQuery.of(context).size.width, 111 | // margin: const EdgeInsets.all(16), 112 | padding: EdgeInsets.all(16), 113 | child: Row( 114 | crossAxisAlignment: CrossAxisAlignment.start, 115 | children: [ 116 | Padding( 117 | padding: const EdgeInsets.only(top: 70.0, left: 20), 118 | child: Text( 119 | 'Welcome!', 120 | style: TextStyle( 121 | color: Colors.white, 122 | decoration: TextDecoration.none, 123 | fontSize: 25), 124 | ), 125 | ), 126 | ], 127 | ), 128 | color: Colors.orange, 129 | image: const AssetImage('lib/assets/images/i1.png'), 130 | boxFit: BoxFit.cover, 131 | colorFilter: 132 | ColorFilter.mode(Colors.black.withOpacity(0.2), BlendMode.darken), 133 | borderRadius: BorderRadius.circular(5), 134 | ), 135 | ), 136 | Container( 137 | width: MediaQuery.of(context).size.width, 138 | height: MediaQuery.of(context).size.height, 139 | decoration: BoxDecoration( 140 | borderRadius: BorderRadius.circular(0), 141 | image: DecorationImage( 142 | image: AssetImage('lib/assets/images/i2.png'), 143 | fit: BoxFit.cover, 144 | colorFilter: ColorFilter.mode( 145 | Colors.black.withOpacity(0.2), BlendMode.darken), 146 | )), 147 | ), 148 | Container( 149 | width: MediaQuery.of(context).size.width, 150 | height: MediaQuery.of(context).size.height, 151 | decoration: BoxDecoration( 152 | // color: Colors.tealAccent, 153 | borderRadius: BorderRadius.circular(0), 154 | image: DecorationImage( 155 | image: AssetImage('lib/assets/images/i3.png'), 156 | fit: BoxFit.cover, 157 | colorFilter: ColorFilter.mode( 158 | Colors.black.withOpacity(0.2), BlendMode.darken), 159 | )), 160 | ), 161 | Container( 162 | width: MediaQuery.of(context).size.width, 163 | height: MediaQuery.of(context).size.height, 164 | decoration: BoxDecoration( 165 | // color: Colors.tealAccent, 166 | borderRadius: BorderRadius.circular(0), 167 | image: DecorationImage( 168 | image: AssetImage('lib/assets/images/i4.png'), 169 | fit: BoxFit.cover, 170 | colorFilter: ColorFilter.mode( 171 | Colors.black.withOpacity(0.2), BlendMode.darken), 172 | )), 173 | ), 174 | ]; 175 | return slideList; 176 | } 177 | } 178 | -------------------------------------------------------------------------------- /lib/screens/intro-screen/halfwidth.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | 4 | class HalfWidthIntro extends StatefulWidget { 5 | HalfWidthIntro({Key? key}) : super(key: key); 6 | @override 7 | _HalfWidthIntroState createState() => _HalfWidthIntroState(); 8 | } 9 | 10 | class _HalfWidthIntroState extends State { 11 | late PageController _pageController; 12 | List? slideList; 13 | late int initialPage; 14 | @override 15 | void initState() { 16 | _pageController = PageController(initialPage: 2); 17 | initialPage = _pageController.initialPage; 18 | super.initState(); 19 | } 20 | 21 | @override 22 | Widget build(BuildContext context) => Scaffold( 23 | backgroundColor: Colors.grey[200], 24 | body: SafeArea( 25 | child: GFIntroScreen( 26 | height: MediaQuery.of(context).size.height * 0.7, 27 | width: MediaQuery.of(context).size.width * 0.9, 28 | color: Colors.white, 29 | borderRadius: BorderRadius.circular(40), 30 | border: Border.all(color: Colors.grey[200]!), 31 | slides: slides()!, 32 | pageController: _pageController, 33 | // showIntroSCreenBottomNavigationBar: false, 34 | // introScreenBottomNavigationBar: false, 35 | introScreenBottomNavigationBar: GFIntroScreenBottomNavigationBar( 36 | pageController: _pageController, 37 | pageCount: slideList!.length, 38 | currentIndex: initialPage, 39 | 40 | // child: Text('dfghj'), 41 | // onForwardButtonTap: () { 42 | // // print('fffffff'); 43 | // _pageController.nextPage( 44 | // duration: const Duration(milliseconds: 500), 45 | // curve: Curves.linear); 46 | // }, 47 | // onBackButtonTap: () { 48 | // // print('kkkkkkkkk'); 49 | // _pageController.previousPage( 50 | // duration: const Duration(milliseconds: 500), 51 | // curve: Curves.linear); 52 | // }, 53 | // onDoneTap: (){ 54 | // print('done'); 55 | // }, 56 | // onSkipTap: (){ 57 | // print('skip'); 58 | // }, 59 | // backButtonTextStyle: TextStyle( 60 | // fontSize: 12 61 | // ), 62 | 63 | // backButton: GFButton(onPressed: null, child: Text('back'),), 64 | // forwardButton: GFButton(onPressed: null, child: Text('next'),), 65 | // skipButton: GFButton(onPressed: null, child: Text('skip'),), 66 | // doneButton: GFButton(onPressed: null, child: Text('done'),), 67 | 68 | backButtonText: 'Previous', 69 | forwardButtonText: 'Next', 70 | skipButtonText: 'Skip', 71 | doneButtonText: 'Done', 72 | 73 | navigationBarHeight: 50, 74 | navigationBarWidth: 300, 75 | // navigationBarMargin: EdgeInsets.all(20), 76 | // navigationBarPadding: EdgeInsets.all(20), 77 | navigationBarShape: RoundedRectangleBorder( 78 | side: const BorderSide(color: Colors.blue, width: 4), 79 | borderRadius: BorderRadius.circular(60), 80 | ), 81 | navigationBarColor: Colors.white, 82 | 83 | showDivider: false, 84 | // dividerHeight: 2, 85 | // dividerThickness: 13, 86 | // dividerColor: GFColors.ALT, 87 | 88 | dotHeight: 10, 89 | dotWidth: 16, 90 | dotShape: RoundedRectangleBorder( 91 | side: BorderSide(color: Colors.grey[200]!, width: 1), 92 | borderRadius: BorderRadius.circular(5)), 93 | inactiveColor: Colors.grey[200]!, 94 | activeColor: GFColors.SUCCESS, 95 | dotMargin: EdgeInsets.symmetric(horizontal: 6), 96 | 97 | // showButton: false, 98 | showPagination: true, 99 | ), 100 | currentIndex: 0, 101 | pageCount: 0, 102 | ), 103 | ), 104 | ); 105 | 106 | List? slides() { 107 | slideList = [ 108 | Container( 109 | // color: Colors.teal, 110 | child: GFImageOverlay( 111 | width: MediaQuery.of(context).size.width, 112 | // margin: const EdgeInsets.all(16), 113 | padding: EdgeInsets.all(16), 114 | child: Row( 115 | crossAxisAlignment: CrossAxisAlignment.start, 116 | children: [ 117 | Padding( 118 | padding: const EdgeInsets.only(top: 10.0, left: 20), 119 | child: Text( 120 | 'Welcome Back!', 121 | style: TextStyle( 122 | color: Colors.white, 123 | decoration: TextDecoration.none, 124 | fontSize: 25), 125 | ), 126 | ), 127 | ], 128 | ), 129 | color: Colors.orange, 130 | image: const AssetImage('lib/assets/images/i1.png'), 131 | boxFit: BoxFit.cover, 132 | colorFilter: 133 | ColorFilter.mode(Colors.black.withOpacity(0.2), BlendMode.darken), 134 | borderRadius: BorderRadius.only( 135 | topLeft: Radius.circular(40), topRight: Radius.circular(40)), 136 | ), 137 | ), 138 | Container( 139 | width: MediaQuery.of(context).size.width, 140 | height: MediaQuery.of(context).size.height, 141 | decoration: BoxDecoration( 142 | // color: Colors.blue, 143 | borderRadius: BorderRadius.only( 144 | topLeft: Radius.circular(40), topRight: Radius.circular(40)), 145 | image: DecorationImage( 146 | image: AssetImage('lib/assets/images/i2.png'), 147 | fit: BoxFit.fill, 148 | colorFilter: ColorFilter.mode( 149 | Colors.black.withOpacity(0.2), BlendMode.darken), 150 | )), 151 | ), 152 | Container( 153 | width: MediaQuery.of(context).size.width, 154 | height: MediaQuery.of(context).size.height, 155 | decoration: BoxDecoration( 156 | // color: Colors.red, 157 | borderRadius: BorderRadius.only( 158 | topLeft: Radius.circular(40), topRight: Radius.circular(40)), 159 | image: DecorationImage( 160 | image: AssetImage('lib/assets/images/i3.png'), 161 | fit: BoxFit.fill, 162 | colorFilter: ColorFilter.mode( 163 | Colors.black.withOpacity(0.2), BlendMode.darken), 164 | )), 165 | ), 166 | Container( 167 | width: MediaQuery.of(context).size.width, 168 | height: MediaQuery.of(context).size.height, 169 | decoration: BoxDecoration( 170 | // color: Colors.teal, 171 | borderRadius: BorderRadius.only( 172 | topLeft: Radius.circular(40), topRight: Radius.circular(40)), 173 | image: DecorationImage( 174 | image: AssetImage('lib/assets/images/i4.png'), 175 | fit: BoxFit.fill, 176 | colorFilter: ColorFilter.mode( 177 | Colors.black.withOpacity(0.2), BlendMode.darken), 178 | )), 179 | ), 180 | ]; 181 | return slideList; 182 | } 183 | } 184 | -------------------------------------------------------------------------------- /lib/screens/intro-screen/introscreen.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:flutter/cupertino.dart'; 4 | import 'package:gf_app/screens/intro-screen/fullwidth.dart'; 5 | import 'package:gf_app/screens/intro-screen/halfwidth.dart'; 6 | 7 | class Introscreen extends StatefulWidget { 8 | @override 9 | _IntroscreenState createState() => _IntroscreenState(); 10 | } 11 | 12 | class _IntroscreenState extends State 13 | with SingleTickerProviderStateMixin { 14 | @override 15 | void initState() { 16 | super.initState(); 17 | } 18 | 19 | @override 20 | Widget build(BuildContext context) => Scaffold( 21 | appBar: AppBar( 22 | backgroundColor: GFColors.DARK, 23 | leading: InkWell( 24 | onTap: () { 25 | Navigator.pop(context); 26 | }, 27 | child: Container( 28 | child: Icon( 29 | CupertinoIcons.back, 30 | color: GFColors.SUCCESS, 31 | ), 32 | )), 33 | title: const Text( 34 | 'Intro Screens', 35 | style: TextStyle(fontSize: 17), 36 | ), 37 | centerTitle: true, 38 | ), 39 | body: ListView( 40 | children: [ 41 | GestureDetector( 42 | onTap: () { 43 | Navigator.push( 44 | context, 45 | MaterialPageRoute( 46 | builder: (BuildContext context) => FullWidthIntro()), 47 | ); 48 | }, 49 | child: Container( 50 | margin: const EdgeInsets.only(left: 15, right: 15, top: 20), 51 | padding: const EdgeInsets.all(5), 52 | decoration: BoxDecoration( 53 | borderRadius: const BorderRadius.all(Radius.circular(7)), 54 | color: GFColors.DARK, 55 | boxShadow: [ 56 | BoxShadow( 57 | color: Colors.black.withOpacity(0.40), blurRadius: 5) 58 | ]), 59 | child: GFListTile( 60 | color: GFColors.DARK, 61 | title: const Text( 62 | 'Full Width', 63 | style: TextStyle(color: GFColors.WHITE), 64 | ), 65 | icon: Icon( 66 | CupertinoIcons.forward, 67 | color: GFColors.SUCCESS, 68 | )), 69 | )), 70 | GestureDetector( 71 | onTap: () { 72 | Navigator.push( 73 | context, 74 | MaterialPageRoute( 75 | builder: (BuildContext context) => HalfWidthIntro()), 76 | ); 77 | }, 78 | child: Container( 79 | margin: const EdgeInsets.only(left: 15, right: 15, top: 20), 80 | padding: const EdgeInsets.all(5), 81 | decoration: BoxDecoration( 82 | borderRadius: const BorderRadius.all(Radius.circular(7)), 83 | color: GFColors.DARK, 84 | boxShadow: [ 85 | BoxShadow( 86 | color: Colors.black.withOpacity(0.40), blurRadius: 5) 87 | ]), 88 | child: GFListTile( 89 | color: GFColors.DARK, 90 | title: const Text( 91 | 'Half ', 92 | style: TextStyle(color: GFColors.WHITE), 93 | ), 94 | icon: Icon( 95 | CupertinoIcons.forward, 96 | color: GFColors.SUCCESS, 97 | )), 98 | )), 99 | ], 100 | )); 101 | } 102 | -------------------------------------------------------------------------------- /lib/screens/progress_bar/progress_bar.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/cupertino.dart'; 2 | import 'package:flutter/material.dart'; 3 | import 'package:getwidget/getwidget.dart'; 4 | 5 | class ProgressBar extends StatefulWidget { 6 | @override 7 | _ProgressBarState createState() => _ProgressBarState(); 8 | } 9 | 10 | class _ProgressBarState extends State { 11 | @override 12 | Widget build(BuildContext context) => Scaffold( 13 | appBar: AppBar( 14 | backgroundColor: GFColors.DARK, 15 | leading: InkWell( 16 | onTap: () { 17 | Navigator.pop(context); 18 | }, 19 | child: Icon( 20 | CupertinoIcons.back, 21 | color: GFColors.SUCCESS, 22 | ), 23 | ), 24 | title: const Text( 25 | 'Progress Bar', 26 | style: TextStyle(fontSize: 17), 27 | ), 28 | centerTitle: true, 29 | ), 30 | body: ListView( 31 | children: [ 32 | const Padding( 33 | padding: EdgeInsets.only(left: 15, top: 30), 34 | child: GFTypography( 35 | text: 'Linear Progress Bars', 36 | type: GFTypographyType.typo5, 37 | dividerWidth: 25, 38 | dividerColor: Color(0xFF19CA4B), 39 | ), 40 | ), 41 | Container( 42 | margin: const EdgeInsets.only(left: 10, right: 10, top: 20), 43 | child: GFProgressBar( 44 | padding: const EdgeInsets.only(left: 15, right: 15), 45 | percentage: 0.8, 46 | lineHeight: 20, 47 | alignment: MainAxisAlignment.spaceBetween, 48 | isDragable: true, 49 | child: const Text( 50 | '80%', 51 | textAlign: TextAlign.end, 52 | style: TextStyle(fontSize: 16, color: Colors.white), 53 | ), 54 | leading: Icon( 55 | Icons.sentiment_dissatisfied, 56 | color: GFColors.DANGER, 57 | ), 58 | trailing: Icon( 59 | Icons.sentiment_satisfied, 60 | color: GFColors.SUCCESS, 61 | ), 62 | type: GFProgressType.linear, 63 | backgroundColor: Colors.black26, 64 | progressBarColor: GFColors.INFO, 65 | animation: true, 66 | animationDuration: 4000, 67 | 68 | // 69 | ), 70 | ), 71 | Container( 72 | margin: const EdgeInsets.only(top: 30), 73 | child: GFProgressBar( 74 | percentage: 0.5, 75 | lineHeight: 20, 76 | alignment: MainAxisAlignment.spaceBetween, 77 | isDragable: true, 78 | child: const Padding( 79 | padding: EdgeInsets.only(right: 5), 80 | child: Text( 81 | '50%', 82 | textAlign: TextAlign.end, 83 | style: TextStyle(fontSize: 16, color: Colors.white), 84 | ), 85 | ), 86 | // 87 | progressHeadType: GFProgressHeadType.square, 88 | backgroundColor: Colors.black26, 89 | progressBarColor: GFColors.WARNING, 90 | animation: true, 91 | animationDuration: 3000, 92 | ), 93 | ), 94 | Container( 95 | margin: const EdgeInsets.only(top: 30, left: 10, right: 10), 96 | child: GFProgressBar( 97 | percentage: 0.3, 98 | lineHeight: 20, 99 | isDragable: true, 100 | // progressHeadType: GFProgressHeadType.square, 101 | child: const Text( 102 | '30%', 103 | textAlign: TextAlign.end, 104 | style: TextStyle(fontSize: 16, color: Colors.white), 105 | ), 106 | backgroundColor: Colors.black26, 107 | progressBarColor: GFColors.DANGER, 108 | animation: true, 109 | animationDuration: 2000, 110 | ), 111 | ), 112 | const Padding( 113 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 50), 114 | child: GFTypography( 115 | text: 'Circular Progress Bars', 116 | type: GFTypographyType.typo5, 117 | dividerWidth: 25, 118 | dividerColor: Color(0xFF19CA4B), 119 | ), 120 | ), 121 | Container( 122 | child: GFProgressBar( 123 | // width: 300, 124 | width: 100, 125 | alignment: MainAxisAlignment.spaceBetween, 126 | radius: 90, 127 | percentage: 0.4, 128 | lineHeight: 20, 129 | circleWidth: 10, 130 | isDragable: true, 131 | child: const Text( 132 | '40%', 133 | textAlign: TextAlign.end, 134 | style: TextStyle( 135 | fontSize: 18, 136 | ), 137 | ), 138 | backgroundColor: Colors.black26, 139 | type: GFProgressType.circular, 140 | progressBarColor: GFColors.SECONDARY, 141 | animation: true, 142 | animationDuration: 2500, 143 | ), 144 | ), 145 | Container( 146 | margin: const EdgeInsets.only(top: 90), 147 | child: GFProgressBar( 148 | width: 100, 149 | circleStartAngle: 20, 150 | alignment: MainAxisAlignment.spaceEvenly, 151 | radius: 90, 152 | percentage: 0.9, 153 | lineHeight: 45, 154 | circleWidth: 10, 155 | isDragable: true, 156 | child: Column( 157 | children: [ 158 | const Text( 159 | '90%', 160 | textAlign: TextAlign.end, 161 | style: TextStyle(fontSize: 18), 162 | ), 163 | Icon( 164 | Icons.sentiment_very_satisfied, 165 | color: GFColors.SUCCESS, 166 | ) 167 | ], 168 | ), 169 | backgroundColor: Colors.black26, 170 | type: GFProgressType.circular, 171 | progressBarColor: GFColors.SUCCESS, 172 | progressHeadType: GFProgressHeadType.circular, 173 | animation: true, 174 | animationDuration: 2800, 175 | ), 176 | ), 177 | ], 178 | ), 179 | ); 180 | } 181 | -------------------------------------------------------------------------------- /lib/screens/radiolisttile/radiolisttile.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:flutter/cupertino.dart'; 4 | 5 | class RadioListTilePage extends StatefulWidget { 6 | @override 7 | _RadioListTilePageState createState() => _RadioListTilePageState(); 8 | } 9 | 10 | class _RadioListTilePageState extends State { 11 | int? groupValue = 0; 12 | 13 | @override 14 | Widget build(BuildContext context) => Scaffold( 15 | appBar: AppBar( 16 | backgroundColor: GFColors.DARK, 17 | leading: InkWell( 18 | onTap: () { 19 | Navigator.pop(context); 20 | }, 21 | child: Container( 22 | child: Icon( 23 | CupertinoIcons.back, 24 | color: GFColors.SUCCESS, 25 | ), 26 | )), 27 | title: const Text( 28 | 'RadioListTile', 29 | style: TextStyle(fontSize: 17), 30 | ), 31 | centerTitle: true, 32 | ), 33 | body: ListView( 34 | children: [ 35 | GFRadioListTile( 36 | titleText: 'Hello', 37 | subTitleText: 'Happy New Year', 38 | position: GFPosition.start, 39 | icon: GFAvatar( 40 | backgroundImage: AssetImage('lib/assets/images/img1.png'), 41 | ), 42 | size: 25, 43 | activeBorderColor: Colors.green, 44 | focusColor: Colors.green, 45 | type: GFRadioType.basic, 46 | value: 0, 47 | groupValue: groupValue, 48 | onChanged: (val) { 49 | setState(() { 50 | groupValue = val; 51 | }); 52 | }, 53 | // inactiveIcon: null, 54 | ), 55 | GFRadioListTile( 56 | titleText: 'Hello', 57 | subTitleText: 'Happy New Year', 58 | avatar: GFAvatar( 59 | backgroundImage: AssetImage('lib/assets/images/img2.png'), 60 | ), 61 | size: 25, 62 | activeBorderColor: Colors.green, 63 | focusColor: Colors.green, 64 | type: GFRadioType.square, 65 | value: 1, 66 | groupValue: groupValue, 67 | onChanged: (val) { 68 | setState(() { 69 | groupValue = val; 70 | }); 71 | }, 72 | // inactiveIcon: null, 73 | ), 74 | ], 75 | ), 76 | ); 77 | } 78 | -------------------------------------------------------------------------------- /lib/screens/rating/rating.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter/cupertino.dart'; 3 | import 'package:getwidget/getwidget.dart'; 4 | 5 | class RatingPage extends StatefulWidget { 6 | @override 7 | _RatingPageState createState() => _RatingPageState(); 8 | } 9 | 10 | class _RatingPageState extends State { 11 | final _ratingController = TextEditingController(); 12 | final _customController = TextEditingController(); 13 | double _userRating = 4.5; 14 | double _rating = 3; 15 | double _customrating = 2; 16 | double _iconRating = 2; 17 | @override 18 | Widget build(BuildContext context) => Scaffold( 19 | appBar: AppBar( 20 | backgroundColor: GFColors.DARK, 21 | leading: InkWell( 22 | onTap: () { 23 | Navigator.pop(context); 24 | }, 25 | child: Icon( 26 | CupertinoIcons.back, 27 | color: GFColors.SUCCESS, 28 | ), 29 | ), 30 | title: const Text( 31 | 'Rating', 32 | style: TextStyle(fontSize: 17), 33 | ), 34 | centerTitle: true, 35 | ), 36 | body: ListView( 37 | children: [ 38 | const Padding( 39 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 40 | child: GFTypography( 41 | text: 'Basic Rating', 42 | type: GFTypographyType.typo5, 43 | dividerWidth: 25, 44 | dividerColor: Color(0xFF19CA4B), 45 | ), 46 | ), 47 | GFRating( 48 | color: GFColors.SUCCESS, 49 | borderColor: GFColors.SUCCESS, 50 | value: _rating, 51 | onChanged: (value) { 52 | setState(() { 53 | _rating = value; 54 | }); 55 | }, 56 | ), 57 | const Padding( 58 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 59 | child: GFTypography( 60 | text: 'Rating with Icons', 61 | type: GFTypographyType.typo5, 62 | dividerWidth: 25, 63 | dividerColor: Color(0xFF19CA4B), 64 | ), 65 | ), 66 | GFRating( 67 | color: GFColors.SUCCESS, 68 | borderColor: GFColors.SUCCESS, 69 | filledIcon: Icon( 70 | Icons.check, 71 | color: GFColors.DANGER, 72 | ), 73 | size: GFSize.SMALL, 74 | value: _iconRating, 75 | onChanged: (value) { 76 | setState(() { 77 | _iconRating = value; 78 | }); 79 | }, 80 | ), 81 | const Padding( 82 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 83 | child: GFTypography( 84 | text: 'Rating using Text Field', 85 | type: GFTypographyType.typo5, 86 | dividerWidth: 25, 87 | dividerColor: Color(0xFF19CA4B), 88 | ), 89 | ), 90 | GFRating( 91 | color: GFColors.SUCCESS, 92 | borderColor: GFColors.SUCCESS, 93 | value: _userRating, 94 | showTextForm: true, 95 | filledIcon: Icon( 96 | Icons.favorite, 97 | color: GFColors.DANGER, 98 | ), 99 | defaultIcon: Icon(Icons.favorite_border, color: GFColors.DANGER), 100 | size: GFSize.SMALL, 101 | halfFilledIcon: Icon( 102 | Icons.favorite, 103 | color: Colors.amber, 104 | ), 105 | allowHalfRating: true, 106 | controller: _ratingController, 107 | suffixIcon: GFButton( 108 | type: GFButtonType.transparent, 109 | onPressed: () { 110 | setState(() { 111 | _userRating = double.parse(_ratingController.text); 112 | }); 113 | }, 114 | child: const Text('Rate'), 115 | ), 116 | onChanged: (double rating) {}, 117 | ), 118 | const Padding( 119 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 120 | child: GFTypography( 121 | text: 'Custom Rating', 122 | type: GFTypographyType.typo5, 123 | dividerWidth: 25, 124 | dividerColor: Color(0xFF19CA4B), 125 | ), 126 | ), 127 | GFRating( 128 | color: GFColors.DANGER, 129 | borderColor: GFColors.DANGER, 130 | value: _customrating, 131 | showTextForm: true, 132 | halfFilledIcon: Icon( 133 | Icons.star_half, 134 | ), 135 | allowHalfRating: true, 136 | filledIcon: Icon(Icons.insert_emoticon), 137 | itemCount: 6, 138 | size: GFSize.SMALL, 139 | controller: _customController, 140 | suffixIcon: GFButton( 141 | type: GFButtonType.transparent, 142 | onPressed: () { 143 | setState(() { 144 | _customrating = double.parse(_customController.text); 145 | }); 146 | }, 147 | child: Icon(Icons.insert_emoticon), 148 | ), 149 | onChanged: (double rating) {}, 150 | ), 151 | const SizedBox( 152 | height: 20, 153 | ) 154 | ], 155 | )); 156 | } 157 | -------------------------------------------------------------------------------- /lib/screens/searchbar/seachbar.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:flutter/cupertino.dart'; 4 | 5 | class SearchbarPage extends StatefulWidget { 6 | @override 7 | _SearchbarPageState createState() => _SearchbarPageState(); 8 | } 9 | 10 | class _SearchbarPageState extends State { 11 | List list = [ 12 | 'Flutter', 13 | 'React', 14 | 'Ionic', 15 | 'Xamarin', 16 | 'Flutter2', 17 | 'React2', 18 | 'Ionic2', 19 | 'Xamarin2', 20 | ]; 21 | @override 22 | Widget build(BuildContext context) => Scaffold( 23 | appBar: GFAppBar( 24 | backgroundColor: GFColors.DARK, 25 | leading: InkWell( 26 | onTap: () { 27 | Navigator.pop(context); 28 | }, 29 | child: Container( 30 | child: Icon( 31 | CupertinoIcons.back, 32 | color: GFColors.SUCCESS, 33 | ), 34 | )), 35 | title: const Text( 36 | 'SearchBar', 37 | style: TextStyle(fontSize: 17), 38 | ), 39 | centerTitle: true, 40 | ), 41 | body: ListView( 42 | physics: const ScrollPhysics(), 43 | children: [ 44 | const Padding( 45 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 46 | child: GFTypography( 47 | text: 'Basic SearchBar', 48 | type: GFTypographyType.typo5, 49 | dividerWidth: 25, 50 | dividerColor: Color(0xFF19CA4B), 51 | ), 52 | ), 53 | GFSearchBar( 54 | searchList: list, 55 | searchQueryBuilder: (query, list) => list 56 | .where((item) { 57 | return item!.toString().toLowerCase().contains(query.toLowerCase()); 58 | }) 59 | .toList(), 60 | overlaySearchListItemBuilder: (dynamic item) => Container( 61 | padding: const EdgeInsets.all(8), 62 | child: Text( 63 | item, 64 | style: const TextStyle(fontSize: 18), 65 | ), 66 | ), 67 | onItemSelected: (dynamic item) { 68 | setState(() { 69 | print('$item'); 70 | }); 71 | }), 72 | const Padding( 73 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 74 | child: GFTypography( 75 | text: 'Customised SearchBar', 76 | type: GFTypographyType.typo5, 77 | dividerWidth: 25, 78 | dividerColor: Color(0xFF19CA4B), 79 | ), 80 | ), 81 | GFSearchBar( 82 | searchBoxInputDecoration: InputDecoration( 83 | labelText: 'Type Here', 84 | labelStyle: const TextStyle(color: Colors.black26), 85 | focusedBorder: OutlineInputBorder( 86 | borderSide: const BorderSide(color: Colors.greenAccent), 87 | borderRadius: BorderRadius.circular(25), 88 | ), 89 | prefixIcon: Icon( 90 | Icons.search, 91 | color: Colors.black26, 92 | ), 93 | enabledBorder: OutlineInputBorder( 94 | borderSide: BorderSide(color: Colors.black12), 95 | borderRadius: BorderRadius.circular(50)), 96 | ), 97 | searchList: list, 98 | searchQueryBuilder: (query, list) => list 99 | .where((item) { 100 | return item!.toString().toLowerCase().contains(query.toLowerCase()); 101 | }) 102 | .toList(), 103 | overlaySearchListItemBuilder: (dynamic item) => Container( 104 | padding: const EdgeInsets.all(8), 105 | child: Text( 106 | item, 107 | style: const TextStyle(fontSize: 18), 108 | ), 109 | ), 110 | onItemSelected: (dynamic item) { 111 | setState(() { 112 | print('$item'); 113 | }); 114 | }), 115 | ], 116 | ), 117 | ); 118 | } 119 | -------------------------------------------------------------------------------- /lib/screens/shimmer/shimmer.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter/cupertino.dart'; 3 | import 'package:getwidget/getwidget.dart'; 4 | 5 | class ShimmerPage extends StatefulWidget { 6 | @override 7 | _ShimmerPageState createState() => _ShimmerPageState(); 8 | } 9 | 10 | class _ShimmerPageState extends State { 11 | @override 12 | Widget build(BuildContext context) => Scaffold( 13 | appBar: AppBar( 14 | backgroundColor: GFColors.DARK, 15 | leading: InkWell( 16 | onTap: () { 17 | Navigator.pop(context); 18 | }, 19 | child: Icon( 20 | CupertinoIcons.back, 21 | color: GFColors.SUCCESS, 22 | ), 23 | ), 24 | title: const Text( 25 | 'Shimmer', 26 | style: TextStyle(fontSize: 17), 27 | ), 28 | centerTitle: true, 29 | ), 30 | body: Column(children: [ 31 | const Padding( 32 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 20), 33 | child: GFTypography( 34 | text: 'Basic Shimmer Effect', 35 | type: GFTypographyType.typo5, 36 | dividerWidth: 25, 37 | dividerColor: Color(0xFF19CA4B), 38 | ), 39 | ), 40 | GFShimmer( 41 | mainColor: GFColors.DARK.withOpacity(0.22), 42 | child: Padding( 43 | padding: const EdgeInsets.symmetric(horizontal: 16), 44 | child: Row( 45 | crossAxisAlignment: CrossAxisAlignment.start, 46 | children: [ 47 | Container( 48 | width: 80, 49 | height: 80, 50 | color: Colors.white, 51 | ), 52 | const Padding( 53 | padding: EdgeInsets.symmetric(horizontal: 6), 54 | ), 55 | Expanded( 56 | child: Column( 57 | crossAxisAlignment: CrossAxisAlignment.start, 58 | children: [ 59 | Container( 60 | width: double.infinity, 61 | height: 12, 62 | color: Colors.white, 63 | ), 64 | const Padding( 65 | padding: EdgeInsets.symmetric(vertical: 2), 66 | ), 67 | Container( 68 | width: MediaQuery.of(context).size.width * 0.5, 69 | height: 12, 70 | color: Colors.white, 71 | ), 72 | const Padding( 73 | padding: EdgeInsets.symmetric(vertical: 2), 74 | ), 75 | Container( 76 | width: MediaQuery.of(context).size.width * 0.25, 77 | height: 12, 78 | color: Colors.white, 79 | ), 80 | ], 81 | ), 82 | ) 83 | ], 84 | ), 85 | ), 86 | ), 87 | const Padding( 88 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 20), 89 | child: GFTypography( 90 | text: 'Shimmer Effect on Text', 91 | type: GFTypographyType.typo5, 92 | dividerWidth: 25, 93 | dividerColor: Color(0xFF19CA4B), 94 | ), 95 | ), 96 | GFShimmer( 97 | child: Row(mainAxisAlignment: MainAxisAlignment.center, children: [ 98 | const Text( 99 | 'Hurray!! Order Placed', 100 | style: TextStyle(fontSize: 25, fontWeight: FontWeight.w700), 101 | ), 102 | const SizedBox(width: 5), 103 | Icon(Icons.sentiment_very_satisfied), 104 | ]), 105 | direction: GFShimmerDirection.rightToLeft, 106 | showGradient: true, 107 | gradient: LinearGradient( 108 | begin: Alignment.bottomRight, 109 | end: Alignment.centerLeft, 110 | stops: const [0, 0.3, 0.6, 0.9, 1], 111 | colors: const [ 112 | GFColors.DANGER, 113 | GFColors.PRIMARY, 114 | GFColors.WARNING, 115 | GFColors.SECONDARY, 116 | Colors.red, 117 | ], 118 | ), 119 | ), 120 | ])); 121 | } 122 | -------------------------------------------------------------------------------- /lib/screens/sticky_header/sticky_types.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:flutter/cupertino.dart'; 4 | import 'package:gf_app/screens/sticky_header/customstickyheader.dart'; 5 | import 'package:gf_app/screens/sticky_header/stickyheader.dart'; 6 | 7 | class StickyTypes extends StatefulWidget { 8 | @override 9 | _StickyTypesState createState() => _StickyTypesState(); 10 | } 11 | 12 | class _StickyTypesState extends State 13 | with SingleTickerProviderStateMixin { 14 | @override 15 | void initState() { 16 | super.initState(); 17 | } 18 | 19 | @override 20 | Widget build(BuildContext context) => Scaffold( 21 | appBar: AppBar( 22 | backgroundColor: GFColors.DARK, 23 | leading: InkWell( 24 | onTap: () { 25 | Navigator.pop(context); 26 | }, 27 | child: Container( 28 | child: Icon( 29 | CupertinoIcons.back, 30 | color: GFColors.SUCCESS, 31 | ), 32 | )), 33 | title: const Text( 34 | 'Sticky Header', 35 | style: TextStyle(fontSize: 17), 36 | ), 37 | centerTitle: true, 38 | ), 39 | body: ListView( 40 | children: [ 41 | GestureDetector( 42 | onTap: () { 43 | Navigator.push( 44 | context, 45 | MaterialPageRoute( 46 | builder: (BuildContext context) => StickyHeader()), 47 | ); 48 | }, 49 | child: Container( 50 | margin: const EdgeInsets.only(left: 15, right: 15, top: 20), 51 | padding: const EdgeInsets.all(5), 52 | decoration: BoxDecoration( 53 | borderRadius: const BorderRadius.all(Radius.circular(7)), 54 | color: GFColors.DARK, 55 | boxShadow: [ 56 | BoxShadow( 57 | color: Colors.black.withOpacity(0.40), blurRadius: 5) 58 | ]), 59 | child: GFListTile( 60 | color: GFColors.DARK, 61 | title: const Text( 62 | 'Basic', 63 | style: TextStyle(color: GFColors.WHITE), 64 | ), 65 | icon: Icon( 66 | CupertinoIcons.forward, 67 | color: GFColors.SUCCESS, 68 | )), 69 | )), 70 | GestureDetector( 71 | onTap: () { 72 | Navigator.push( 73 | context, 74 | MaterialPageRoute( 75 | builder: (BuildContext context) => CustomStickyHeader()), 76 | ); 77 | }, 78 | child: Container( 79 | margin: const EdgeInsets.only(left: 15, right: 15, top: 20), 80 | padding: const EdgeInsets.all(5), 81 | decoration: BoxDecoration( 82 | borderRadius: const BorderRadius.all(Radius.circular(7)), 83 | color: GFColors.DARK, 84 | boxShadow: [ 85 | BoxShadow( 86 | color: Colors.black.withOpacity(0.40), blurRadius: 5) 87 | ]), 88 | child: GFListTile( 89 | color: GFColors.DARK, 90 | title: const Text( 91 | 'Customized ', 92 | style: TextStyle(color: GFColors.WHITE), 93 | ), 94 | icon: Icon( 95 | CupertinoIcons.forward, 96 | color: GFColors.SUCCESS, 97 | )), 98 | )), 99 | ], 100 | )); 101 | } 102 | -------------------------------------------------------------------------------- /lib/screens/tabs/bottom_label_tab.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:flutter/cupertino.dart'; 4 | 5 | class BottomLabelTab extends StatefulWidget { 6 | @override 7 | _BottomLabelTabState createState() => _BottomLabelTabState(); 8 | } 9 | 10 | class _BottomLabelTabState extends State 11 | with SingleTickerProviderStateMixin { 12 | TabController? tabController; 13 | 14 | @override 15 | void initState() { 16 | super.initState(); 17 | tabController = TabController(length: 4, vsync: this); 18 | } 19 | 20 | @override 21 | void dispose() { 22 | tabController!.dispose(); 23 | super.dispose(); 24 | } 25 | 26 | @override 27 | Widget build(BuildContext context) => Scaffold( 28 | appBar: AppBar( 29 | backgroundColor: GFColors.DARK, 30 | leading: InkWell( 31 | onTap: () { 32 | Navigator.pop(context); 33 | }, 34 | child: Icon( 35 | CupertinoIcons.back, 36 | color: GFColors.SUCCESS, 37 | ), 38 | ), 39 | title: const Text( 40 | 'Bottom Labeled Tabs', 41 | style: TextStyle(fontSize: 17), 42 | ), 43 | centerTitle: true, 44 | ), 45 | body: Container( 46 | height: MediaQuery.of(context).size.height, 47 | child: GFTabBarView( 48 | controller: tabController, 49 | children: [ 50 | Center( 51 | child: Icon( 52 | Icons.home, 53 | size: 150, 54 | color: Colors.grey.withOpacity(0.44), 55 | ), 56 | ), 57 | Center( 58 | child: Icon( 59 | Icons.music_note, 60 | size: 150, 61 | color: Colors.grey.withOpacity(0.44), 62 | ), 63 | ), 64 | Center( 65 | child: Icon( 66 | Icons.games, 67 | size: 150, 68 | color: Colors.grey.withOpacity(0.44), 69 | ), 70 | ), 71 | Center( 72 | child: Icon( 73 | Icons.notifications, 74 | size: 150, 75 | color: Colors.grey.withOpacity(0.44), 76 | ), 77 | ) 78 | ], 79 | )), 80 | bottomNavigationBar: Container( 81 | child: GFTabBar( 82 | length: 1, 83 | controller: tabController, 84 | tabs: [ 85 | Column( 86 | mainAxisAlignment: MainAxisAlignment.center, 87 | children: [ 88 | Icon( 89 | Icons.home, 90 | ), 91 | const Text( 92 | 'Home', 93 | style: TextStyle( 94 | fontSize: 10, 95 | ), 96 | ) 97 | ], 98 | ), 99 | Column( 100 | mainAxisAlignment: MainAxisAlignment.center, 101 | children: [ 102 | Icon( 103 | Icons.music_note, 104 | ), 105 | const Text( 106 | 'Music', 107 | style: TextStyle( 108 | fontSize: 10, 109 | ), 110 | ) 111 | ], 112 | ), 113 | Column( 114 | mainAxisAlignment: MainAxisAlignment.center, 115 | children: [ 116 | Icon( 117 | Icons.games, 118 | ), 119 | const Text( 120 | 'Games', 121 | style: TextStyle( 122 | fontSize: 10, 123 | ), 124 | ) 125 | ], 126 | ), 127 | Column( 128 | mainAxisAlignment: MainAxisAlignment.center, 129 | children: [ 130 | Icon( 131 | Icons.notifications, 132 | ), 133 | const Text( 134 | 'Notifications', 135 | style: TextStyle( 136 | fontSize: 10, 137 | ), 138 | ) 139 | ], 140 | ), 141 | ], 142 | indicatorColor: GFColors.SUCCESS, 143 | labelColor: GFColors.SUCCESS, 144 | labelPadding: const EdgeInsets.all(8), 145 | tabBarColor: GFColors.DARK, 146 | unselectedLabelColor: GFColors.WHITE, 147 | labelStyle: const TextStyle( 148 | fontWeight: FontWeight.w500, 149 | fontSize: 13, 150 | color: Colors.white, 151 | fontFamily: 'OpenSansBold', 152 | ), 153 | unselectedLabelStyle: const TextStyle( 154 | fontWeight: FontWeight.w500, 155 | fontSize: 13, 156 | color: Colors.black, 157 | fontFamily: 'OpenSansBold', 158 | ), 159 | ), 160 | ), 161 | ); 162 | } 163 | -------------------------------------------------------------------------------- /lib/screens/tabs/botton_icon_tab.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:flutter/cupertino.dart'; 4 | 5 | class BottomIconTab extends StatefulWidget { 6 | @override 7 | _BottomIconTabState createState() => _BottomIconTabState(); 8 | } 9 | 10 | class _BottomIconTabState extends State 11 | with SingleTickerProviderStateMixin { 12 | TabController? tabController; 13 | 14 | @override 15 | void initState() { 16 | super.initState(); 17 | tabController = TabController(length: 4, vsync: this); 18 | } 19 | 20 | @override 21 | void dispose() { 22 | tabController!.dispose(); 23 | super.dispose(); 24 | } 25 | 26 | @override 27 | Widget build(BuildContext context) => Scaffold( 28 | appBar: AppBar( 29 | backgroundColor: GFColors.DARK, 30 | leading: InkWell( 31 | onTap: () { 32 | Navigator.pop(context); 33 | }, 34 | child: Icon( 35 | CupertinoIcons.back, 36 | color: GFColors.SUCCESS, 37 | ), 38 | ), 39 | title: const Text( 40 | 'Bottom Icon Tabs', 41 | style: TextStyle(fontSize: 17), 42 | ), 43 | centerTitle: true, 44 | ), 45 | body: Container( 46 | height: MediaQuery.of(context).size.height, 47 | child: GFTabBarView( 48 | controller: tabController, 49 | children: [ 50 | Center( 51 | child: Icon( 52 | Icons.home, 53 | size: 150, 54 | color: Colors.grey.withOpacity(0.44), 55 | ), 56 | ), 57 | Center( 58 | child: Icon( 59 | Icons.music_note, 60 | size: 150, 61 | color: Colors.grey.withOpacity(0.44), 62 | ), 63 | ), 64 | Center( 65 | child: Icon( 66 | Icons.games, 67 | size: 150, 68 | color: Colors.grey.withOpacity(0.44), 69 | ), 70 | ), 71 | Center( 72 | child: Icon( 73 | Icons.notifications, 74 | size: 150, 75 | color: Colors.grey.withOpacity(0.44), 76 | ), 77 | ) 78 | ], 79 | )), 80 | bottomNavigationBar: Container( 81 | child: GFTabBar( 82 | length: 1, 83 | controller: tabController, 84 | tabs: [ 85 | Icon( 86 | Icons.home, 87 | ), 88 | Icon( 89 | Icons.music_note, 90 | ), 91 | Icon( 92 | Icons.games, 93 | ), 94 | Icon( 95 | Icons.notifications, 96 | ), 97 | ], 98 | indicatorColor: GFColors.SUCCESS, 99 | labelColor: GFColors.SUCCESS, 100 | labelPadding: const EdgeInsets.all(8), 101 | tabBarColor: GFColors.DARK, 102 | unselectedLabelColor: GFColors.WHITE, 103 | labelStyle: const TextStyle( 104 | fontWeight: FontWeight.w500, 105 | fontSize: 13, 106 | color: Colors.white, 107 | fontFamily: 'OpenSansBold', 108 | ), 109 | unselectedLabelStyle: const TextStyle( 110 | fontWeight: FontWeight.w500, 111 | fontSize: 13, 112 | color: Colors.black, 113 | fontFamily: 'OpenSansBold', 114 | ), 115 | ), 116 | ), 117 | ); 118 | } 119 | -------------------------------------------------------------------------------- /lib/screens/tabs/icon_tabs.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:flutter/cupertino.dart'; 4 | 5 | class IconTabs extends StatefulWidget { 6 | @override 7 | _IconTabsState createState() => _IconTabsState(); 8 | } 9 | 10 | class _IconTabsState extends State 11 | with SingleTickerProviderStateMixin { 12 | TabController? tabController; 13 | 14 | @override 15 | void initState() { 16 | super.initState(); 17 | tabController = TabController(length: 4, vsync: this); 18 | } 19 | 20 | @override 21 | void dispose() { 22 | tabController!.dispose(); 23 | super.dispose(); 24 | } 25 | 26 | @override 27 | Widget build(BuildContext context) => Scaffold( 28 | appBar: GFAppBar( 29 | backgroundColor: GFColors.DARK, 30 | leading: InkWell( 31 | onTap: () { 32 | Navigator.pop(context); 33 | }, 34 | child: Container( 35 | child: Icon( 36 | CupertinoIcons.back, 37 | color: GFColors.SUCCESS, 38 | ), 39 | )), 40 | title: const Text( 41 | 'Icon Tabs', 42 | style: TextStyle(fontSize: 17), 43 | ), 44 | centerTitle: true, 45 | ), 46 | body: ListView( 47 | children: [ 48 | GFTabBar( 49 | length: 4, 50 | controller: tabController, 51 | tabs: [ 52 | Icon( 53 | Icons.home, 54 | ), 55 | Icon( 56 | Icons.music_note, 57 | ), 58 | Icon( 59 | Icons.games, 60 | ), 61 | Icon( 62 | Icons.notifications, 63 | ), 64 | ], 65 | indicatorColor: Colors.teal, 66 | labelColor: GFColors.SUCCESS, 67 | labelPadding: const EdgeInsets.all(8), 68 | tabBarColor: GFColors.WHITE, 69 | unselectedLabelColor: GFColors.LIGHT, 70 | labelStyle: const TextStyle( 71 | fontWeight: FontWeight.w500, 72 | fontSize: 13, 73 | color: Colors.white, 74 | fontFamily: 'OpenSansBold', 75 | ), 76 | unselectedLabelStyle: const TextStyle( 77 | fontWeight: FontWeight.w500, 78 | fontSize: 13, 79 | color: Colors.black, 80 | fontFamily: 'OpenSansBold', 81 | ), 82 | ), 83 | Container( 84 | height: MediaQuery.of(context).size.height - 159, 85 | child: GFTabBarView( 86 | controller: tabController, 87 | children: [ 88 | Center( 89 | child: Icon( 90 | Icons.home, 91 | size: 150, 92 | color: Colors.grey.withOpacity(0.44), 93 | ), 94 | ), 95 | Center( 96 | child: Icon( 97 | Icons.music_note, 98 | size: 150, 99 | color: Colors.grey.withOpacity(0.44), 100 | ), 101 | ), 102 | Center( 103 | child: Icon( 104 | Icons.games, 105 | size: 150, 106 | color: Colors.grey.withOpacity(0.44), 107 | ), 108 | ), 109 | Center( 110 | child: Icon( 111 | Icons.notifications, 112 | size: 150, 113 | color: Colors.grey.withOpacity(0.44), 114 | ), 115 | ) 116 | ], 117 | ), 118 | ) 119 | ], 120 | ), 121 | ); 122 | } 123 | -------------------------------------------------------------------------------- /lib/screens/tabs/labeled_tabs.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:flutter/cupertino.dart'; 4 | 5 | class LabeledTabs extends StatefulWidget { 6 | @override 7 | _LabeledTabsState createState() => _LabeledTabsState(); 8 | } 9 | 10 | class _LabeledTabsState extends State 11 | with SingleTickerProviderStateMixin { 12 | TabController? tabController; 13 | 14 | @override 15 | void initState() { 16 | super.initState(); 17 | tabController = TabController(length: 4, vsync: this); 18 | } 19 | 20 | @override 21 | void dispose() { 22 | tabController!.dispose(); 23 | super.dispose(); 24 | } 25 | 26 | @override 27 | Widget build(BuildContext context) => Scaffold( 28 | appBar: GFAppBar( 29 | backgroundColor: GFColors.DARK, 30 | leading: InkWell( 31 | onTap: () { 32 | Navigator.pop(context); 33 | }, 34 | child: Container( 35 | child: Icon( 36 | CupertinoIcons.back, 37 | color: GFColors.SUCCESS, 38 | ), 39 | )), 40 | title: const Text( 41 | 'Labeled Tabs', 42 | style: TextStyle(fontSize: 17), 43 | ), 44 | centerTitle: true, 45 | ), 46 | body: ListView( 47 | children: [ 48 | GFTabBar( 49 | length: 4, 50 | controller: tabController, 51 | tabs: [ 52 | Column( 53 | mainAxisAlignment: MainAxisAlignment.center, 54 | children: [ 55 | Icon( 56 | Icons.home, 57 | ), 58 | const Text( 59 | 'Home', 60 | style: TextStyle( 61 | fontSize: 10, 62 | ), 63 | ) 64 | ], 65 | ), 66 | Column( 67 | mainAxisAlignment: MainAxisAlignment.center, 68 | children: [ 69 | Icon( 70 | Icons.music_note, 71 | ), 72 | const Text( 73 | 'Music', 74 | style: TextStyle( 75 | fontSize: 10, 76 | ), 77 | ) 78 | ], 79 | ), 80 | Column( 81 | mainAxisAlignment: MainAxisAlignment.center, 82 | children: [ 83 | Icon( 84 | Icons.games, 85 | ), 86 | const Text( 87 | 'Games', 88 | style: TextStyle( 89 | fontSize: 10, 90 | ), 91 | ) 92 | ], 93 | ), 94 | Column( 95 | mainAxisAlignment: MainAxisAlignment.center, 96 | children: [ 97 | Icon( 98 | Icons.notifications, 99 | ), 100 | const Text( 101 | 'Notifications', 102 | style: TextStyle( 103 | fontSize: 10, 104 | ), 105 | ) 106 | ], 107 | ), 108 | ], 109 | indicatorColor: Colors.teal, 110 | labelColor: GFColors.SUCCESS, 111 | labelPadding: const EdgeInsets.all(8), 112 | tabBarColor: GFColors.WHITE, 113 | unselectedLabelColor: GFColors.LIGHT, 114 | labelStyle: const TextStyle( 115 | fontWeight: FontWeight.w500, 116 | fontSize: 13, 117 | color: Colors.white, 118 | fontFamily: 'OpenSansBold', 119 | ), 120 | unselectedLabelStyle: const TextStyle( 121 | fontWeight: FontWeight.w500, 122 | fontSize: 13, 123 | color: Colors.black, 124 | fontFamily: 'OpenSansBold', 125 | ), 126 | ), 127 | Container( 128 | height: MediaQuery.of(context).size.height - 159, 129 | child: GFTabBarView( 130 | controller: tabController, 131 | children: [ 132 | Center( 133 | child: Icon( 134 | Icons.home, 135 | size: 150, 136 | color: Colors.grey.withOpacity(0.44), 137 | ), 138 | ), 139 | Center( 140 | child: Icon( 141 | Icons.music_note, 142 | size: 150, 143 | color: Colors.grey.withOpacity(0.44), 144 | ), 145 | ), 146 | Center( 147 | child: Icon( 148 | Icons.games, 149 | size: 150, 150 | color: Colors.grey.withOpacity(0.44), 151 | ), 152 | ), 153 | Center( 154 | child: Icon( 155 | Icons.notifications, 156 | size: 150, 157 | color: Colors.grey.withOpacity(0.44), 158 | ), 159 | ) 160 | ], 161 | ), 162 | ) 163 | ], 164 | ), 165 | ); 166 | } 167 | -------------------------------------------------------------------------------- /lib/screens/tabs/segment_tabs.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:flutter/cupertino.dart'; 4 | 5 | class SegmentTabsPage extends StatefulWidget { 6 | @override 7 | _SegmentTabsPageState createState() => _SegmentTabsPageState(); 8 | } 9 | 10 | class _SegmentTabsPageState extends State 11 | with SingleTickerProviderStateMixin { 12 | TabController? tabController; 13 | 14 | @override 15 | void initState() { 16 | super.initState(); 17 | tabController = TabController(length: 3, vsync: this); 18 | } 19 | 20 | @override 21 | void dispose() { 22 | tabController!.dispose(); 23 | super.dispose(); 24 | } 25 | 26 | @override 27 | Widget build(BuildContext context) => Scaffold( 28 | appBar: GFAppBar( 29 | backgroundColor: GFColors.DARK, 30 | leading: InkWell( 31 | onTap: () { 32 | Navigator.pop(context); 33 | }, 34 | child: Container( 35 | child: Icon( 36 | CupertinoIcons.back, 37 | color: GFColors.SUCCESS, 38 | ), 39 | )), 40 | title: const Text( 41 | 'Segmented Tabs', 42 | style: TextStyle(fontSize: 17), 43 | ), 44 | centerTitle: true, 45 | ), 46 | body: ListView( 47 | children: [ 48 | Container( 49 | height: 40, 50 | margin: const EdgeInsets.only(top: 20, left: 25, right: 25), 51 | child: GFSegmentTabs( 52 | tabController: tabController, 53 | width: 280, 54 | length: 3, 55 | tabs: const [ 56 | Text( 57 | 'Tab 1', 58 | ), 59 | Tab( 60 | child: Text( 61 | 'Tab 2', 62 | ), 63 | ), 64 | Tab( 65 | child: Text( 66 | 'Tab 3', 67 | ), 68 | ), 69 | ], 70 | tabBarColor: GFColors.LIGHT, 71 | indicatorSize: TabBarIndicatorSize.tab, 72 | labelColor: GFColors.WHITE, 73 | unselectedLabelColor: GFColors.DARK, 74 | indicator: const BoxDecoration( 75 | color: GFColors.DARK, 76 | border: Border( 77 | bottom: BorderSide( 78 | color: GFColors.SUCCESS, 79 | width: 3, 80 | ), 81 | ), 82 | ), 83 | // indicatorPadding: const EdgeInsets.all(8), 84 | // indicatorWeight: 2, 85 | border: Border.all(color: Colors.white, width: 2), 86 | ), 87 | ), 88 | Container( 89 | height: MediaQuery.of(context).size.height - 140, 90 | child: GFTabBarView( 91 | controller: tabController, 92 | children: const [ 93 | Center( 94 | child: Text('Tab 1'), 95 | ), 96 | Center( 97 | child: Text('Tab 2'), 98 | ), 99 | Center( 100 | child: Text('Tab 3'), 101 | ) 102 | ], 103 | ), 104 | ) 105 | ], 106 | ), 107 | ); 108 | } 109 | -------------------------------------------------------------------------------- /lib/screens/tiles/tiles_page.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:flutter/cupertino.dart'; 4 | 5 | class TilesPage extends StatefulWidget { 6 | @override 7 | _TilesPageState createState() => _TilesPageState(); 8 | } 9 | 10 | class _TilesPageState extends State { 11 | @override 12 | Widget build(BuildContext context) => Scaffold( 13 | appBar: AppBar( 14 | backgroundColor: GFColors.DARK, 15 | leading: InkWell( 16 | onTap: () { 17 | Navigator.pop(context); 18 | }, 19 | child: Container( 20 | child: Icon( 21 | CupertinoIcons.back, 22 | color: GFColors.SUCCESS, 23 | ), 24 | )), 25 | title: const Text( 26 | 'Tiles', 27 | style: TextStyle(fontSize: 17), 28 | ), 29 | centerTitle: true, 30 | ), 31 | body: ListView( 32 | children: [ 33 | const Padding( 34 | padding: EdgeInsets.only(left: 15, top: 30), 35 | child: GFTypography( 36 | text: 'With Label', 37 | type: GFTypographyType.typo5, 38 | dividerWidth: 25, 39 | dividerColor: Color(0xFF19CA4B), 40 | ), 41 | ), 42 | GFCard( 43 | content: GFListTile( 44 | titleText: 'Title', 45 | subTitleText: 'Open source UI library', 46 | icon: Icon(Icons.favorite), 47 | ), 48 | ), 49 | GFCard( 50 | content: GFListTile( 51 | avatar: Icon(Icons.favorite), 52 | titleText: 'Title', 53 | icon: const Text('Caption'), 54 | ), 55 | ), 56 | const Padding( 57 | padding: EdgeInsets.only(left: 15, top: 5), 58 | child: GFTypography( 59 | text: 'With Avatar', 60 | type: GFTypographyType.typo5, 61 | dividerWidth: 25, 62 | dividerColor: Color(0xFF19CA4B), 63 | ), 64 | ), 65 | const GFCard( 66 | content: GFListTile( 67 | avatar: GFAvatar( 68 | backgroundImage: AssetImage('lib/assets/images/avatar5.png'), 69 | ), 70 | titleText: 'Title', 71 | subTitleText: 'Open source UI library', 72 | ), 73 | ), 74 | const GFCard( 75 | content: GFListTile( 76 | avatar: GFAvatar( 77 | shape: GFAvatarShape.standard, 78 | backgroundImage: AssetImage('lib/assets/images/avatar11.png'), 79 | ), 80 | titleText: 'Title', 81 | icon: Text('Caption'), 82 | ), 83 | ), 84 | ], 85 | ), 86 | ); 87 | } 88 | -------------------------------------------------------------------------------- /lib/screens/typography/typography.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter/cupertino.dart'; 3 | import 'package:getwidget/getwidget.dart'; 4 | 5 | class TypographyPage extends StatefulWidget { 6 | @override 7 | _TypographyPageState createState() => _TypographyPageState(); 8 | } 9 | 10 | class _TypographyPageState extends State { 11 | @override 12 | Widget build(BuildContext context) => Scaffold( 13 | appBar: AppBar( 14 | backgroundColor: GFColors.DARK, 15 | leading: InkWell( 16 | onTap: () { 17 | Navigator.pop(context); 18 | }, 19 | child: Icon( 20 | CupertinoIcons.back, 21 | color: GFColors.SUCCESS, 22 | ), 23 | ), 24 | title: const Text( 25 | 'Typography', 26 | style: TextStyle(fontSize: 17), 27 | ), 28 | centerTitle: true, 29 | ), 30 | body: ListView( 31 | children: [ 32 | const Padding( 33 | padding: EdgeInsets.only(left: 15, top: 30), 34 | child: GFTypography( 35 | text: 'Headings Regular', 36 | type: GFTypographyType.typo5, 37 | dividerWidth: 25, 38 | dividerColor: Color(0xFF19CA4B), 39 | ), 40 | ), 41 | GFCard( 42 | content: Column( 43 | children: const [ 44 | SizedBox( 45 | height: 15, 46 | ), 47 | GFTypography( 48 | text: 'GF Header Typo1', 49 | type: GFTypographyType.typo1, 50 | showDivider: false, 51 | ), 52 | SizedBox( 53 | height: 15, 54 | ), 55 | GFTypography( 56 | text: 'GF Header Typo2', 57 | type: GFTypographyType.typo2, 58 | showDivider: false, 59 | ), 60 | SizedBox( 61 | height: 15, 62 | ), 63 | GFTypography( 64 | text: 'GF Header Typo3', 65 | type: GFTypographyType.typo3, 66 | showDivider: false, 67 | ), 68 | SizedBox( 69 | height: 15, 70 | ), 71 | GFTypography( 72 | text: 'GF Header Typo4', 73 | type: GFTypographyType.typo4, 74 | showDivider: false, 75 | ), 76 | SizedBox( 77 | height: 15, 78 | ), 79 | GFTypography( 80 | text: 'GF Header Typo5', 81 | type: GFTypographyType.typo5, 82 | showDivider: false, 83 | ), 84 | SizedBox( 85 | height: 15, 86 | ), 87 | GFTypography( 88 | text: 'GF Header Typo6', 89 | type: GFTypographyType.typo6, 90 | showDivider: false, 91 | ), 92 | SizedBox( 93 | height: 15, 94 | ), 95 | ], 96 | ), 97 | ), 98 | const Padding( 99 | padding: EdgeInsets.only( 100 | left: 15, 101 | ), 102 | child: GFTypography( 103 | text: 'Opacity', 104 | type: GFTypographyType.typo5, 105 | dividerWidth: 25, 106 | dividerColor: Color(0xFF19CA4B), 107 | ), 108 | ), 109 | GFCard( 110 | content: Column( 111 | children: [ 112 | const SizedBox( 113 | height: 15, 114 | ), 115 | const GFTypography( 116 | text: 'GF Header Typo1', 117 | type: GFTypographyType.typo1, 118 | showDivider: false, 119 | textColor: Colors.black87, 120 | ), 121 | const SizedBox( 122 | height: 15, 123 | ), 124 | GFTypography( 125 | text: 'GF Header Typo2', 126 | type: GFTypographyType.typo2, 127 | showDivider: false, 128 | textColor: Colors.black54, 129 | ), 130 | const SizedBox( 131 | height: 15, 132 | ), 133 | GFTypography( 134 | text: 'GF Header Typo3', 135 | type: GFTypographyType.typo3, 136 | showDivider: false, 137 | textColor: Colors.black45, 138 | ), 139 | const SizedBox( 140 | height: 15, 141 | ), 142 | GFTypography( 143 | text: 'GF Header Typo4', 144 | type: GFTypographyType.typo4, 145 | showDivider: false, 146 | textColor: Colors.black38, 147 | ), 148 | const SizedBox( 149 | height: 15, 150 | ), 151 | const GFTypography( 152 | text: 'GF Header Typo5', 153 | type: GFTypographyType.typo5, 154 | showDivider: false, 155 | textColor: Colors.black26), 156 | const SizedBox( 157 | height: 15, 158 | ), 159 | GFTypography( 160 | text: 'GF Header Typo6', 161 | type: GFTypographyType.typo6, 162 | showDivider: false, 163 | textColor: Colors.black12), 164 | const SizedBox( 165 | height: 15, 166 | ), 167 | ], 168 | ), 169 | ), 170 | const Padding( 171 | padding: EdgeInsets.only(left: 15), 172 | child: GFTypography( 173 | text: 'Custom Heading', 174 | type: GFTypographyType.typo5, 175 | dividerWidth: 25, 176 | dividerColor: Color(0xFF19CA4B), 177 | ), 178 | ), 179 | GFCard( 180 | content: Column( 181 | children: const [ 182 | SizedBox( 183 | height: 15, 184 | ), 185 | GFTypography( 186 | text: 'GF Header Typo2', 187 | type: GFTypographyType.typo2, 188 | showDivider: false, 189 | backgroundImage: AssetImage('lib/assets/images/card3.png'), 190 | icon: GFAvatar( 191 | backgroundImage: 192 | AssetImage('lib/assets/images/avatar6.png'), 193 | ), 194 | ), 195 | SizedBox( 196 | height: 15, 197 | ), 198 | GFTypography( 199 | text: 'GF Header Typo3', 200 | type: GFTypographyType.typo3, 201 | backgroundImage: AssetImage('lib/assets/images/card2.png'), 202 | ), 203 | SizedBox( 204 | height: 15, 205 | ), 206 | ], 207 | ), 208 | ), 209 | ], 210 | ), 211 | ); 212 | } 213 | -------------------------------------------------------------------------------- /pubspec.lock: -------------------------------------------------------------------------------- 1 | # Generated by pub 2 | # See https://dart.dev/tools/pub/glossary#lockfile 3 | packages: 4 | async: 5 | dependency: transitive 6 | description: 7 | name: async 8 | sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 9 | url: "https://pub.dev" 10 | source: hosted 11 | version: "2.10.0" 12 | boolean_selector: 13 | dependency: transitive 14 | description: 15 | name: boolean_selector 16 | sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" 17 | url: "https://pub.dev" 18 | source: hosted 19 | version: "2.1.1" 20 | characters: 21 | dependency: transitive 22 | description: 23 | name: characters 24 | sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c 25 | url: "https://pub.dev" 26 | source: hosted 27 | version: "1.2.1" 28 | clock: 29 | dependency: transitive 30 | description: 31 | name: clock 32 | sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf 33 | url: "https://pub.dev" 34 | source: hosted 35 | version: "1.1.1" 36 | collection: 37 | dependency: transitive 38 | description: 39 | name: collection 40 | sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 41 | url: "https://pub.dev" 42 | source: hosted 43 | version: "1.17.0" 44 | cupertino_icons: 45 | dependency: "direct main" 46 | description: 47 | name: cupertino_icons 48 | sha256: e35129dc44c9118cee2a5603506d823bab99c68393879edb440e0090d07586be 49 | url: "https://pub.dev" 50 | source: hosted 51 | version: "1.0.5" 52 | fake_async: 53 | dependency: transitive 54 | description: 55 | name: fake_async 56 | sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" 57 | url: "https://pub.dev" 58 | source: hosted 59 | version: "1.3.1" 60 | flutter: 61 | dependency: "direct main" 62 | description: flutter 63 | source: sdk 64 | version: "0.0.0" 65 | flutter_test: 66 | dependency: "direct dev" 67 | description: flutter 68 | source: sdk 69 | version: "0.0.0" 70 | getwidget: 71 | dependency: "direct main" 72 | description: 73 | path: "." 74 | ref: HEAD 75 | resolved-ref: "426db8016e7b07e2ad9409e1e429c59964968ca2" 76 | url: "https://github.com/ionicfirebaseapp/getwidget.git" 77 | source: git 78 | version: "3.1.0" 79 | js: 80 | dependency: transitive 81 | description: 82 | name: js 83 | sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" 84 | url: "https://pub.dev" 85 | source: hosted 86 | version: "0.6.5" 87 | matcher: 88 | dependency: transitive 89 | description: 90 | name: matcher 91 | sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72" 92 | url: "https://pub.dev" 93 | source: hosted 94 | version: "0.12.13" 95 | material_color_utilities: 96 | dependency: transitive 97 | description: 98 | name: material_color_utilities 99 | sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 100 | url: "https://pub.dev" 101 | source: hosted 102 | version: "0.2.0" 103 | meta: 104 | dependency: transitive 105 | description: 106 | name: meta 107 | sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" 108 | url: "https://pub.dev" 109 | source: hosted 110 | version: "1.8.0" 111 | path: 112 | dependency: transitive 113 | description: 114 | name: path 115 | sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b 116 | url: "https://pub.dev" 117 | source: hosted 118 | version: "1.8.2" 119 | plugin_platform_interface: 120 | dependency: transitive 121 | description: 122 | name: plugin_platform_interface 123 | sha256: "6a2128648c854906c53fa8e33986fc0247a1116122f9534dd20e3ab9e16a32bc" 124 | url: "https://pub.dev" 125 | source: hosted 126 | version: "2.1.4" 127 | sky_engine: 128 | dependency: transitive 129 | description: flutter 130 | source: sdk 131 | version: "0.0.99" 132 | source_span: 133 | dependency: transitive 134 | description: 135 | name: source_span 136 | sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 137 | url: "https://pub.dev" 138 | source: hosted 139 | version: "1.9.1" 140 | stack_trace: 141 | dependency: transitive 142 | description: 143 | name: stack_trace 144 | sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 145 | url: "https://pub.dev" 146 | source: hosted 147 | version: "1.11.0" 148 | stream_channel: 149 | dependency: transitive 150 | description: 151 | name: stream_channel 152 | sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" 153 | url: "https://pub.dev" 154 | source: hosted 155 | version: "2.1.1" 156 | string_scanner: 157 | dependency: transitive 158 | description: 159 | name: string_scanner 160 | sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" 161 | url: "https://pub.dev" 162 | source: hosted 163 | version: "1.2.0" 164 | term_glyph: 165 | dependency: transitive 166 | description: 167 | name: term_glyph 168 | sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 169 | url: "https://pub.dev" 170 | source: hosted 171 | version: "1.2.1" 172 | test_api: 173 | dependency: transitive 174 | description: 175 | name: test_api 176 | sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206 177 | url: "https://pub.dev" 178 | source: hosted 179 | version: "0.4.16" 180 | vector_math: 181 | dependency: transitive 182 | description: 183 | name: vector_math 184 | sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" 185 | url: "https://pub.dev" 186 | source: hosted 187 | version: "2.1.4" 188 | webview_flutter: 189 | dependency: "direct main" 190 | description: 191 | name: webview_flutter 192 | sha256: "1a37bdbaaf5fbe09ad8579ab09ecfd473284ce482f900b5aea27cf834386a567" 193 | url: "https://pub.dev" 194 | source: hosted 195 | version: "4.2.0" 196 | webview_flutter_android: 197 | dependency: transitive 198 | description: 199 | name: webview_flutter_android 200 | sha256: "1acea8def62592123e2fbbca164ed8681a98a890bdcbb88f916d5b4a22687759" 201 | url: "https://pub.dev" 202 | source: hosted 203 | version: "3.7.0" 204 | webview_flutter_platform_interface: 205 | dependency: transitive 206 | description: 207 | name: webview_flutter_platform_interface 208 | sha256: "78715dc442b7849dbde74e92bb67de1cecf5addf95531c5fb474e72f5fe9a507" 209 | url: "https://pub.dev" 210 | source: hosted 211 | version: "2.3.0" 212 | webview_flutter_wkwebview: 213 | dependency: transitive 214 | description: 215 | name: webview_flutter_wkwebview 216 | sha256: "61f33512810bf1ee9ac89761a4b02663ff64e8227b7dc80654642acd660fd49d" 217 | url: "https://pub.dev" 218 | source: hosted 219 | version: "3.4.2" 220 | sdks: 221 | dart: ">=2.18.0 <3.0.0" 222 | flutter: ">=3.7.1" 223 | -------------------------------------------------------------------------------- /pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: gf_app 2 | description: A GetWidget Demo App 3 | repository: https://github.com/ionicfirebaseapp/getwidget-app-kit 4 | version: 1.0.9+10 5 | publish_to: none 6 | 7 | environment: 8 | flutter: ^3.7.1 9 | sdk: ">=2.17.0" 10 | 11 | dependencies: 12 | flutter: 13 | sdk: flutter 14 | getwidget: 15 | git: 16 | url: https://github.com/ionicfirebaseapp/getwidget.git 17 | #path: D:\Flutter_Apps\Get_Widget\getflutter\ 18 | webview_flutter: ^4.2.0 19 | cupertino_icons: ^1.0.3 20 | 21 | dev_dependencies: 22 | flutter_test: 23 | sdk: flutter 24 | 25 | flutter: 26 | uses-material-design: true 27 | assets: 28 | - lib/assets/images/image.png 29 | - lib/assets/images/image1.png 30 | - lib/assets/images/red.png 31 | - lib/assets/images/purple.png 32 | - lib/assets/images/pink.png 33 | - lib/assets/images/orange.png 34 | - lib/assets/images/image2.png 35 | - lib/assets/images/img.png 36 | - lib/assets/images/img1.png 37 | - lib/assets/images/img2.png 38 | - lib/assets/images/card.png 39 | - lib/assets/images/card1.png 40 | - lib/assets/images/card2.png 41 | - lib/assets/images/card3.png 42 | - lib/assets/images/card5.png 43 | - lib/assets/images/card4.png 44 | - lib/assets/images/gflogo.png 45 | - lib/assets/images/avatar1.png 46 | - lib/assets/images/avatar2.png 47 | - lib/assets/images/avatar3.png 48 | - lib/assets/images/avatar4.png 49 | - lib/assets/images/avatar5.png 50 | - lib/assets/images/avatar6.png 51 | - lib/assets/images/avatar7.png 52 | - lib/assets/images/avatar8.png 53 | - lib/assets/images/avatar9.png 54 | - lib/assets/images/avatar10.png 55 | - lib/assets/images/avatar11.png 56 | - lib/assets/images/avatar12.png 57 | - lib/assets/images/s1.png 58 | - lib/assets/images/s2.png 59 | - lib/assets/images/s3.png 60 | - lib/assets/images/s4.png 61 | - lib/assets/images/s5.png 62 | - lib/assets/images/story.jpg 63 | - lib/assets/images/i1.png 64 | - lib/assets/images/i2.png 65 | - lib/assets/images/i3.png 66 | - lib/assets/images/i4.png 67 | - lib/assets/images/e5.png 68 | - lib/assets/images/e4.png 69 | - lib/assets/images/e3.png 70 | - lib/assets/images/e2.png 71 | - lib/assets/images/e1.png 72 | - lib/assets/gif/loader.gif 73 | - lib/assets/gif/loader1.gif 74 | - lib/assets/gif/success1.gif 75 | - lib/assets/icons/allign.png 76 | - lib/assets/icons/Rotation.png 77 | - lib/assets/icons/scaling.png 78 | - lib/assets/icons/size.png 79 | - lib/assets/icons/slide.png 80 | - lib/assets/icons/gflogo.png 81 | 82 | fonts: 83 | - family: GFFontIcons 84 | fonts: 85 | - asset: lib/assets/fonts/gfFontIcon.ttf 86 | weight: 400 87 | 88 | - family: GFFontIcons2 89 | fonts: 90 | - asset: lib/assets/fonts/gfFontIcons2.ttf 91 | weight: 400 92 | 93 | - family: GFSocialFonts 94 | fonts: 95 | - asset: lib/assets/fonts/gfSocialFonts.ttf 96 | weight: 400 97 | 98 | - family: GFIconFonts 99 | fonts: 100 | - asset: lib/assets/fonts/gfIconFonts.ttf 101 | weight: 400 102 | 103 | - family: GFIcons 104 | fonts: 105 | - asset: lib/assets/fonts/loader.ttf 106 | weight: 400 107 | 108 | - family: GFIconsnew 109 | fonts: 110 | - asset: lib/assets/fonts/newcomp.ttf 111 | weight: 400 112 | 113 | - family: GFIconsneww 114 | fonts: 115 | - asset: lib/assets/fonts/new.ttf 116 | weight: 400 117 | -------------------------------------------------------------------------------- /test/widget_test.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter_test/flutter_test.dart'; 2 | 3 | void main() { 4 | testWidgets('Simple Test', (WidgetTester tester) async { 5 | print('Test Passed'); 6 | }); 7 | } 8 | -------------------------------------------------------------------------------- /web/icons/Icon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/web/icons/Icon-192.png -------------------------------------------------------------------------------- /web/icons/Icon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-app-kit/979f0cd7d1b3dc1463fb3fdf9f27e134560b1f6e/web/icons/Icon-512.png -------------------------------------------------------------------------------- /web/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | GetWidget Demo App | GetWidget - Open source UI library for flutter app 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 27 | 28 | 29 | 30 | 31 | 32 | 40 | 63 | 64 | 70 | 79 | 80 | 81 | 84 | 91 | 92 | 93 | 94 | -------------------------------------------------------------------------------- /web/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gf_app", 3 | "short_name": "gf_app", 4 | "start_url": ".", 5 | "display": "minimal-ui", 6 | "background_color": "#0175C2", 7 | "theme_color": "#0175C2", 8 | "description": "A new Flutter project.", 9 | "orientation": "portrait-primary", 10 | "prefer_related_applications": false, 11 | "icons": [ 12 | { 13 | "src": "icons/Icon-192.png", 14 | "sizes": "192x192", 15 | "type": "image/png" 16 | }, 17 | { 18 | "src": "icons/Icon-512.png", 19 | "sizes": "512x512", 20 | "type": "image/png" 21 | } 22 | ] 23 | } --------------------------------------------------------------------------------