├── .firebase
└── hosting.YnVpbGQvd2Vi.cache
├── .github
└── ISSUE_TEMPLATE
│ ├── bug_report.md
│ └── feature_request.md
├── .gitignore
├── .metadata
├── LICENSE
├── License.md
├── README.md
├── android
├── .gitignore
├── app
│ ├── build.gradle
│ └── src
│ │ ├── debug
│ │ └── AndroidManifest.xml
│ │ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── kotlin
│ │ │ └── com
│ │ │ │ └── estech
│ │ │ │ └── fluttercon
│ │ │ │ └── MainActivity.kt
│ │ └── res
│ │ │ ├── drawable
│ │ │ └── launch_background.xml
│ │ │ ├── mipmap-hdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-mdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ └── ic_launcher.png
│ │ │ └── values
│ │ │ └── styles.xml
│ │ └── profile
│ │ └── AndroidManifest.xml
├── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ └── gradle-wrapper.properties
└── settings.gradle
├── assets
├── Images
│ ├── Logos
│ │ ├── FlutterConLogos
│ │ │ ├── Group_twenty.png
│ │ │ ├── Hello.png
│ │ │ └── Vector.png
│ │ ├── Organizer_Logo
│ │ │ └── flutter_surat_logo.jpg
│ │ └── Sponsors_Logo
│ │ │ ├── slido_sponsor.png
│ │ │ └── slido_sponsor.svg
│ ├── cover_Images
│ │ ├── Twitter_Cover.png
│ │ ├── cover_image.png
│ │ └── cover_image_1.png
│ ├── extra
│ │ ├── doughnut.png
│ │ ├── newHomePage.png
│ │ ├── speaker.png
│ │ └── woman-discuss.png
│ └── socialIcons
│ │ ├── GDG.png
│ │ ├── add_to_slack.png
│ │ ├── facebook.png
│ │ ├── meetup.png
│ │ ├── slack.png
│ │ ├── slack_white.png
│ │ ├── twitter.png
│ │ ├── youtube.png
│ │ ├── youtube_icon.png
│ │ └── youtube_social_circle_red.png
├── fonts
│ ├── ProductSans.ttf
│ ├── djoker-state.regular.ttf
│ ├── flutter_con.png
│ ├── newHomePage.png
│ └── rockybilly.ttf
└── json
│ ├── organizers.json
│ └── speakers.json
├── contributing.md
├── github_images
└── poster.png
├── ios
├── .gitignore
├── Flutter
│ ├── AppFrameworkInfo.plist
│ ├── Debug.xcconfig
│ └── Release.xcconfig
├── Podfile
├── Podfile.lock
├── Runner.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── Runner.xcscheme
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── WorkspaceSettings.xcsettings
└── Runner
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ ├── Contents.json
│ │ ├── Icon-App-1024x1024@1x.png
│ │ ├── Icon-App-20x20@1x.png
│ │ ├── Icon-App-20x20@2x.png
│ │ ├── Icon-App-20x20@3x.png
│ │ ├── Icon-App-29x29@1x.png
│ │ ├── Icon-App-29x29@2x.png
│ │ ├── Icon-App-29x29@3x.png
│ │ ├── Icon-App-40x40@1x.png
│ │ ├── Icon-App-40x40@2x.png
│ │ ├── Icon-App-40x40@3x.png
│ │ ├── Icon-App-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
├── HomePage
│ ├── ContactUs
│ │ └── ContactUs.dart
│ ├── CoverImage.dart
│ ├── FAQ
│ │ ├── FAQ.dart
│ │ └── QNA.dart
│ ├── HomePage.dart
│ ├── Intro
│ │ ├── CoverImage.dart
│ │ └── mainIntro.dart
│ ├── MainIntro.dart
│ ├── Motion.dart
│ ├── OrganizerSection
│ │ ├── OrganizerScreen.dart
│ │ ├── OrganizerSection.dart
│ │ └── Organizerhandle.dart
│ ├── PoweredBy
│ │ └── PoweredBy.dart
│ ├── Responsiveness
│ │ └── Responsive.dart
│ ├── ScheduleSection
│ │ ├── EventCard.dart
│ │ ├── ScheduleScreen.dart
│ │ └── ScheduleSection.dart
│ └── SpeakerSection
│ │ └── SpeakerScreen.dart
├── background
│ └── graphic.dart
├── main.dart
├── organizer_screen.dart
├── utils
│ ├── Motion.dart
│ └── con_info.dart
└── widgets
│ ├── widget.dart
│ └── worldReunite.dart
├── pubspec.lock
├── pubspec.yaml
├── pull_request_template.md
├── test
└── widget_test.dart
└── web
├── favicon.png
├── icons
├── Icon-192.png
└── Icon-512.png
├── index.html
└── manifest.json
/.firebase/hosting.YnVpbGQvd2Vi.cache:
--------------------------------------------------------------------------------
1 | favicon.png,1591298212954,b08ea3e73b559907f4ec89f3ffb8897bc70808eeabedec294e73204bb817e915
2 | manifest.json,1591368387292,d7337c8cc14fc958072e7f9e5593e59ddd773518daf427cee2af718f4d18dfdc
3 | assets/assets/Images/Logos/FlutterConLogos/Group_twenty.png,1591298212914,193bf3bce0d7d2f9c4735d744cec06b2915b093edb07e91846d6c0f02a172588
4 | assets/assets/Images/Logos/FlutterConLogos/Hello.png,1591298212915,75e64c6988e5ad1a33377eb813bc00a300996fd15e06233603238e72ce261a91
5 | assets/assets/Images/Logos/FlutterConLogos/Vector.png,1591298212915,ed0d6a8f20bcdb72822a9adbe36026bb4a2ef2f476cc3e339180477af0724b3e
6 | assets/assets/Images/Logos/Organizer_Logo/flutter_surat_logo.jpg,1591298212915,08a4bd53d50da9378d22352093d35752aa513200796e608c10804306c3248fe2
7 | assets/assets/Images/Logos/Sponsors_Logo/slido_sponsor.png,1591298212916,7b34b39226ba8f27b2f72fdc94c89b83958e41a4d07968904eb99c3282c1852b
8 | assets/assets/Images/Logos/Sponsors_Logo/slido_sponsor.svg,1591298212916,df643806eb25b7ae04f1d69d2864fdb555f0680f039b627d7ab2e7acaeb3f7e7
9 | assets/assets/Images/cover_Images/Twitter_Cover.png,1591298212917,a375660880c84f0606f165e9927487584f3be14f2badf234d0144760f198f402
10 | assets/assets/Images/cover_Images/cover_image.png,1591298212919,5c45b0d6ef65ef312499225a72ffc52030e8501143877a8323987abe801ae8f0
11 | assets/assets/Images/cover_Images/cover_image_1.png,1591298212920,2e5fe752717be5526093a741f2f3375e6507e945668ebd3d8a0db8927074537e
12 | assets/assets/Images/extra/doughnut.png,1591298212920,03808212cc0ab6148e811b25d2008b5811a8e2d4e3884ed0eb2ae29862020087
13 | assets/assets/Images/extra/newHomePage.png,1591298212924,8f963773fa5ef8af042c97be6ed756b95d2d8ec2eec93e575df4e99027e9a478
14 | assets/assets/Images/extra/speaker.png,1591298212925,d7beadb123c639655eeb72ce746c49e11105401b21fe58eecb96824ebc1df0dc
15 | assets/assets/Images/extra/woman-discuss.png,1591298212925,4abefa4fce4e1bffd3cb928889930ad1fbb22ea9d40302df9a16c1b0f5217096
16 | assets/assets/Images/socialIcons/GDG.png,1591298212926,8dff02d1f5f14573868e63191abd4447a238090a0fd6416782bf16643a2c949f
17 | assets/assets/Images/socialIcons/add_to_slack.png,1591298212926,be741a1c5879efe2cbce48e94a5d7d94de58f0842546647b67bef0f917fba792
18 | assets/assets/Images/socialIcons/facebook.png,1591298212926,459a14fae30e65a69583c316810f463ed9366ff7629b82a72eeb02479a30ffa7
19 | assets/assets/Images/socialIcons/meetup.png,1591298212926,8b2bbf5969fc6a820203a75bdabd1e1577123d31ee959d8ae750d1c5d073f4b6
20 | assets/assets/Images/socialIcons/slack.png,1591298212927,d873979387c6c468bf2757675f88e0ec1d120ef1809927ab68055d2dba14a610
21 | assets/assets/Images/socialIcons/slack_white.png,1591298212927,a6d1ceb1be012c8fe25a3c512694ab83fe41c09d701247f681cc8995476cc81e
22 | assets/assets/Images/socialIcons/twitter.png,1591298212927,da7875b71f1125072f85961a31b7137c3f5e9794e6fdeb305878c0f9bf740702
23 | assets/assets/Images/socialIcons/youtube.png,1591298212928,e186f8dd36525bbd67c2326f96b4f3e32e186a39d8a9d600e5f016446e02bd88
24 | assets/assets/Images/socialIcons/youtube_icon.png,1591298212928,fe01c53f412f5ab908caa9bcd17070fb2a9463b54f2931e3cfaa686efe825f58
25 | assets/assets/Images/socialIcons/youtube_social_circle_red.png,1591298212928,6f20c19e689abe961c21f4836c22661295d905c84b587d003524c21e22fd45f3
26 | assets/assets/fonts/ProductSans.ttf,1591298212928,f1b651238a58fe290baec6c5e32f3bdb1943dd2bd582f02569231f7a757c7837
27 | assets/assets/fonts/rockybilly.ttf,1591298212935,afb561323061372a7c0101df7e4abbb3fb3af28b2a941477eaeb102dc6904ce3
28 | assets/assets/json/organizers.json,1591298212935,6e19f1d52b4e292e18a53c9577b7ed6cc79ecf6ca96c9e3bab2a31658fdec72e
29 | assets/assets/json/speakers.json,1591298212935,0f18d8bb5baadc1a78b3ff974fe6e219dd75807c0c75dd1b1b825df01f4814ca
30 | assets/fonts/MaterialIcons-Regular.ttf,1475273174000,49f9a5d2c31ecd331d178c6c3d587181ce635721e46240a8547f0a5374f3257d
31 | assets/packages/cupertino_icons/assets/CupertinoIcons.ttf,1575319380000,3d5615fc7a84c016d70e93141c13a613fda9babcede78918fbd190f0b9d5b578
32 | assets/packages/font_awesome_flutter/lib/fonts/fa-brands-400.ttf,1585313587000,5904e050d77c969303a8f3f1540934a903fd9cb23d4801f5fecb63dbb059ecd2
33 | assets/packages/font_awesome_flutter/lib/fonts/fa-regular-400.ttf,1585313587000,d8942f0fe4e089b72034680e565218c3fe778dd7083dc4fa4ccd593362c87bd7
34 | assets/packages/font_awesome_flutter/lib/fonts/fa-solid-900.ttf,1585313587000,33334b01ba02da2fde8fb8b943a6c76133b7a5533c2736798b67b6f4ba82644c
35 | icons/Icon-192.png,1591298212955,2517c32c4190a66b69e086b9f45fa768c196230b5cb74ee1e1747d0e53a4da19
36 | icons/Icon-512.png,1591298212955,d422043752f894d079752181a4fb90cdb81924b72d2a11887d9665ea837c5cee
37 | index.html,1591428177738,d180bea173ddd21bdbf72caf0b2e133f6493494d0400bc5b263e83d8c997872d
38 | flutter_service_worker.js,1591428227425,16a8833d4bd85b2978a6df4228824d45389b637550a71ad56796352a3e6e1522
39 | assets/FontManifest.json,1591428226403,81d3ed86cc26e6d8f8204fedb623d85a08d20bbde9a9e3c296271de754700c41
40 | assets/AssetManifest.json,1591428226402,07ce33b1c42476459de8071963b1afdf932329870e5c93b90a0d585857c4cf30
41 | assets/LICENSE,1591428226403,92223372a936143b53ed0eba57aa83a0a4326d2e9ef0a72945b4674418c1bfd5
42 | main.dart.js,1591428225284,fb390241f8c1c391f9433addb3b8217263a98ca986df128cd12efb623cfc8976
43 | main.dart.js.map,1591428225536,1d8c012d85e3a967eb1f87e1299cf0a4af2efb42e190dc7a5f39f77ff3a80abe
44 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Describe the bug**
11 | A clear and concise description of what the bug is.
12 |
13 | **To Reproduce**
14 | Steps to reproduce the behavior:
15 | 1. Go to '...'
16 | 2. Click on '....'
17 | 3. Scroll down to '....'
18 | 4. See error
19 |
20 | **Expected behavior**
21 | A clear and concise description of what you expected to happen.
22 |
23 | **Screenshots**
24 | If applicable, add screenshots to help explain your problem.
25 |
26 | **Desktop (please complete the following information):**
27 | - OS: [e.g. iOS]
28 | - Browser [e.g. chrome, safari]
29 | - Version [e.g. 22]
30 |
31 | **Smartphone (please complete the following information):**
32 | - Device: [e.g. iPhone6]
33 | - OS: [e.g. iOS8.1]
34 | - Browser [e.g. stock browser, safari]
35 | - Version [e.g. 22]
36 |
37 | **Additional context**
38 | Add any other context about the problem here.
39 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Miscellaneous
2 | *.class
3 | *.log
4 | *.pyc
5 | *.swp
6 | .DS_Store
7 | .atom/
8 | .buildlog/
9 | .history
10 | .svn/
11 |
12 | # IntelliJ related
13 | *.iml
14 | *.ipr
15 | *.iws
16 | .idea/
17 |
18 | # The .vscode folder contains launch configuration and tasks you configure in
19 | # VS Code which you may wish to be included in version control, so this line
20 | # is commented out by default.
21 | #.vscode/
22 |
23 | # Flutter/Dart/Pub related
24 | **/doc/api/
25 | .dart_tool/
26 | .flutter-plugins
27 | .flutter-plugins-dependencies
28 | .packages
29 | .pub-cache/
30 | .pub/
31 | /build/
32 |
33 | # Web related
34 | lib/generated_plugin_registrant.dart
35 |
36 | # Symbolication related
37 | app.*.symbols
38 |
39 | # Obfuscation related
40 | app.*.map.json
41 |
42 | # Exceptions to above rules.
43 | !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
44 |
--------------------------------------------------------------------------------
/.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: 2a7bc389f28d83c581f7ddd4601588a22e12512e
8 | channel: beta
9 |
10 | project_type: app
11 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | BSD 3-Clause License
2 |
3 | Copyright (c) 2020, Flutter India
4 | All rights reserved.
5 |
6 | Redistribution and use in source and binary forms, with or without
7 | modification, are permitted provided that the following conditions are met:
8 |
9 | 1. Redistributions of source code must retain the above copyright notice, this
10 | list of conditions and the following disclaimer.
11 |
12 | 2. Redistributions in binary form must reproduce the above copyright notice,
13 | this list of conditions and the following disclaimer in the documentation
14 | and/or other materials provided with the distribution.
15 |
16 | 3. Neither the name of the copyright holder nor the names of its
17 | contributors may be used to endorse or promote products derived from
18 | this software without specific prior written permission.
19 |
20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 |
--------------------------------------------------------------------------------
/License.md:
--------------------------------------------------------------------------------
1 | # License
2 |
3 | The MIT License (MIT)
4 |
5 | Copyright (c) 2020 Yash Adulkar & Aditya Sutar
6 |
7 | Permission is hereby granted, free of charge, to any person obtaining a copy
8 | of this software and associated documentation files (the "Software"), to deal
9 | in the Software without restriction, including without limitation the rights
10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | copies of the Software, and to permit persons to whom the Software is
12 | furnished to do so, subject to the following conditions:
13 |
14 | The above copyright notice and this permission notice shall be included in all
15 | copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | SOFTWARE.
24 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # FLUTTER CONFERENCE INDIA 2020 WEBSITE
2 |
3 |
4 |
5 |
6 |
7 |
8 | :rocket:Get Started
9 |
10 |
11 | ## Overview
12 | Flutter India Website is a first community website which is completely developed using Flutter Web.
13 | It is made for Flutter India Community which will show all the updates about Flutter India Community.
14 | This is the repository of Flutter India Community.
15 |
16 | ### What is Flutter India
17 | Flutter India is an initiative of all the communities in India.
18 | The communities present under Flutter India are as follows:
19 | 1. Flutter Mumbai Community
20 | 2. Flutter Ahemdabad
21 | 3. Flutter Surat
22 | 4. Flutter Pune
23 | 5. Flutter Gwalior
24 | 6. Flutter Bangalore
25 | 7. Flutter Vadodara
26 | 8. Flutter Nagpur
27 | 9. Flutter Hyderabad
28 | 10. Flutter Kerala
29 |
30 | ## Technology Stack
31 |
32 | - Flutter
33 | - Firebase
34 |
35 | ## Getting Started
36 |
37 | 1. [Fork repository](https://github.com/elaishane/Flutter-India-Website/fork) and clone your fork locally
38 | 2. Install [Flutter](https://flutter.dev/docs/get-started/install)
39 | 3. Install [Android Studio / IntelliJ / VSCode](https://flutter.dev/docs/development/tools/android-studio)
40 |
41 | ## Contributing
42 |
43 | Awesome! Contributions of all kinds are greatly appreciated. To help smoothen the process we have a few non-exhaustive guidelines to follow which should get you going in no time.
44 |
45 | ### Using GitHub Issues
46 |
47 | - Feel free to use GitHub issues for questions, bug reports, and feature requests
48 | - Use the search feature to check for an existing issue
49 | - Include as much information as possible and provide any relevant resources (Eg. screenshots)
50 | - For bug reports ensure you have a reproducible test case
51 | - A pull request with a breaking test would be super preferable here but isn't required
52 |
53 | ### Submitting a Pull Request
54 |
55 | - Squash commits
56 | - Lint your code with eslint (config provided)
57 | - Include relevant test updates/additions
58 |
59 | ## Contributors
60 |
61 | [Yash Adulkar](https://github.com/elaishane)
62 |
63 | [Vivek Yadav](https://github.com/viveky259259)
64 |
65 | [Aditya Sutar](https://github.com/aditya305)
66 |
67 | [Aniket Chavan](https://github.com/ANIKET2017)
68 |
69 |
70 |
71 | ## License
72 |
73 | Project is published under [BSD 3-Clause License](LICENSE).
74 |
75 | ## Learning Resources
76 | A few resources to get you started if this is your first Flutter project:
77 |
78 | * [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab)
79 | * [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook)
80 |
81 | For help getting started with Flutter, view Flutter
82 | [online documentation](https://flutter.dev/docs), which offers tutorials,
83 | samples, guidance on mobile development, and a full API reference.
84 |
85 |
--------------------------------------------------------------------------------
/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 | apply plugin: 'com.android.application'
25 | apply plugin: 'kotlin-android'
26 | apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
27 |
28 | android {
29 | compileSdkVersion 28
30 |
31 | sourceSets {
32 | main.java.srcDirs += 'src/main/kotlin'
33 | }
34 |
35 | lintOptions {
36 | disable 'InvalidPackage'
37 | }
38 |
39 | defaultConfig {
40 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
41 | applicationId "com.estech.fluttercon"
42 | minSdkVersion 16
43 | targetSdkVersion 28
44 | versionCode flutterVersionCode.toInteger()
45 | versionName flutterVersionName
46 | }
47 |
48 | buildTypes {
49 | release {
50 | // TODO: Add your own signing config for the release build.
51 | // Signing with the debug keys for now, so `flutter run --release` works.
52 | signingConfig signingConfigs.debug
53 | }
54 | }
55 | }
56 |
57 | flutter {
58 | source '../..'
59 | }
60 |
61 | dependencies {
62 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
63 | }
64 |
--------------------------------------------------------------------------------
/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
8 |
12 |
19 |
23 |
27 |
32 |
36 |
37 |
38 |
39 |
40 |
41 |
43 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/android/app/src/main/kotlin/com/estech/fluttercon/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package com.estech.fluttercon
2 |
3 | import io.flutter.embedding.android.FlutterActivity
4 |
5 | class MainActivity: FlutterActivity() {
6 | }
7 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
15 |
18 |
19 |
--------------------------------------------------------------------------------
/android/app/src/profile/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | ext.kotlin_version = '1.3.50'
3 | repositories {
4 | google()
5 | jcenter()
6 | }
7 |
8 | dependencies {
9 | classpath 'com.android.tools.build:gradle:3.5.0'
10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
11 | }
12 | }
13 |
14 | allprojects {
15 | repositories {
16 | google()
17 | jcenter()
18 | }
19 | }
20 |
21 | rootProject.buildDir = '../build'
22 | subprojects {
23 | project.buildDir = "${rootProject.buildDir}/${project.name}"
24 | }
25 | subprojects {
26 | project.evaluationDependsOn(':app')
27 | }
28 |
29 | task clean(type: Delete) {
30 | delete rootProject.buildDir
31 | }
32 |
--------------------------------------------------------------------------------
/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.enableR8=true
3 | android.useAndroidX=true
4 | android.enableJetifier=true
5 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Jun 23 08:50:38 CEST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
7 |
--------------------------------------------------------------------------------
/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
3 | def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
4 |
5 | def plugins = new Properties()
6 | def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
7 | if (pluginsFile.exists()) {
8 | pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
9 | }
10 |
11 | plugins.each { name, path ->
12 | def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
13 | include ":$name"
14 | project(":$name").projectDir = pluginDirectory
15 | }
16 |
--------------------------------------------------------------------------------
/assets/Images/Logos/FlutterConLogos/Group_twenty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/Images/Logos/FlutterConLogos/Group_twenty.png
--------------------------------------------------------------------------------
/assets/Images/Logos/FlutterConLogos/Hello.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/Images/Logos/FlutterConLogos/Hello.png
--------------------------------------------------------------------------------
/assets/Images/Logos/FlutterConLogos/Vector.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/Images/Logos/FlutterConLogos/Vector.png
--------------------------------------------------------------------------------
/assets/Images/Logos/Organizer_Logo/flutter_surat_logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/Images/Logos/Organizer_Logo/flutter_surat_logo.jpg
--------------------------------------------------------------------------------
/assets/Images/Logos/Sponsors_Logo/slido_sponsor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/Images/Logos/Sponsors_Logo/slido_sponsor.png
--------------------------------------------------------------------------------
/assets/Images/cover_Images/Twitter_Cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/Images/cover_Images/Twitter_Cover.png
--------------------------------------------------------------------------------
/assets/Images/cover_Images/cover_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/Images/cover_Images/cover_image.png
--------------------------------------------------------------------------------
/assets/Images/cover_Images/cover_image_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/Images/cover_Images/cover_image_1.png
--------------------------------------------------------------------------------
/assets/Images/extra/doughnut.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/Images/extra/doughnut.png
--------------------------------------------------------------------------------
/assets/Images/extra/newHomePage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/Images/extra/newHomePage.png
--------------------------------------------------------------------------------
/assets/Images/extra/speaker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/Images/extra/speaker.png
--------------------------------------------------------------------------------
/assets/Images/extra/woman-discuss.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/Images/extra/woman-discuss.png
--------------------------------------------------------------------------------
/assets/Images/socialIcons/GDG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/Images/socialIcons/GDG.png
--------------------------------------------------------------------------------
/assets/Images/socialIcons/add_to_slack.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/Images/socialIcons/add_to_slack.png
--------------------------------------------------------------------------------
/assets/Images/socialIcons/facebook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/Images/socialIcons/facebook.png
--------------------------------------------------------------------------------
/assets/Images/socialIcons/meetup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/Images/socialIcons/meetup.png
--------------------------------------------------------------------------------
/assets/Images/socialIcons/slack.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/Images/socialIcons/slack.png
--------------------------------------------------------------------------------
/assets/Images/socialIcons/slack_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/Images/socialIcons/slack_white.png
--------------------------------------------------------------------------------
/assets/Images/socialIcons/twitter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/Images/socialIcons/twitter.png
--------------------------------------------------------------------------------
/assets/Images/socialIcons/youtube.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/Images/socialIcons/youtube.png
--------------------------------------------------------------------------------
/assets/Images/socialIcons/youtube_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/Images/socialIcons/youtube_icon.png
--------------------------------------------------------------------------------
/assets/Images/socialIcons/youtube_social_circle_red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/Images/socialIcons/youtube_social_circle_red.png
--------------------------------------------------------------------------------
/assets/fonts/ProductSans.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/fonts/ProductSans.ttf
--------------------------------------------------------------------------------
/assets/fonts/djoker-state.regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/fonts/djoker-state.regular.ttf
--------------------------------------------------------------------------------
/assets/fonts/flutter_con.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/fonts/flutter_con.png
--------------------------------------------------------------------------------
/assets/fonts/newHomePage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/fonts/newHomePage.png
--------------------------------------------------------------------------------
/assets/fonts/rockybilly.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/assets/fonts/rockybilly.ttf
--------------------------------------------------------------------------------
/assets/json/organizers.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "organizer_name": "Flutter Mumbai",
4 | "small_description": "Flutter Mumbai Community is all about learning and sharing knowledge about flutter and its related technologies.\nIf you are from a different background, you can join if you are enthusiastic about learning & sharing with fellow developers from Mumbai.",
5 | "logo": "https://pbs.twimg.com/profile_images/1247898189157392393/w8lhWOiy_400x400.jpg",
6 | "twitter_handle": "https://twitter.com/MumbaiFlutter",
7 | "facebook_handle": "https://www.facebook.com/fluttermumbai",
8 | "meetup_handle": "https://www.meetup.com/Mumbai-Flutter",
9 | "instagram_handle": "https://www.instagram.com/mumbaiflutter"
10 | },
11 | {
12 | "organizer_name": "Flutter Ahemdabad",
13 | "small_description": "Software Development has been divided for long. Flutter lets us build beautiful Mobile, Web and Desktop applications in record time. Whether you are just starting a new Flutter project, or an experienced dev looking to discuss advanced topics, this is where you belong!",
14 | "logo": "https://pbs.twimg.com/profile_images/1114166773081751553/stpi_ORK_400x400.png",
15 | "twitter_handle": "https://twitter.com/flutterahm",
16 | "facebook_handle": "",
17 | "meetup_handle": "https://www.meetup.com/FlutterAHM",
18 | "instagram_handle": ""
19 | },
20 | {
21 | "organizer_name": "Flutter Vadodara",
22 | "small_description": "",
23 | "logo": "https://pbs.twimg.com/profile_images/1161536509910106112/HxxZMlRw_400x400.jpg",
24 | "twitter_handle": "https://twitter.com/fluttervadodara",
25 | "facebook_handle": "",
26 | "meetup_handle": "",
27 | "instagram_handle": ""
28 | },
29 | {
30 | "organizer_name": "Flutter Nagpur",
31 | "small_description": "Calling all Flutter enthusiasts! Let's meet with developers from Nagpur eager to learn or share your knowledge on Flutter, meet people with brilliant skills and mindsets! We'll meet atleast once a month to share what we have been doing with each other, helping everyone progress 10x faster.",
32 | "logo": "https://pbs.twimg.com/profile_images/1194299541555531776/oOdXL79I_400x400.png",
33 | "twitter_handle": "https://twitter.com/FlutterNagpur",
34 | "facebook_handle": "",
35 | "meetup_handle": "https://www.meetup.com/flutterngp",
36 | "instagram_handle": ""
37 | },
38 | {
39 | "organizer_name": "Flutter Gwalior",
40 | "small_description": "Flutter Gwalior is a group of enthusiastic Flutter developers who love creating beautiful apps with Flutter. We provide a platform for developers and enthusiasts either working within the Android ecosystem or interested in learning more about Android to collaborate and network among each other.",
41 | "logo": "https://pbs.twimg.com/profile_images/1199339298513809416/IaibpwR-_400x400.jpg",
42 | "twitter_handle": "https://twitter.com/FlutterGWL",
43 | "facebook_handle": "https://www.facebook.com/FlutterGWL",
44 | "meetup_handle": "https://www.meetup.com/Gwalior-Flutter-Meetup-Group",
45 | "instagram_handle": ""
46 | },
47 | {
48 | "organizer_name": "Flutter Pune",
49 | "small_description": "Flutter Pune Development Meetup group is focused on the flutter mobile framework by Google.\nWe believe Flutter is going to change the way native mobile apps are developed. Come be a part of this journey with us.",
50 | "logo": "https://pbs.twimg.com/profile_images/1134686935056769025/dkPN78qX_400x400.png",
51 | "twitter_handle": "https://twitter.com/flutterpune",
52 | "facebook_handle": "",
53 | "meetup_handle": "https://www.meetup.com/Flutter-Pune-Development-Meetup/",
54 | "instagram_handle": ""
55 | },
56 | {
57 | "organizer_name": "Flutter Bangalore",
58 | "small_description": "This group is for mobile app developers who work with Google Flutter, who want to learn or are simply curious about it.",
59 | "logo": "https://pbs.twimg.com/profile_images/1015275215444742144/jV2vHT7M_400x400.jpg",
60 | "twitter_handle": "https://twitter.com/flutterblr",
61 | "facebook_handle": "https://www.facebook.com/flutterbangalore",
62 | "meetup_handle": "https://www.meetup.com/flutter-bangalore-group",
63 | "instagram_handle": ""
64 | },
65 | {
66 | "organizer_name": "Flutter Hyderabad",
67 | "small_description": "A place where developers can discuss the latest and best of Flutter.",
68 | "logo": "https://pbs.twimg.com/profile_images/1138681198081761280/ZCnOMyFx_400x400.jpg",
69 | "twitter_handle": "",
70 | "facebook_handle": "",
71 | "meetup_handle": "https://www.meetup.com/Flutter-Hyderabad",
72 | "instagram_handle": ""
73 | },
74 | {
75 | "organizer_name": "Flutter Surat",
76 | "small_description": "We are a community of passionate developers interested in sharing our experiences in building mobile apps using Flutter.\nA place where developers can discuss the latest and best of Flutter.",
77 | "logo": "https://pbs.twimg.com/profile_images/1138681198081761280/ZCnOMyFx_400x400.jpg",
78 | "twitter_handle": "https://twitter.com/fluttersurat",
79 | "facebook_handle": "https://www.facebook.com/fluttersurat",
80 | "meetup_handle": "https://www.meetup.com/FlutterSurat",
81 | "instagram_handle": ""
82 | }
83 | ]
84 |
--------------------------------------------------------------------------------
/assets/json/speakers.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "Speaker_name": "Nilay Yener",
4 | "Speaker_bio": "Program Manger Flutter and Dart DevRel at Google",
5 | "logo": "https://i.ibb.co/YPGk4ts/1538867099796.jpg",
6 | "twitter_handle": "https://twitter.com/nlycskn"
7 | },
8 | {
9 | "Speaker_name": "Dominik Roszkowski",
10 | "Speaker_bio": "Flutter Freelancer, PW-Sat2 Deputy Manager",
11 | "logo": "https://i.ibb.co/Wx2TLR4/1605258985165.jpg",
12 | "twitter_handle": "https://twitter.com/OrestesGaolin"
13 | },
14 | {
15 | "Speaker_name": "Hasnen Tai",
16 | "Speaker_bio": "Founder of YouTube channel Trending Codes",
17 | "logo": "https://i.ibb.co/bRmnbVX/1577189169479.jpg",
18 | "twitter_handle": "https://twitter.com/voidnen"
19 | },
20 | {
21 | "Speaker_name": "Gazihan Alankus",
22 | "Speaker_bio": "Dart GDE, Assistant Professor, Founder of GBot LLC.",
23 | "logo": "https://i.ibb.co/ZdKzwyk/412997.jpg",
24 | "twitter_handle": "https://twitter.com/gazialankus"
25 | },
26 | {
27 | "Speaker_name": "Bhavesh Daswani",
28 | "Speaker_bio": "Full Stack Developer",
29 | "logo": "https://i.ibb.co/t21GP9v/1593144268626.jpg",
30 | "twitter_handle": "https://twitter.com/digitaldaswani"
31 | },
32 | {
33 | "Speaker_name": "Will Larche",
34 | "Speaker_bio": "Software Engineering Manager at Google",
35 | "logo": "https://i.ibb.co/5xvMjgv/1564173203214.jpg",
36 | "twitter_handle": "https://www.linkedin.com/in/will-larche"
37 | },
38 | {
39 | "Speaker_name": "Majid Hajian",
40 | "Speaker_bio": "ProgressiveHumble",
41 | "logo": "https://i.ibb.co/vD26Pvc/1613316921147.jpg",
42 | "twitter_handle": "https://twitter.com/mhadaily"
43 | },
44 | {
45 | "Speaker_name": "Deven Joshi",
46 | "Speaker_bio": "Senior Developer at BaitFinder",
47 | "logo": "https://i.ibb.co/DL1dfg9/1550405718408.jpg",
48 | "twitter_handle": "https://twitter.com/DevenJoshi7"
49 | },
50 | {
51 | "Speaker_name": "Pooja Bhaumik",
52 | "Speaker_bio": "Flutter GDE",
53 | "logo": "https://i.ibb.co/DtjL0Jn/1553373963950.jpg",
54 | "twitter_handle": "https://twitter.com/pblead26"
55 | },
56 | {
57 | "Speaker_name": "Nikita Gandhi",
58 | "Speaker_bio": "Community Manager at Google DevRel India",
59 | "logo": "https://i.ibb.co/kgwsrWc/1578467205054.jpg",
60 | "twitter_handle": "https://twitter.com/Nikkitagandhi"
61 | }
62 | ]
63 |
64 |
65 |
--------------------------------------------------------------------------------
/contributing.md:
--------------------------------------------------------------------------------
1 | # Contributing
2 |
3 | Awesome! Contributions of all kinds are greatly appreciated. To help smoothen the process we have a few non-exhaustive guidelines to follow which should get you going in no time.
4 |
5 | ## Using GitHub Issues
6 |
7 | - Feel free to use GitHub issues for questions, bug reports, and feature requests
8 | - Use the search feature to check for an existing issue
9 | - Include as much information as possible and provide any relevant resources (Eg. screenshots)
10 | - For bug reports ensure you have a reproducible test case
11 | - A pull request with a breaking test would be super preferable here but isn't required
12 |
13 | ## Getting Started
14 | - Fork the repository
15 | - Send your commits
16 | - Submit a Pull request
17 |
18 |
19 |
--------------------------------------------------------------------------------
/github_images/poster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/github_images/poster.png
--------------------------------------------------------------------------------
/ios/.gitignore:
--------------------------------------------------------------------------------
1 | *.mode1v3
2 | *.mode2v3
3 | *.moved-aside
4 | *.pbxuser
5 | *.perspectivev3
6 | **/*sync/
7 | .sconsign.dblite
8 | .tags*
9 | **/.vagrant/
10 | **/DerivedData/
11 | Icon?
12 | **/Pods/
13 | **/.symlinks/
14 | profile
15 | xcuserdata
16 | **/.generated/
17 | Flutter/App.framework
18 | Flutter/Flutter.framework
19 | Flutter/Flutter.podspec
20 | Flutter/Generated.xcconfig
21 | Flutter/app.flx
22 | Flutter/app.zip
23 | Flutter/flutter_assets/
24 | Flutter/flutter_export_environment.sh
25 | ServiceDefinitions.json
26 | Runner/GeneratedPluginRegistrant.*
27 |
28 | # Exceptions to above rules.
29 | !default.mode1v3
30 | !default.mode2v3
31 | !default.pbxuser
32 | !default.perspectivev3
33 |
--------------------------------------------------------------------------------
/ios/Flutter/AppFrameworkInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | App
9 | CFBundleIdentifier
10 | io.flutter.flutter.app
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | App
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | MinimumOSVersion
24 | 8.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 parse_KV_file(file, separator='=')
14 | file_abs_path = File.expand_path(file)
15 | if !File.exists? file_abs_path
16 | return [];
17 | end
18 | generated_key_values = {}
19 | skip_line_start_symbols = ["#", "/"]
20 | File.foreach(file_abs_path) do |line|
21 | next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ }
22 | plugin = line.split(pattern=separator)
23 | if plugin.length == 2
24 | podname = plugin[0].strip()
25 | path = plugin[1].strip()
26 | podpath = File.expand_path("#{path}", file_abs_path)
27 | generated_key_values[podname] = podpath
28 | else
29 | puts "Invalid plugin specification: #{line}"
30 | end
31 | end
32 | generated_key_values
33 | end
34 |
35 | target 'Runner' do
36 | use_frameworks!
37 | use_modular_headers!
38 |
39 | # Flutter Pod
40 |
41 | copied_flutter_dir = File.join(__dir__, 'Flutter')
42 | copied_framework_path = File.join(copied_flutter_dir, 'Flutter.framework')
43 | copied_podspec_path = File.join(copied_flutter_dir, 'Flutter.podspec')
44 | unless File.exist?(copied_framework_path) && File.exist?(copied_podspec_path)
45 | # Copy Flutter.framework and Flutter.podspec to Flutter/ to have something to link against if the xcode backend script has not run yet.
46 | # That script will copy the correct debug/profile/release version of the framework based on the currently selected Xcode configuration.
47 | # CocoaPods will not embed the framework on pod install (before any build phases can generate) if the dylib does not exist.
48 |
49 | generated_xcode_build_settings_path = File.join(copied_flutter_dir, 'Generated.xcconfig')
50 | unless File.exist?(generated_xcode_build_settings_path)
51 | raise "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter pub get is executed first"
52 | end
53 | generated_xcode_build_settings = parse_KV_file(generated_xcode_build_settings_path)
54 | cached_framework_dir = generated_xcode_build_settings['FLUTTER_FRAMEWORK_DIR'];
55 |
56 | unless File.exist?(copied_framework_path)
57 | FileUtils.cp_r(File.join(cached_framework_dir, 'Flutter.framework'), copied_flutter_dir)
58 | end
59 | unless File.exist?(copied_podspec_path)
60 | FileUtils.cp(File.join(cached_framework_dir, 'Flutter.podspec'), copied_flutter_dir)
61 | end
62 | end
63 |
64 | # Keep pod path relative so it can be checked into Podfile.lock.
65 | pod 'Flutter', :path => 'Flutter'
66 |
67 | # Plugin Pods
68 |
69 | # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock
70 | # referring to absolute paths on developers' machines.
71 | system('rm -rf .symlinks')
72 | system('mkdir -p .symlinks/plugins')
73 | plugin_pods = parse_KV_file('../.flutter-plugins')
74 | plugin_pods.each do |name, path|
75 | symlink = File.join('.symlinks', 'plugins', name)
76 | File.symlink(path, symlink)
77 | pod name, :path => File.join(symlink, 'ios')
78 | end
79 | end
80 |
81 | post_install do |installer|
82 | installer.pods_project.targets.each do |target|
83 | target.build_configurations.each do |config|
84 | config.build_settings['ENABLE_BITCODE'] = 'NO'
85 | end
86 | end
87 | end
88 |
--------------------------------------------------------------------------------
/ios/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Firebase/Core (6.23.0):
3 | - Firebase/CoreOnly
4 | - FirebaseAnalytics (= 6.4.2)
5 | - Firebase/CoreOnly (6.23.0):
6 | - FirebaseCore (= 6.6.7)
7 | - Firebase/Storage (6.23.0):
8 | - Firebase/CoreOnly
9 | - FirebaseStorage (~> 3.6.1)
10 | - firebase_core (0.0.1):
11 | - Firebase/Core
12 | - Flutter
13 | - firebase_core_web (0.1.0):
14 | - Flutter
15 | - firebase_storage (0.0.1):
16 | - Firebase/Storage
17 | - Flutter
18 | - FirebaseAnalytics (6.4.2):
19 | - FirebaseCore (~> 6.6)
20 | - FirebaseInstallations (~> 1.2)
21 | - GoogleAppMeasurement (= 6.4.2)
22 | - GoogleUtilities/AppDelegateSwizzler (~> 6.0)
23 | - GoogleUtilities/MethodSwizzler (~> 6.0)
24 | - GoogleUtilities/Network (~> 6.0)
25 | - "GoogleUtilities/NSData+zlib (~> 6.0)"
26 | - nanopb (= 0.3.9011)
27 | - FirebaseAuthInterop (1.1.0)
28 | - FirebaseCore (6.6.7):
29 | - FirebaseCoreDiagnostics (~> 1.2)
30 | - FirebaseCoreDiagnosticsInterop (~> 1.2)
31 | - GoogleUtilities/Environment (~> 6.5)
32 | - GoogleUtilities/Logger (~> 6.5)
33 | - FirebaseCoreDiagnostics (1.2.4):
34 | - FirebaseCoreDiagnosticsInterop (~> 1.2)
35 | - GoogleDataTransportCCTSupport (~> 3.0)
36 | - GoogleUtilities/Environment (~> 6.5)
37 | - GoogleUtilities/Logger (~> 6.5)
38 | - nanopb (~> 0.3.901)
39 | - FirebaseCoreDiagnosticsInterop (1.2.0)
40 | - FirebaseInstallations (1.2.0):
41 | - FirebaseCore (~> 6.6)
42 | - GoogleUtilities/Environment (~> 6.6)
43 | - GoogleUtilities/UserDefaults (~> 6.6)
44 | - PromisesObjC (~> 1.2)
45 | - FirebaseStorage (3.6.1):
46 | - FirebaseAuthInterop (~> 1.1)
47 | - FirebaseCore (~> 6.6)
48 | - GTMSessionFetcher/Core (~> 1.1)
49 | - Flutter (1.0.0)
50 | - FMDB (2.7.5):
51 | - FMDB/standard (= 2.7.5)
52 | - FMDB/standard (2.7.5)
53 | - GoogleAppMeasurement (6.4.2):
54 | - GoogleUtilities/AppDelegateSwizzler (~> 6.0)
55 | - GoogleUtilities/MethodSwizzler (~> 6.0)
56 | - GoogleUtilities/Network (~> 6.0)
57 | - "GoogleUtilities/NSData+zlib (~> 6.0)"
58 | - nanopb (= 0.3.9011)
59 | - GoogleDataTransport (6.0.0)
60 | - GoogleDataTransportCCTSupport (3.0.0):
61 | - GoogleDataTransport (~> 6.0)
62 | - nanopb (~> 0.3.901)
63 | - GoogleUtilities/AppDelegateSwizzler (6.6.0):
64 | - GoogleUtilities/Environment
65 | - GoogleUtilities/Logger
66 | - GoogleUtilities/Network
67 | - GoogleUtilities/Environment (6.6.0):
68 | - PromisesObjC (~> 1.2)
69 | - GoogleUtilities/Logger (6.6.0):
70 | - GoogleUtilities/Environment
71 | - GoogleUtilities/MethodSwizzler (6.6.0):
72 | - GoogleUtilities/Logger
73 | - GoogleUtilities/Network (6.6.0):
74 | - GoogleUtilities/Logger
75 | - "GoogleUtilities/NSData+zlib"
76 | - GoogleUtilities/Reachability
77 | - "GoogleUtilities/NSData+zlib (6.6.0)"
78 | - GoogleUtilities/Reachability (6.6.0):
79 | - GoogleUtilities/Logger
80 | - GoogleUtilities/UserDefaults (6.6.0):
81 | - GoogleUtilities/Logger
82 | - GTMSessionFetcher/Core (1.3.1)
83 | - nanopb (0.3.9011):
84 | - nanopb/decode (= 0.3.9011)
85 | - nanopb/encode (= 0.3.9011)
86 | - nanopb/decode (0.3.9011)
87 | - nanopb/encode (0.3.9011)
88 | - path_provider (0.0.1):
89 | - Flutter
90 | - path_provider_macos (0.0.1):
91 | - Flutter
92 | - PromisesObjC (1.2.8)
93 | - share (0.0.1):
94 | - Flutter
95 | - sqflite (0.0.1):
96 | - Flutter
97 | - FMDB (~> 2.7.2)
98 | - url_launcher (0.0.1):
99 | - Flutter
100 | - url_launcher_macos (0.0.1):
101 | - Flutter
102 | - url_launcher_web (0.0.1):
103 | - Flutter
104 |
105 | DEPENDENCIES:
106 | - firebase_core (from `.symlinks/plugins/firebase_core/ios`)
107 | - firebase_core_web (from `.symlinks/plugins/firebase_core_web/ios`)
108 | - firebase_storage (from `.symlinks/plugins/firebase_storage/ios`)
109 | - Flutter (from `Flutter`)
110 | - path_provider (from `.symlinks/plugins/path_provider/ios`)
111 | - path_provider_macos (from `.symlinks/plugins/path_provider_macos/ios`)
112 | - share (from `.symlinks/plugins/share/ios`)
113 | - sqflite (from `.symlinks/plugins/sqflite/ios`)
114 | - url_launcher (from `.symlinks/plugins/url_launcher/ios`)
115 | - url_launcher_macos (from `.symlinks/plugins/url_launcher_macos/ios`)
116 | - url_launcher_web (from `.symlinks/plugins/url_launcher_web/ios`)
117 |
118 | SPEC REPOS:
119 | trunk:
120 | - Firebase
121 | - FirebaseAnalytics
122 | - FirebaseAuthInterop
123 | - FirebaseCore
124 | - FirebaseCoreDiagnostics
125 | - FirebaseCoreDiagnosticsInterop
126 | - FirebaseInstallations
127 | - FirebaseStorage
128 | - FMDB
129 | - GoogleAppMeasurement
130 | - GoogleDataTransport
131 | - GoogleDataTransportCCTSupport
132 | - GoogleUtilities
133 | - GTMSessionFetcher
134 | - nanopb
135 | - PromisesObjC
136 |
137 | EXTERNAL SOURCES:
138 | firebase_core:
139 | :path: ".symlinks/plugins/firebase_core/ios"
140 | firebase_core_web:
141 | :path: ".symlinks/plugins/firebase_core_web/ios"
142 | firebase_storage:
143 | :path: ".symlinks/plugins/firebase_storage/ios"
144 | Flutter:
145 | :path: Flutter
146 | path_provider:
147 | :path: ".symlinks/plugins/path_provider/ios"
148 | path_provider_macos:
149 | :path: ".symlinks/plugins/path_provider_macos/ios"
150 | share:
151 | :path: ".symlinks/plugins/share/ios"
152 | sqflite:
153 | :path: ".symlinks/plugins/sqflite/ios"
154 | url_launcher:
155 | :path: ".symlinks/plugins/url_launcher/ios"
156 | url_launcher_macos:
157 | :path: ".symlinks/plugins/url_launcher_macos/ios"
158 | url_launcher_web:
159 | :path: ".symlinks/plugins/url_launcher_web/ios"
160 |
161 | SPEC CHECKSUMS:
162 | Firebase: 585ae467b3edda6a5444e788fda6888f024d8d6f
163 | firebase_core: 0d8be0e0d14c4902953aeb5ac5d7316d1fe4b978
164 | firebase_core_web: d501d8b946b60c8af265428ce483b0fff5ad52d1
165 | firebase_storage: 5e931af5cdef32331676c659bdd1ebcaba9dc78a
166 | FirebaseAnalytics: 558f7a03d19de451093032c806f39d5f9dff096e
167 | FirebaseAuthInterop: a0f37ae05833af156e72028f648d313f7e7592e9
168 | FirebaseCore: a2788a0d5f6c1dff17b8f79b4a73654a8d4bfdbd
169 | FirebaseCoreDiagnostics: b59c024493a409f8aecba02c99928d0d8431d159
170 | FirebaseCoreDiagnosticsInterop: 296e2c5f5314500a850ad0b83e9e7c10b011a850
171 | FirebaseInstallations: 2119fb3e46b0a88bfdbf12562f855ee3252462fa
172 | FirebaseStorage: f4f39ae834a7145963b913f54e2f24a9db1d8fac
173 | Flutter: 0e3d915762c693b495b44d77113d4970485de6ec
174 | FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
175 | GoogleAppMeasurement: 2253e99c1f22638cf234c059144660c338ad76c3
176 | GoogleDataTransport: 061fe7d9b476710e3cd8ea51e8e07d8b67c2b420
177 | GoogleDataTransportCCTSupport: 0f39025e8cf51f168711bd3fb773938d7e62ddb5
178 | GoogleUtilities: 39530bc0ad980530298e9c4af8549e991fd033b1
179 | GTMSessionFetcher: cea130bbfe5a7edc8d06d3f0d17288c32ffe9925
180 | nanopb: 18003b5e52dab79db540fe93fe9579f399bd1ccd
181 | path_provider: abfe2b5c733d04e238b0d8691db0cfd63a27a93c
182 | path_provider_macos: f760a3c5b04357c380e2fddb6f9db6f3015897e0
183 | PromisesObjC: c119f3cd559f50b7ae681fa59dc1acd19173b7e6
184 | share: 0b2c3e82132f5888bccca3351c504d0003b3b410
185 | sqflite: 4001a31ff81d210346b500c55b17f4d6c7589dd0
186 | url_launcher: 6fef411d543ceb26efce54b05a0a40bfd74cbbef
187 | url_launcher_macos: fd7894421cd39320dce5f292fc99ea9270b2a313
188 | url_launcher_web: e5527357f037c87560776e36436bf2b0288b965c
189 |
190 | PODFILE CHECKSUM: c34e2287a9ccaa606aeceab922830efb9a6ff69a
191 |
192 | COCOAPODS: 1.9.1
193 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 0CE61C3CD28A7A220EAE68AF /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2917C03AC9EF8ED11B9C73C0 /* Pods_Runner.framework */; };
11 | 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
12 | 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
13 | 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
14 | 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
15 | 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
16 | 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
17 | /* End PBXBuildFile section */
18 |
19 | /* Begin PBXCopyFilesBuildPhase section */
20 | 9705A1C41CF9048500538489 /* Embed Frameworks */ = {
21 | isa = PBXCopyFilesBuildPhase;
22 | buildActionMask = 2147483647;
23 | dstPath = "";
24 | dstSubfolderSpec = 10;
25 | files = (
26 | );
27 | name = "Embed Frameworks";
28 | runOnlyForDeploymentPostprocessing = 0;
29 | };
30 | /* End PBXCopyFilesBuildPhase section */
31 |
32 | /* Begin PBXFileReference section */
33 | 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; };
34 | 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; };
35 | 2917C03AC9EF8ED11B9C73C0 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
36 | 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; };
37 | 41753F996C31519E4622A05E /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; };
38 | 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; };
39 | 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
40 | 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; };
41 | 8B65C328E27DDD495C8D7E1E /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; };
42 | 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; };
43 | 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; };
44 | 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
45 | 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
46 | 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
47 | 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
48 | 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
49 | DC72EA2A911AFDED653016A6 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; };
50 | /* End PBXFileReference section */
51 |
52 | /* Begin PBXFrameworksBuildPhase section */
53 | 97C146EB1CF9000F007C117D /* Frameworks */ = {
54 | isa = PBXFrameworksBuildPhase;
55 | buildActionMask = 2147483647;
56 | files = (
57 | 0CE61C3CD28A7A220EAE68AF /* Pods_Runner.framework in Frameworks */,
58 | );
59 | runOnlyForDeploymentPostprocessing = 0;
60 | };
61 | /* End PBXFrameworksBuildPhase section */
62 |
63 | /* Begin PBXGroup section */
64 | 3D7546E9BE4B446F36FF54F6 /* Pods */ = {
65 | isa = PBXGroup;
66 | children = (
67 | 41753F996C31519E4622A05E /* Pods-Runner.debug.xcconfig */,
68 | 8B65C328E27DDD495C8D7E1E /* Pods-Runner.release.xcconfig */,
69 | DC72EA2A911AFDED653016A6 /* Pods-Runner.profile.xcconfig */,
70 | );
71 | name = Pods;
72 | path = Pods;
73 | sourceTree = "";
74 | };
75 | 9740EEB11CF90186004384FC /* Flutter */ = {
76 | isa = PBXGroup;
77 | children = (
78 | 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
79 | 9740EEB21CF90195004384FC /* Debug.xcconfig */,
80 | 7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
81 | 9740EEB31CF90195004384FC /* Generated.xcconfig */,
82 | );
83 | name = Flutter;
84 | sourceTree = "";
85 | };
86 | 97C146E51CF9000F007C117D = {
87 | isa = PBXGroup;
88 | children = (
89 | 9740EEB11CF90186004384FC /* Flutter */,
90 | 97C146F01CF9000F007C117D /* Runner */,
91 | 97C146EF1CF9000F007C117D /* Products */,
92 | 3D7546E9BE4B446F36FF54F6 /* Pods */,
93 | EFEFC5EB55357EEFF5484B0B /* Frameworks */,
94 | );
95 | sourceTree = "";
96 | };
97 | 97C146EF1CF9000F007C117D /* Products */ = {
98 | isa = PBXGroup;
99 | children = (
100 | 97C146EE1CF9000F007C117D /* Runner.app */,
101 | );
102 | name = Products;
103 | sourceTree = "";
104 | };
105 | 97C146F01CF9000F007C117D /* Runner */ = {
106 | isa = PBXGroup;
107 | children = (
108 | 97C146FA1CF9000F007C117D /* Main.storyboard */,
109 | 97C146FD1CF9000F007C117D /* Assets.xcassets */,
110 | 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
111 | 97C147021CF9000F007C117D /* Info.plist */,
112 | 97C146F11CF9000F007C117D /* Supporting Files */,
113 | 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
114 | 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
115 | 74858FAE1ED2DC5600515810 /* AppDelegate.swift */,
116 | 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */,
117 | );
118 | path = Runner;
119 | sourceTree = "";
120 | };
121 | 97C146F11CF9000F007C117D /* Supporting Files */ = {
122 | isa = PBXGroup;
123 | children = (
124 | );
125 | name = "Supporting Files";
126 | sourceTree = "";
127 | };
128 | EFEFC5EB55357EEFF5484B0B /* Frameworks */ = {
129 | isa = PBXGroup;
130 | children = (
131 | 2917C03AC9EF8ED11B9C73C0 /* Pods_Runner.framework */,
132 | );
133 | name = Frameworks;
134 | sourceTree = "";
135 | };
136 | /* End PBXGroup section */
137 |
138 | /* Begin PBXNativeTarget section */
139 | 97C146ED1CF9000F007C117D /* Runner */ = {
140 | isa = PBXNativeTarget;
141 | buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
142 | buildPhases = (
143 | 201E27A497AF06632872D05E /* [CP] Check Pods Manifest.lock */,
144 | 9740EEB61CF901F6004384FC /* Run Script */,
145 | 97C146EA1CF9000F007C117D /* Sources */,
146 | 97C146EB1CF9000F007C117D /* Frameworks */,
147 | 97C146EC1CF9000F007C117D /* Resources */,
148 | 9705A1C41CF9048500538489 /* Embed Frameworks */,
149 | 3B06AD1E1E4923F5004D2608 /* Thin Binary */,
150 | 89F67858B367B44A9432E6ED /* [CP] Embed Pods Frameworks */,
151 | );
152 | buildRules = (
153 | );
154 | dependencies = (
155 | );
156 | name = Runner;
157 | productName = Runner;
158 | productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
159 | productType = "com.apple.product-type.application";
160 | };
161 | /* End PBXNativeTarget section */
162 |
163 | /* Begin PBXProject section */
164 | 97C146E61CF9000F007C117D /* Project object */ = {
165 | isa = PBXProject;
166 | attributes = {
167 | LastUpgradeCheck = 1020;
168 | ORGANIZATIONNAME = "";
169 | TargetAttributes = {
170 | 97C146ED1CF9000F007C117D = {
171 | CreatedOnToolsVersion = 7.3.1;
172 | LastSwiftMigration = 1100;
173 | };
174 | };
175 | };
176 | buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
177 | compatibilityVersion = "Xcode 9.3";
178 | developmentRegion = en;
179 | hasScannedForEncodings = 0;
180 | knownRegions = (
181 | en,
182 | Base,
183 | );
184 | mainGroup = 97C146E51CF9000F007C117D;
185 | productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
186 | projectDirPath = "";
187 | projectRoot = "";
188 | targets = (
189 | 97C146ED1CF9000F007C117D /* Runner */,
190 | );
191 | };
192 | /* End PBXProject section */
193 |
194 | /* Begin PBXResourcesBuildPhase section */
195 | 97C146EC1CF9000F007C117D /* Resources */ = {
196 | isa = PBXResourcesBuildPhase;
197 | buildActionMask = 2147483647;
198 | files = (
199 | 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
200 | 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
201 | 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
202 | 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
203 | );
204 | runOnlyForDeploymentPostprocessing = 0;
205 | };
206 | /* End PBXResourcesBuildPhase section */
207 |
208 | /* Begin PBXShellScriptBuildPhase section */
209 | 201E27A497AF06632872D05E /* [CP] Check Pods Manifest.lock */ = {
210 | isa = PBXShellScriptBuildPhase;
211 | buildActionMask = 2147483647;
212 | files = (
213 | );
214 | inputFileListPaths = (
215 | );
216 | inputPaths = (
217 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
218 | "${PODS_ROOT}/Manifest.lock",
219 | );
220 | name = "[CP] Check Pods Manifest.lock";
221 | outputFileListPaths = (
222 | );
223 | outputPaths = (
224 | "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
225 | );
226 | runOnlyForDeploymentPostprocessing = 0;
227 | shellPath = /bin/sh;
228 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
229 | showEnvVarsInLog = 0;
230 | };
231 | 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
232 | isa = PBXShellScriptBuildPhase;
233 | buildActionMask = 2147483647;
234 | files = (
235 | );
236 | inputPaths = (
237 | );
238 | name = "Thin Binary";
239 | outputPaths = (
240 | );
241 | runOnlyForDeploymentPostprocessing = 0;
242 | shellPath = /bin/sh;
243 | shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
244 | };
245 | 89F67858B367B44A9432E6ED /* [CP] Embed Pods Frameworks */ = {
246 | isa = PBXShellScriptBuildPhase;
247 | buildActionMask = 2147483647;
248 | files = (
249 | );
250 | inputPaths = (
251 | "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
252 | "${BUILT_PRODUCTS_DIR}/FMDB/FMDB.framework",
253 | "${PODS_ROOT}/../Flutter/Flutter.framework",
254 | "${BUILT_PRODUCTS_DIR}/GTMSessionFetcher/GTMSessionFetcher.framework",
255 | "${BUILT_PRODUCTS_DIR}/GoogleUtilities/GoogleUtilities.framework",
256 | "${BUILT_PRODUCTS_DIR}/PromisesObjC/FBLPromises.framework",
257 | "${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework",
258 | "${BUILT_PRODUCTS_DIR}/path_provider/path_provider.framework",
259 | "${BUILT_PRODUCTS_DIR}/share/share.framework",
260 | "${BUILT_PRODUCTS_DIR}/sqflite/sqflite.framework",
261 | "${BUILT_PRODUCTS_DIR}/url_launcher/url_launcher.framework",
262 | );
263 | name = "[CP] Embed Pods Frameworks";
264 | outputPaths = (
265 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FMDB.framework",
266 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Flutter.framework",
267 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMSessionFetcher.framework",
268 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleUtilities.framework",
269 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBLPromises.framework",
270 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework",
271 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider.framework",
272 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/share.framework",
273 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sqflite.framework",
274 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/url_launcher.framework",
275 | );
276 | runOnlyForDeploymentPostprocessing = 0;
277 | shellPath = /bin/sh;
278 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
279 | showEnvVarsInLog = 0;
280 | };
281 | 9740EEB61CF901F6004384FC /* Run Script */ = {
282 | isa = PBXShellScriptBuildPhase;
283 | buildActionMask = 2147483647;
284 | files = (
285 | );
286 | inputPaths = (
287 | );
288 | name = "Run Script";
289 | outputPaths = (
290 | );
291 | runOnlyForDeploymentPostprocessing = 0;
292 | shellPath = /bin/sh;
293 | shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
294 | };
295 | /* End PBXShellScriptBuildPhase section */
296 |
297 | /* Begin PBXSourcesBuildPhase section */
298 | 97C146EA1CF9000F007C117D /* Sources */ = {
299 | isa = PBXSourcesBuildPhase;
300 | buildActionMask = 2147483647;
301 | files = (
302 | 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */,
303 | 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
304 | );
305 | runOnlyForDeploymentPostprocessing = 0;
306 | };
307 | /* End PBXSourcesBuildPhase section */
308 |
309 | /* Begin PBXVariantGroup section */
310 | 97C146FA1CF9000F007C117D /* Main.storyboard */ = {
311 | isa = PBXVariantGroup;
312 | children = (
313 | 97C146FB1CF9000F007C117D /* Base */,
314 | );
315 | name = Main.storyboard;
316 | sourceTree = "";
317 | };
318 | 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
319 | isa = PBXVariantGroup;
320 | children = (
321 | 97C147001CF9000F007C117D /* Base */,
322 | );
323 | name = LaunchScreen.storyboard;
324 | sourceTree = "";
325 | };
326 | /* End PBXVariantGroup section */
327 |
328 | /* Begin XCBuildConfiguration section */
329 | 249021D3217E4FDB00AE95B9 /* Profile */ = {
330 | isa = XCBuildConfiguration;
331 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
332 | buildSettings = {
333 | ALWAYS_SEARCH_USER_PATHS = NO;
334 | CLANG_ANALYZER_NONNULL = YES;
335 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
336 | CLANG_CXX_LIBRARY = "libc++";
337 | CLANG_ENABLE_MODULES = YES;
338 | CLANG_ENABLE_OBJC_ARC = YES;
339 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
340 | CLANG_WARN_BOOL_CONVERSION = YES;
341 | CLANG_WARN_COMMA = YES;
342 | CLANG_WARN_CONSTANT_CONVERSION = YES;
343 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
344 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
345 | CLANG_WARN_EMPTY_BODY = YES;
346 | CLANG_WARN_ENUM_CONVERSION = YES;
347 | CLANG_WARN_INFINITE_RECURSION = YES;
348 | CLANG_WARN_INT_CONVERSION = YES;
349 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
350 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
351 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
352 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
353 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
354 | CLANG_WARN_STRICT_PROTOTYPES = YES;
355 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
356 | CLANG_WARN_UNREACHABLE_CODE = YES;
357 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
358 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
359 | COPY_PHASE_STRIP = NO;
360 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
361 | ENABLE_NS_ASSERTIONS = NO;
362 | ENABLE_STRICT_OBJC_MSGSEND = YES;
363 | GCC_C_LANGUAGE_STANDARD = gnu99;
364 | GCC_NO_COMMON_BLOCKS = YES;
365 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
366 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
367 | GCC_WARN_UNDECLARED_SELECTOR = YES;
368 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
369 | GCC_WARN_UNUSED_FUNCTION = YES;
370 | GCC_WARN_UNUSED_VARIABLE = YES;
371 | IPHONEOS_DEPLOYMENT_TARGET = 8.0;
372 | MTL_ENABLE_DEBUG_INFO = NO;
373 | SDKROOT = iphoneos;
374 | SUPPORTED_PLATFORMS = iphoneos;
375 | TARGETED_DEVICE_FAMILY = "1,2";
376 | VALIDATE_PRODUCT = YES;
377 | };
378 | name = Profile;
379 | };
380 | 249021D4217E4FDB00AE95B9 /* Profile */ = {
381 | isa = XCBuildConfiguration;
382 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
383 | buildSettings = {
384 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
385 | CLANG_ENABLE_MODULES = YES;
386 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
387 | ENABLE_BITCODE = NO;
388 | FRAMEWORK_SEARCH_PATHS = (
389 | "$(inherited)",
390 | "$(PROJECT_DIR)/Flutter",
391 | );
392 | INFOPLIST_FILE = Runner/Info.plist;
393 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
394 | LIBRARY_SEARCH_PATHS = (
395 | "$(inherited)",
396 | "$(PROJECT_DIR)/Flutter",
397 | );
398 | PRODUCT_BUNDLE_IDENTIFIER = com.estech.fluttercon;
399 | PRODUCT_NAME = "$(TARGET_NAME)";
400 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
401 | SWIFT_VERSION = 5.0;
402 | VERSIONING_SYSTEM = "apple-generic";
403 | };
404 | name = Profile;
405 | };
406 | 97C147031CF9000F007C117D /* Debug */ = {
407 | isa = XCBuildConfiguration;
408 | baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
409 | buildSettings = {
410 | ALWAYS_SEARCH_USER_PATHS = NO;
411 | CLANG_ANALYZER_NONNULL = YES;
412 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
413 | CLANG_CXX_LIBRARY = "libc++";
414 | CLANG_ENABLE_MODULES = YES;
415 | CLANG_ENABLE_OBJC_ARC = YES;
416 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
417 | CLANG_WARN_BOOL_CONVERSION = YES;
418 | CLANG_WARN_COMMA = YES;
419 | CLANG_WARN_CONSTANT_CONVERSION = YES;
420 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
421 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
422 | CLANG_WARN_EMPTY_BODY = YES;
423 | CLANG_WARN_ENUM_CONVERSION = YES;
424 | CLANG_WARN_INFINITE_RECURSION = YES;
425 | CLANG_WARN_INT_CONVERSION = YES;
426 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
427 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
428 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
429 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
430 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
431 | CLANG_WARN_STRICT_PROTOTYPES = YES;
432 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
433 | CLANG_WARN_UNREACHABLE_CODE = YES;
434 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
435 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
436 | COPY_PHASE_STRIP = NO;
437 | DEBUG_INFORMATION_FORMAT = dwarf;
438 | ENABLE_STRICT_OBJC_MSGSEND = YES;
439 | ENABLE_TESTABILITY = YES;
440 | GCC_C_LANGUAGE_STANDARD = gnu99;
441 | GCC_DYNAMIC_NO_PIC = NO;
442 | GCC_NO_COMMON_BLOCKS = YES;
443 | GCC_OPTIMIZATION_LEVEL = 0;
444 | GCC_PREPROCESSOR_DEFINITIONS = (
445 | "DEBUG=1",
446 | "$(inherited)",
447 | );
448 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
449 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
450 | GCC_WARN_UNDECLARED_SELECTOR = YES;
451 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
452 | GCC_WARN_UNUSED_FUNCTION = YES;
453 | GCC_WARN_UNUSED_VARIABLE = YES;
454 | IPHONEOS_DEPLOYMENT_TARGET = 8.0;
455 | MTL_ENABLE_DEBUG_INFO = YES;
456 | ONLY_ACTIVE_ARCH = YES;
457 | SDKROOT = iphoneos;
458 | TARGETED_DEVICE_FAMILY = "1,2";
459 | };
460 | name = Debug;
461 | };
462 | 97C147041CF9000F007C117D /* Release */ = {
463 | isa = XCBuildConfiguration;
464 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
465 | buildSettings = {
466 | ALWAYS_SEARCH_USER_PATHS = NO;
467 | CLANG_ANALYZER_NONNULL = YES;
468 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
469 | CLANG_CXX_LIBRARY = "libc++";
470 | CLANG_ENABLE_MODULES = YES;
471 | CLANG_ENABLE_OBJC_ARC = YES;
472 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
473 | CLANG_WARN_BOOL_CONVERSION = YES;
474 | CLANG_WARN_COMMA = YES;
475 | CLANG_WARN_CONSTANT_CONVERSION = YES;
476 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
477 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
478 | CLANG_WARN_EMPTY_BODY = YES;
479 | CLANG_WARN_ENUM_CONVERSION = YES;
480 | CLANG_WARN_INFINITE_RECURSION = YES;
481 | CLANG_WARN_INT_CONVERSION = YES;
482 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
483 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
484 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
485 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
486 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
487 | CLANG_WARN_STRICT_PROTOTYPES = YES;
488 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
489 | CLANG_WARN_UNREACHABLE_CODE = YES;
490 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
491 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
492 | COPY_PHASE_STRIP = NO;
493 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
494 | ENABLE_NS_ASSERTIONS = NO;
495 | ENABLE_STRICT_OBJC_MSGSEND = YES;
496 | GCC_C_LANGUAGE_STANDARD = gnu99;
497 | GCC_NO_COMMON_BLOCKS = YES;
498 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
499 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
500 | GCC_WARN_UNDECLARED_SELECTOR = YES;
501 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
502 | GCC_WARN_UNUSED_FUNCTION = YES;
503 | GCC_WARN_UNUSED_VARIABLE = YES;
504 | IPHONEOS_DEPLOYMENT_TARGET = 8.0;
505 | MTL_ENABLE_DEBUG_INFO = NO;
506 | SDKROOT = iphoneos;
507 | SUPPORTED_PLATFORMS = iphoneos;
508 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
509 | TARGETED_DEVICE_FAMILY = "1,2";
510 | VALIDATE_PRODUCT = YES;
511 | };
512 | name = Release;
513 | };
514 | 97C147061CF9000F007C117D /* Debug */ = {
515 | isa = XCBuildConfiguration;
516 | baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
517 | buildSettings = {
518 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
519 | CLANG_ENABLE_MODULES = YES;
520 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
521 | ENABLE_BITCODE = NO;
522 | FRAMEWORK_SEARCH_PATHS = (
523 | "$(inherited)",
524 | "$(PROJECT_DIR)/Flutter",
525 | );
526 | INFOPLIST_FILE = Runner/Info.plist;
527 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
528 | LIBRARY_SEARCH_PATHS = (
529 | "$(inherited)",
530 | "$(PROJECT_DIR)/Flutter",
531 | );
532 | PRODUCT_BUNDLE_IDENTIFIER = com.estech.fluttercon;
533 | PRODUCT_NAME = "$(TARGET_NAME)";
534 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
535 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
536 | SWIFT_VERSION = 5.0;
537 | VERSIONING_SYSTEM = "apple-generic";
538 | };
539 | name = Debug;
540 | };
541 | 97C147071CF9000F007C117D /* Release */ = {
542 | isa = XCBuildConfiguration;
543 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
544 | buildSettings = {
545 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
546 | CLANG_ENABLE_MODULES = YES;
547 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
548 | ENABLE_BITCODE = NO;
549 | FRAMEWORK_SEARCH_PATHS = (
550 | "$(inherited)",
551 | "$(PROJECT_DIR)/Flutter",
552 | );
553 | INFOPLIST_FILE = Runner/Info.plist;
554 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
555 | LIBRARY_SEARCH_PATHS = (
556 | "$(inherited)",
557 | "$(PROJECT_DIR)/Flutter",
558 | );
559 | PRODUCT_BUNDLE_IDENTIFIER = com.estech.fluttercon;
560 | PRODUCT_NAME = "$(TARGET_NAME)";
561 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
562 | SWIFT_VERSION = 5.0;
563 | VERSIONING_SYSTEM = "apple-generic";
564 | };
565 | name = Release;
566 | };
567 | /* End XCBuildConfiguration section */
568 |
569 | /* Begin XCConfigurationList section */
570 | 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {
571 | isa = XCConfigurationList;
572 | buildConfigurations = (
573 | 97C147031CF9000F007C117D /* Debug */,
574 | 97C147041CF9000F007C117D /* Release */,
575 | 249021D3217E4FDB00AE95B9 /* Profile */,
576 | );
577 | defaultConfigurationIsVisible = 0;
578 | defaultConfigurationName = Release;
579 | };
580 | 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {
581 | isa = XCConfigurationList;
582 | buildConfigurations = (
583 | 97C147061CF9000F007C117D /* Debug */,
584 | 97C147071CF9000F007C117D /* Release */,
585 | 249021D4217E4FDB00AE95B9 /* Profile */,
586 | );
587 | defaultConfigurationIsVisible = 0;
588 | defaultConfigurationName = Release;
589 | };
590 | /* End XCConfigurationList section */
591 | };
592 | rootObject = 97C146E61CF9000F007C117D /* Project object */;
593 | }
594 |
--------------------------------------------------------------------------------
/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/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/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/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/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/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/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/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/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/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/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/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/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/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/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/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/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/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/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/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/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/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/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/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/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/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/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/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/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/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/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/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md:
--------------------------------------------------------------------------------
1 | # Launch Screen Assets
2 |
3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory.
4 |
5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
--------------------------------------------------------------------------------
/ios/Runner/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/ios/Runner/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Runner/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | fluttercon
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | $(FLUTTER_BUILD_NAME)
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | $(FLUTTER_BUILD_NUMBER)
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UISupportedInterfaceOrientations
30 |
31 | UIInterfaceOrientationPortrait
32 | UIInterfaceOrientationLandscapeLeft
33 | UIInterfaceOrientationLandscapeRight
34 |
35 | UISupportedInterfaceOrientations~ipad
36 |
37 | UIInterfaceOrientationPortrait
38 | UIInterfaceOrientationPortraitUpsideDown
39 | UIInterfaceOrientationLandscapeLeft
40 | UIInterfaceOrientationLandscapeRight
41 |
42 | UIViewControllerBasedStatusBarAppearance
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
2 |
--------------------------------------------------------------------------------
/lib/HomePage/ContactUs/ContactUs.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:url_launcher/url_launcher.dart';
3 |
4 | import '../Responsiveness/Responsive.dart';
5 |
6 | class ContactUs extends StatelessWidget {
7 | const ContactUs({
8 | Key key,
9 | }) : super(key: key);
10 |
11 | @override
12 | Widget build(BuildContext context) {
13 | return Stack(
14 | children: [
15 | Container(
16 | color: Colors.black,
17 | width: double.infinity,
18 | //height: MediaQuery.of(context).size.height / 2,
19 | ),
20 | Container(
21 | color: Colors.black,
22 | width: double.infinity,
23 | //height: MediaQuery.of(context).size.height / 2,
24 | child: Center(
25 | child: Column(
26 | children: [
27 | SizedBox(
28 | height: 110.0,
29 | ),
30 | Text(
31 | 'Contact us',
32 | style: TextStyle(
33 | fontSize:
34 | ResponsiveWidget.isSmallScreen(context) ? 35.0 : 55.0,
35 | fontFamily: 'assets/fonts/ProductSans.ttf',
36 | color: Colors.white,
37 | ),
38 | ),
39 | SizedBox(
40 | height: 55.0,
41 | ),
42 | Padding(
43 | padding: const EdgeInsets.only(
44 | top: 10.0, bottom: 20.0, right: 10.0),
45 | child: Row(
46 | mainAxisAlignment: MainAxisAlignment.center,
47 | children: [
48 | GestureDetector(
49 | onTap: () async {
50 | String url = 'https://twitter.com/IndiaFlutter';
51 | if (await canLaunch(url)) {
52 | await launch(url);
53 | } else {
54 | throw 'Could not launch $url';
55 | }
56 | },
57 | child: CircleAvatar(
58 | radius: ResponsiveWidget.isSmallScreen(context)
59 | ? 20.0
60 | : 35.0,
61 | backgroundImage: AssetImage(
62 | 'assets/Images/socialIcons/twitter.png'),
63 | ),
64 | ),
65 | SizedBox(
66 | width: 30.0,
67 | ),
68 | GestureDetector(
69 | onTap: () async {
70 | String url = 'https://www.facebook.com/IndiaFlutter';
71 | if (await canLaunch(url)) {
72 | await launch(url);
73 | } else {
74 | throw 'Could not launch $url';
75 | }
76 | },
77 | child: CircleAvatar(
78 | radius: ResponsiveWidget.isSmallScreen(context)
79 | ? 20.0
80 | : 35.0,
81 | backgroundImage: AssetImage(
82 | 'assets/Images/socialIcons/facebook.png'),
83 | ),
84 | ),
85 | SizedBox(
86 | width: 30.0,
87 | ),
88 | GestureDetector(
89 | onTap: () async {
90 | String url =
91 | 'https://www.youtube.com/channel/UCQ6LuIX6WBwIEOiVakjWM6w';
92 | if (await canLaunch(url)) {
93 | await launch(url);
94 | } else {
95 | throw 'Could not launch $url';
96 | }
97 | },
98 | child: CircleAvatar(
99 | radius: ResponsiveWidget.isSmallScreen(context)
100 | ? 20.0
101 | : 35.0,
102 | backgroundImage: AssetImage(
103 | 'assets/Images/socialIcons/youtube.png'),
104 | ),
105 | ),
106 | ],
107 | ),
108 | ),
109 | SizedBox(
110 | height: ResponsiveWidget.isSmallScreen(context) ? 15.0 : 50.0,
111 | ),
112 | GestureDetector(
113 | onTap: () async {
114 | String url =
115 | 'https://join.slack.com/t/fluttercommunityindia/shared_invite/zt-ewhb1p50-6515IPymTDXRyv7Z9UbylA';
116 | if (await canLaunch(url)) {
117 | await launch(url);
118 | } else {
119 | throw 'Could not launch $url';
120 | }
121 | },
122 | child: Container(
123 | width:
124 | ResponsiveWidget.isSmallScreen(context) ? 120.0 : 235.0,
125 | child: Image.asset(
126 | 'assets/Images/socialIcons/add_to_slack.png',
127 | ),
128 | ),
129 | ),
130 | SizedBox(
131 | height: 50.0,
132 | ),
133 | ],
134 | ),
135 | ),
136 | ),
137 | ],
138 | );
139 | }
140 | }
141 |
--------------------------------------------------------------------------------
/lib/HomePage/CoverImage.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class CoverImage extends StatelessWidget {
4 | const CoverImage({
5 | Key key,
6 | @required this.coverImage,
7 | }) : super(key: key);
8 |
9 | final String coverImage;
10 |
11 | @override
12 | Widget build(BuildContext context) {
13 | return Container(
14 | width: MediaQuery.of(context).size.width,
15 | height: MediaQuery.of(context).size.height,
16 | child: Center(
17 | child: Image.asset(
18 | coverImage,
19 | ),
20 | ),
21 | );
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/lib/HomePage/FAQ/FAQ.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | import '../Responsiveness/Responsive.dart';
4 | import 'QNA.dart';
5 |
6 | class FAQSection extends StatelessWidget {
7 | @override
8 | Widget build(BuildContext context) {
9 | return Column(
10 | children: [
11 | Padding(
12 | padding: EdgeInsets.symmetric(horizontal: 30.0, vertical: 7.0),
13 | child: Align(
14 | alignment: Alignment.topLeft,
15 | child: Text(
16 | 'Frequently Asked Question',
17 | textAlign: TextAlign.justify,
18 | style: TextStyle(
19 | fontSize: ResponsiveWidget.isSmallScreen(context) ? 30.0 : 55.0,
20 | color: Colors.black,
21 | //color: Colors.white,
22 | fontWeight: FontWeight.w600,
23 | fontFamily: 'assets/fonts/ProductSans.ttf',
24 | ),
25 | ),
26 | ),
27 | ),
28 | SizedBox(
29 | height: 20.0,
30 | ),
31 | QNA.buildQuestion(
32 | context,
33 | 'How can i propose the talk?',
34 | ),
35 | SizedBox(
36 | height: 15.0,
37 | ),
38 | QNA.buildAnswer(
39 | context,
40 | 'You can fill the form by clicking Call for Speakers',
41 | ),
42 | SizedBox(
43 | height: 15.0,
44 | ),
45 | QNA.buildQuestion(
46 | context,
47 | 'Where will the sessions be broadcast?',
48 | ),
49 | SizedBox(
50 | height: 15.0,
51 | ),
52 | QNA.buildAnswer(
53 | context,
54 | 'The videos will be streamed live on our dedicated Youtube channel.',
55 | ),
56 | SizedBox(
57 | height: 15.0,
58 | ),
59 | QNA.buildQuestion(
60 | context,
61 | 'Will presentations be available after each event?',
62 | ),
63 | SizedBox(
64 | height: 15.0,
65 | ),
66 | QNA.buildAnswer(
67 | context,
68 | 'A few days after each talk, we will post them on a dedicated YouTube playlist.',
69 | ),
70 | SizedBox(
71 | height: 15.0,
72 | ),
73 | QNA.buildQuestion(
74 | context,
75 | 'Will the conference be fully in English?',
76 | ),
77 | SizedBox(
78 | height: 15.0,
79 | ),
80 | QNA.buildAnswer(
81 | context,
82 | 'Yes, the official language is English.',
83 | ),
84 | SizedBox(
85 | height: 15.0,
86 | ),
87 | QNA.buildQuestion(
88 | context,
89 | 'What do I need to bring with me?',
90 | ),
91 | SizedBox(
92 | height: 15.0,
93 | ),
94 | QNA.buildAnswer(
95 | context,
96 | 'You don`t need anything extra to fully attend the event. Although we recommend charging your phone. ;)',
97 | ),
98 | SizedBox(
99 | height: 15.0,
100 | ),
101 | ],
102 | );
103 | }
104 | }
105 |
106 | circleLogo(String string) {
107 | if (string.isEmpty) {
108 | return AssetImage('assets/Organizer_Logo/flutter_surat_logo.jpg');
109 | }
110 | return NetworkImage(string);
111 | }
112 |
--------------------------------------------------------------------------------
/lib/HomePage/FAQ/QNA.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | import '../Responsiveness/Responsive.dart';
4 |
5 | class QNA {
6 | static Container buildAnswer(BuildContext context, String answer) {
7 | return Container(
8 | padding: EdgeInsets.symmetric(horizontal: 40.0, vertical: 7.0),
9 | child: Align(
10 | alignment: Alignment.topLeft,
11 | child: Text(
12 | answer,
13 | style: TextStyle(
14 | fontFamily: 'assets/fonts/ProductSans.ttf',
15 | fontSize: ResponsiveWidget.isSmallScreen(context) ? 10.0 : 20.0,
16 | ),
17 | ),
18 | ),
19 | color: Colors.white,
20 | );
21 | }
22 |
23 | static Container buildQuestion(BuildContext context, String question) {
24 | return Container(
25 | padding: EdgeInsets.symmetric(horizontal: 10.0, vertical: 7.0),
26 | child: Align(
27 | alignment: Alignment.topLeft,
28 | child: Text(
29 | question,
30 | style: TextStyle(
31 | fontSize: ResponsiveWidget.isSmallScreen(context) ? 15.0 : 25.0,
32 | fontFamily: 'assets/fonts/ProductSans.ttf',
33 | ),
34 | ),
35 | ),
36 | decoration: BoxDecoration(
37 | color: Colors.black12,
38 | borderRadius: BorderRadius.circular(10.0),
39 | ),
40 | margin: EdgeInsets.fromLTRB(30, 0, 30, 0),
41 | );
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/lib/HomePage/HomePage.dart:
--------------------------------------------------------------------------------
1 | import 'package:FlutterConIndia2020/background/graphic.dart';
2 | import 'package:flutter/material.dart';
3 | import 'package:motion_widget/motion_widget.dart';
4 | import 'package:url_launcher/url_launcher.dart';
5 |
6 | import 'ContactUs/ContactUs.dart';
7 | import 'Intro/CoverImage.dart';
8 | import 'Intro/mainIntro.dart';
9 | import 'OrganizerSection/OrganizerSection.dart';
10 | import 'PoweredBy/PoweredBy.dart';
11 | import 'Responsiveness/Responsive.dart';
12 | import 'ScheduleSection/ScheduleSection.dart';
13 | import 'SpeakerSection/SpeakerScreen.dart';
14 |
15 | class HomePageNew extends StatelessWidget {
16 | static const String tag = '/HomePageNew';
17 | final String primaryFont = 'assets/fonts/ProductSans.ttf';
18 | final String coverImage =
19 | 'assets/Images/Logos/FlutterConLogos/Group_twenty.png';
20 |
21 | final MotionExitConfigurations motionExitConfigurations =
22 | MotionExitConfigurations(
23 | displacement: 200,
24 | orientation: MotionOrientation.LEFT,
25 | durationMs: 400,
26 | );
27 |
28 | @override
29 | Widget build(BuildContext context) {
30 | return Scaffold(
31 | extendBody: true,
32 | body: Stack(
33 | children: [
34 | DiagonalApp(),
35 | ListView(
36 | children: [
37 | CoverImage(coverImage: coverImage),
38 | SizedBox(
39 | width: ResponsiveWidget.isSmallScreen(context)
40 | ? MediaQuery.of(context).size.width
41 | : MediaQuery.of(context).size.width * 0.7,
42 | child: Column(
43 | children: [
44 | Container(
45 | margin: EdgeInsets.only(top: 90.0),
46 | width: double.infinity,
47 | height: 400.0,
48 | color: Color(0xffFF0000),
49 | child: Column(
50 | mainAxisAlignment: MainAxisAlignment.center,
51 | children: [
52 | Text(
53 | 'Streaming on',
54 | style: TextStyle(
55 | fontSize:
56 | ResponsiveWidget.isSmallScreen(context)
57 | ? 15.0
58 | : 35.0,
59 | color: Colors.white,
60 | fontFamily: 'Rocky Billy',
61 | ),
62 | ),
63 | SizedBox(
64 | height: 50.0,
65 | ),
66 | GestureDetector(
67 | onTap: () async {
68 | String url =
69 | 'https://www.youtube.com/channel/UCQ6LuIX6WBwIEOiVakjWM6w';
70 | if (await canLaunch(url)) {
71 | await launch(url);
72 | } else {
73 | throw 'Could not launch $url';
74 | }
75 | },
76 | child: Image.asset(
77 | 'assets/Images/socialIcons/youtube_icon.png',
78 | height: 50.0,
79 | ),
80 | ),
81 | ],
82 | ),
83 | ),
84 | MainIntro(
85 | motionExitConfigurations: motionExitConfigurations,
86 | ),
87 | Container(
88 | color: Colors.black,
89 | width: double.infinity,
90 | margin: EdgeInsets.only(top: 90.0),
91 | child: Column(
92 | children: [
93 | SizedBox(
94 | height: 10,
95 | ),
96 | Center(
97 | child: Text(
98 | 'Speakers',
99 | style: TextStyle(
100 | fontSize:
101 | ResponsiveWidget.isSmallScreen(context)
102 | ? 35.0
103 | : 45.0,
104 | fontFamily: 'assets/fonts/ProductSans.ttf',
105 | color: Colors.white,
106 | ),
107 | ),
108 | ),
109 | SizedBox(
110 | height: 35,
111 | ),
112 | SpeakerScreen(),
113 | SizedBox(
114 | height: 60,
115 | ),
116 | ],
117 | ),
118 | ),
119 | ScheduleSection(
120 | motionExitConfigurations: motionExitConfigurations),
121 | OrganzerSection(),
122 | SizedBox(
123 | height: 90.0,
124 | ),
125 | PoweredBy(),
126 | SizedBox(
127 | height: 90.0,
128 | ),
129 | ContactUs(),
130 | Container(
131 | color: Colors.black,
132 | width: double.infinity,
133 | child: Align(
134 | alignment: Alignment.bottomCenter,
135 | child: Padding(
136 | padding:
137 | const EdgeInsets.symmetric(horizontal: 10.0),
138 | child: Text(
139 | 'Made with Flutter 💙',
140 | style: TextStyle(
141 | fontSize:
142 | ResponsiveWidget.isSmallScreen(context)
143 | ? 8.0
144 | : 15.0,
145 | color: Colors.white,
146 | ),
147 | ),
148 | ),
149 | ),
150 | ),
151 | Container(
152 | color: Colors.black,
153 | width: double.infinity,
154 | child: Align(
155 | alignment: Alignment.bottomCenter,
156 | child: Padding(
157 | padding:
158 | const EdgeInsets.symmetric(horizontal: 10.0),
159 | child: Text(
160 | 'Flutter and the related logo are trademarks of Google LLC. Flutter India is not affiliated with or otherwise sponsored by Google LLC.',
161 | style: TextStyle(
162 | fontSize:
163 | ResponsiveWidget.isSmallScreen(context)
164 | ? 8.0
165 | : 15.0,
166 | color: Colors.white,
167 | ),
168 | ),
169 | ),
170 | ),
171 | ),
172 | ],
173 | ),
174 | ),
175 | ],
176 | ),
177 | ],
178 | ),
179 | );
180 | }
181 | }
182 |
--------------------------------------------------------------------------------
/lib/HomePage/Intro/CoverImage.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class CoverImage extends StatelessWidget {
4 | const CoverImage({
5 | Key key,
6 | @required this.coverImage,
7 | }) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return Container(
12 | color: Colors.black38,
13 | width: MediaQuery.of(context).size.width,
14 | height: MediaQuery.of(context).size.height,
15 | child: Stack(children: [
16 | Center(
17 | child: Image.asset(
18 | coverImage,
19 | ),
20 | ),
21 | ]),
22 | );
23 | }
24 |
25 | final String coverImage;
26 | }
27 |
--------------------------------------------------------------------------------
/lib/HomePage/Intro/mainIntro.dart:
--------------------------------------------------------------------------------
1 | import 'package:FlutterConIndia2020/widgets/worldReunite.dart';
2 | import 'package:flutter/material.dart';
3 |
4 | import 'package:motion_widget/motion_widget.dart';
5 |
6 | import '../../widgets/widget.dart';
7 |
8 | class MainIntro extends StatelessWidget {
9 | const MainIntro({
10 | Key key,
11 | @required this.motionExitConfigurations,
12 | }) : super(key: key);
13 |
14 | final MotionExitConfigurations motionExitConfigurations;
15 |
16 | @override
17 | Widget build(BuildContext context) {
18 | return Container(
19 | color: Colors.black,
20 | margin: EdgeInsets.only(
21 | top: 90.0,
22 | ),
23 | child: Motion(
24 | durationMs: 3000,
25 | crossAxisAlignment: CrossAxisAlignment.center,
26 | exitConfigurations: motionExitConfigurations,
27 | children: [
28 | SizedBox(
29 | height: 20.0,
30 | ),
31 | MotionElement(
32 | interval: Interval(0.0, 0.30),
33 | displacement: 100,
34 | orientation: MotionOrientation.DOWN,
35 | child: WhatisFlutterConIndia(),
36 | ),
37 | MotionElement(
38 | child: EventDesc(),
39 | interval: Interval(0.3, 1.0),
40 | ),
41 | Padding(
42 | padding: EdgeInsets.symmetric(horizontal: 64), child: Divider()),
43 | SizedBox(
44 | height: 10.0,
45 | ),
46 | MotionElement(
47 | interval: Interval(0.4, 1.0),
48 | mode: MotionMode.TRANSLATE,
49 | child: When(
50 | color: Colors.white,
51 | ),
52 | ),
53 | MotionElement(
54 | interval: Interval(0.5, 1.0),
55 | child: EventTime(
56 | color: Colors.white,
57 | ),
58 | ),
59 | Padding(
60 | padding: EdgeInsets.symmetric(
61 | horizontal: 64,
62 | ),
63 | child: Divider(),
64 | ),
65 | SizedBox(
66 | height: 10.0,
67 | ),
68 | MotionElement(
69 | interval: Interval(0.58, 1.0),
70 | child: GoalHead(color: Colors.white)),
71 | MotionElement(
72 | interval: Interval(0.63, 1.0),
73 | child: GoadAns(color: Colors.white)),
74 | Padding(
75 | padding: EdgeInsets.symmetric(horizontal: 64), child: Divider()),
76 | SizedBox(
77 | height: 10.0,
78 | ),
79 | MotionElement(
80 | interval: Interval(0.67, 1.0),
81 | child: FlutterWorldUnited(color: Colors.white)),
82 | MotionElement(
83 | interval: Interval(0.69, 1.0),
84 | child: WorldReunitedQuote(color: Colors.white)),
85 | SizedBox(
86 | height: 10.0,
87 | ),
88 | ],
89 | ),
90 | );
91 | }
92 | }
93 |
--------------------------------------------------------------------------------
/lib/HomePage/MainIntro.dart:
--------------------------------------------------------------------------------
1 | import 'package:FlutterConIndia2020/widgets/widget.dart';
2 | import 'package:FlutterConIndia2020/widgets/worldReunite.dart';
3 | import 'package:flutter/material.dart';
4 | import 'package:motion_widget/motion_widget.dart';
5 |
6 | class MainIntro extends StatelessWidget {
7 | const MainIntro({
8 | Key key,
9 | @required this.motionExitConfigurations,
10 | }) : super(key: key);
11 |
12 | final MotionExitConfigurations motionExitConfigurations;
13 |
14 | @override
15 | Widget build(BuildContext context) {
16 | return Container(
17 | margin: EdgeInsets.only(
18 | top: 70.0,
19 | ),
20 | child: Motion(
21 | durationMs: 3000,
22 | crossAxisAlignment: CrossAxisAlignment.center,
23 | exitConfigurations: motionExitConfigurations,
24 | children: [
25 | MotionElement(
26 | interval: Interval(0.0, 0.30),
27 | displacement: 100,
28 | orientation: MotionOrientation.DOWN,
29 | child: WhatisFlutterConIndia(),
30 | ),
31 | MotionElement(
32 | child: EventDesc(),
33 | interval: Interval(0.3, 1.0),
34 | ),
35 | Padding(
36 | padding: EdgeInsets.symmetric(horizontal: 64), child: Divider()),
37 | SizedBox(
38 | height: 10.0,
39 | ),
40 | MotionElement(
41 | interval: Interval(0.4, 1.0),
42 | mode: MotionMode.TRANSLATE,
43 | child: When(
44 | color: Colors.white,
45 | ),
46 | ),
47 | MotionElement(
48 | interval: Interval(0.5, 1.0),
49 | child: EventTime(
50 | color: Colors.white,
51 | ),
52 | ),
53 | Padding(
54 | padding: EdgeInsets.symmetric(horizontal: 64), child: Divider()),
55 | SizedBox(
56 | height: 10.0,
57 | ),
58 | MotionElement(
59 | interval: Interval(0.58, 1.0),
60 | child: GoalHead(color: Colors.white)),
61 | MotionElement(
62 | interval: Interval(0.63, 1.0),
63 | child: GoadAns(color: Colors.white)),
64 | Padding(
65 | padding: EdgeInsets.symmetric(horizontal: 64), child: Divider()),
66 | SizedBox(
67 | height: 10.0,
68 | ),
69 | MotionElement(
70 | interval: Interval(0.67, 1.0),
71 | child: FlutterWorldUnited(color: Colors.white)),
72 | MotionElement(
73 | interval: Interval(0.69, 1.0),
74 | child: WorldReunitedQuote(color: Colors.white)),
75 | SizedBox(
76 | height: 10.0,
77 | ),
78 | ],
79 | ),
80 | );
81 | }
82 | }
83 |
--------------------------------------------------------------------------------
/lib/HomePage/Motion.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:motion_widget/motion_widget.dart';
3 |
4 | class Motion {
5 | static MotionElement getFeatureItem(Interval interval, String text) {
6 | return MotionElement(
7 | interval: interval,
8 | child: Row(
9 | crossAxisAlignment: CrossAxisAlignment.start,
10 | children: [
11 | SizedBox(width: 10),
12 | Flexible(
13 | child: Text(
14 | text,
15 | style: TextStyle(fontSize: 20, fontWeight: FontWeight.w500),
16 | ),
17 | ),
18 | ],
19 | ),
20 | );
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/lib/HomePage/OrganizerSection/OrganizerScreen.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:FlutterConIndia2020/utils/con_Info.dart';
4 | import 'package:flutter/material.dart';
5 | import 'package:flutter/services.dart';
6 |
7 |
8 | import '../FAQ/FAQ.dart';
9 | import '../Responsiveness/Responsive.dart';
10 | import 'Organizerhandle.dart';
11 |
12 | class OrganizerScreen extends StatefulWidget {
13 | @override
14 | _OrganizerScreenState createState() => _OrganizerScreenState();
15 | }
16 |
17 | class _OrganizerScreenState extends State {
18 | var new_Data;
19 | List widgets;
20 |
21 | @override
22 | void initState() {
23 | super.initState();
24 | WidgetsBinding.instance.addPostFrameCallback((timeStamp) async {
25 | String jsonData = await rootBundle.loadString(Con_Info.organizerjson);
26 | new_Data = json.decode(jsonData.toString());
27 | widgets = List.generate(
28 | 9,
29 | (index) => SizedBox(
30 | width: MediaQuery.of(context).size.width,
31 | child: Card(
32 | elevation: 20.0,
33 | color: Colors.black,
34 | child: Column(
35 | mainAxisSize: MainAxisSize.min,
36 | mainAxisAlignment: MainAxisAlignment.center,
37 | crossAxisAlignment: CrossAxisAlignment.center,
38 | children: [
39 | Text(
40 | new_Data[index]["organizer_name"],
41 | style: TextStyle(
42 | color: Colors.white,
43 | fontSize: ResponsiveWidget.isSmallScreen(context)
44 | ? 15.0
45 | : 25.0,
46 | ),
47 | ),
48 | SizedBox(
49 | height: 20.0,
50 | ),
51 | Row(
52 | mainAxisSize: MainAxisSize.min,
53 | mainAxisAlignment: MainAxisAlignment.start,
54 | children: [
55 | CircleAvatar(
56 | backgroundImage:
57 | circleLogo(new_Data[index]["logo"]),
58 | backgroundColor: Colors.black,
59 | radius: ResponsiveWidget.isSmallScreen(context)
60 | ? 20.0
61 | : 30.0,
62 | ),
63 | SizedBox(
64 | width: 15.0,
65 | ),
66 | OrganizerMeetup(
67 | string: new_Data[index]["meetup_handle"]),
68 | SizedBox(
69 | width: 15.0,
70 | ),
71 | OrganizerTwitter(
72 | string: new_Data[index]["twitter_handle"],
73 | ),
74 | ],
75 | ),
76 | ],
77 | ),
78 | ),
79 | ));
80 |
81 | setState(() {});
82 | });
83 | }
84 |
85 | @override
86 | Widget build(BuildContext context) {
87 | return new_Data == null
88 | ? Center(
89 | child: CircularProgressIndicator(),
90 | )
91 | : Wrap(
92 | spacing: 20,
93 | runSpacing: 20,
94 | runAlignment: WrapAlignment.center,
95 | children: widgets,
96 | );
97 | }
98 | }
99 |
--------------------------------------------------------------------------------
/lib/HomePage/OrganizerSection/OrganizerSection.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | import '../Responsiveness/Responsive.dart';
4 | import 'OrganizerScreen.dart';
5 |
6 | class OrganzerSection extends StatelessWidget {
7 | const OrganzerSection({
8 | Key key,
9 | }) : super(key: key);
10 |
11 | @override
12 | Widget build(BuildContext context) {
13 | return Container(
14 | margin: EdgeInsets.only(
15 | top: 90,
16 | ),
17 | color: Colors.black,
18 | child: Column(
19 | children: [
20 | SizedBox(
21 | height: 35,
22 | ),
23 | Center(
24 | child: Text(
25 | 'Organized by',
26 | style: TextStyle(
27 | fontSize: ResponsiveWidget.isSmallScreen(context) ? 35.0 : 55.0,
28 | fontFamily: 'assets/fonts/ProductSans.ttf',
29 | color: Colors.white,
30 | ),
31 | ),
32 | ),
33 | SizedBox(
34 | height: 35,
35 | ),
36 | OrganizerScreen(),
37 | SizedBox(
38 | height: 20,
39 | ),
40 | ],
41 | ),
42 | );
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/lib/HomePage/OrganizerSection/Organizerhandle.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:url_launcher/url_launcher.dart';
3 |
4 | import '../Responsiveness/Responsive.dart';
5 |
6 | class OrganizerMeetup extends StatelessWidget {
7 | OrganizerMeetup({
8 | Key key,
9 | @required this.string,
10 | }) : super(key: key);
11 |
12 | final String string;
13 |
14 | @override
15 | Widget build(BuildContext context) {
16 | if (string.isEmpty) {
17 | return Container(
18 | width: 0.0,
19 | height: 0.0,
20 | );
21 | }
22 | return GestureDetector(
23 | onTap: () async {
24 | String url = string;
25 | if (await canLaunch(url)) {
26 | await launch(url);
27 | } else {
28 | throw 'Could not launch $url';
29 | }
30 | },
31 | child: CircleAvatar(
32 | radius: ResponsiveWidget.isSmallScreen(context) ? 20.0 : 30.0,
33 | backgroundImage: AssetImage('assets/Images/socialIcons/meetup.png'),
34 | ),
35 | );
36 | }
37 | }
38 |
39 | class OrganizerTwitter extends StatelessWidget {
40 | final String string;
41 |
42 | const OrganizerTwitter({
43 | Key key,
44 | @required this.string,
45 | }) : super(key: key);
46 |
47 | @override
48 | Widget build(BuildContext context) {
49 | if (string.isEmpty) {
50 | return Container(
51 | width: 0.0,
52 | height: 0.0,
53 | );
54 | }
55 | return GestureDetector(
56 | onTap: () async {
57 | String url = string;
58 | if (await canLaunch(url)) {
59 | await launch(url);
60 | } else {
61 | throw 'Could not launch $url';
62 | }
63 | },
64 | child: CircleAvatar(
65 | radius: ResponsiveWidget.isSmallScreen(context) ? 20.0 : 30.0,
66 | backgroundImage: AssetImage('assets/Images/socialIcons/twitter.png'),
67 | ),
68 | );
69 | }
70 | }
71 |
--------------------------------------------------------------------------------
/lib/HomePage/PoweredBy/PoweredBy.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | import '../Responsiveness/Responsive.dart';
4 |
5 | class PoweredBy extends StatelessWidget {
6 | @override
7 | Widget build(BuildContext context) {
8 | return Stack(
9 | children: [
10 | Container(
11 | color: Colors.black,
12 | width: double.infinity,
13 | margin: EdgeInsets.only(
14 | top: 90.0,
15 | bottom: 90.0,
16 | ),
17 | ),
18 | Container(
19 | color: Colors.black,
20 | width: double.infinity,
21 | //height: MediaQuery.of(context).size.height / 2,
22 | child: Center(
23 | child: Column(
24 | children: [
25 | SizedBox(
26 | height: 75.0,
27 | ),
28 | Text(
29 | 'Powered by',
30 | style: TextStyle(
31 | fontSize:
32 | ResponsiveWidget.isSmallScreen(context) ? 35.0 : 55.0,
33 | fontFamily: 'assets/fonts/ProductSans.ttf',
34 | color: Colors.white,
35 | ),
36 | ),
37 | SizedBox(
38 | height: 55.0,
39 | ),
40 | Padding(
41 | padding: const EdgeInsets.only(
42 | top: 10.0, bottom: 20.0, right: 10.0),
43 | child: Row(
44 | mainAxisAlignment: MainAxisAlignment.center,
45 | children: [
46 | // CircleAvatar(
47 | // radius: ResponsiveWidget.isSmallScreen(context)
48 | // ? 20.0
49 | // : 35.0,
50 | // backgroundImage:
51 | // AssetImage('assets/Images/socialIcons/GDG.png'),
52 | // ),
53 |
54 | Image.asset(
55 | 'assets/Images/socialIcons/GDG.png',
56 | width:
57 | ResponsiveWidget.isSmallScreen(context) ? 200 : 600,
58 | ),
59 | ],
60 | ),
61 | ),
62 | SizedBox(
63 | height: ResponsiveWidget.isSmallScreen(context) ? 15.0 : 50.0,
64 | ),
65 | ],
66 | ),
67 | ),
68 | ),
69 | ],
70 | );
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/lib/HomePage/Responsiveness/Responsive.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class ResponsiveWidget extends StatelessWidget {
4 | final Widget largeScreen;
5 | final Widget mediumScreen;
6 | final Widget smallScreen;
7 |
8 | ResponsiveWidget({this.largeScreen, this.mediumScreen, this.smallScreen});
9 |
10 | static bool isLargeScreen(BuildContext context) {
11 | return MediaQuery.of(context).size.width > 1200;
12 | }
13 |
14 | static bool isSmallScreen(BuildContext context) {
15 | return MediaQuery.of(context).size.width < 750;
16 | }
17 |
18 | static bool isMediumScreen(BuildContext context) {
19 | return MediaQuery.of(context).size.width > 750 &&
20 | MediaQuery.of(context).size.width < 1200;
21 | }
22 |
23 | @override
24 | Widget build(BuildContext context) {
25 | //Returns the widget which is more appropriate for the screen size
26 | return LayoutBuilder(builder: (context, constraints) {
27 | if (constraints.maxWidth > 1200) {
28 | return largeScreen;
29 | } else if (constraints.maxWidth > 800 && constraints.maxWidth < 1200) {
30 | //if medium screen not available, then return large screen
31 | return mediumScreen ?? largeScreen;
32 | } else {
33 | //if small screen implementation not available, then return large screen
34 | return smallScreen ?? largeScreen;
35 | }
36 | });
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/lib/HomePage/ScheduleSection/EventCard.dart:
--------------------------------------------------------------------------------
1 | import 'package:FlutterConIndia2020/HomePage/Responsiveness/Responsive.dart';
2 | import 'package:FlutterConIndia2020/utils/con_Info.dart';
3 | import 'package:flutter/material.dart';
4 |
5 |
6 | class EventCard extends StatelessWidget {
7 | const EventCard({
8 | Key key,
9 | this.eventName,
10 | this.speakerName,
11 | this.image,
12 | this.time,
13 | }) : super(key: key);
14 |
15 | final String eventName;
16 | final String speakerName;
17 | final String image;
18 | final String time;
19 |
20 | @override
21 | Widget build(BuildContext context) {
22 | return Card(
23 | color: Colors.black,
24 | child: Row(
25 | children: [
26 | CircleAvatar(
27 | radius: ResponsiveWidget.isSmallScreen(context) ? 30.0 : 45.0,
28 | backgroundColor: Colors.white,
29 | backgroundImage: NetworkImage(image),
30 | ),
31 | SizedBox(
32 | width: 10.0,
33 | ),
34 | Flexible(
35 | child: Column(
36 | crossAxisAlignment: CrossAxisAlignment.start,
37 | children: [
38 | Text(
39 | eventName,
40 | textAlign: TextAlign.justify,
41 | style: TextStyle(
42 | fontFamily: Con_Info.fontfamily,
43 | fontWeight: FontWeight.bold,
44 | fontSize:
45 | ResponsiveWidget.isSmallScreen(context) ? 15.0 : 25.0,
46 | color: Colors.white,
47 | ),
48 | ),
49 | Text(
50 | speakerName,
51 | textAlign: TextAlign.left,
52 | softWrap: true,
53 | style: TextStyle(
54 | fontFamily: Con_Info.fontfamily,
55 | fontWeight: FontWeight.w400,
56 | fontSize:
57 | ResponsiveWidget.isSmallScreen(context) ? 13.0 : 25.0,
58 | color: Colors.white),
59 | ),
60 | Text(
61 | time,
62 | textAlign: TextAlign.left,
63 | softWrap: true,
64 | style: TextStyle(
65 | fontFamily: Con_Info.fontfamily,
66 | fontWeight: FontWeight.w200,
67 | fontSize:
68 | ResponsiveWidget.isSmallScreen(context) ? 12.0 : 22.0,
69 | color: Colors.white,
70 | ),
71 | ),
72 | ],
73 | ),
74 | ),
75 | ],
76 | ),
77 | );
78 | }
79 | }
80 |
--------------------------------------------------------------------------------
/lib/HomePage/ScheduleSection/ScheduleScreen.dart:
--------------------------------------------------------------------------------
1 | import 'package:FlutterConIndia2020/HomePage/Responsiveness/Responsive.dart';
2 | import 'package:FlutterConIndia2020/utils/con_Info.dart';
3 | import 'package:flutter/material.dart';
4 |
5 | import 'EventCard.dart';
6 |
7 | class ScheduleScreen extends StatefulWidget {
8 | @override
9 | _ScheduleScreenState createState() => _ScheduleScreenState();
10 | }
11 |
12 | class _ScheduleScreenState extends State {
13 | int _index = 0;
14 |
15 | @override
16 | Widget build(BuildContext context) {
17 | return Stepper(
18 | currentStep: _index,
19 | onStepTapped: (index) {
20 | setState(() {
21 | _index = index;
22 | });
23 | },
24 | steps: [
25 | Step(
26 | title: Text(
27 | 'Day 1',
28 | style: TextStyle(
29 | color: Colors.white,
30 | fontFamily: Con_Info.fontfamily,
31 | fontSize: 25.0,
32 | ),
33 | ),
34 | content: Column(
35 | children: [
36 | EventCard(
37 | eventName: 'Opening Keynote',
38 | speakerName: 'Nilay Yener',
39 | image: "https://i.ibb.co/YPGk4ts/1538867099796.jpg",
40 | time: '20:30 - 21:00 IST',
41 | ),
42 | SizedBox(
43 | height: 50,
44 | ),
45 | EventCard(
46 | eventName: 'Grips of Flutter futures and async',
47 | speakerName: "Gazihan Alankus",
48 | image: "https://i.ibb.co/ZdKzwyk/412997.jpg",
49 | time: '21:10 - 21:50 IST',
50 | ),
51 | SizedBox(
52 | height: 50,
53 | ),
54 | EventCard(
55 | eventName: 'Responsive Web Apps in Flutter',
56 | speakerName: "Hasnen Tai",
57 | image: "https://i.ibb.co/bRmnbVX/1577189169479.jpg",
58 | time: '22:00 - 22:40 IST',
59 | ),
60 | ],
61 | ),
62 | state: StepState.indexed,
63 | isActive: true,
64 | ),
65 | Step(
66 | isActive: true,
67 | title: Text(
68 | 'Day 2',
69 | style: TextStyle(
70 | color: Colors.white,
71 | fontFamily: Con_Info.fontfamily,
72 | fontSize: 25.0,
73 | ),
74 | ),
75 | content: Column(
76 | children: [
77 | EventCard(
78 | eventName: 'Efficient Internationalization of Flutter Apps',
79 | speakerName: 'Dominik Roszkowski',
80 | image: "https://i.ibb.co/Wx2TLR4/1605258985165.jpg",
81 | time: '20:30 - 21:10 IST',
82 | ),
83 | SizedBox(
84 | height: 50,
85 | ),
86 | EventCard(
87 | eventName: 'State Management in Flutter',
88 | speakerName: "Bhavesh Daswani",
89 | image: "https://i.ibb.co/t21GP9v/1593144268626.jpg",
90 | time: '21:20 - 22:00 IST',
91 | ),
92 | SizedBox(
93 | height: 50,
94 | ),
95 | EventCard(
96 | eventName: "What's new in Flutter Design Engineering",
97 | speakerName: "Will Larche",
98 | image: "https://i.ibb.co/5xvMjgv/1564173203214.jpg",
99 | time: '22:10 - 22:40 IST',
100 | ),
101 | ],
102 | ),
103 | ),
104 | Step(
105 | isActive: true,
106 | title: Text(
107 | 'Day 3',
108 | style: TextStyle(
109 | color: Colors.white,
110 | fontFamily: Con_Info.fontfamily,
111 | fontSize: 25.0,
112 | ),
113 | ),
114 | content: Column(
115 | children: [
116 | EventCard(
117 | eventName:
118 | 'Scaling Flutter Architecture by Leveraging strategic Domain-Driven Design',
119 | speakerName: 'Majid Hajian',
120 | image: "https://i.ibb.co/vD26Pvc/1613316921147.jpg",
121 | time: '20:30 - 21:10 IST',
122 | ),
123 | SizedBox(
124 | height: 50,
125 | ),
126 | Card(
127 | color: Colors.black,
128 | child: Row(
129 | children: [
130 | CircleAvatar(
131 | radius:
132 | ResponsiveWidget.isSmallScreen(context) ? 30.0 : 45.0,
133 | backgroundColor: Colors.white,
134 | backgroundImage: NetworkImage(
135 | 'https://i.ibb.co/DtjL0Jn/1553373963950.jpg'),
136 | ),
137 | SizedBox(
138 | width: 10.0,
139 | ),
140 | CircleAvatar(
141 | radius:
142 | ResponsiveWidget.isSmallScreen(context) ? 30.0 : 45.0,
143 | backgroundColor: Colors.white,
144 | backgroundImage: NetworkImage(
145 | 'https://i.ibb.co/DL1dfg9/1550405718408.jpg',
146 | ),
147 | ),
148 | SizedBox(
149 | width: 10.0,
150 | ),
151 | Flexible(
152 | child: Column(
153 | crossAxisAlignment: CrossAxisAlignment.start,
154 | children: [
155 | Text(
156 | 'Mastering written Flutter Content',
157 | textAlign: TextAlign.justify,
158 | style: TextStyle(
159 | fontFamily: Con_Info.fontfamily,
160 | fontWeight: FontWeight.bold,
161 | fontSize: ResponsiveWidget.isSmallScreen(context)
162 | ? 15.0
163 | : 25.0,
164 | color: Colors.white,
165 | ),
166 | ),
167 | Text(
168 | 'Deven Joshi, Pooja Bhaumik',
169 | textAlign: TextAlign.left,
170 | softWrap: true,
171 | style: TextStyle(
172 | fontFamily: Con_Info.fontfamily,
173 | fontWeight: FontWeight.w400,
174 | fontSize:
175 | ResponsiveWidget.isSmallScreen(context)
176 | ? 13.0
177 | : 25.0,
178 | color: Colors.white),
179 | ),
180 | Text(
181 | '21:20 - 22:00 IST',
182 | textAlign: TextAlign.left,
183 | softWrap: true,
184 | style: TextStyle(
185 | fontFamily: Con_Info.fontfamily,
186 | fontWeight: FontWeight.w200,
187 | fontSize: ResponsiveWidget.isSmallScreen(context)
188 | ? 12.0
189 | : 22.0,
190 | color: Colors.white,
191 | ),
192 | ),
193 | ],
194 | ),
195 | ),
196 | ],
197 | ),
198 | ),
199 | SizedBox(
200 | height: 50,
201 | ),
202 | EventCard(
203 | eventName: 'Ending Keynote',
204 | speakerName: "Nikita Gandhi",
205 | image: "https://i.ibb.co/kgwsrWc/1578467205054.jpg",
206 | time: '22:10 - 22:50 IST',
207 | ),
208 | ],
209 | ),
210 | ),
211 | ],
212 | );
213 | }
214 | }
215 |
--------------------------------------------------------------------------------
/lib/HomePage/ScheduleSection/ScheduleSection.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:motion_widget/motion_widget.dart';
3 |
4 | import '../Responsiveness/Responsive.dart';
5 | import 'ScheduleScreen.dart';
6 |
7 | class ScheduleSection extends StatelessWidget {
8 | const ScheduleSection({
9 | Key key,
10 | @required this.motionExitConfigurations,
11 | }) : super(key: key);
12 |
13 | final MotionExitConfigurations motionExitConfigurations;
14 |
15 | @override
16 | Widget build(BuildContext context) {
17 | return Container(
18 | color: Colors.black,
19 | width: double.infinity,
20 | margin: EdgeInsets.only(top: 90.0),
21 | child: Motion(
22 | durationMs: 2500,
23 | crossAxisAlignment: CrossAxisAlignment.center,
24 | exitConfigurations: motionExitConfigurations,
25 | children: [
26 | SizedBox(
27 | height: 35,
28 | ),
29 | MotionElement(
30 | interval: Interval(0.67, 1.0),
31 | child: Center(
32 | child: Text(
33 | 'Schedule',
34 | style: TextStyle(
35 | fontSize:
36 | ResponsiveWidget.isSmallScreen(context) ? 35.0 : 45.0,
37 | fontFamily: 'assets/fonts/ProductSans.ttf',
38 | color: Colors.white,
39 | ),
40 | ),
41 | ),
42 | ),
43 | SizedBox(
44 | height: 35,
45 | ),
46 | ScheduleScreen(),
47 | ],
48 | ),
49 | );
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/lib/HomePage/SpeakerSection/SpeakerScreen.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:FlutterConIndia2020/HomePage/Responsiveness/Responsive.dart';
4 | import 'package:flutter/material.dart';
5 | import 'package:flutter/services.dart';
6 | import 'package:hover_effect/hover_effect.dart';
7 | import 'package:url_launcher/url_launcher.dart';
8 |
9 | import '../../utils/con_Info.dart';
10 |
11 | class SpeakerScreen extends StatefulWidget {
12 | @override
13 | _SpeakerScreenState createState() => _SpeakerScreenState();
14 | }
15 |
16 | class _SpeakerScreenState extends State {
17 | var new_speaker_Data;
18 | List widgets;
19 |
20 | @override
21 | void initState() {
22 | super.initState();
23 | WidgetsBinding.instance.addPostFrameCallback(
24 | (timeStamp) async {
25 | String jsonnewData = await rootBundle.loadString(Con_Info.speakersjson);
26 | new_speaker_Data = json.decode(jsonnewData.toString());
27 | print(new_speaker_Data);
28 | widgets = List.generate(
29 | new_speaker_Data.length,
30 | (index) => GestureDetector(
31 | onTap: () async {
32 | String url = new_speaker_Data[index]["twitter_handle"];
33 | if (await canLaunch(url)) {
34 | await launch(url);
35 | } else {
36 | throw 'Could not launch $url';
37 | }
38 | },
39 | child: SizedBox(
40 | height: ResponsiveWidget.isSmallScreen(context) ? 150.0 : 400.0,
41 | width: ResponsiveWidget.isSmallScreen(context) ? 150.0 : 400.0,
42 | child: HoverCard(
43 | builder: (context, hovering) {
44 | return Card(
45 | elevation: 10.0,
46 | borderOnForeground: true,
47 | child: Container(
48 | width: 100,
49 | height: 400,
50 | child: Stack(
51 | children: [
52 | Align(
53 | alignment: Alignment.bottomLeft,
54 | child: Column(
55 | mainAxisAlignment: MainAxisAlignment.end,
56 | children: [
57 | Padding(
58 | padding: const EdgeInsets.only(
59 | bottom: 25.0,
60 | ),
61 | child: Container(
62 | color: Colors.white70,
63 | height:
64 | ResponsiveWidget.isSmallScreen(context)
65 | ? 40
66 | : 80,
67 | width:
68 | ResponsiveWidget.isSmallScreen(context)
69 | ? 100
70 | : 250,
71 | child: Center(
72 | child: Text(
73 | new_speaker_Data[index]["Speaker_name"],
74 | textAlign: TextAlign.left,
75 | softWrap: true,
76 | style: TextStyle(
77 | color: Colors.black,
78 | fontWeight: FontWeight.bold,
79 | fontSize:
80 | ResponsiveWidget.isSmallScreen(
81 | context,
82 | )
83 | ? 9.0
84 | : 20.0,
85 | fontFamily: Con_Info.fontfamily,
86 | ),
87 | ),
88 | ),
89 | ),
90 | ),
91 | ],
92 | ),
93 | ),
94 | ],
95 | ),
96 | decoration: BoxDecoration(
97 | image: SpeakerImage(index),
98 | ),
99 | ),
100 | );
101 | },
102 | ),
103 | ),
104 | ),
105 | );
106 |
107 | setState(() {});
108 | },
109 | );
110 | }
111 |
112 | DecorationImage SpeakerImage(int index) {
113 | if (new_speaker_Data[index]["logo"].isEmpty) {
114 | return DecorationImage(
115 | fit: BoxFit.cover,
116 | colorFilter: new ColorFilter.mode(
117 | Colors.black.withOpacity(0.4), BlendMode.darken),
118 | image: AssetImage(
119 | 'assets/Images/Logos/Organizer_Logo/flutter_surat_logo.jpg',
120 | ),
121 | );
122 | }
123 | return DecorationImage(
124 | fit: BoxFit.cover,
125 | colorFilter: new ColorFilter.mode(
126 | Colors.black.withOpacity(0.2),
127 | BlendMode.dstATop,
128 | ),
129 | image: NetworkImage(
130 | new_speaker_Data[index]["logo"],
131 | ),
132 | );
133 | }
134 |
135 | @override
136 | Widget build(BuildContext context) {
137 | return new_speaker_Data == null
138 | ? Center(
139 | child: CircularProgressIndicator(),
140 | )
141 | : Wrap(
142 | spacing: 20,
143 | runSpacing: 20,
144 | runAlignment: WrapAlignment.center,
145 | children: widgets,
146 | );
147 | }
148 | }
149 |
--------------------------------------------------------------------------------
/lib/background/graphic.dart:
--------------------------------------------------------------------------------
1 | import 'dart:math';
2 |
3 | import 'package:flutter/material.dart';
4 |
5 | class DiagonalApp extends StatelessWidget {
6 | @override
7 | Widget build(BuildContext context) => Container(
8 | color: Colors.black,
9 | width: double.infinity,
10 | child: Wrap(
11 | children: List.generate(
12 | 500,
13 | (index) => SizedBox(
14 | width: 50,
15 | child: AspectRatio(
16 | aspectRatio: 1,
17 | child: Transform.rotate(
18 | angle: Random().nextBool() ? pi / 2 : 0,
19 | child: CustomPaint(
20 | painter: Curved(),
21 | ),
22 | ),
23 | ),
24 | ),
25 | ),
26 | ),
27 | );
28 | }
29 |
30 | class Curved extends CustomPainter {
31 | @override
32 | void paint(Canvas canvas, Size size) {
33 | final third = size.width / 2;
34 |
35 | final paint = Paint()
36 | ..color = Color.fromRGBO(29, 161, 242, 20)
37 | ..strokeWidth = 8
38 | ..style = PaintingStyle.stroke
39 | ..strokeJoin = StrokeJoin.round;
40 |
41 | final topCurve = Path();
42 | topCurve.moveTo(third, 0);
43 | topCurve.quadraticBezierTo(third, third, 0, third);
44 | canvas.drawPath(topCurve, paint);
45 |
46 | final bottomCurve = Path();
47 | bottomCurve.moveTo(size.width, size.height - third);
48 | bottomCurve.quadraticBezierTo(size.width - third, size.height - third,
49 | size.width - third, size.height);
50 |
51 | canvas.drawPath(bottomCurve, paint);
52 | }
53 |
54 | @override
55 | bool shouldRepaint(CustomPainter oldDelegate) => false;
56 | }
57 |
58 |
59 | // This code was written by Robert Felker
60 | // Codepen Link: https://codepen.io/blueaquilae/pen/ExVZJqp
61 |
--------------------------------------------------------------------------------
/lib/main.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:flutter/services.dart';
3 |
4 | import 'HomePage/HomePage.dart';
5 |
6 | void main() async {
7 | runApp(
8 | MyApp(),
9 | );
10 | SystemChrome.setSystemUIOverlayStyle(
11 | SystemUiOverlayStyle(statusBarColor: Colors.transparent));
12 | SystemChrome.setPreferredOrientations([
13 | DeviceOrientation.portraitUp,
14 | DeviceOrientation.portraitDown,
15 | ]);
16 | }
17 |
18 | class MyApp extends StatelessWidget {
19 | @override
20 | Widget build(BuildContext context) {
21 | return MaterialApp(
22 | title: 'Flutter India Conference 2020',
23 | theme: ThemeData(
24 | textTheme: TextTheme(
25 | headline5: TextStyle(
26 | color: Colors.white,
27 | fontWeight: FontWeight.w600,
28 | fontFamily: 'assets/fonts/ProductSans.ttf',
29 | fontSize: 35.0,
30 | ),
31 | ),
32 | ),
33 | debugShowCheckedModeBanner: false,
34 | home: HomePageNew(),
35 | routes: {
36 | HomePageNew.tag: (context) => HomePageNew(),
37 | },
38 | );
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/lib/organizer_screen.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | import 'package:FlutterConIndia2020/utils/con_info.dart';
4 | import 'package:flutter/material.dart';
5 | import 'package:flutter/services.dart';
6 |
7 | import 'HomePage/OrganizerSection/Organizerhandle.dart';
8 | import 'HomePage/Responsiveness/Responsive.dart';
9 |
10 | class OrganizerScreen extends StatefulWidget {
11 | @override
12 | _OrganizerScreenState createState() => _OrganizerScreenState();
13 | }
14 |
15 | class _OrganizerScreenState extends State {
16 | var new_Data;
17 | List widgets;
18 |
19 | @override
20 | void initState() {
21 | super.initState();
22 | WidgetsBinding.instance.addPostFrameCallback((timeStamp) async {
23 | String jsonData = await rootBundle.loadString(Con_Info.organizerjson);
24 | new_Data = json.decode(jsonData.toString());
25 | widgets = List.generate(
26 | 9,
27 | (index) => SizedBox(
28 | width: MediaQuery.of(context).size.width * 0.3,
29 | child: Column(
30 | mainAxisSize: MainAxisSize.min,
31 | mainAxisAlignment: MainAxisAlignment.center,
32 | crossAxisAlignment: CrossAxisAlignment.center,
33 | children: [
34 | Text(
35 | new_Data[index]["organizer_name"],
36 | style: TextStyle(
37 | color: Colors.white,
38 | fontSize: ResponsiveWidget.isSmallScreen(context)
39 | ? 15.0
40 | : 25.0,
41 | ),
42 | ),
43 | SizedBox(
44 | height: 20.0,
45 | ),
46 | Row(
47 | mainAxisSize: MainAxisSize.min,
48 | mainAxisAlignment: MainAxisAlignment.start,
49 | children: [
50 | CircleAvatar(
51 | backgroundImage:
52 | CircleLogo(new_Data[index]["logoUrl"]),
53 | backgroundColor: Colors.black,
54 | ),
55 | SizedBox(
56 | width: 15.0,
57 | ),
58 | OrganizerMeetup(
59 | string: new_Data[index]["meetup_handle"]),
60 | SizedBox(
61 | width: 15.0,
62 | ),
63 | OrganizerTwitter(
64 | string: new_Data[index]["twitter_handle"],
65 | ),
66 | ],
67 | ),
68 | ],
69 | ),
70 | ));
71 | // await Future.delayed(Duration(seconds: 5));
72 |
73 | setState(() {});
74 | });
75 | }
76 |
77 | @override
78 | Widget build(BuildContext context) {
79 | return new_Data == null
80 | ? Center(
81 | child: CircularProgressIndicator(),
82 | )
83 | : Wrap(
84 | spacing: 20,
85 | runSpacing: 20,
86 | runAlignment: WrapAlignment.center,
87 | children: widgets,
88 | );
89 | }
90 | }
91 |
92 | NetworkImage CircleLogo(String string) {
93 | String defaultLogoUrl =
94 | "https://miro.medium.com/max/1000/1*ilC2Aqp5sZd1wi0CopD1Hw.png";
95 |
96 | return NetworkImage(string ?? defaultLogoUrl);
97 | }
98 |
--------------------------------------------------------------------------------
/lib/utils/Motion.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:motion_widget/motion_widget.dart';
3 |
4 | class Motion {
5 | static MotionElement getFeatureItem(Interval interval, String text) {
6 | return MotionElement(
7 | interval: interval,
8 | child: Row(
9 | crossAxisAlignment: CrossAxisAlignment.start,
10 | children: [
11 | SizedBox(width: 10),
12 | Flexible(
13 | child: Text(
14 | text,
15 | style: TextStyle(fontSize: 20, fontWeight: FontWeight.w500),
16 | ),
17 | ),
18 | ],
19 | ),
20 | );
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/lib/utils/con_info.dart:
--------------------------------------------------------------------------------
1 | class Con_Info {
2 | static const String app_name = 'Flutter India Conference 2020';
3 | static const String app_version = "Version 1.0.0";
4 | static const int app_version_code = 1;
5 | static bool isDebugMode = true;
6 | static const String welcomeText = 'Welcome to Flutter India ';
7 | static const String descriptionText =
8 | 'FlutterCon India is an online event driven by Indian Flutter Communities to gather all Flutter passionates and learn to create beautiful apps!';
9 | static const String goal =
10 | 'Our goal is to share Flutter knowledge, improve Flutter skills, and expand the Flutter community.';
11 | static const String eventtime =
12 | 'The week of Friday May 1 to , Sunday May 3 at 20:00 hr (IST) two Flutter talks will be given and broadcasted on Youtube.';
13 |
14 | static const String fontfamily = 'assets/fonts/ProductSans.ttf';
15 | static const organizerjson = "assets/json/organizers.json";
16 | static const speakersjson = "assets/json/speakers.json";
17 | }
18 |
--------------------------------------------------------------------------------
/lib/widgets/widget.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:FlutterConIndia2020/utils/con_Info.dart';
3 |
4 | import '../HomePage/Responsiveness/Responsive.dart';
5 |
6 | class FlutterWorldUnited extends StatelessWidget {
7 | FlutterWorldUnited({Key key, this.color}) : super(key: key);
8 | Color color;
9 | @override
10 | Widget build(BuildContext context) {
11 | return Padding(
12 | padding: EdgeInsets.only(
13 | left: ResponsiveWidget.isSmallScreen(context) ? 30.0 : 200.0,
14 | right: 100.0,
15 | top: 7.0,
16 | bottom: 7.0,
17 | ),
18 | child: Align(
19 | alignment: Alignment.topLeft,
20 | child: Text(
21 | 'Flutter world reunited 🌎',
22 | textAlign: TextAlign.justify,
23 | style: TextStyle(
24 | fontSize: ResponsiveWidget.isSmallScreen(context) ? 30.0 : 45.0,
25 | color: color,
26 | fontWeight: FontWeight.w600,
27 | fontFamily: 'assets/fonts/ProductSans.ttf',
28 | wordSpacing: 0.2,
29 | ),
30 | ),
31 | ),
32 | );
33 | }
34 | }
35 |
36 | class GoadAns extends StatelessWidget {
37 | GoadAns({
38 | Key key,
39 | this.color,
40 | }) : super(key: key);
41 | Color color;
42 | @override
43 | Widget build(BuildContext context) {
44 | return Padding(
45 | padding: EdgeInsets.only(
46 | left: ResponsiveWidget.isSmallScreen(context) ? 30.0 : 200.0,
47 | right: 100.0,
48 | top: 7.0,
49 | bottom: 7.0,
50 | ),
51 | child: Align(
52 | alignment: Alignment.topLeft,
53 | child: Text(
54 | Con_Info.goal,
55 | textAlign: TextAlign.justify,
56 | style: TextStyle(
57 | color: color,
58 | //color: Colors.white70,
59 | fontSize: ResponsiveWidget.isSmallScreen(context) ? 15.0 : 25.0,
60 | fontFamily: 'assets/fonts/ProductSans.ttf',
61 | ),
62 | ),
63 | ),
64 | );
65 | }
66 | }
67 |
68 | class GoalHead extends StatelessWidget {
69 | GoalHead({
70 | Key key,
71 | this.color,
72 | }) : super(key: key);
73 | Color color;
74 | @override
75 | Widget build(BuildContext context) {
76 | return Padding(
77 | padding: EdgeInsets.only(
78 | left: ResponsiveWidget.isSmallScreen(context) ? 30.0 : 200.0,
79 | right: 30.0,
80 | top: 7.0,
81 | bottom: 7.0,
82 | ),
83 | child: Align(
84 | alignment: Alignment.topLeft,
85 | child: Text(
86 | 'Our Goal 🎯',
87 | textAlign: TextAlign.justify,
88 | style: TextStyle(
89 | fontSize: ResponsiveWidget.isSmallScreen(context) ? 30.0 : 45.0,
90 | color: color,
91 | fontWeight: FontWeight.w600,
92 | fontFamily: 'assets/fonts/ProductSans.ttf',
93 | ),
94 | ),
95 | ),
96 | );
97 | }
98 | }
99 |
100 | class EventTime extends StatelessWidget {
101 | EventTime({
102 | Key key,
103 | this.color,
104 | }) : super(key: key);
105 | Color color;
106 | @override
107 | Widget build(BuildContext context) {
108 | return Padding(
109 | padding: EdgeInsets.only(
110 | left: ResponsiveWidget.isSmallScreen(context) ? 30.0 : 200.0,
111 | right: 100.0,
112 | top: 7.0,
113 | bottom: 7.0,
114 | ),
115 | child: Align(
116 | alignment: Alignment.topLeft,
117 | child: Text(
118 | Con_Info.eventtime,
119 | textAlign: TextAlign.justify,
120 | style: TextStyle(
121 | color: color,
122 | fontSize: ResponsiveWidget.isSmallScreen(context) ? 15.0 : 25.0,
123 | fontFamily: 'assets/fonts/ProductSans.ttf',
124 | ),
125 | ),
126 | ),
127 | );
128 | }
129 | }
130 |
131 | class When extends StatelessWidget {
132 | When({Key key, this.color}) : super(key: key);
133 | Color color;
134 | @override
135 | Widget build(BuildContext context) {
136 | return Padding(
137 | padding: EdgeInsets.only(
138 | left: ResponsiveWidget.isSmallScreen(context) ? 30.0 : 200.0,
139 | right: 100.0,
140 | top: 7.0,
141 | bottom: 7.0,
142 | ),
143 | child: Align(
144 | alignment: Alignment.topLeft,
145 | child: Text(
146 | 'When? ⏰️',
147 | textAlign: TextAlign.justify,
148 | style: TextStyle(
149 | fontSize: ResponsiveWidget.isSmallScreen(context) ? 35.0 : 45.0,
150 | color: color,
151 | fontWeight: FontWeight.w600,
152 | fontFamily: 'assets/fonts/ProductSans.ttf',
153 | ),
154 | ),
155 | ),
156 | );
157 | }
158 | }
159 |
160 | class EventDesc extends StatelessWidget {
161 | EventDesc({
162 | Key key,
163 | }) : super(key: key);
164 |
165 | @override
166 | Widget build(BuildContext context) {
167 | return Padding(
168 | padding: EdgeInsets.only(
169 | left: ResponsiveWidget.isSmallScreen(context) ? 30.0 : 200.0,
170 | right: 100.0,
171 | top: 7.0,
172 | bottom: 7.0,
173 | ),
174 | child: Align(
175 | alignment: Alignment.topLeft,
176 | child: Text(
177 | Con_Info.descriptionText,
178 | textAlign: TextAlign.justify,
179 | style: TextStyle(
180 | color: Colors.white,
181 | fontSize: ResponsiveWidget.isSmallScreen(context) ? 15.0 : 25.0,
182 | fontFamily: 'assets/fonts/ProductSans.ttf',
183 | ),
184 | ),
185 | ),
186 | );
187 | }
188 | }
189 |
190 | class WhatisFlutterConIndia extends StatelessWidget {
191 | WhatisFlutterConIndia({
192 | Key key,
193 | }) : super(key: key);
194 |
195 | @override
196 | Widget build(BuildContext context) {
197 | return Padding(
198 | padding: EdgeInsets.only(
199 | left: ResponsiveWidget.isSmallScreen(context) ? 30.0 : 200.0,
200 | right: 100.0,
201 | top: 7.0,
202 | bottom: 7.0,
203 | ),
204 | child: Align(
205 | alignment: Alignment.topLeft,
206 | child: Text(
207 | 'What is FlutterCon India?',
208 | textAlign: TextAlign.justify,
209 | style: TextStyle(
210 | fontSize: ResponsiveWidget.isSmallScreen(context) ? 30.0 : 45.0,
211 | color: Colors.white,
212 | fontWeight: FontWeight.w600,
213 | fontFamily: 'assets/fonts/ProductSans.ttf',
214 | ),
215 | ),
216 | ),
217 | );
218 | }
219 | }
220 |
--------------------------------------------------------------------------------
/lib/widgets/worldReunite.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | import '../HomePage/Responsiveness/Responsive.dart';
4 |
5 | class WorldReunitedQuote extends StatelessWidget {
6 | WorldReunitedQuote({
7 | this.color,
8 | this.fonts,
9 | });
10 |
11 | final Color color;
12 | String fonts = 'assets/fonts/ProductSans.ttf';
13 |
14 | @override
15 | Widget build(BuildContext context) {
16 | return Padding(
17 | padding: EdgeInsets.only(
18 | left: ResponsiveWidget.isSmallScreen(context) ? 30.0 : 200.0,
19 | right: 100.0,
20 | top: 7.0,
21 | bottom: 7.0,
22 | ),
23 | child: Align(
24 | alignment: Alignment.topLeft,
25 | child: Text(
26 | 'People! Want to meet the most recognizable Flutter developers and talk with them?\nThis is the place!\nFlutter India is the easiest way to talk with them.',
27 | textAlign: TextAlign.justify,
28 | style: TextStyle(
29 | color: color,
30 | fontSize: ResponsiveWidget.isSmallScreen(context) ? 15.0 : 25.0,
31 | fontFamily: fonts,
32 | ),
33 | ),
34 | ),
35 | );
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/pubspec.lock:
--------------------------------------------------------------------------------
1 | # Generated by pub
2 | # See https://dart.dev/tools/pub/glossary#lockfile
3 | packages:
4 | archive:
5 | dependency: transitive
6 | description:
7 | name: archive
8 | url: "https://pub.dartlang.org"
9 | source: hosted
10 | version: "3.1.2"
11 | async:
12 | dependency: transitive
13 | description:
14 | name: async
15 | url: "https://pub.dartlang.org"
16 | source: hosted
17 | version: "2.5.0"
18 | boolean_selector:
19 | dependency: transitive
20 | description:
21 | name: boolean_selector
22 | url: "https://pub.dartlang.org"
23 | source: hosted
24 | version: "2.1.0"
25 | cached_network_image:
26 | dependency: "direct main"
27 | description:
28 | name: cached_network_image
29 | url: "https://pub.dartlang.org"
30 | source: hosted
31 | version: "2.5.1"
32 | characters:
33 | dependency: transitive
34 | description:
35 | name: characters
36 | url: "https://pub.dartlang.org"
37 | source: hosted
38 | version: "1.1.0"
39 | charcode:
40 | dependency: transitive
41 | description:
42 | name: charcode
43 | url: "https://pub.dartlang.org"
44 | source: hosted
45 | version: "1.2.0"
46 | clock:
47 | dependency: transitive
48 | description:
49 | name: clock
50 | url: "https://pub.dartlang.org"
51 | source: hosted
52 | version: "1.1.0"
53 | collection:
54 | dependency: transitive
55 | description:
56 | name: collection
57 | url: "https://pub.dartlang.org"
58 | source: hosted
59 | version: "1.15.0"
60 | crypto:
61 | dependency: transitive
62 | description:
63 | name: crypto
64 | url: "https://pub.dartlang.org"
65 | source: hosted
66 | version: "3.0.1"
67 | cupertino_icons:
68 | dependency: "direct main"
69 | description:
70 | name: cupertino_icons
71 | url: "https://pub.dartlang.org"
72 | source: hosted
73 | version: "0.1.3"
74 | fake_async:
75 | dependency: transitive
76 | description:
77 | name: fake_async
78 | url: "https://pub.dartlang.org"
79 | source: hosted
80 | version: "1.2.0"
81 | ffi:
82 | dependency: transitive
83 | description:
84 | name: ffi
85 | url: "https://pub.dartlang.org"
86 | source: hosted
87 | version: "1.0.0"
88 | file:
89 | dependency: transitive
90 | description:
91 | name: file
92 | url: "https://pub.dartlang.org"
93 | source: hosted
94 | version: "6.1.0"
95 | flutter:
96 | dependency: "direct main"
97 | description: flutter
98 | source: sdk
99 | version: "0.0.0"
100 | flutter_blurhash:
101 | dependency: transitive
102 | description:
103 | name: flutter_blurhash
104 | url: "https://pub.dartlang.org"
105 | source: hosted
106 | version: "0.5.0"
107 | flutter_cache_manager:
108 | dependency: transitive
109 | description:
110 | name: flutter_cache_manager
111 | url: "https://pub.dartlang.org"
112 | source: hosted
113 | version: "2.1.2"
114 | flutter_test:
115 | dependency: "direct dev"
116 | description: flutter
117 | source: sdk
118 | version: "0.0.0"
119 | flutter_web_plugins:
120 | dependency: transitive
121 | description: flutter
122 | source: sdk
123 | version: "0.0.0"
124 | font_awesome_flutter:
125 | dependency: "direct main"
126 | description:
127 | name: font_awesome_flutter
128 | url: "https://pub.dartlang.org"
129 | source: hosted
130 | version: "8.12.0"
131 | hover_effect:
132 | dependency: "direct main"
133 | description:
134 | name: hover_effect
135 | url: "https://pub.dartlang.org"
136 | source: hosted
137 | version: "0.6.0"
138 | http:
139 | dependency: transitive
140 | description:
141 | name: http
142 | url: "https://pub.dartlang.org"
143 | source: hosted
144 | version: "0.13.1"
145 | http_parser:
146 | dependency: transitive
147 | description:
148 | name: http_parser
149 | url: "https://pub.dartlang.org"
150 | source: hosted
151 | version: "4.0.0"
152 | image:
153 | dependency: transitive
154 | description:
155 | name: image
156 | url: "https://pub.dartlang.org"
157 | source: hosted
158 | version: "3.0.2"
159 | js:
160 | dependency: transitive
161 | description:
162 | name: js
163 | url: "https://pub.dartlang.org"
164 | source: hosted
165 | version: "0.6.3"
166 | matcher:
167 | dependency: transitive
168 | description:
169 | name: matcher
170 | url: "https://pub.dartlang.org"
171 | source: hosted
172 | version: "0.12.10"
173 | meta:
174 | dependency: transitive
175 | description:
176 | name: meta
177 | url: "https://pub.dartlang.org"
178 | source: hosted
179 | version: "1.3.0"
180 | mime:
181 | dependency: transitive
182 | description:
183 | name: mime
184 | url: "https://pub.dartlang.org"
185 | source: hosted
186 | version: "0.9.7"
187 | motion_widget:
188 | dependency: "direct main"
189 | description:
190 | name: motion_widget
191 | url: "https://pub.dartlang.org"
192 | source: hosted
193 | version: "1.0.2"
194 | octo_image:
195 | dependency: transitive
196 | description:
197 | name: octo_image
198 | url: "https://pub.dartlang.org"
199 | source: hosted
200 | version: "0.3.0"
201 | path:
202 | dependency: transitive
203 | description:
204 | name: path
205 | url: "https://pub.dartlang.org"
206 | source: hosted
207 | version: "1.8.0"
208 | path_provider:
209 | dependency: transitive
210 | description:
211 | name: path_provider
212 | url: "https://pub.dartlang.org"
213 | source: hosted
214 | version: "2.0.1"
215 | path_provider_linux:
216 | dependency: transitive
217 | description:
218 | name: path_provider_linux
219 | url: "https://pub.dartlang.org"
220 | source: hosted
221 | version: "2.0.0"
222 | path_provider_macos:
223 | dependency: transitive
224 | description:
225 | name: path_provider_macos
226 | url: "https://pub.dartlang.org"
227 | source: hosted
228 | version: "2.0.0"
229 | path_provider_platform_interface:
230 | dependency: transitive
231 | description:
232 | name: path_provider_platform_interface
233 | url: "https://pub.dartlang.org"
234 | source: hosted
235 | version: "2.0.0"
236 | path_provider_windows:
237 | dependency: transitive
238 | description:
239 | name: path_provider_windows
240 | url: "https://pub.dartlang.org"
241 | source: hosted
242 | version: "2.0.1"
243 | pedantic:
244 | dependency: transitive
245 | description:
246 | name: pedantic
247 | url: "https://pub.dartlang.org"
248 | source: hosted
249 | version: "1.11.0"
250 | petitparser:
251 | dependency: transitive
252 | description:
253 | name: petitparser
254 | url: "https://pub.dartlang.org"
255 | source: hosted
256 | version: "4.1.0"
257 | platform:
258 | dependency: transitive
259 | description:
260 | name: platform
261 | url: "https://pub.dartlang.org"
262 | source: hosted
263 | version: "3.0.0"
264 | plugin_platform_interface:
265 | dependency: transitive
266 | description:
267 | name: plugin_platform_interface
268 | url: "https://pub.dartlang.org"
269 | source: hosted
270 | version: "1.0.3"
271 | process:
272 | dependency: transitive
273 | description:
274 | name: process
275 | url: "https://pub.dartlang.org"
276 | source: hosted
277 | version: "4.2.1"
278 | rxdart:
279 | dependency: transitive
280 | description:
281 | name: rxdart
282 | url: "https://pub.dartlang.org"
283 | source: hosted
284 | version: "0.25.0"
285 | share:
286 | dependency: "direct main"
287 | description:
288 | name: share
289 | url: "https://pub.dartlang.org"
290 | source: hosted
291 | version: "0.6.5+4"
292 | sky_engine:
293 | dependency: transitive
294 | description: flutter
295 | source: sdk
296 | version: "0.0.99"
297 | source_span:
298 | dependency: transitive
299 | description:
300 | name: source_span
301 | url: "https://pub.dartlang.org"
302 | source: hosted
303 | version: "1.8.0"
304 | sqflite:
305 | dependency: transitive
306 | description:
307 | name: sqflite
308 | url: "https://pub.dartlang.org"
309 | source: hosted
310 | version: "2.0.0+3"
311 | sqflite_common:
312 | dependency: transitive
313 | description:
314 | name: sqflite_common
315 | url: "https://pub.dartlang.org"
316 | source: hosted
317 | version: "2.0.0+2"
318 | stack_trace:
319 | dependency: transitive
320 | description:
321 | name: stack_trace
322 | url: "https://pub.dartlang.org"
323 | source: hosted
324 | version: "1.10.0"
325 | stream_channel:
326 | dependency: transitive
327 | description:
328 | name: stream_channel
329 | url: "https://pub.dartlang.org"
330 | source: hosted
331 | version: "2.1.0"
332 | string_scanner:
333 | dependency: transitive
334 | description:
335 | name: string_scanner
336 | url: "https://pub.dartlang.org"
337 | source: hosted
338 | version: "1.1.0"
339 | synchronized:
340 | dependency: transitive
341 | description:
342 | name: synchronized
343 | url: "https://pub.dartlang.org"
344 | source: hosted
345 | version: "3.0.0"
346 | term_glyph:
347 | dependency: transitive
348 | description:
349 | name: term_glyph
350 | url: "https://pub.dartlang.org"
351 | source: hosted
352 | version: "1.2.0"
353 | test_api:
354 | dependency: transitive
355 | description:
356 | name: test_api
357 | url: "https://pub.dartlang.org"
358 | source: hosted
359 | version: "0.2.19"
360 | typed_data:
361 | dependency: transitive
362 | description:
363 | name: typed_data
364 | url: "https://pub.dartlang.org"
365 | source: hosted
366 | version: "1.3.0"
367 | url_launcher:
368 | dependency: "direct main"
369 | description:
370 | name: url_launcher
371 | url: "https://pub.dartlang.org"
372 | source: hosted
373 | version: "5.7.10"
374 | url_launcher_linux:
375 | dependency: transitive
376 | description:
377 | name: url_launcher_linux
378 | url: "https://pub.dartlang.org"
379 | source: hosted
380 | version: "0.0.1+4"
381 | url_launcher_macos:
382 | dependency: transitive
383 | description:
384 | name: url_launcher_macos
385 | url: "https://pub.dartlang.org"
386 | source: hosted
387 | version: "0.0.1+9"
388 | url_launcher_platform_interface:
389 | dependency: transitive
390 | description:
391 | name: url_launcher_platform_interface
392 | url: "https://pub.dartlang.org"
393 | source: hosted
394 | version: "1.0.9"
395 | url_launcher_web:
396 | dependency: transitive
397 | description:
398 | name: url_launcher_web
399 | url: "https://pub.dartlang.org"
400 | source: hosted
401 | version: "0.1.5+3"
402 | url_launcher_windows:
403 | dependency: transitive
404 | description:
405 | name: url_launcher_windows
406 | url: "https://pub.dartlang.org"
407 | source: hosted
408 | version: "0.0.1+3"
409 | uuid:
410 | dependency: transitive
411 | description:
412 | name: uuid
413 | url: "https://pub.dartlang.org"
414 | source: hosted
415 | version: "3.0.4"
416 | vector_math:
417 | dependency: transitive
418 | description:
419 | name: vector_math
420 | url: "https://pub.dartlang.org"
421 | source: hosted
422 | version: "2.1.0"
423 | win32:
424 | dependency: transitive
425 | description:
426 | name: win32
427 | url: "https://pub.dartlang.org"
428 | source: hosted
429 | version: "2.0.5"
430 | xdg_directories:
431 | dependency: transitive
432 | description:
433 | name: xdg_directories
434 | url: "https://pub.dartlang.org"
435 | source: hosted
436 | version: "0.2.0"
437 | xml:
438 | dependency: transitive
439 | description:
440 | name: xml
441 | url: "https://pub.dartlang.org"
442 | source: hosted
443 | version: "5.1.0"
444 | sdks:
445 | dart: ">=2.12.0 <3.0.0"
446 | flutter: ">=1.24.0-10"
447 |
--------------------------------------------------------------------------------
/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: FlutterConIndia2020
2 | description: This is a New Website of Flutter India Conference 2020.FlutterCon India is an online event driven by Indian Flutter Communities to gather all Flutter passionates and learn to create beautiful apps! Our goal is to share Flutter knowledge, improve Flutter skills, and expand the Flutter community. The 1st edition of FlutterCon India will take place on May 1-3, 2020. Best-in-class speakers from Flutter community around the globe will be presenting live on various Flutter topics.
3 |
4 | # The following line prevents the package from being accidentally published to
5 | # pub.dev using `pub publish`. This is preferred for private packages.
6 | publish_to: 'none' # Remove this line if you wish to publish to pub.dev
7 |
8 | # The following defines the version and build number for your application.
9 | # A version number is three numbers separated by dots, like 1.2.43
10 | # followed by an optional build number separated by a +.
11 | # Both the version and the builder number may be overridden in flutter
12 | # build by specifying --build-name and --build-number, respectively.
13 | # In Android, build-name is used as versionName while build-number used as versionCode.
14 | # Read more about Android versioning at https://developer.android.com/studio/publish/versioning
15 | # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
16 | # Read more about iOS versioning at
17 | # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
18 | version: 1.0.0+1
19 |
20 | environment:
21 | sdk: ">=2.7.0 <3.0.0"
22 |
23 | dependencies:
24 | flutter:
25 | sdk: flutter
26 |
27 |
28 |
29 | # The following adds the Cupertino Icons font to your application.
30 | # Use with the CupertinoIcons class for iOS style icons.
31 | cupertino_icons: ^0.1.3
32 | font_awesome_flutter: ^8.8.1
33 | url_launcher: ^5.4.5
34 | share: ^0.6.4
35 | hover_effect: ^0.6.0
36 | motion_widget: ^1.0.2
37 | cached_network_image: ^2.1.0+1
38 |
39 |
40 |
41 | dev_dependencies:
42 | flutter_test:
43 | sdk: flutter
44 |
45 | # For information on the generic Dart part of this file, see the
46 | # following page: https://dart.dev/tools/pub/pubspec
47 |
48 | # The following section is specific to Flutter.
49 | flutter:
50 |
51 | # The following line ensures that the Material Icons font is
52 | # included with your application, so that you can use the icons in
53 | # the material Icons class.
54 | uses-material-design: true
55 |
56 | # To add assets to your application, add an assets section, like this:
57 | assets:
58 | - assets/
59 | - assets/Images/
60 | - assets/Images/cover_Images/
61 | - assets/Images/extra/
62 | - assets/Images/Logos/
63 | - assets/Images/socialIcons/
64 | - assets/Images/socialIcons/youtube_social_circle_red.png
65 | - assets/Images/Logos/FlutterConLogos/
66 | - assets/Images/Logos/Organizer_Logo/
67 | - assets/Images/Logos/Sponsors_Logo/
68 | - assets/json/
69 | # assets:
70 | # - images/a_dot_burr.jpeg
71 | # - images/a_dot_ham.jpeg
72 |
73 | # An image asset can refer to one or more resolution-specific "variants", see
74 | # https://flutter.dev/assets-and-images/#resolution-aware.
75 |
76 | # For details regarding adding assets from package dependencies, see
77 | # https://flutter.dev/assets-and-images/#from-packages
78 |
79 | # To add custom fonts to your application, add a fonts section here,
80 | # in this "flutter" section. Each entry in this list should have a
81 | # "family" key with the font family name, and a "fonts" key with a
82 | # list giving the asset and other descriptors for the font. For
83 | # example:
84 | fonts:
85 | - family: Product Sans
86 | fonts:
87 | - asset: assets/fonts/ProductSans.ttf
88 | - family: Rocky Billy
89 | fonts:
90 | - asset: assets/fonts/rockybilly.ttf
91 | # fonts:
92 | # - family: Schyler
93 | # fonts:
94 | # - asset: fonts/Schyler-Regular.ttf
95 | # - asset: fonts/Schyler-Italic.ttf
96 | # style: italic
97 | # - family: Trajan Pro
98 | # fonts:
99 | # - asset: fonts/TrajanPro.ttf
100 | # - asset: fonts/TrajanPro_Bold.ttf
101 | # weight: 700
102 | #
103 | # For details regarding fonts from package dependencies,
104 | # see https://flutter.dev/custom-fonts/#from-packages
105 |
--------------------------------------------------------------------------------
/pull_request_template.md:
--------------------------------------------------------------------------------
1 |
2 | ## Description
3 |
4 | *Replace this paragraph with a description of what this PR is doing. If you're modifying existing behavior, describe the existing behavior, how this PR is changing it, and what motivated the change. If you're changing visual properties, consider including before/after screenshots (and runnable code snippets to reproduce them).*
5 |
6 | ## Related Issues
7 |
8 | *Replace this paragraph with a list of issues related to this PR from our [issue database]. Indicate, which of these issues are resolved or fixed by this PR. There should be at least one issue listed here.*
9 |
10 | ## Tests
11 |
12 | I added the following tests:
13 |
14 | *Replace this with a list of the tests that you added as part of this PR. A change in behaviour with no test covering it
15 | will likely get reverted accidentally sooner or later. PRs must include tests for all changed/updated/fixed behaviors. See [Test Coverage].*
16 |
17 | ## Checklist
18 |
19 | Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes (`[x]`). This will ensure a smooth and quick review process.
20 |
21 | - [ ] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
22 | - [ ] I signed the [CLA].
23 | - [ ] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
24 | - [ ] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
25 | - [ ] I updated/added relevant documentation (doc comments with `///`).
26 | - [ ] All existing and new tests are passing.
27 | - [ ] I am willing to follow-up on review comments in a timely manner.
28 |
29 | ## Breaking Change
30 |
31 | Did any tests fail when you ran them? Please read [Handling breaking changes].
32 |
33 | - [ ] No, no existing tests failed, so this is *not* a breaking change.
34 | - [ ] Yes, this is a breaking change. *If not, delete the remainder of this section.*
35 | - [ ] I wrote a design doc: https://flutter.dev/go/template *Replace this with a link to your design doc's short link*
36 | - [ ] I got input from the Flutter India team, specifically from: *Replace with the names of who gave advice*
37 | - [ ] I wrote a migration guide: https://flutter.dev/go/breaking-changes-template *Replace this with a link to a pull request that adds the migration guide to https://flutter.dev/docs/release/breaking-changes*
38 |
39 |
40 | [issue database]: https://github.com/Flutter-India/Flutter-India-Website/issues
41 | [Contributor Guide]: https://github.com/Flutter-India/Flutter-India-Website/blob/master/contributing.md
42 | [Flutter Style Guide]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
43 |
--------------------------------------------------------------------------------
/test/widget_test.dart:
--------------------------------------------------------------------------------
1 | // This is a basic Flutter widget test.
2 | //
3 | // To perform an interaction with a widget in your test, use the WidgetTester
4 | // utility that Flutter provides. For example, you can send tap and scroll
5 | // gestures. You can also use WidgetTester to find child widgets in the widget
6 | // tree, read text, and verify that the values of widget properties are correct.
7 |
8 | import 'package:FlutterConIndia2020/main.dart';
9 | import 'package:flutter/material.dart';
10 | import 'package:flutter_test/flutter_test.dart';
11 |
12 | void main() {
13 | testWidgets('Counter increments smoke test', (WidgetTester tester) async {
14 | // Build our app and trigger a frame.
15 | await tester.pumpWidget(MyApp());
16 |
17 | // Verify that our counter starts at 0.
18 | expect(find.text('0'), findsOneWidget);
19 | expect(find.text('1'), findsNothing);
20 |
21 | // Tap the '+' icon and trigger a frame.
22 | await tester.tap(find.byIcon(Icons.add));
23 | await tester.pump();
24 |
25 | // Verify that our counter has incremented.
26 | expect(find.text('0'), findsNothing);
27 | expect(find.text('1'), findsOneWidget);
28 | });
29 | }
30 |
--------------------------------------------------------------------------------
/web/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/web/favicon.png
--------------------------------------------------------------------------------
/web/icons/Icon-192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/web/icons/Icon-192.png
--------------------------------------------------------------------------------
/web/icons/Icon-512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Flutter-India/Flutter-India-Conference-2020/dbb3395e8e623694791b2fd1414f87e5ac55c948/web/icons/Icon-512.png
--------------------------------------------------------------------------------
/web/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | Flutter Conference India 2020
20 |
21 |
22 |
23 |
26 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/web/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "fluttercon",
3 | "short_name": "fluttercon",
4 | "start_url": ".",
5 | "display": "minimal-ui",
6 | "background_color": "#0175C2",
7 | "theme_color": "#0175C2",
8 | "description": "This is a New Website of Flutter India Conference 2020.FlutterCon India is an online event driven by Indian Flutter Communities to gather all Flutter passionates and learn to create beautiful apps! Our goal is to share Flutter knowledge, improve Flutter skills, and expand the Flutter community. The 1st edition of FlutterCon India will take place on May 1-3, 2020. Best-in-class speakers from Flutter community around the globe will be presenting live on various Flutter topics.",
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 | }
24 |
--------------------------------------------------------------------------------