├── .gradle ├── 5.2.1 │ ├── gc.properties │ ├── fileChanges │ │ └── last-build.bin │ └── fileHashes │ │ └── fileHashes.lock ├── vcs-1 │ └── gc.properties └── buildOutputCleanup │ ├── cache.properties │ └── buildOutputCleanup.lock ├── lib ├── screens │ ├── settings.dart │ ├── landingPage.dart │ ├── about.dart │ └── homePage.dart ├── main.dart └── backend │ ├── forecastPageBg.dart │ ├── getLandingPageBg.dart │ ├── getBackWall.dart │ ├── location.dart │ ├── fetchSunriseSet.dart │ ├── fetchData.dart │ ├── weather.dart │ └── forecast5.dart ├── android ├── settings_aar.gradle ├── gradle.properties ├── .gitignore ├── app │ ├── src │ │ ├── main │ │ │ ├── res │ │ │ │ ├── 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 │ │ │ │ └── drawable │ │ │ │ │ └── launch_background.xml │ │ │ ├── kotlin │ │ │ │ └── sauhardyasingha │ │ │ │ │ └── weatherapptest │ │ │ │ │ └── MainActivity.kt │ │ │ └── AndroidManifest.xml │ │ ├── debug │ │ │ └── AndroidManifest.xml │ │ └── profile │ │ │ └── AndroidManifest.xml │ └── build.gradle ├── gradle │ └── wrapper │ │ └── gradle-wrapper.properties ├── settings.gradle └── build.gradle ├── ios ├── Flutter │ ├── Debug.xcconfig │ ├── Release.xcconfig │ └── AppFrameworkInfo.plist ├── Runner │ ├── Runner-Bridging-Header.h │ ├── Assets.xcassets │ │ ├── LaunchImage.imageset │ │ │ ├── LaunchImage.png │ │ │ ├── LaunchImage@2x.png │ │ │ ├── LaunchImage@3x.png │ │ │ ├── README.md │ │ │ └── Contents.json │ │ └── AppIcon.appiconset │ │ │ ├── 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-1024x1024@1x.png │ │ │ ├── Icon-App-83.5x83.5@2x.png │ │ │ └── Contents.json │ ├── AppDelegate.swift │ ├── Base.lproj │ │ ├── Main.storyboard │ │ └── LaunchScreen.storyboard │ └── Info.plist ├── Runner.xcworkspace │ └── contents.xcworkspacedata ├── Runner.xcodeproj │ ├── project.xcworkspace │ │ └── contents.xcworkspacedata │ ├── xcshareddata │ │ └── xcschemes │ │ │ └── Runner.xcscheme │ └── project.pbxproj └── .gitignore ├── assets ├── fonts │ ├── BEYNO.ttf │ ├── Pacifico-Regular.ttf │ └── Montserrat │ │ ├── Montserrat-Bold.ttf │ │ ├── Montserrat-Thin.ttf │ │ ├── Montserrat-Black.ttf │ │ ├── Montserrat-Italic.ttf │ │ ├── Montserrat-Light.ttf │ │ ├── Montserrat-Medium.ttf │ │ ├── Montserrat-Regular.ttf │ │ ├── Montserrat-ExtraBold.ttf │ │ ├── Montserrat-SemiBold.ttf │ │ ├── Montserrat-BlackItalic.ttf │ │ ├── Montserrat-BoldItalic.ttf │ │ ├── Montserrat-ExtraLight.ttf │ │ ├── Montserrat-LightItalic.ttf │ │ ├── Montserrat-MediumItalic.ttf │ │ ├── Montserrat-ThinItalic.ttf │ │ ├── Montserrat-SemiBoldItalic.ttf │ │ ├── Montserrat-ExtraBoldItalic.ttf │ │ └── Montserrat-ExtraLightItalic.ttf ├── circularAvatar │ └── ic_launcher.png ├── staticWeatherIcons │ ├── icons8-cloud-100.png │ ├── icons8-dry-100.png │ ├── icons8-haze-100.png │ ├── icons8-icy-100.png │ ├── icons8-rain-100.png │ ├── icons8-snow-100.png │ ├── icons8-storm-100.png │ ├── icons8-sun-100.png │ ├── icons8-wind-100.png │ ├── icons8-autumn-100.png │ ├── icons8-clouds-100.png │ ├── icons8-spring-100.png │ ├── icons8-summer-100.png │ ├── icons8-winter-100.png │ ├── icons8-heavy-rain-100.png │ ├── icons8-light-rain-100.png │ ├── icons8-light-snow-100.png │ ├── icons8-rain-cloud-100.png │ ├── icons8-smiling-sun-100.png │ ├── icons8-cloud-lightning-100.png │ ├── icons8-day-and-night-100.png │ ├── icons8-lightning-bolt-100.png │ ├── icons8-moon-and-stars-100.png │ ├── icons8-windy-weather-100.png │ └── icons8-partly-cloudy-day-100.png ├── background │ ├── 1_cloudy_1125_2436_wallpaper.jpg │ ├── 2_sunny_1125_2436_wallpaper.jpg │ └── 3_night_1125_2436_wallpaper.jpg └── weather_icons │ ├── 4806-weather-windy.json │ ├── 4804-weather-sunny.json │ ├── 4805-weather-thunder.json │ ├── 4800-weather-partly-cloudy.json │ ├── 4799-weather-night.json │ ├── 4795-weather-mist.json │ ├── 4791-foggy.json │ ├── 4796-weather-cloudynight.json │ └── 4793-weather-snow.json ├── .metadata ├── README.md ├── .gitignore ├── pubspec.yaml └── pubspec.lock /.gradle/5.2.1/gc.properties: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gradle/vcs-1/gc.properties: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/screens/settings.dart: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gradle/5.2.1/fileChanges/last-build.bin: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /android/settings_aar.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" -------------------------------------------------------------------------------- /assets/fonts/BEYNO.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/fonts/BEYNO.ttf -------------------------------------------------------------------------------- /.gradle/buildOutputCleanup/cache.properties: -------------------------------------------------------------------------------- 1 | #Sat Apr 18 22:25:36 IST 2020 2 | gradle.version=5.2.1 3 | -------------------------------------------------------------------------------- /assets/fonts/Pacifico-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/fonts/Pacifico-Regular.ttf -------------------------------------------------------------------------------- /assets/circularAvatar/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/circularAvatar/ic_launcher.png -------------------------------------------------------------------------------- /.gradle/5.2.1/fileHashes/fileHashes.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/.gradle/5.2.1/fileHashes/fileHashes.lock -------------------------------------------------------------------------------- /assets/fonts/Montserrat/Montserrat-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/fonts/Montserrat/Montserrat-Bold.ttf -------------------------------------------------------------------------------- /assets/fonts/Montserrat/Montserrat-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/fonts/Montserrat/Montserrat-Thin.ttf -------------------------------------------------------------------------------- /assets/fonts/Montserrat/Montserrat-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/fonts/Montserrat/Montserrat-Black.ttf -------------------------------------------------------------------------------- /assets/fonts/Montserrat/Montserrat-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/fonts/Montserrat/Montserrat-Italic.ttf -------------------------------------------------------------------------------- /assets/fonts/Montserrat/Montserrat-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/fonts/Montserrat/Montserrat-Light.ttf -------------------------------------------------------------------------------- /assets/fonts/Montserrat/Montserrat-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/fonts/Montserrat/Montserrat-Medium.ttf -------------------------------------------------------------------------------- /assets/fonts/Montserrat/Montserrat-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/fonts/Montserrat/Montserrat-Regular.ttf -------------------------------------------------------------------------------- /assets/staticWeatherIcons/icons8-cloud-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/staticWeatherIcons/icons8-cloud-100.png -------------------------------------------------------------------------------- /assets/staticWeatherIcons/icons8-dry-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/staticWeatherIcons/icons8-dry-100.png -------------------------------------------------------------------------------- /assets/staticWeatherIcons/icons8-haze-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/staticWeatherIcons/icons8-haze-100.png -------------------------------------------------------------------------------- /assets/staticWeatherIcons/icons8-icy-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/staticWeatherIcons/icons8-icy-100.png -------------------------------------------------------------------------------- /assets/staticWeatherIcons/icons8-rain-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/staticWeatherIcons/icons8-rain-100.png -------------------------------------------------------------------------------- /assets/staticWeatherIcons/icons8-snow-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/staticWeatherIcons/icons8-snow-100.png -------------------------------------------------------------------------------- /assets/staticWeatherIcons/icons8-storm-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/staticWeatherIcons/icons8-storm-100.png -------------------------------------------------------------------------------- /assets/staticWeatherIcons/icons8-sun-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/staticWeatherIcons/icons8-sun-100.png -------------------------------------------------------------------------------- /assets/staticWeatherIcons/icons8-wind-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/staticWeatherIcons/icons8-wind-100.png -------------------------------------------------------------------------------- /android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | android.enableR8=true 3 | android.useAndroidX=true 4 | android.enableJetifier=true 5 | -------------------------------------------------------------------------------- /assets/fonts/Montserrat/Montserrat-ExtraBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/fonts/Montserrat/Montserrat-ExtraBold.ttf -------------------------------------------------------------------------------- /assets/fonts/Montserrat/Montserrat-SemiBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/fonts/Montserrat/Montserrat-SemiBold.ttf -------------------------------------------------------------------------------- /assets/staticWeatherIcons/icons8-autumn-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/staticWeatherIcons/icons8-autumn-100.png -------------------------------------------------------------------------------- /assets/staticWeatherIcons/icons8-clouds-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/staticWeatherIcons/icons8-clouds-100.png -------------------------------------------------------------------------------- /assets/staticWeatherIcons/icons8-spring-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/staticWeatherIcons/icons8-spring-100.png -------------------------------------------------------------------------------- /assets/staticWeatherIcons/icons8-summer-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/staticWeatherIcons/icons8-summer-100.png -------------------------------------------------------------------------------- /assets/staticWeatherIcons/icons8-winter-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/staticWeatherIcons/icons8-winter-100.png -------------------------------------------------------------------------------- /.gradle/buildOutputCleanup/buildOutputCleanup.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/.gradle/buildOutputCleanup/buildOutputCleanup.lock -------------------------------------------------------------------------------- /assets/background/1_cloudy_1125_2436_wallpaper.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/background/1_cloudy_1125_2436_wallpaper.jpg -------------------------------------------------------------------------------- /assets/background/2_sunny_1125_2436_wallpaper.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/background/2_sunny_1125_2436_wallpaper.jpg -------------------------------------------------------------------------------- /assets/background/3_night_1125_2436_wallpaper.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/background/3_night_1125_2436_wallpaper.jpg -------------------------------------------------------------------------------- /assets/fonts/Montserrat/Montserrat-BlackItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/fonts/Montserrat/Montserrat-BlackItalic.ttf -------------------------------------------------------------------------------- /assets/fonts/Montserrat/Montserrat-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/fonts/Montserrat/Montserrat-BoldItalic.ttf -------------------------------------------------------------------------------- /assets/fonts/Montserrat/Montserrat-ExtraLight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/fonts/Montserrat/Montserrat-ExtraLight.ttf -------------------------------------------------------------------------------- /assets/fonts/Montserrat/Montserrat-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/fonts/Montserrat/Montserrat-LightItalic.ttf -------------------------------------------------------------------------------- /assets/fonts/Montserrat/Montserrat-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/fonts/Montserrat/Montserrat-MediumItalic.ttf -------------------------------------------------------------------------------- /assets/fonts/Montserrat/Montserrat-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/fonts/Montserrat/Montserrat-ThinItalic.ttf -------------------------------------------------------------------------------- /assets/staticWeatherIcons/icons8-heavy-rain-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/staticWeatherIcons/icons8-heavy-rain-100.png -------------------------------------------------------------------------------- /assets/staticWeatherIcons/icons8-light-rain-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/staticWeatherIcons/icons8-light-rain-100.png -------------------------------------------------------------------------------- /assets/staticWeatherIcons/icons8-light-snow-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/staticWeatherIcons/icons8-light-snow-100.png -------------------------------------------------------------------------------- /assets/staticWeatherIcons/icons8-rain-cloud-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/staticWeatherIcons/icons8-rain-cloud-100.png -------------------------------------------------------------------------------- /android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /assets/fonts/Montserrat/Montserrat-SemiBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/fonts/Montserrat/Montserrat-SemiBoldItalic.ttf -------------------------------------------------------------------------------- /assets/staticWeatherIcons/icons8-smiling-sun-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/staticWeatherIcons/icons8-smiling-sun-100.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /assets/fonts/Montserrat/Montserrat-ExtraBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/fonts/Montserrat/Montserrat-ExtraBoldItalic.ttf -------------------------------------------------------------------------------- /assets/fonts/Montserrat/Montserrat-ExtraLightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/fonts/Montserrat/Montserrat-ExtraLightItalic.ttf -------------------------------------------------------------------------------- /assets/staticWeatherIcons/icons8-cloud-lightning-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/staticWeatherIcons/icons8-cloud-lightning-100.png -------------------------------------------------------------------------------- /assets/staticWeatherIcons/icons8-day-and-night-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/staticWeatherIcons/icons8-day-and-night-100.png -------------------------------------------------------------------------------- /assets/staticWeatherIcons/icons8-lightning-bolt-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/staticWeatherIcons/icons8-lightning-bolt-100.png -------------------------------------------------------------------------------- /assets/staticWeatherIcons/icons8-moon-and-stars-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/staticWeatherIcons/icons8-moon-and-stars-100.png -------------------------------------------------------------------------------- /assets/staticWeatherIcons/icons8-windy-weather-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/staticWeatherIcons/icons8-windy-weather-100.png -------------------------------------------------------------------------------- /assets/staticWeatherIcons/icons8-partly-cloudy-day-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/assets/staticWeatherIcons/icons8-partly-cloudy-day-100.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/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/Sauhardya/clime/HEAD/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/Sauhardya/clime/HEAD/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/Sauhardya/clime/HEAD/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/Sauhardya/clime/HEAD/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/Sauhardya/clime/HEAD/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/Sauhardya/clime/HEAD/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/Sauhardya/clime/HEAD/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/Sauhardya/clime/HEAD/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/Sauhardya/clime/HEAD/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/Sauhardya/clime/HEAD/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/Sauhardya/clime/HEAD/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/Sauhardya/clime/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sauhardya/clime/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 27321ebbad34b0a3fafe99fac037102196d655ff 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /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. -------------------------------------------------------------------------------- /lib/main.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:weatherapptest/screens/homePage.dart'; 3 | import 'package:weatherapptest/screens/landingPage.dart'; 4 | 5 | void main() => runApp(Clima()); 6 | 7 | class Clima extends StatelessWidget { 8 | @override 9 | Widget build(BuildContext context) { 10 | return MaterialApp( 11 | home: landingPage(), 12 | ); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /lib/backend/forecastPageBg.dart: -------------------------------------------------------------------------------- 1 | class forecastPageBg { 2 | String getBg() { 3 | if ((DateTime.now().hour >= 19 && DateTime.now().hour <= 24) || 4 | DateTime.now().hour >= 00 && DateTime.now().hour <= 05) { 5 | return "10201-background-full-screen-night.json"; 6 | } else if (DateTime.now().hour >= 06 && DateTime.now().hour <= 18) { 7 | return "9878-background-full-screen.json"; 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /lib/backend/getLandingPageBg.dart: -------------------------------------------------------------------------------- 1 | class chooseBg { 2 | String getBg() { 3 | if ((DateTime.now().hour >= 20 && DateTime.now().hour <= 24) || 4 | DateTime.now().hour >= 00 && DateTime.now().hour <= 05) { 5 | return "10201-background-full-screen-night.json"; 6 | } else if (DateTime.now().hour >= 06 && DateTime.now().hour <= 19) { 7 | return "9878-background-full-screen.json"; 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /lib/backend/getBackWall.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class bgPicker { 4 | String getBgWall() { 5 | if ((DateTime.now().hour >= 19 && DateTime.now().hour <= 24) || 6 | DateTime.now().hour >= 00 && DateTime.now().hour <= 05) { 7 | return "3_night_1125_2436_wallpaper.jpg"; 8 | } else if (DateTime.now().hour >= 06 && DateTime.now().hour <= 18) { 9 | return "2_sunny_1125_2436_wallpaper.jpg"; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /lib/backend/location.dart: -------------------------------------------------------------------------------- 1 | import 'package:geolocator/geolocator.dart'; 2 | 3 | class location { 4 | double longitude; 5 | double lattitude; 6 | 7 | Future getCurrentLocation() async { 8 | try { 9 | Position position = await Geolocator() 10 | .getCurrentPosition(desiredAccuracy: LocationAccuracy.medium); 11 | longitude = position.longitude; 12 | lattitude = position.latitude; 13 | print(position); 14 | } catch (e) { 15 | print(e); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /android/app/src/main/kotlin/sauhardyasingha/weatherapptest/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package sauhardyasingha.weatherapptest 2 | 3 | import androidx.annotation.NonNull; 4 | import io.flutter.embedding.android.FlutterActivity 5 | import io.flutter.embedding.engine.FlutterEngine 6 | import io.flutter.plugins.GeneratedPluginRegistrant 7 | 8 | class MainActivity: FlutterActivity() { 9 | override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) { 10 | GeneratedPluginRegistrant.registerWith(flutterEngine); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # weatherapptest 2 | 3 | A new Flutter application. 4 | 5 | ## Getting Started 6 | 7 | This project is a starting point for a Flutter application. 8 | 9 | A few resources to get you started if this is your first Flutter project: 10 | 11 | - [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) 12 | - [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) 13 | 14 | For help getting started with Flutter, view our 15 | [online documentation](https://flutter.dev/docs), which offers tutorials, 16 | samples, guidance on mobile development, and a full API reference. 17 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /lib/backend/fetchSunriseSet.dart: -------------------------------------------------------------------------------- 1 | import 'package:sunrise_sunset/sunrise_sunset.dart'; 2 | import 'package:weatherapptest/backend/location.dart'; 3 | 4 | class fetchData { 5 | dynamic riseSet() async { 6 | location obj1 = location(); 7 | await obj1.getCurrentLocation(); 8 | var lattitude = obj1.lattitude; 9 | var longitude = obj1.longitude; 10 | try { 11 | final response = await SunriseSunset.getResults( 12 | latitude: lattitude, longitude: longitude); 13 | if (response.success) { 14 | return [response.data.sunrise, response.data.sunset]; 15 | } 16 | } catch (err) { 17 | print("Failed to get data."); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /lib/backend/fetchData.dart: -------------------------------------------------------------------------------- 1 | import 'package:http/http.dart' as http; 2 | import 'dart:convert' as convert; 3 | 4 | class dataFetcher { 5 | dataFetcher(this.url); 6 | final String url; 7 | //url is the api that is to be given (api to be used of openweather). 8 | Future getData() async { 9 | print("fetching data"); 10 | http.Response response = await http.get(url); 11 | if (response.statusCode == 200) { 12 | //Rituparna Singha 13 | String data = response.body; 14 | Map test = convert.jsonDecode(data); 15 | return test; 16 | //return convert.jsonDecode(data); 17 | } else { 18 | print(response.statusCode); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /.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 | #android related 23 | **/android/key.properties 24 | # Flutter/Dart/Pub related 25 | **/doc/api/ 26 | .dart_tool/ 27 | .flutter-plugins 28 | .flutter-plugins-dependencies 29 | .packages 30 | .pub-cache/ 31 | .pub/ 32 | /build/ 33 | 34 | # Web related 35 | lib/generated_plugin_registrant.dart 36 | 37 | # Exceptions to above rules. 38 | !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages 39 | -------------------------------------------------------------------------------- /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 | classpath 'com.android.tools.build:gradle:3.3.0' 12 | classpath 'com.google.gms:google-services:4.2.0' 13 | } 14 | } 15 | 16 | allprojects { 17 | repositories { 18 | google() 19 | jcenter() 20 | } 21 | } 22 | 23 | rootProject.buildDir = '../build' 24 | subprojects { 25 | project.buildDir = "${rootProject.buildDir}/${project.name}" 26 | } 27 | subprojects { 28 | project.evaluationDependsOn(':app') 29 | } 30 | 31 | task clean(type: Delete) { 32 | delete rootProject.buildDir 33 | } 34 | -------------------------------------------------------------------------------- /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/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 | weatherapptest 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 | -------------------------------------------------------------------------------- /android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 10 | 14 | 21 | 22 | 23 | 24 | 25 | 26 | 28 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: weatherapptest 2 | description: A new Flutter application. 3 | 4 | 5 | version: 1.0.0+2 6 | 7 | environment: 8 | sdk: ">=2.1.0 <3.0.0" 9 | 10 | dependencies: 11 | getflutter: ^1.0.11 12 | data_connection_checker: ^0.3.4 13 | flutter_swiper: ^1.1.6 14 | weather_icons: ^2.0.1 15 | weather: ^0.9.6 16 | flutter_custom_clippers: ^1.1.1 17 | animated_text_kit: ^2.0.0 18 | intl: ^0.16.1 19 | sunrise_sunset: "^1.0.2" 20 | time_formatter: ^1.0.0 21 | page_transition: ^1.1.5 22 | swipedetector: ^1.2.0 23 | lottie: ^0.3.3 24 | geolocator: ^5.3.1 25 | http: ^0.12.0+4 26 | flutter: 27 | sdk: flutter 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.2 32 | 33 | dev_dependencies: 34 | flutter_test: 35 | sdk: flutter 36 | 37 | flutter: 38 | fonts: 39 | - family: Montserrat 40 | fonts: 41 | - asset: assets/fonts/Montserrat/Montserrat-Regular.ttf 42 | - asset: assets/fonts/Montserrat/Montserrat-Bold.ttf 43 | - family: Pacifico 44 | fonts: 45 | - asset: assets/fonts/Pacifico-Regular.ttf 46 | - family: BEYNO 47 | fonts: 48 | - asset: assets/fonts/BEYNO.ttf 49 | 50 | 51 | 52 | 53 | uses-material-design: true 54 | 55 | # To add assets to your application, add an assets section, like this: 56 | assets: 57 | - assets/background/ 58 | - assets/weather_icons/ 59 | - assets/staticWeatherIcons/ 60 | - assets/landingPageAnimation/ 61 | - assets/circularAvatar/ 62 | - images/ 63 | 64 | 65 | # - asset: fonts/Schyler-Italic.ttf 66 | # style: italic 67 | # - family: Trajan Pro 68 | # fonts: 69 | # - asset: fonts/TrajanPro.ttf 70 | # - asset: fonts/TrajanPro_Bold.ttf 71 | # weight: 700 72 | # 73 | # For details regarding fonts from package dependencies, 74 | # see https://flutter.dev/custom-fonts/#from-packages 75 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | def keystoreProperties = new Properties() 28 | def keystorePropertiesFile = rootProject.file('key.properties') 29 | if (keystorePropertiesFile.exists()) { 30 | keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) 31 | } 32 | android { 33 | compileSdkVersion 28 34 | 35 | sourceSets { 36 | main.java.srcDirs += 'src/main/kotlin' 37 | } 38 | 39 | lintOptions { 40 | disable 'InvalidPackage' 41 | } 42 | 43 | defaultConfig { 44 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). 45 | applicationId "sauhardyasingha.weatherapptest" 46 | minSdkVersion 16 47 | targetSdkVersion 28 48 | versionCode flutterVersionCode.toInteger() 49 | versionName flutterVersionName 50 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 51 | } 52 | 53 | signingConfigs { 54 | release { 55 | keyAlias keystoreProperties['keyAlias'] 56 | keyPassword keystoreProperties['keyPassword'] 57 | storeFile file(keystoreProperties['storeFile']) 58 | storePassword keystoreProperties['storePassword'] 59 | } 60 | } 61 | buildTypes { 62 | release { 63 | signingConfig signingConfigs.release 64 | } 65 | } 66 | 67 | flutter { 68 | source '../..' 69 | } 70 | 71 | dependencies { 72 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" 73 | testImplementation 'junit:junit:4.12' 74 | androidTestImplementation 'androidx.test:runner:1.1.1' 75 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' 76 | } 77 | } -------------------------------------------------------------------------------- /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.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 | -------------------------------------------------------------------------------- /lib/screens/landingPage.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:lottie/lottie.dart'; 3 | import 'package:weatherapptest/backend/weather.dart'; 4 | import 'package:weatherapptest/screens/homePage.dart'; 5 | import 'package:weatherapptest/backend/getLandingPageBg.dart'; 6 | import 'package:page_transition/page_transition.dart'; 7 | import 'package:animated_text_kit/animated_text_kit.dart'; 8 | import 'package:weatherapptest/backend/forecast5.dart'; 9 | import 'package:flutter/services.dart'; 10 | import 'package:data_connection_checker/data_connection_checker.dart'; 11 | 12 | class landingPage extends StatefulWidget { 13 | @override 14 | _landingPageState createState() => _landingPageState(); 15 | } 16 | 17 | class _landingPageState extends State { 18 | @override 19 | void initState() { 20 | // TODO: implement initState 21 | super.initState(); 22 | checkConnection(); 23 | temp(); 24 | } 25 | 26 | checkConnection() async { 27 | bool result = await DataConnectionChecker().hasConnection; 28 | if (result == true) { 29 | print('YAY! Free cute dog pics!'); 30 | } else { 31 | showAlertBox(context); 32 | print('No internet :( Reason:'); 33 | print(DataConnectionChecker().lastTryResults); 34 | } 35 | } 36 | 37 | String bgWall; 38 | void temp() async { 39 | chooseBg bg = chooseBg(); 40 | getWeatherDetails obj = getWeatherDetails(); 41 | var getWeatherData = await obj.getWeather(); 42 | bgWall = bg.getBg(); 43 | forecast obj2 = forecast(); 44 | var getForecast = await obj2.getForecast(); 45 | 46 | Navigator.push( 47 | context, 48 | PageTransition( 49 | duration: Duration(milliseconds: 1500), 50 | type: PageTransitionType.fade, 51 | child: homePage( 52 | weatherData: getWeatherData, 53 | forecastData: getForecast, 54 | ))); 55 | } 56 | 57 | //MaterialPageRoute(builder: (context) { 58 | //return homePage(data: getWeatherData); 59 | //})); 60 | @override 61 | Widget build(BuildContext context) { 62 | SystemChrome.setPreferredOrientations([ 63 | DeviceOrientation.portraitUp, 64 | DeviceOrientation.portraitDown, 65 | ]); 66 | return Scaffold( 67 | body: Stack( 68 | children: [ 69 | Container( 70 | decoration: BoxDecoration( 71 | image: DecorationImage( 72 | image: AssetImage( 73 | "assets/background/1_cloudy_1125_2436_wallpaper.jpg"), 74 | fit: BoxFit.cover, 75 | ), 76 | ), 77 | ), 78 | Positioned( 79 | child: Center( 80 | child: SizedBox( 81 | child: TyperAnimatedTextKit( 82 | speed: Duration(milliseconds: 300), 83 | text: ["Clime!"], 84 | textStyle: TextStyle( 85 | fontSize: 70, 86 | color: Colors.white, 87 | fontFamily: "Pacifico", 88 | fontWeight: FontWeight.w600, 89 | letterSpacing: 0.5), 90 | textAlign: TextAlign.start, 91 | ), 92 | ), 93 | ), 94 | ) 95 | ], 96 | )); 97 | } 98 | 99 | void showAlertBox(BuildContext context) { 100 | showDialog( 101 | context: context, 102 | builder: (context) => AlertDialog( 103 | actions: [ 104 | FlatButton( 105 | child: Text( 106 | "close!", 107 | style: TextStyle( 108 | color: Colors.white, 109 | ), 110 | ), 111 | onPressed: () { 112 | SystemNavigator.pop(); 113 | }), 114 | ], 115 | backgroundColor: Colors.transparent, 116 | contentTextStyle: TextStyle(color: Colors.white, fontSize: 20), 117 | title: Text( 118 | "Oops!", 119 | style: TextStyle( 120 | color: Colors.white, 121 | fontSize: 20.0, 122 | fontFamily: 'Pacifico'), 123 | ), 124 | content: Text("No Internet Connection Detected!!! :("), 125 | )); 126 | } 127 | } 128 | -------------------------------------------------------------------------------- /assets/weather_icons/4806-weather-windy.json: -------------------------------------------------------------------------------- 1 | {"v":"5.1.1","fr":60,"ip":0,"op":180,"w":256,"h":256,"nm":"Windy","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"cloud","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[117.135,125.78,0],"e":[123.135,125.78,0],"to":[1,0,0],"ti":[3.56038412974158e-7,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":45,"s":[123.135,125.78,0],"e":[117.135,125.78,0],"to":[-3.56038412974158e-7,0,0],"ti":[0.33333370089531,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":90,"s":[117.135,125.78,0],"e":[121.135,125.78,0],"to":[-0.33333370089531,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":135,"s":[121.135,125.78,0],"e":[117.135,125.78,0],"to":[0,0,0],"ti":[0.66666668653488,0,0]},{"t":180}],"ix":2},"a":{"a":0,"k":[102.135,62.78,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,24.37],[-24.44,0],[-6.12,-3.18],[-27.6,0],[0,-34.67],[0.03,-0.7],[0,-12.29],[17.86,0],[0,0],[0,0],[0,0]],"o":[[0,0],[-24.44,0],[0,-24.36],[7.38,0],[8.51,-24.62],[34.78,0],[0,0.71],[10.16,5.44],[0,17.8],[0,0],[-0.1,0],[0,0],[0,0]],"v":[[123.61,125.56],[44.26,125.56],[0,81.44],[44.26,37.33],[64.71,42.31],[124.27,0],[187.25,62.78],[187.21,64.9],[204.27,93.32],[171.93,125.56],[124.27,125.56],[123.61,125.56],[124.27,125.56]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803986549,0.909803986549,0.909803986549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"cloud","sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":0,"s":[195.37,81.5,0],"e":[199.37,81.5,0],"to":[0.66666668653488,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":35,"s":[199.37,81.5,0],"e":[195.37,81.5,0],"to":[0,0,0],"ti":[4.57763661643185e-7,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":80,"s":[195.37,81.5,0],"e":[199.37,81.5,0],"to":[-4.57763661643185e-7,0,0],"ti":[0.66666668653488,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":125,"s":[199.37,81.5,0],"e":[195.37,81.5,0],"to":[-0.64289206266403,0,0],"ti":[0.03566187247634,0,0]},{"t":180}],"ix":2},"a":{"a":0,"k":[46.37,28.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,11.06],[-11.09,0],[-2.78,-1.45],[-12.52,0],[0,-15.74],[0.01,-0.32],[0,-5.58],[8.11,0],[0,0],[0,0],[0,0]],"o":[[0,0],[-11.09,0],[0,-11.06],[3.35,0],[3.86,-11.18],[15.8,0],[0,0.32],[4.61,2.47],[0,8.09],[0,0],[-0.04,0],[0,0],[0,0]],"v":[[56.11,57],[20.09,57],[0,36.97],[20.09,16.95],[29.38,19.21],[56.41,0],[85.01,28.5],[84.99,29.46],[92.74,42.36],[78.05,57],[56.41,57],[56.11,57],[56.41,57]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803986549,0.909803986549,0.909803986549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"bond","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[128,128,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[256,256],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"bond","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0}],"markers":[]} -------------------------------------------------------------------------------- /lib/screens/about.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:lottie/lottie.dart'; 3 | import 'package:animated_text_kit/animated_text_kit.dart'; 4 | import 'package:getflutter/getflutter.dart'; 5 | 6 | class aboutPage extends StatefulWidget { 7 | @override 8 | _aboutPageState createState() => _aboutPageState(); 9 | } 10 | 11 | class _aboutPageState extends State { 12 | @override 13 | Widget build(BuildContext context) { 14 | return Scaffold( 15 | body: Stack( 16 | children: [ 17 | Container( 18 | child: Lottie.asset("assets/landingPageAnimation/10590-summer.json", 19 | height: MediaQuery.of(context).size.height, fit: BoxFit.cover), 20 | ), 21 | Positioned( 22 | child: SafeArea( 23 | top: false, 24 | child: AppBar( 25 | //automaticallyImplyLeading: false, 26 | title: Align( 27 | alignment: Alignment.center, 28 | child: Padding( 29 | padding: const EdgeInsets.only(right: 60), 30 | child: Text( 31 | "About", 32 | style: TextStyle(fontFamily: "Pacifico", fontSize: 25.0), 33 | ), 34 | ), 35 | ), 36 | backgroundColor: Colors.transparent.withOpacity(0.0), 37 | ), 38 | ), 39 | ), 40 | Container( 41 | decoration: BoxDecoration( 42 | color: Colors.transparent.withOpacity(0.6), 43 | borderRadius: BorderRadius.only( 44 | topLeft: Radius.circular(40.0), 45 | topRight: Radius.circular(40.0))), 46 | margin: EdgeInsets.only(top: 90), 47 | padding: EdgeInsets.all(20.0), 48 | child: Column( 49 | crossAxisAlignment: CrossAxisAlignment.center, 50 | children: [ 51 | SizedBox( 52 | height: 100, 53 | ), 54 | Center( 55 | child: Text( 56 | "Clima-A Different Weather App!", 57 | style: TextStyle( 58 | color: Colors.white.withOpacity(0.85), 59 | fontSize: 25.0, 60 | fontFamily: "Pacifico"), 61 | ), 62 | ), 63 | SizedBox( 64 | height: 20.0, 65 | ), 66 | Center( 67 | child: Text( 68 | "Version-1.0.0+1", 69 | style: TextStyle( 70 | color: Colors.white.withOpacity(0.85), 71 | fontSize: 20, 72 | fontFamily: "Montserrat", 73 | fontWeight: FontWeight.w600), 74 | ), 75 | ), 76 | SizedBox( 77 | height: 50, 78 | ), 79 | Container( 80 | alignment: Alignment.topLeft, 81 | child: Text( 82 | "Design Inspired By- Dribbble and Rituparna Singha.\nWalls and Icons assets are provided by Lottie.", 83 | style: TextStyle( 84 | color: Colors.white.withOpacity(0.85), 85 | fontFamily: "Montserrat", 86 | fontSize: 15), 87 | ), 88 | ), 89 | SizedBox( 90 | height: 20, 91 | ), 92 | Container( 93 | alignment: Alignment.topLeft, 94 | child: Text( 95 | "About Dev:", 96 | style: TextStyle( 97 | color: Colors.white.withOpacity(0.85), 98 | fontFamily: "Montserrat", 99 | fontSize: 18, 100 | fontWeight: FontWeight.w500), 101 | ), 102 | ), 103 | Container( 104 | alignment: Alignment.topLeft, 105 | padding: EdgeInsets.only(top: 20), 106 | child: TypewriterAnimatedTextKit( 107 | isRepeatingAnimation: false, 108 | speed: Duration(seconds: 1), 109 | text: ["Sauhardya Singha"], 110 | textStyle: TextStyle( 111 | color: Colors.white.withOpacity(0.85), 112 | fontFamily: "BEYNO", 113 | fontSize: 25), 114 | ), 115 | ), 116 | SizedBox( 117 | height: 10, 118 | ), 119 | Container( 120 | alignment: Alignment.topLeft, 121 | child: (Text( 122 | "Flutter Dev / UX-UI Designer \n Data Analyst ", 123 | style: TextStyle( 124 | color: Colors.white, fontFamily: "BEYNO", fontSize: 15), 125 | )), 126 | ), 127 | ], 128 | ), 129 | ), 130 | ], 131 | ), 132 | ); 133 | } 134 | } 135 | -------------------------------------------------------------------------------- /lib/backend/weather.dart: -------------------------------------------------------------------------------- 1 | import 'dart:ffi'; 2 | 3 | import 'package:weatherapptest/backend/location.dart'; 4 | import 'package:weatherapptest/backend/fetchData.dart'; 5 | import 'package:weatherapptest/backend/fetchSunriseSet.dart'; 6 | import 'package:intl/intl.dart'; 7 | 8 | const apiKey = "02b8e3fe855928e881a76c55efeaa238"; 9 | const apiCall = "https://api.openweathermap.org/data/2.5/weather"; 10 | 11 | class getWeatherDetails { 12 | Future getWeather() async { 13 | location Location = location(); 14 | //fetchData obj2 = fetchData();--obselete now! 15 | await Location.getCurrentLocation(); 16 | dataFetcher fetch = dataFetcher( 17 | '$apiCall?lat=${Location.lattitude}&lon=${Location.longitude}&appid=$apiKey&units=metric'); 18 | var weatherData = await fetch.getData(); 19 | //var SunriseSetData = await obj2.riseSet();-----obselete now! 20 | var weatherDescription = weatherData['weather'][0]['description']; 21 | var temperature = weatherData['main']['temp']; 22 | var humidity = weatherData['main']['humidity']; 23 | var minTemp = weatherData['main']['temp_min']; 24 | var maxTemp = weatherData['main']['temp_max']; 25 | var windSpeed = weatherData['wind']['speed']; 26 | var pressure = weatherData['main']['pressure']; 27 | var locationName = weatherData['name']; 28 | var condition = weatherData['weather'][0]['id']; 29 | var temp1 = weatherData['sys']['sunrise']; 30 | var temp2 = weatherData['sys']['sunset']; 31 | var visibility = weatherData['visibility']; 32 | final f = DateFormat.jm(); 33 | var sunRise = f.format(DateTime.fromMillisecondsSinceEpoch(temp1 * 1000)); 34 | var sunSet = f.format(DateTime.fromMillisecondsSinceEpoch(temp2 * 1000)); 35 | return [ 36 | weatherDescription, //0 37 | temperature, //1 38 | humidity, //2 39 | minTemp, //3 40 | maxTemp, //4 41 | windSpeed, //5 42 | pressure, //6 43 | locationName, //7, 44 | condition, //8 45 | sunRise, //9 46 | sunSet, //10 47 | visibility //11 48 | ]; 49 | } 50 | 51 | String getWeatherIcon(int condition) { 52 | if (condition == 200 || 53 | condition == 201 || 54 | condition == 202 || 55 | (condition >= 230 && condition <= 232)) { 56 | return '4803-weather-storm.json'; 57 | } else if (condition >= 211 && condition <= 221) { 58 | return "4805-weather-thunder.json"; 59 | } else if (condition >= 500 && condition <= 521) { 60 | if ((DateTime.now().hour >= 19 && DateTime.now().hour <= 24) || 61 | DateTime.now().hour >= 00 && DateTime.now().hour <= 05) { 62 | return "4797-weather-rainynight.json"; 63 | } else if (DateTime.now().hour >= 06 && DateTime.now().hour <= 18) { 64 | return "4801-weather-partly-shower.json"; 65 | } 66 | } else if (condition >= 600 && condition <= 602) { 67 | if ((DateTime.now().hour >= 19 && DateTime.now().hour <= 24) || 68 | DateTime.now().hour >= 00 && DateTime.now().hour <= 05) { 69 | return "4798-weather-snownight.json"; 70 | } else if (DateTime.now().hour >= 06 && DateTime.now().hour <= 18) { 71 | return "4802-weather-snow-sunny.json"; 72 | } 73 | } else if (condition >= 611 && condition <= 622) { 74 | return "4793-weather-snow.json"; 75 | } else if (condition >= 300 && condition <= 321) { 76 | if ((DateTime.now().hour >= 19 && DateTime.now().hour <= 24) || 77 | DateTime.now().hour >= 00 && DateTime.now().hour <= 05) { 78 | return "4797-weather-rainynight.json"; 79 | } else if (DateTime.now().hour >= 06 && DateTime.now().hour <= 18) { 80 | return "4801-weather-partly-shower.json"; 81 | } 82 | } else if (condition == 701) { 83 | return "4795-weather-mist.json"; 84 | } else if (condition == 721) { 85 | if ((DateTime.now().hour >= 19 && DateTime.now().hour <= 24) || 86 | DateTime.now().hour >= 00 && DateTime.now().hour <= 05) { 87 | return "4799-weather-night.json"; 88 | } else if (DateTime.now().hour >= 06 && DateTime.now().hour <= 18) { 89 | return "4804-weather-sunny.json"; 90 | } 91 | } else if (condition == 741) { 92 | return "4791-foggy.json"; 93 | } else if (condition == 711) { 94 | if ((DateTime.now().hour >= 19 && DateTime.now().hour <= 24) || 95 | DateTime.now().hour >= 00 && DateTime.now().hour <= 05) { 96 | return "4799-weather-night.json"; 97 | } else if (DateTime.now().hour >= 06 && DateTime.now().hour <= 18) { 98 | return "4804-weather-sunny.json"; 99 | } 100 | } else if (condition == 800) { 101 | if ((DateTime.now().hour >= 19 && DateTime.now().hour <= 24) || 102 | DateTime.now().hour >= 00 && DateTime.now().hour <= 05) { 103 | return "4799-weather-night.json"; 104 | } else if (DateTime.now().hour >= 06 && DateTime.now().hour <= 18) { 105 | return "4804-weather-sunny.json"; 106 | } 107 | } else if (condition >= 801 && condition <= 804) { 108 | if ((DateTime.now().hour >= 19 && DateTime.now().hour <= 24) || 109 | DateTime.now().hour >= 00 && DateTime.now().hour <= 05) { 110 | return "4796-weather-cloudynight.json"; 111 | } else if (DateTime.now().hour >= 06 && DateTime.now().hour <= 18) { 112 | return "4806-weather-windy.json"; 113 | } 114 | } 115 | } 116 | } 117 | -------------------------------------------------------------------------------- /assets/weather_icons/4804-weather-sunny.json: -------------------------------------------------------------------------------- 1 | {"v":"5.1.1","fr":60,"ip":0,"op":180,"w":256,"h":256,"nm":"Sunny","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Oval ","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[127.43,127.43,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,-0.294]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p833_0p833_0p333_0","0p833_0p833_0p333_0","0p833_-0p294_0p333_0"],"t":0,"s":[100,100,100],"e":[103,103,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,1.985]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p833_0p833_0p333_0","0p833_0p833_0p333_0","0p833_1p985_0p333_0"],"t":35,"s":[103,103,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,15.47]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p833_0p833_0p333_0","0p833_0p833_0p333_0","0p833_15p47_0p333_0"],"t":80,"s":[100,100,100],"e":[103,103,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,-13.47]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p833_0p833_0p333_0","0p833_0p833_0p333_0","0p833_-13p47_0p333_0"],"t":125,"s":[103,103,100],"e":[100,100,100]},{"t":180}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[153.6,153.6],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.788235008717,0.188234999776,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Oval ","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Oval","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[127.435,127.435,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[98,98,100],"e":[101,101,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,2.005]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p833_0p833_0p333_0","0p833_0p833_0p333_0","0p833_2p005_0p333_0"],"t":40,"s":[101,101,100],"e":[98,98,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,-0.005]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p833_0p833_0p333_0","0p833_0p833_0p333_0","0p833_-0p005_0p333_0"],"t":85,"s":[98,98,100],"e":[101,101,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p833_1_0p333_0","0p833_1_0p333_0","0p833_1_0p333_0"],"t":130,"s":[101,101,100],"e":[98,98,100]},{"t":180}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[180.91,180.91],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.860368013382,0.464744985104,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":8.533,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Oval","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Oval","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[128,128,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.015]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p833_0p833_0p333_0","0p833_0p833_0p333_0","0p833_0p015_0p333_0"],"t":0,"s":[100,100,100],"e":[103,103,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,1.985]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p833_0p833_0p333_0","0p833_0p833_0p333_0","0p833_1p985_0p333_0"],"t":45,"s":[103,103,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.015]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p833_0p833_0p333_0","0p833_0p833_0p333_0","0p833_0p015_0p333_0"],"t":90,"s":[100,100,100],"e":[103,103,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,1.985]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p833_0p833_0p333_0","0p833_0p833_0p333_0","0p833_1p985_0p333_0"],"t":135,"s":[103,103,100],"e":[100,100,100]},{"t":180}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[204.8,204.8],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.961977005005,0.856356978416,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4.571,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Oval","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"bond","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[128,128,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[256,256],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"bond","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0}],"markers":[]} -------------------------------------------------------------------------------- /assets/weather_icons/4805-weather-thunder.json: -------------------------------------------------------------------------------- 1 | {"v":"5.1.1","fr":60,"ip":0,"op":180,"w":256,"h":256,"nm":"Thunder","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Oval 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,20.05],[-20.06,0],[-5.02,-2.62],[-22.64,0],[0,-28.54],[0.02,-0.58],[0,-10.12],[14.65,0],[0,0],[0,0],[0,0]],"o":[[0,0],[-20.06,0],[0,-20.05],[6.05,0],[6.99,-20.26],[28.53,0],[0,0.58],[8.33,4.48],[0,14.65],[0,0],[-0.08,0],[0,0],[0,0]],"v":[[101.39,103.33],[36.31,103.33],[0,67.03],[36.31,30.72],[53.08,34.82],[101.94,0],[153.6,51.67],[153.57,53.41],[167.57,76.8],[141.04,103.33],[101.94,103.33],[101.39,103.33],[101.94,103.33]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803986549,0.909803986549,0.909803986549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2102.1021021021,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"thunder 3","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":60,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":70,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":80,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":85,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":90,"s":[100],"e":[0]},{"t":95}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[170.5,178,0],"ix":2},"a":{"a":0,"k":[34.5,52,0],"ix":1},"s":{"a":0,"k":[70,70,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[23.36,0],[53.37,0],[38.81,34.67],[69,34.67],[12.94,104],[31.8,56.33],[0,56.33]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.788235008717,0.188234999776,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":50,"op":230,"st":50,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"thunder2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":118,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":128,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":138,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":143,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":148,"s":[100],"e":[0]},{"t":153}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[133.5,186,0],"ix":2},"a":{"a":0,"k":[34.5,52,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[23.36,0],[53.37,0],[38.81,34.67],[69,34.67],[12.94,104],[31.8,56.33],[0,56.33]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.788235008717,0.188234999776,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":108,"op":288,"st":108,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"thunder","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":10,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":20,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":30,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":35,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"n":["0p833_0p833_0p333_0"],"t":40,"s":[100],"e":[0]},{"t":45}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[112.5,184,0],"ix":2},"a":{"a":0,"k":[34.5,52,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[23.36,0],[53.37,0],[38.81,34.67],[69,34.67],[12.94,104],[31.8,56.33],[0,56.33]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.788235008717,0.188234999776,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":0,"nm":"cloud","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":0,"s":[130.132,100.47,0],"e":[135.132,100.47,0],"to":[0.83333331346512,0,0],"ti":[-0.00000512746192,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":45,"s":[135.132,100.47,0],"e":[130.132,100.47,0],"to":[0.00000512746192,0,0],"ti":[-0.00000512746192,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":90,"s":[130.132,100.47,0],"e":[135.132,100.47,0],"to":[0.00000512746192,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":135,"s":[135.132,100.47,0],"e":[130.132,100.47,0],"to":[0,0,0],"ti":[0.83333331346512,0,0]},{"t":180}],"ix":2},"a":{"a":0,"k":[84,52,0],"ix":1},"s":{"a":0,"k":[119.363,119.365,100],"ix":6}},"ao":0,"w":168,"h":104,"ip":0,"op":2102.1015625,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"bond","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[128,128,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[256,256],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"bond","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0}],"markers":[]} -------------------------------------------------------------------------------- /lib/backend/forecast5.dart: -------------------------------------------------------------------------------- 1 | import 'package:intl/intl.dart'; 2 | import 'package:weatherapptest/backend/location.dart'; 3 | import 'package:weatherapptest/backend/fetchData.dart'; 4 | 5 | const apiKey = "02b8e3fe855928e881a76c55efeaa238"; 6 | const apiCall = "https://api.openweathermap.org/data/2.5/onecall"; 7 | //https://api.openweathermap.org/data/2.5/forecast/daily?lat={lat}&lon={lon}&cnt={cnt}&appid={your api key},&units=metric 8 | 9 | class forecast { 10 | Future getForecast() async { 11 | location Location = location(); 12 | await Location.getCurrentLocation(); 13 | dataFetcher fetch = dataFetcher( 14 | '$apiCall?lat=${Location.lattitude}&lon=${Location.longitude}&cnt=5&appid=$apiKey&units=metric'); 15 | 16 | final dateFormat = DateFormat.EEEE(); 17 | 18 | var weatherData = await fetch.getData(); 19 | //day1 20 | var condition1 = weatherData['daily'][1]['weather'][0]['id']; 21 | var day1mintemp = weatherData['daily'][1]['temp']['min']; 22 | var day1maxtemp = weatherData['daily'][1]['temp']['max']; 23 | var day1desc = weatherData['daily'][1]['weather'][0]['main']; 24 | var day1day = dateFormat.format(DateTime.fromMillisecondsSinceEpoch( 25 | weatherData['daily'][1]["dt"] * 1000)); 26 | var day1uvi = weatherData['daily'][1]['uvi']; 27 | 28 | //day2 29 | var condition2 = weatherData['daily'][2]['weather'][0]['id']; 30 | var day2mintemp = weatherData['daily'][2]['temp']['min']; 31 | var day2maxtemp = weatherData['daily'][2]['temp']['max']; 32 | var day2desc = weatherData['daily'][2]['weather'][0]['main']; 33 | var day2day = dateFormat.format(DateTime.fromMillisecondsSinceEpoch( 34 | weatherData['daily'][2]["dt"] * 1000)); 35 | var day2uvi = weatherData['daily'][2]['uvi']; 36 | 37 | //day3 38 | var condition3 = weatherData['daily'][3]['weather'][0]['id']; 39 | var day3mintemp = weatherData['daily'][3]['temp']['min']; 40 | var day3maxtemp = weatherData['daily'][3]['temp']['max']; 41 | var day3desc = weatherData['daily'][3]['weather'][0]['main']; 42 | var day3day = dateFormat.format(DateTime.fromMillisecondsSinceEpoch( 43 | weatherData['daily'][3]["dt"] * 1000)); 44 | var day3uvi = weatherData['daily'][3]['uvi']; 45 | 46 | //day4 47 | var condition4 = weatherData['daily'][4]['weather'][0]['id']; 48 | var day4mintemp = weatherData['daily'][4]['temp']['min']; 49 | var day4maxtemp = weatherData['daily'][4]['temp']['max']; 50 | var day4desc = weatherData['daily'][4]['weather'][0]['main']; 51 | var day4day = dateFormat.format(DateTime.fromMillisecondsSinceEpoch( 52 | weatherData['daily'][4]["dt"] * 1000)); 53 | var day4uvi = weatherData['daily'][4]['uvi']; 54 | 55 | //day5 56 | var condition5 = weatherData['daily'][5]['weather'][0]['id']; 57 | var day5mintemp = weatherData['daily'][5]['temp']['min']; 58 | var day5maxtemp = weatherData['daily'][5]['temp']['max']; 59 | var day5desc = weatherData['daily'][5]['weather'][0]['main']; 60 | var day5day = dateFormat.format(DateTime.fromMillisecondsSinceEpoch( 61 | weatherData['daily'][5]["dt"] * 1000)); 62 | var day5uvi = weatherData['daily'][5]['uvi']; 63 | 64 | return ([ 65 | day1mintemp, //1 66 | day1maxtemp, //2 67 | day1day, //3 68 | day1desc, //4 69 | day1uvi, //5 70 | day2mintemp, //6, 71 | day2maxtemp, //7 72 | day2day, //8 73 | day2desc, //9 74 | day2uvi, //10 75 | day3mintemp, //11 76 | day3maxtemp, //12 77 | day3day, //13 78 | day3desc, //14 79 | day3uvi, //15 80 | day4mintemp, //16 81 | day4maxtemp, //17 82 | day4day, //18 83 | day4desc, //19 84 | day4uvi, //20 85 | day5mintemp, //21 86 | day5maxtemp, //22 87 | day5day, //23 88 | day5desc, //24 89 | day5uvi, //25 90 | condition1, //26 91 | condition2, //27 92 | condition3, //28 93 | condition4, //29 94 | condition5 //30 95 | ]); 96 | } 97 | 98 | String getWeatherIcon(int condition) { 99 | print("inside getWeather"); 100 | if (condition == 200 || 101 | condition == 201 || 102 | condition == 202 || 103 | (condition >= 230 && condition <= 232)) { 104 | return '4803-weather-storm.json'; 105 | } else if (condition >= 211 && condition <= 221) { 106 | return "4805-weather-thunder.json"; 107 | } else if (condition >= 500 && condition <= 522) { 108 | if ((DateTime.now().hour >= 19 && DateTime.now().hour <= 24) || 109 | DateTime.now().hour >= 00 && DateTime.now().hour <= 05) { 110 | return "4797-weather-rainynight.json"; 111 | } else if (DateTime.now().hour >= 06 && DateTime.now().hour <= 18) { 112 | return "4801-weather-partly-shower.json"; 113 | } 114 | } else if (condition == 502 && 115 | condition == 503 && 116 | condition == 504 && 117 | condition == 522) { 118 | if ((DateTime.now().hour >= 19 && DateTime.now().hour <= 24) || 119 | DateTime.now().hour >= 00 && DateTime.now().hour <= 05) { 120 | return "4792-weather-stormshowersday.json"; 121 | } else if (DateTime.now().hour >= 06 && DateTime.now().hour <= 18) { 122 | return "4797-weather-rainynight.json"; 123 | } 124 | } else if (condition >= 600 && condition <= 602) { 125 | if ((DateTime.now().hour >= 19 && DateTime.now().hour <= 24) || 126 | DateTime.now().hour >= 00 && DateTime.now().hour <= 05) { 127 | return "4802-weather-snow-sunny.json"; 128 | } else if (DateTime.now().hour >= 06 && DateTime.now().hour <= 18) { 129 | return "4798-weather-snownight.json"; 130 | } 131 | } else if (condition >= 611 && condition <= 622) { 132 | return "4793-weather-snow.json"; 133 | } else if (condition >= 300 && condition <= 321) { 134 | if ((DateTime.now().hour >= 19 && DateTime.now().hour <= 24) || 135 | DateTime.now().hour >= 00 && DateTime.now().hour <= 05) { 136 | return "4801-weather-partly-shower.json"; 137 | } else if (DateTime.now().hour >= 06 && DateTime.now().hour <= 18) { 138 | return "4797-weather-rainynight.json"; 139 | } 140 | } else if (condition == 701) { 141 | return "4795-weather-mist.json"; 142 | } else if (condition == 721) { 143 | if ((DateTime.now().hour >= 19 && DateTime.now().hour <= 24) || 144 | DateTime.now().hour >= 00 && DateTime.now().hour <= 05) { 145 | return "4799-weather-night.json"; 146 | } else if (DateTime.now().hour >= 06 && DateTime.now().hour <= 18) { 147 | return "4804-weather-sunny.json"; 148 | } 149 | } else if (condition == 741) { 150 | return "4791-foggy.json"; 151 | } else if (condition == 711) { 152 | if ((DateTime.now().hour >= 19 && DateTime.now().hour <= 24) || 153 | DateTime.now().hour >= 00 && DateTime.now().hour <= 05) { 154 | return "4799-weather-night.json"; 155 | } else if (DateTime.now().hour >= 06 && DateTime.now().hour <= 18) { 156 | return "4804-weather-sunny.json"; 157 | } 158 | } else if (condition == 800) { 159 | if ((DateTime.now().hour >= 19 && DateTime.now().hour <= 24) || 160 | DateTime.now().hour >= 00 && DateTime.now().hour <= 05) { 161 | return "4799-weather-night.json"; 162 | } else if (DateTime.now().hour >= 06 && DateTime.now().hour <= 18) { 163 | return "4804-weather-sunny.json"; 164 | } 165 | } else if (condition >= 801 && condition <= 804) { 166 | if ((DateTime.now().hour >= 19 && DateTime.now().hour <= 24) || 167 | DateTime.now().hour >= 00 && DateTime.now().hour <= 05) { 168 | return "4796-weather-cloudynight.json"; 169 | } else if (DateTime.now().hour >= 06 && DateTime.now().hour <= 18) { 170 | return "4806-weather-windy.json"; 171 | } 172 | } 173 | } 174 | } 175 | -------------------------------------------------------------------------------- /assets/weather_icons/4800-weather-partly-cloudy.json: -------------------------------------------------------------------------------- 1 | {"v":"5.1.1","fr":60,"ip":0,"op":180,"w":256,"h":256,"nm":"PartlyCloudyDay","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"cloud","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":0,"s":[76.83,63.21,0],"e":[78.83,63.21,0],"to":[0.33333334326744,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":45,"s":[78.83,63.21,0],"e":[76.83,63.21,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":90,"s":[76.83,63.21,0],"e":[78.83,63.21,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":135,"s":[78.83,63.21,0],"e":[76.83,63.21,0],"to":[0,0,0],"ti":[0.33333334326744,0,0]},{"t":180}],"ix":2},"a":{"a":0,"k":[45.49,27.05,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,10.5],[-10.88,0],[-2.72,-1.37],[-12.29,0],[0,-14.94],[0.01,-0.3],[0,-5.3],[7.96,0],[0,0],[0,0],[0,0]],"o":[[0,0],[-10.88,0],[0,-10.5],[3.29,0],[3.79,-10.61],[15.49,0],[0,0.31],[4.52,2.35],[0,7.67],[0,0],[-0.05,0],[0,0],[0,0]],"v":[[55.05,54.1],[19.71,54.1],[0,35.09],[19.71,16.08],[28.82,18.23],[55.35,0],[83.4,27.05],[83.38,27.96],[90.98,40.21],[76.57,54.1],[55.35,54.1],[55.05,54.1],[55.35,54.1]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803986549,0.909803986549,0.909803986549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"cloud","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":0,"s":[50.49,183.99,0],"e":[53.49,183.99,0],"to":[0.5,0,0],"ti":[-3.56038412974158e-7,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":40,"s":[53.49,183.99,0],"e":[50.49,183.99,0],"to":[3.56038412974158e-7,0,0],"ti":[-3.56038412974158e-7,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":85,"s":[50.49,183.99,0],"e":[53.49,183.99,0],"to":[3.56038412974158e-7,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":130,"s":[53.49,183.99,0],"e":[50.49,183.99,0],"to":[0,0,0],"ti":[0.5,0,0]},{"t":180}],"ix":2},"a":{"a":0,"k":[45.49,27.05,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,10.5],[-10.88,0],[-2.72,-1.37],[-12.29,0],[0,-14.94],[0.01,-0.3],[0,-5.3],[7.96,0],[0,0],[0,0],[0,0]],"o":[[0,0],[-10.88,0],[0,-10.5],[3.29,0],[3.79,-10.61],[15.49,0],[0,0.31],[4.52,2.35],[0,7.67],[0,0],[-0.05,0],[0,0],[0,0]],"v":[[55.05,54.1],[19.71,54.1],[0,35.09],[19.71,16.08],[28.82,18.23],[55.35,0],[83.4,27.05],[83.38,27.96],[90.98,40.21],[76.57,54.1],[55.35,54.1],[55.05,54.1],[55.35,54.1]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803986549,0.909803986549,0.909803986549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"cloud","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":0,"s":[182.765,116.19,0],"e":[186.765,116.19,0],"to":[0.66666668653488,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":50,"s":[186.765,116.19,0],"e":[182.765,116.19,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":95,"s":[182.765,116.19,0],"e":[186.765,116.19,0],"to":[0,0,0],"ti":[-1.01725255774454e-7,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":140,"s":[186.765,116.19,0],"e":[182.765,116.19,0],"to":[1.01725255774454e-7,0,0],"ti":[0.66666656732559,0,0]},{"t":180}],"ix":2},"a":{"a":0,"k":[60.235,35.82,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,13.9],[-14.41,0],[-3.61,-1.82],[-16.28,0],[0,-19.78],[0.01,-0.4],[0,-7.01],[10.53,0],[0,0],[0,0],[0,0]],"o":[[0,0],[-14.41,0],[0,-13.9],[4.35,0],[5.02,-14.05],[20.51,0],[0,0.4],[5.99,3.1],[0,10.16],[0,0],[-0.06,0],[0,0],[0,0]],"v":[[72.9,71.64],[26.1,71.64],[0,46.47],[26.1,21.3],[38.16,24.14],[73.29,0],[110.43,35.82],[110.41,37.03],[120.47,53.24],[101.4,71.64],[73.29,71.64],[72.9,71.64],[73.29,71.64]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803986549,0.909803986549,0.909803986549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"sun","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[129.275,127.375,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[170.59,169.85],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.788235008717,0.188234999776,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"sun","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"bond","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[127,128,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[256,256],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"bond","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0}],"markers":[]} -------------------------------------------------------------------------------- /assets/weather_icons/4799-weather-night.json: -------------------------------------------------------------------------------- 1 | {"v":"5.1.1","fr":60,"ip":0,"op":180,"w":256,"h":256,"nm":"Moon","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"star","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":45,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":90,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":135,"s":[0],"e":[100]},{"t":179}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[202,219,0],"ix":2},"a":{"a":0,"k":[11,11,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[5.27,-1.61],[-1.61,-5.27],[-5.26,1.61],[1.61,5.27]],"o":[[5.27,1.61],[1.61,-5.27],[-5.26,-1.61],[-1.61,5.27]],"v":[[0,11],[11,22],[22,11],[11,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.788235008717,0.188234999776,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"star","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":10,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":50,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":100,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":140,"s":[100],"e":[0]},{"t":175}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[184.5,63.5,0],"ix":2},"a":{"a":0,"k":[6.5,6.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.11,-0.95],[-0.95,-3.11],[-3.11,0.95],[0.95,3.11]],"o":[[3.11,0.95],[0.95,-3.11],[-3.11,-0.95],[-0.95,3.11]],"v":[[0,6.5],[6.5,13],[13,6.5],[6.5,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.788235008717,0.188234999776,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"star","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":5,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":40,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":80,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":120,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":160,"s":[100],"e":[0]},{"t":179}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[23.5,170.5,0],"ix":2},"a":{"a":0,"k":[8.5,8.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.07,-1.24],[-1.24,-4.07],[-4.07,1.24],[1.24,4.07]],"o":[[4.07,1.24],[1.24,-4.07],[-4.07,-1.24],[-1.24,4.07]],"v":[[0,8.5],[8.5,17],[17,8.5],[8.5,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.788235008717,0.188234999776,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"star","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":15,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":55,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":95,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":135,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":169,"s":[100],"e":[0]},{"t":179}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[148,107,0],"ix":2},"a":{"a":0,"k":[9,9,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.31,-1.32],[-1.31,-4.31],[-4.31,1.32],[1.32,4.31]],"o":[[4.31,1.31],[1.32,-4.31],[-4.31,-1.32],[-1.31,4.31]],"v":[[0,9],[9,18],[18,9],[9,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.788235008717,0.188234999776,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"moon","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[128.4,128.2,0],"ix":2},"a":{"a":0,"k":[90.4,89.2,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-40.4,9.1],[0,-11.8],[-42.4,0],[-11.9,7.5],[46.8,0],[0,49.9]],"o":[[-4.8,10],[0,42.3],[15.1,0],[-4.8,45.3],[-50,0],[0,-43]],"v":[[70.5,0],[62.9,33.1],[139.7,109.6],[180.8,97.7],[90.6,178.4],[0,88.1]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.788235008717,0.188234999776,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"bond","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[128,128,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[256,256],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"bond","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0}],"markers":[]} -------------------------------------------------------------------------------- /assets/weather_icons/4795-weather-mist.json: -------------------------------------------------------------------------------- 1 | {"v":"5.1.1","fr":60,"ip":0,"op":180,"w":256,"h":256,"nm":"mist","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"mist","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":0,"s":[149,218,0],"e":[159,218,0],"to":[1.66666662693024,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":45,"s":[159,218,0],"e":[149,218,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":90,"s":[149,218,0],"e":[159,218,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":135,"s":[159,218,0],"e":[149,218,0],"to":[0,0,0],"ti":[1.66666662693024,0,0]},{"t":180}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[130,8],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":9,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.845982015133,0.845982015133,0.845982015133,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"mist","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"mist","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":0,"s":[106,203,0],"e":[116,203,0],"to":[1.66666662693024,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":43,"s":[116,203,0],"e":[106,203,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":88,"s":[106,203,0],"e":[116,203,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":133,"s":[116,203,0],"e":[106,203,0],"to":[0,0,0],"ti":[1.66666662693024,0,0]},{"t":180}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[140,8],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":9,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.845982015133,0.845982015133,0.845982015133,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"mist","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"mist","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":0,"s":[119,188,0],"e":[129,188,0],"to":[1.66666662693024,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":47,"s":[129,188,0],"e":[119,188,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":93,"s":[119,188,0],"e":[129,188,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":138,"s":[129,188,0],"e":[119,188,0],"to":[0,0,0],"ti":[1.66666662693024,0,0]},{"t":180}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[130,8],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":9,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.845982015133,0.845982015133,0.845982015133,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"mist","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"cloud","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":0,"s":[117.135,108.78,0],"e":[121.135,108.78,0],"to":[0.66666668653488,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":45,"s":[121.135,108.78,0],"e":[117.135,108.78,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":90,"s":[117.135,108.78,0],"e":[121.135,108.78,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":135,"s":[121.135,108.78,0],"e":[117.135,108.78,0],"to":[0,0,0],"ti":[0.66666668653488,0,0]},{"t":180}],"ix":2},"a":{"a":0,"k":[102.135,62.78,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,24.37],[-24.44,0],[-6.12,-3.18],[-27.6,0],[0,-34.67],[0.03,-0.7],[0,-12.29],[17.86,0],[0,0],[0,0],[0,0]],"o":[[0,0],[-24.44,0],[0,-24.36],[7.38,0],[8.51,-24.62],[34.78,0],[0,0.71],[10.16,5.44],[0,17.8],[0,0],[-0.1,0],[0,0],[0,0]],"v":[[123.61,125.56],[44.26,125.56],[0,81.44],[44.26,37.33],[64.71,42.31],[124.27,0],[187.25,62.78],[187.21,64.9],[204.27,93.32],[171.93,125.56],[124.27,125.56],[123.61,125.56],[124.27,125.56]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803986549,0.909803986549,0.909803986549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"cloud","sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":0,"s":[198.37,64.5,0],"e":[200.37,64.5,0],"to":[0.33333334326744,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":55,"s":[200.37,64.5,0],"e":[198.37,64.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":100,"s":[198.37,64.5,0],"e":[200.37,64.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":145,"s":[200.37,64.5,0],"e":[198.37,64.5,0],"to":[0,0,0],"ti":[0.33333334326744,0,0]},{"t":180}],"ix":2},"a":{"a":0,"k":[46.37,28.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,11.06],[-11.09,0],[-2.78,-1.45],[-12.52,0],[0,-15.74],[0.01,-0.32],[0,-5.58],[8.11,0],[0,0],[0,0],[0,0]],"o":[[0,0],[-11.09,0],[0,-11.06],[3.35,0],[3.86,-11.18],[15.8,0],[0,0.32],[4.61,2.47],[0,8.09],[0,0],[-0.04,0],[0,0],[0,0]],"v":[[56.11,57],[20.09,57],[0,36.97],[20.09,16.95],[29.38,19.21],[56.41,0],[85.01,28.5],[84.99,29.46],[92.74,42.36],[78.05,57],[56.41,57],[56.11,57],[56.41,57]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803986549,0.909803986549,0.909803986549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0}],"markers":[]} -------------------------------------------------------------------------------- /pubspec.lock: -------------------------------------------------------------------------------- 1 | # Generated by pub 2 | # See https://dart.dev/tools/pub/glossary#lockfile 3 | packages: 4 | animated_text_kit: 5 | dependency: "direct main" 6 | description: 7 | name: animated_text_kit 8 | url: "https://pub.dartlang.org" 9 | source: hosted 10 | version: "2.0.0" 11 | archive: 12 | dependency: transitive 13 | description: 14 | name: archive 15 | url: "https://pub.dartlang.org" 16 | source: hosted 17 | version: "2.0.11" 18 | args: 19 | dependency: transitive 20 | description: 21 | name: args 22 | url: "https://pub.dartlang.org" 23 | source: hosted 24 | version: "1.5.2" 25 | async: 26 | dependency: transitive 27 | description: 28 | name: async 29 | url: "https://pub.dartlang.org" 30 | source: hosted 31 | version: "2.4.0" 32 | boolean_selector: 33 | dependency: transitive 34 | description: 35 | name: boolean_selector 36 | url: "https://pub.dartlang.org" 37 | source: hosted 38 | version: "1.0.5" 39 | characters: 40 | dependency: transitive 41 | description: 42 | name: characters 43 | url: "https://pub.dartlang.org" 44 | source: hosted 45 | version: "0.5.0" 46 | charcode: 47 | dependency: transitive 48 | description: 49 | name: charcode 50 | url: "https://pub.dartlang.org" 51 | source: hosted 52 | version: "1.1.2" 53 | collection: 54 | dependency: transitive 55 | description: 56 | name: collection 57 | url: "https://pub.dartlang.org" 58 | source: hosted 59 | version: "1.14.11" 60 | convert: 61 | dependency: transitive 62 | description: 63 | name: convert 64 | url: "https://pub.dartlang.org" 65 | source: hosted 66 | version: "2.1.1" 67 | crypto: 68 | dependency: transitive 69 | description: 70 | name: crypto 71 | url: "https://pub.dartlang.org" 72 | source: hosted 73 | version: "2.1.3" 74 | cupertino_icons: 75 | dependency: "direct main" 76 | description: 77 | name: cupertino_icons 78 | url: "https://pub.dartlang.org" 79 | source: hosted 80 | version: "0.1.3" 81 | data_connection_checker: 82 | dependency: "direct main" 83 | description: 84 | name: data_connection_checker 85 | url: "https://pub.dartlang.org" 86 | source: hosted 87 | version: "0.3.4" 88 | equatable: 89 | dependency: transitive 90 | description: 91 | name: equatable 92 | url: "https://pub.dartlang.org" 93 | source: hosted 94 | version: "1.1.1" 95 | flutter: 96 | dependency: "direct main" 97 | description: flutter 98 | source: sdk 99 | version: "0.0.0" 100 | flutter_custom_clippers: 101 | dependency: "direct main" 102 | description: 103 | name: flutter_custom_clippers 104 | url: "https://pub.dartlang.org" 105 | source: hosted 106 | version: "1.1.1" 107 | flutter_page_indicator: 108 | dependency: transitive 109 | description: 110 | name: flutter_page_indicator 111 | url: "https://pub.dartlang.org" 112 | source: hosted 113 | version: "0.0.3" 114 | flutter_swiper: 115 | dependency: "direct main" 116 | description: 117 | name: flutter_swiper 118 | url: "https://pub.dartlang.org" 119 | source: hosted 120 | version: "1.1.6" 121 | flutter_test: 122 | dependency: "direct dev" 123 | description: flutter 124 | source: sdk 125 | version: "0.0.0" 126 | geolocator: 127 | dependency: "direct main" 128 | description: 129 | name: geolocator 130 | url: "https://pub.dartlang.org" 131 | source: hosted 132 | version: "5.3.1" 133 | getflutter: 134 | dependency: "direct main" 135 | description: 136 | name: getflutter 137 | url: "https://pub.dartlang.org" 138 | source: hosted 139 | version: "1.0.11" 140 | google_api_availability: 141 | dependency: transitive 142 | description: 143 | name: google_api_availability 144 | url: "https://pub.dartlang.org" 145 | source: hosted 146 | version: "2.0.4" 147 | http: 148 | dependency: "direct main" 149 | description: 150 | name: http 151 | url: "https://pub.dartlang.org" 152 | source: hosted 153 | version: "0.12.0+4" 154 | http_parser: 155 | dependency: transitive 156 | description: 157 | name: http_parser 158 | url: "https://pub.dartlang.org" 159 | source: hosted 160 | version: "3.1.4" 161 | image: 162 | dependency: transitive 163 | description: 164 | name: image 165 | url: "https://pub.dartlang.org" 166 | source: hosted 167 | version: "2.1.4" 168 | intl: 169 | dependency: "direct main" 170 | description: 171 | name: intl 172 | url: "https://pub.dartlang.org" 173 | source: hosted 174 | version: "0.16.1" 175 | location: 176 | dependency: transitive 177 | description: 178 | name: location 179 | url: "https://pub.dartlang.org" 180 | source: hosted 181 | version: "2.5.4" 182 | location_permissions: 183 | dependency: transitive 184 | description: 185 | name: location_permissions 186 | url: "https://pub.dartlang.org" 187 | source: hosted 188 | version: "2.0.5" 189 | logging: 190 | dependency: transitive 191 | description: 192 | name: logging 193 | url: "https://pub.dartlang.org" 194 | source: hosted 195 | version: "0.11.4" 196 | lottie: 197 | dependency: "direct main" 198 | description: 199 | name: lottie 200 | url: "https://pub.dartlang.org" 201 | source: hosted 202 | version: "0.3.3" 203 | matcher: 204 | dependency: transitive 205 | description: 206 | name: matcher 207 | url: "https://pub.dartlang.org" 208 | source: hosted 209 | version: "0.12.6" 210 | meta: 211 | dependency: transitive 212 | description: 213 | name: meta 214 | url: "https://pub.dartlang.org" 215 | source: hosted 216 | version: "1.1.8" 217 | page_transition: 218 | dependency: "direct main" 219 | description: 220 | name: page_transition 221 | url: "https://pub.dartlang.org" 222 | source: hosted 223 | version: "1.1.5" 224 | path: 225 | dependency: transitive 226 | description: 227 | name: path 228 | url: "https://pub.dartlang.org" 229 | source: hosted 230 | version: "1.6.4" 231 | pedantic: 232 | dependency: transitive 233 | description: 234 | name: pedantic 235 | url: "https://pub.dartlang.org" 236 | source: hosted 237 | version: "1.8.0+1" 238 | petitparser: 239 | dependency: transitive 240 | description: 241 | name: petitparser 242 | url: "https://pub.dartlang.org" 243 | source: hosted 244 | version: "2.4.0" 245 | quiver: 246 | dependency: transitive 247 | description: 248 | name: quiver 249 | url: "https://pub.dartlang.org" 250 | source: hosted 251 | version: "2.0.5" 252 | sky_engine: 253 | dependency: transitive 254 | description: flutter 255 | source: sdk 256 | version: "0.0.99" 257 | source_span: 258 | dependency: transitive 259 | description: 260 | name: source_span 261 | url: "https://pub.dartlang.org" 262 | source: hosted 263 | version: "1.5.5" 264 | stack_trace: 265 | dependency: transitive 266 | description: 267 | name: stack_trace 268 | url: "https://pub.dartlang.org" 269 | source: hosted 270 | version: "1.9.3" 271 | stream_channel: 272 | dependency: transitive 273 | description: 274 | name: stream_channel 275 | url: "https://pub.dartlang.org" 276 | source: hosted 277 | version: "2.0.0" 278 | string_scanner: 279 | dependency: transitive 280 | description: 281 | name: string_scanner 282 | url: "https://pub.dartlang.org" 283 | source: hosted 284 | version: "1.0.5" 285 | sunrise_sunset: 286 | dependency: "direct main" 287 | description: 288 | name: sunrise_sunset 289 | url: "https://pub.dartlang.org" 290 | source: hosted 291 | version: "1.0.4" 292 | swipedetector: 293 | dependency: "direct main" 294 | description: 295 | name: swipedetector 296 | url: "https://pub.dartlang.org" 297 | source: hosted 298 | version: "1.2.0" 299 | term_glyph: 300 | dependency: transitive 301 | description: 302 | name: term_glyph 303 | url: "https://pub.dartlang.org" 304 | source: hosted 305 | version: "1.1.0" 306 | test_api: 307 | dependency: transitive 308 | description: 309 | name: test_api 310 | url: "https://pub.dartlang.org" 311 | source: hosted 312 | version: "0.2.11" 313 | time_formatter: 314 | dependency: "direct main" 315 | description: 316 | name: time_formatter 317 | url: "https://pub.dartlang.org" 318 | source: hosted 319 | version: "1.0.0+5" 320 | transformer_page_view: 321 | dependency: transitive 322 | description: 323 | name: transformer_page_view 324 | url: "https://pub.dartlang.org" 325 | source: hosted 326 | version: "0.1.6" 327 | typed_data: 328 | dependency: transitive 329 | description: 330 | name: typed_data 331 | url: "https://pub.dartlang.org" 332 | source: hosted 333 | version: "1.1.6" 334 | vector_math: 335 | dependency: transitive 336 | description: 337 | name: vector_math 338 | url: "https://pub.dartlang.org" 339 | source: hosted 340 | version: "2.0.8" 341 | weather: 342 | dependency: "direct main" 343 | description: 344 | name: weather 345 | url: "https://pub.dartlang.org" 346 | source: hosted 347 | version: "0.9.6" 348 | weather_icons: 349 | dependency: "direct main" 350 | description: 351 | name: weather_icons 352 | url: "https://pub.dartlang.org" 353 | source: hosted 354 | version: "2.0.1" 355 | xml: 356 | dependency: transitive 357 | description: 358 | name: xml 359 | url: "https://pub.dartlang.org" 360 | source: hosted 361 | version: "3.5.0" 362 | sdks: 363 | dart: ">=2.7.0 <3.0.0" 364 | flutter: ">=1.12.13+hotfix.6 <2.0.0" 365 | -------------------------------------------------------------------------------- /assets/weather_icons/4791-foggy.json: -------------------------------------------------------------------------------- 1 | {"v":"5.1.1","fr":60,"ip":0,"op":180,"w":256,"h":256,"nm":"day_fog","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Oval 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,20.05],[-20.06,0],[-5.02,-2.62],[-22.64,0],[0,-28.54],[0.02,-0.58],[0,-10.12],[14.65,0],[0,0],[0,0],[0,0]],"o":[[0,0],[-20.06,0],[0,-20.05],[6.05,0],[6.99,-20.26],[28.53,0],[0,0.58],[8.33,4.48],[0,14.65],[0,0],[-0.08,0],[0,0],[0,0]],"v":[[101.39,103.33],[36.31,103.33],[0,67.03],[36.31,30.72],[53.08,34.82],[101.94,0],[153.6,51.67],[153.57,53.41],[167.57,76.8],[141.04,103.33],[101.94,103.33],[101.39,103.33],[101.94,103.33]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803986549,0.909803986549,0.909803986549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2102.1021021021,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"sun_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[83.897,66.065,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[105,105,100],"e":[108,108,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":45,"s":[108,108,100],"e":[105,105,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":90,"s":[105,105,100],"e":[108,108,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":136,"s":[108,108,100],"e":[105,105,100]},{"t":179}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[81.3,80.15],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.788235008717,0.188234999776,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Oval","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"sun_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[83.887,66.065,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[100,100,100],"e":[103,103,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":52,"s":[103,103,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":98,"s":[100,100,100],"e":[103,103,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":144,"s":[103,103,100],"e":[100,100,100]},{"t":179}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[95.7,94.35],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.858824014664,0.466666996479,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Oval","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"sun_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[83.892,66.065,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[100,100,100],"e":[103,103,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":60,"s":[103,103,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":106,"s":[100,100,100],"e":[103,103,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":152,"s":[103,103,100],"e":[100,100,100]},{"t":179}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[108.05,106.53],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.96078401804,0.854902029037,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Oval","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"cloud 2","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[139.132,123.47,0],"e":[141.132,123.47,0],"to":[0.33333334326744,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":45,"s":[141.132,123.47,0],"e":[139.132,123.47,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":90,"s":[139.132,123.47,0],"e":[141.132,123.47,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":135,"s":[141.132,123.47,0],"e":[139.132,123.47,0],"to":[0,0,0],"ti":[0.33333334326744,0,0]},{"t":180}],"ix":2},"a":{"a":0,"k":[84,52,0],"ix":1},"s":{"a":0,"k":[102.363,102.365,100],"ix":6}},"ao":0,"w":168,"h":104,"ip":0,"op":2102.1015625,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"sun","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[128,148,0],"ix":2},"a":{"a":0,"k":[128,128,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":256,"h":256,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"mist","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":0,"s":[149,218,0],"e":[159,218,0],"to":[1.66666662693024,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":45,"s":[159,218,0],"e":[149,218,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":90,"s":[149,218,0],"e":[159,218,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":135,"s":[159,218,0],"e":[149,218,0],"to":[0,0,0],"ti":[1.66666662693024,0,0]},{"t":180}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[130,8],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":9,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.845982015133,0.845982015133,0.845982015133,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"mist","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"mist","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":0,"s":[106,203,0],"e":[116,203,0],"to":[1.66666662693024,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":43,"s":[116,203,0],"e":[106,203,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":88,"s":[106,203,0],"e":[116,203,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":133,"s":[116,203,0],"e":[106,203,0],"to":[0,0,0],"ti":[1.66666662693024,0,0]},{"t":180}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[140,8],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":9,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.845982015133,0.845982015133,0.845982015133,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"mist","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"mist","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":0,"s":[119,188,0],"e":[129,188,0],"to":[1.66666662693024,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":47,"s":[129,188,0],"e":[119,188,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":93,"s":[119,188,0],"e":[129,188,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":138,"s":[129,188,0],"e":[119,188,0],"to":[0,0,0],"ti":[1.66666662693024,0,0]},{"t":180}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[130,8],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":9,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.845982015133,0.845982015133,0.845982015133,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"mist","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0}],"markers":[]} -------------------------------------------------------------------------------- /assets/weather_icons/4796-weather-cloudynight.json: -------------------------------------------------------------------------------- 1 | {"v":"5.1.1","fr":60,"ip":0,"op":180,"w":256,"h":256,"nm":"Moon_Cloudy","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"cloud","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":0,"s":[46.5,67.27,0],"e":[48.5,67.27,0],"to":[0.33333334326744,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":45,"s":[48.5,67.27,0],"e":[46.5,67.27,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":90,"s":[46.5,67.27,0],"e":[48.5,67.27,0],"to":[0,0,0],"ti":[7.94728620689966e-8,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":150,"s":[48.5,67.27,0],"e":[46.5,67.27,0],"to":[-7.94728620689966e-8,0,0],"ti":[0.33333340287209,0,0]},{"t":180}],"ix":2},"a":{"a":0,"k":[38.68,23,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,8.92],[-9.26,0],[-2.31,-1.17],[-10.45,0],[0,-12.7],[0.01,-0.26],[0,-4.5],[6.77,0],[0,0],[0,0],[0,0]],"o":[[0,0],[-9.26,0],[0,-8.93],[2.79,0],[3.23,-9.02],[13.17,0],[0,0.26],[3.84,1.99],[0,6.52],[0,0],[-0.04,0],[0,0],[0,0]],"v":[[46.81,46],[16.76,46],[0,29.84],[16.76,13.68],[24.5,15.5],[47.06,0],[70.91,23],[70.9,23.78],[77.36,34.19],[65.11,46],[47.06,46],[46.81,46],[47.06,46]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":6,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803986549,0.909803986549,0.909803986549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"cloud","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":0,"s":[187.49,80.05,0],"e":[190.49,80.05,0],"to":[0.5,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":40,"s":[190.49,80.05,0],"e":[187.49,80.05,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":85,"s":[187.49,80.05,0],"e":[190.49,80.05,0],"to":[0,0,0],"ti":[-0.16666667163372,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":145,"s":[190.49,80.05,0],"e":[188.49,80.05,0],"to":[0.16666667163372,0,0],"ti":[0.33333334326744,0,0]},{"t":180}],"ix":2},"a":{"a":0,"k":[45.49,27.05,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,10.5],[-10.88,0],[-2.72,-1.37],[-12.29,0],[0,-14.94],[0.01,-0.3],[0,-5.3],[7.96,0],[0,0],[0,0],[0,0]],"o":[[0,0],[-10.88,0],[0,-10.5],[3.29,0],[3.79,-10.61],[15.49,0],[0,0.31],[4.52,2.35],[0,7.67],[0,0],[-0.05,0],[0,0],[0,0]],"v":[[55.05,54.1],[19.71,54.1],[0,35.09],[19.71,16.08],[28.82,18.23],[55.35,0],[83.4,27.05],[83.38,27.96],[90.98,40.21],[76.57,54.1],[55.35,54.1],[55.05,54.1],[55.35,54.1]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803986549,0.909803986549,0.909803986549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"cloud","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":0,"s":[91.235,197.82,0],"e":[95.235,197.82,0],"to":[0.66666668653488,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":50,"s":[95.235,197.82,0],"e":[91.235,197.82,0],"to":[0,0,0],"ti":[1.33333337306976,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":95,"s":[91.235,197.82,0],"e":[87.235,197.82,0],"to":[-1.33333337306976,0,0],"ti":[1.01725262879881e-7,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":155,"s":[87.235,197.82,0],"e":[91.235,197.82,0],"to":[-1.01725262879881e-7,0,0],"ti":[-0.66666656732559,0,0]},{"t":180}],"ix":2},"a":{"a":0,"k":[60.235,35.82,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,13.9],[-14.41,0],[-3.61,-1.82],[-16.28,0],[0,-19.78],[0.01,-0.4],[0,-7.01],[10.53,0],[0,0],[0,0],[0,0]],"o":[[0,0],[-14.41,0],[0,-13.9],[4.35,0],[5.02,-14.05],[20.51,0],[0,0.4],[5.99,3.1],[0,10.16],[0,0],[-0.06,0],[0,0],[0,0]],"v":[[72.9,71.64],[26.1,71.64],[0,46.47],[26.1,21.3],[38.16,24.14],[73.29,0],[110.43,35.82],[110.41,37.03],[120.47,53.24],[101.4,71.64],[73.29,71.64],[72.9,71.64],[73.29,71.64]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803986549,0.909803986549,0.909803986549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"star","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":30,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":70,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":120,"s":[0],"e":[100]},{"t":170}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200,209,0],"ix":2},"a":{"a":0,"k":[9,9,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.31,-1.32],[-1.31,-4.31],[-4.31,1.32],[1.32,4.31]],"o":[[4.31,1.31],[1.32,-4.31],[-4.31,-1.32],[-1.31,4.31]],"v":[[0,9],[9,18],[18,9],[9,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.788235008717,0.188234999776,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"star","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":10,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":40,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":80,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":126,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":160,"s":[100],"e":[0]},{"t":180}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[29,165,0],"ix":2},"a":{"a":0,"k":[7,7,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.35,-1.02],[-1.02,-3.35],[-3.35,1.02],[1.02,3.35]],"o":[[3.35,1.02],[1.02,-3.35],[-3.35,-1.02],[-1.02,3.35]],"v":[[0,7],[7,14],[14,7],[7,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.788235008717,0.188234999776,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"star","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":5,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":35,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":65,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":100,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":130,"s":[100],"e":[0]},{"t":166}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[134.5,41.5,0],"ix":2},"a":{"a":0,"k":[7.5,7.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.59,-1.1],[-1.1,-3.59],[-3.59,1.1],[1.1,3.59]],"o":[[3.59,1.09],[1.1,-3.59],[-3.59,-1.1],[-1.1,3.59]],"v":[[0,7.5],[7.5,15],[15,7.5],[7.5,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.788235008717,0.188234999776,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"moon 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[128.4,128.2,0],"ix":2},"a":{"a":0,"k":[90.4,89.2,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-40.4,9.1],[0,-11.8],[-42.4,0],[-11.9,7.5],[46.8,0],[0,49.9]],"o":[[-4.8,10],[0,42.3],[15.1,0],[-4.8,45.3],[-50,0],[0,-43]],"v":[[70.5,0],[62.9,33.1],[139.7,109.6],[180.8,97.7],[90.6,178.4],[0,88.1]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.788235008717,0.188234999776,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":3600,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"bond","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[127,128,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[256,256],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"bond","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0}],"markers":[]} -------------------------------------------------------------------------------- /assets/weather_icons/4793-weather-snow.json: -------------------------------------------------------------------------------- 1 | {"v":"5.1.1","fr":60,"ip":0,"op":180,"w":256,"h":256,"nm":"Snow","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Oval 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,20.05],[-20.06,0],[-5.02,-2.62],[-22.64,0],[0,-28.54],[0.02,-0.58],[0,-10.12],[14.65,0],[0,0],[0,0],[0,0]],"o":[[0,0],[-20.06,0],[0,-20.05],[6.05,0],[6.99,-20.26],[28.53,0],[0,0.58],[8.33,4.48],[0,14.65],[0,0],[-0.08,0],[0,0],[0,0]],"v":[[101.39,103.33],[36.31,103.33],[0,67.03],[36.31,30.72],[53.08,34.82],[101.94,0],[153.6,51.67],[153.57,53.41],[167.57,76.8],[141.04,103.33],[101.94,103.33],[101.39,103.33],[101.94,103.33]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803986549,0.909803986549,0.909803986549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2102.1021021021,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"snow_5","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":37,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":46,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":100,"s":[100],"e":[0]},{"t":111}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":37,"s":[197.9,187.828,0],"e":[189.285,215.527,0],"to":[-5.7427978515625,7.61869812011719,0],"ti":[0,-10.8471984863281,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":70.867,"s":[189.285,215.527,0],"e":[205.95,260.434,0],"to":[0,16.2706909179688,0],"ti":[2.76429748535156,-14.3727111816406,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":126.809,"s":[205.95,260.434,0],"e":[192.203,283.172,0],"to":[-1.84280395507812,9.58187866210938,0],"ti":[7.32199859619141,-5.57669067382812,0]},{"t":158}],"ix":2},"a":{"a":0,"k":[10,11.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":1,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.56,1],[0,0],[0.98,-0.58],[0,0],[0.16,0.09],[0,0.19],[0,0],[1.13,0],[0,0],[0,-1.15],[0,0],[0.16,-0.1],[0.15,0.09],[0,0],[0.57,-0.98],[0,0],[-0.98,-0.57],[0,0],[0,-0.19],[0.16,-0.09],[0,0],[-0.56,-1],[0,0],[-0.98,0.58],[0,0],[-0.16,-0.09],[0,-0.19],[0,0],[-1.13,0],[0,0],[0,1.15],[0,0],[-0.16,0.1],[-0.15,-0.09],[0,0],[-0.57,0.98],[0,0],[0.98,0.57],[0,0],[0,0.19],[-0.16,0.09]],"o":[[0.98,-0.57],[0,0],[-0.57,-1],[0,0],[-0.16,0.09],[-0.16,-0.1],[0,0],[0,-1.15],[0,0],[-1.13,0],[0,0],[0,0.19],[-0.16,0.09],[0,0],[-0.97,-0.56],[0,0],[-0.56,1],[0,0],[0.16,0.09],[0,0.19],[0,0],[-0.98,0.57],[0,0],[0.57,1],[0,0],[0.16,-0.09],[0.16,0.1],[0,0],[0,1.15],[0,0],[1.13,0],[0,0],[0,-0.19],[0.16,-0.09],[0,0],[0.97,0.56],[0,0],[0.56,-1],[0,0],[-0.16,-0.09],[0,-0.19],[0,0]],"v":[[18.98,8.6],[19.73,5.75],[19.73,5.75],[16.93,4.99],[12.8,7.43],[12.29,7.43],[12.03,6.97],[12.03,2.09],[9.99,0],[9.99,0],[7.94,2.09],[7.94,6.97],[7.69,7.43],[7.18,7.43],[3.04,4.99],[0.27,5.75],[0.27,5.75],[1.02,8.6],[5.16,11.05],[5.42,11.5],[5.16,11.95],[1.02,14.4],[0.27,17.25],[0.27,17.25],[3.07,18.01],[7.2,15.57],[7.71,15.57],[7.97,16.03],[7.97,20.91],[10.01,23],[10.01,23],[12.06,20.91],[12.06,16.03],[12.31,15.57],[12.82,15.57],[16.96,18.01],[19.73,17.25],[19.73,17.25],[18.98,14.4],[14.84,11.95],[14.58,11.5],[14.84,11.05]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678430974483,0.909803986549,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":37,"op":173,"st":-7,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"snow_4","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":10,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":45,"s":[100],"e":[0]},{"t":52}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[158.4,203.828,0],"e":[149.785,231.527,0],"to":[-5.7427978515625,7.61869812011719,0],"ti":[0,-10.8471984863281,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":33.586,"s":[149.785,231.527,0],"e":[166.45,276.434,0],"to":[0,16.2706909179688,0],"ti":[2.76429748535156,-14.3727111816406,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":89.066,"s":[166.45,276.434,0],"e":[152.703,299.172,0],"to":[-1.84280395507812,9.58187866210938,0],"ti":[7.32199859619141,-5.57669067382812,0]},{"t":120}],"ix":2},"a":{"a":0,"k":[6,6.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":1,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.33,0.56],[0,0],[0.59,-0.33],[0,0],[0.1,0.05],[0,0.11],[0,0],[0.68,0],[0,0],[0,-0.65],[0,0],[0.1,-0.05],[0.09,0.05],[0,0],[0.34,-0.56],[0,0],[-0.58,-0.32],[0,0],[0,-0.11],[0.1,-0.06],[0,0],[-0.33,-0.56],[0,0],[-0.59,0.33],[0,0],[-0.1,-0.05],[0,-0.11],[0,0],[-0.68,0],[0,0],[0,0.65],[0,0],[-0.1,0.05],[-0.09,-0.05],[0,0],[-0.34,0.56],[0,0],[0.58,0.32],[0,0],[0,0.11],[-0.1,0.06]],"o":[[0.58,-0.32],[0,0],[-0.34,-0.56],[0,0],[-0.1,0.05],[-0.09,-0.05],[0,0],[0,-0.65],[0,0],[-0.68,0],[0,0],[0,0.11],[-0.09,0.05],[0,0],[-0.58,-0.32],[0,0],[-0.33,0.56],[0,0],[0.1,0.06],[0,0.11],[0,0],[-0.58,0.32],[0,0],[0.34,0.56],[0,0],[0.1,-0.05],[0.09,0.05],[0,0],[0,0.65],[0,0],[0.68,0],[0,0],[0,-0.11],[0.09,-0.05],[0,0],[0.58,0.32],[0,0],[0.33,-0.56],[0,0],[-0.1,-0.06],[0,-0.11],[0,0]],"v":[[11.39,4.86],[11.84,3.25],[11.84,3.25],[10.16,2.82],[7.68,4.2],[7.37,4.2],[7.22,3.94],[7.22,1.18],[5.99,0],[5.99,0],[4.77,1.18],[4.77,3.94],[4.61,4.2],[4.31,4.2],[1.82,2.82],[0.16,3.25],[0.16,3.25],[0.61,4.86],[3.09,6.24],[3.25,6.5],[3.09,6.76],[0.61,8.14],[0.16,9.75],[0.16,9.75],[1.84,10.18],[4.32,8.8],[4.63,8.8],[4.78,9.06],[4.78,11.82],[6.01,13],[6.01,13],[7.23,11.82],[7.23,9.06],[7.39,8.8],[7.69,8.8],[10.18,10.18],[11.84,9.75],[11.84,9.75],[11.39,8.14],[8.91,6.76],[8.75,6.5],[8.91,6.24]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678430974483,0.909803986549,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"snow_3","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":60,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":68,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":134,"s":[100],"e":[0]},{"t":142}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":60,"s":[141.9,181.828,0],"e":[133.285,209.527,0],"to":[-5.7427978515625,7.61869812011719,0],"ti":[0,-10.8471984863281,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":93.586,"s":[133.285,209.527,0],"e":[149.95,254.434,0],"to":[0,16.2706909179688,0],"ti":[2.76429748535156,-14.3727111816406,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":149.066,"s":[149.95,254.434,0],"e":[136.203,277.172,0],"to":[-1.84280395507812,9.58187866210938,0],"ti":[7.32199859619141,-5.57669067382812,0]},{"t":180}],"ix":2},"a":{"a":0,"k":[7,7.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":1,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.39,0.65],[0,0],[0.69,-0.37],[0,0],[0.11,0.07],[0,0.12],[0,0],[0.79,0],[0,0],[0,-0.75],[0,0],[0.11,-0.06],[0.11,0.07],[0,0],[0.4,-0.64],[0,0],[-0.68,-0.38],[0,0],[0,-0.12],[0.11,-0.06],[0,0],[-0.39,-0.65],[0,0],[-0.69,0.37],[0,0],[-0.11,-0.07],[0,-0.12],[0,0],[-0.79,0],[0,0],[0,0.75],[0,0],[-0.11,0.06],[-0.11,-0.07],[0,0],[-0.4,0.64],[0,0],[0.68,0.38],[0,0],[0,0.12],[-0.11,0.06]],"o":[[0.68,-0.38],[0,0],[-0.4,-0.65],[0,0],[-0.11,0.07],[-0.11,-0.06],[0,0],[0,-0.75],[0,0],[-0.79,0],[0,0],[0,0.12],[-0.11,0.07],[0,0],[-0.68,-0.36],[0,0],[-0.39,0.65],[0,0],[0.11,0.06],[0,0.12],[0,0],[-0.68,0.38],[0,0],[0.4,0.65],[0,0],[0.11,-0.07],[0.11,0.06],[0,0],[0,0.75],[0,0],[0.79,0],[0,0],[0,-0.12],[0.11,-0.07],[0,0],[0.68,0.36],[0,0],[0.39,-0.65],[0,0],[-0.11,-0.06],[0,-0.12],[0,0]],"v":[[13.29,5.61],[13.81,3.75],[13.81,3.75],[11.85,3.25],[8.96,4.84],[8.6,4.84],[8.42,4.55],[8.42,1.36],[6.99,0],[6.99,0],[5.56,1.36],[5.56,4.55],[5.38,4.84],[5.02,4.84],[2.13,3.25],[0.19,3.75],[0.19,3.75],[0.71,5.61],[3.61,7.2],[3.79,7.5],[3.61,7.8],[0.71,9.39],[0.19,11.25],[0.19,11.25],[2.15,11.75],[5.04,10.16],[5.4,10.16],[5.58,10.45],[5.58,13.64],[7.01,15],[7.01,15],[8.44,13.64],[8.44,10.45],[8.62,10.16],[8.98,10.16],[11.87,11.75],[13.81,11.25],[13.81,11.25],[13.29,9.39],[10.39,7.8],[10.21,7.5],[10.39,7.2]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678430974483,0.909803986549,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":60,"op":240,"st":60,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"snow_2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":16,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":28,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":74,"s":[100],"e":[0]},{"t":90}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":16,"s":[95.2,179.078,0],"e":[85.5,210.922,0],"to":[-5.74280548095703,7.61869812011719,0],"ti":[-1,-14,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":58.539,"s":[85.5,210.922,0],"e":[103.5,268.422,0],"to":[1.69349670410156,23.7093048095703,0],"ti":[8,-18.5,0]},{"t":136}],"ix":2},"a":{"a":0,"k":[13,14.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":1,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.74,1.26],[0,0],[1.27,-0.73],[0,0],[0.21,0.11],[0,0.24],[0,0],[1.47,0],[0,0],[0,-1.46],[0,0],[0.21,-0.12],[0.2,0.11],[0,0],[0.73,-1.24],[0,0],[-1.27,-0.73],[0,0],[0,-0.24],[0.21,-0.11],[0,0],[-0.74,-1.26],[0,0],[-1.27,0.73],[0,0],[-0.21,-0.11],[0,-0.24],[0,0],[-1.47,0],[0,0],[0,1.46],[0,0],[-0.21,0.12],[-0.2,-0.11],[0,0],[-0.73,1.24],[0,0],[1.27,0.73],[0,0],[0,0.24],[-0.21,0.11]],"o":[[1.27,-0.73],[0,0],[-0.73,-1.26],[0,0],[-0.21,0.11],[-0.2,-0.12],[0,0],[0,-1.46],[0,0],[-1.46,0],[0,0],[0,0.24],[-0.2,0.11],[0,0],[-1.26,-0.71],[0,0],[-0.74,1.26],[0,0],[0.21,0.11],[0,0.24],[0,0],[-1.27,0.73],[0,0],[0.73,1.26],[0,0],[0.21,-0.11],[0.2,0.12],[0,0],[0,1.46],[0,0],[1.46,0],[0,0],[0,-0.24],[0.2,-0.11],[0,0],[1.26,0.71],[0,0],[0.74,-1.26],[0,0],[-0.21,-0.11],[0,-0.24],[0,0]],"v":[[24.67,10.85],[25.64,7.25],[25.64,7.25],[22.02,6.29],[16.64,9.37],[15.97,9.37],[15.64,8.79],[15.64,2.64],[12.98,0],[12.98,0],[10.33,2.64],[10.33,8.79],[9.99,9.37],[9.33,9.37],[3.95,6.29],[0.36,7.25],[0.36,7.25],[1.33,10.85],[6.7,13.93],[7.04,14.5],[6.7,15.07],[1.33,18.15],[0.36,21.75],[0.36,21.75],[3.98,22.71],[9.36,19.63],[10.03,19.63],[10.36,20.21],[10.36,26.36],[13.02,29],[13.02,29],[15.67,26.36],[15.67,20.21],[16.01,19.63],[16.67,19.63],[22.05,22.71],[25.64,21.75],[25.64,21.75],[24.67,18.15],[19.3,15.07],[18.96,14.5],[19.3,13.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678430974483,0.909803986549,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":16,"op":196,"st":16,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"snow_1","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":0,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":10,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":60,"s":[100],"e":[0]},{"t":80}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[54.4,168.828,0],"e":[45.785,196.527,0],"to":[-5.74281311035156,7.61869812011719,0],"ti":[0,-10.8471984863281,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":33.586,"s":[45.785,196.527,0],"e":[62.45,241.434,0],"to":[0,16.2707061767578,0],"ti":[2.76429748535156,-14.3727111816406,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":89.066,"s":[62.45,241.434,0],"e":[48.703,264.172,0],"to":[-1.84280395507812,9.58189392089844,0],"ti":[7.32199096679688,-5.57670593261719,0]},{"t":120}],"ix":2},"a":{"a":0,"k":[10,11,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":1,"shapes":[{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.67843095368,0.909803981407,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.56,0.96],[0,0],[0.98,-0.55],[0,0],[0.16,0.09],[0,0.18],[0,0],[1.13,0],[0,0],[0,-1.1],[0,0],[0.16,-0.09],[0.15,0.08],[0,0],[0.57,-0.94],[0,0],[-0.98,-0.55],[0,0],[0,-0.18],[0.16,-0.09],[0,0],[-0.56,-0.96],[0,0],[-0.98,0.55],[0,-0.01],[-0.16,-0.09],[0,-0.18],[0,0],[-1.13,0],[0,0],[0,1.1],[0,0],[-0.16,0.09],[-0.15,-0.09],[0,0],[-0.57,0.94],[0,0],[0.98,0.55],[0,0],[0,0.18],[-0.16,0.09]],"o":[[0.98,-0.55],[0,0],[-0.57,-0.95],[0,0],[-0.16,0.08],[-0.16,-0.09],[0,0],[0,-1.1],[0,0],[-1.13,0],[0,0],[0,0.18],[-0.16,0.09],[0,0],[-0.97,-0.53],[0,0],[-0.56,0.96],[0,0],[0.16,0.08],[0,0.18],[0,0],[-0.98,0.55],[0,0],[0.57,0.95],[0,0],[0.16,-0.09],[0.16,0.09],[0,0],[0,1.1],[0,0],[1.13,0],[0,0],[0,-0.18],[0.16,-0.09],[0,-0.01],[0.97,0.53],[0,0],[0.56,-0.96],[0,0],[-0.16,-0.08],[0,-0.18],[0,0]],"v":[[18.98,8.23],[19.73,5.5],[19.73,5.5],[16.93,4.77],[12.8,7.11],[12.29,7.1],[12.03,6.67],[12.03,2],[9.99,0],[9.99,0],[7.94,2],[7.94,6.67],[7.69,7.1],[7.18,7.11],[3.04,4.77],[0.27,5.5],[0.27,5.5],[1.02,8.23],[5.16,10.57],[5.42,11],[5.16,11.44],[1.02,13.77],[0.27,16.5],[0.27,16.5],[3.07,17.23],[7.2,14.9],[7.71,14.9],[7.97,15.33],[7.97,20],[10.01,22],[10.01,22],[12.06,20],[12.06,15.33],[12.31,14.9],[12.82,14.9],[16.96,17.23],[19.73,16.5],[19.73,16.5],[18.98,13.77],[14.84,11.43],[14.58,11],[14.84,10.56]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678430974483,0.909803986549,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":0,"nm":"cloud","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[126.132,100.47,0],"e":[130.132,100.47,0],"to":[0.66666156053543,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":45,"s":[130.132,100.47,0],"e":[126.132,100.47,0],"to":[0,0,0],"ti":[0.02194487303495,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":90,"s":[126.132,100.47,0],"e":[130,100.47,0],"to":[-0.02194487303495,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":135,"s":[130,100.47,0],"e":[126.132,100.47,0],"to":[0,0,0],"ti":[0.6447166800499,0,0]},{"t":180}],"ix":2},"a":{"a":0,"k":[84,52,0],"ix":1},"s":{"a":0,"k":[119.363,119.365,100],"ix":6}},"ao":0,"w":168,"h":104,"ip":0,"op":2102.1015625,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"bond","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[128,130,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[256,256],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"bond","np":1,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0}],"markers":[]} -------------------------------------------------------------------------------- /lib/screens/homePage.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/cupertino.dart'; 2 | import 'package:flutter/material.dart'; 3 | import 'package:flutter/widgets.dart'; 4 | import 'package:lottie/lottie.dart'; 5 | import 'package:weatherapptest/backend/weather.dart'; 6 | import 'package:weatherapptest/backend/getBackWall.dart'; 7 | import 'package:weatherapptest/screens/forecastPage.dart'; 8 | import 'package:flutter_custom_clippers/flutter_custom_clippers.dart'; 9 | import 'package:flutter/services.dart'; 10 | import 'package:weatherapptest/screens/about.dart'; 11 | 12 | class homePage extends StatefulWidget { 13 | homePage({this.weatherData, this.forecastData}); 14 | final weatherData; 15 | final forecastData; 16 | 17 | @override 18 | _homePageState createState() => _homePageState(); 19 | } 20 | 21 | class _homePageState extends State { 22 | var temperature; 23 | var weatherDescription; 24 | var humidity; 25 | var minTemp; 26 | var maxTemp; 27 | var windSpeed; 28 | var pressure; 29 | var locationName; 30 | var condition; 31 | var iconString; 32 | var bgWallString; 33 | var sunRise; 34 | var sunSet; 35 | var visibility; 36 | var forecastDataToPass; 37 | @override 38 | void initState() { 39 | // TODO: implement initState 40 | super.initState(); 41 | temp(widget.weatherData, widget.forecastData); 42 | } 43 | 44 | getWeatherDetails obj = getWeatherDetails(); 45 | bgPicker x = bgPicker(); 46 | 47 | void temp(data1, data2) async { 48 | var getWeatherData = data1; 49 | var forecastData = data2; 50 | //await obj.getWeather(); 51 | var y = x.getBgWall(); 52 | 53 | setState(() { 54 | forecastDataToPass = forecastData; 55 | weatherDescription = getWeatherData[0]; 56 | temperature = getWeatherData[1]; 57 | humidity = getWeatherData[2]; 58 | minTemp = getWeatherData[3]; 59 | maxTemp = getWeatherData[4]; 60 | windSpeed = getWeatherData[5]; 61 | pressure = getWeatherData[6]; 62 | locationName = getWeatherData[7]; 63 | condition = getWeatherData[8]; 64 | sunRise = getWeatherData[9]; 65 | sunSet = getWeatherData[10]; 66 | visibility = getWeatherData[11]; 67 | var x = obj.getWeatherIcon(condition); 68 | iconString = "assets/weather_icons/$x"; 69 | bgWallString = "assets/background/$y"; 70 | }); 71 | print(forecastDataToPass); 72 | } 73 | 74 | var jsonPath = 'assets/weather_icons/'; 75 | 76 | @override 77 | Widget build(BuildContext context) { 78 | SystemChrome.setPreferredOrientations([ 79 | DeviceOrientation.portraitUp, 80 | DeviceOrientation.portraitDown, 81 | ]); 82 | return WillPopScope( 83 | onWillPop: () { 84 | return SystemNavigator.pop(); 85 | }, 86 | child: Scaffold( 87 | drawer: Theme( 88 | data: Theme.of(context).copyWith( 89 | canvasColor: Colors.transparent.withOpacity(0.6), 90 | ), 91 | child: customDrawer(context, forecastDataToPass), 92 | ), 93 | body: Stack( 94 | children: [ 95 | Container( 96 | decoration: BoxDecoration( 97 | image: DecorationImage( 98 | image: AssetImage('$bgWallString'), fit: BoxFit.cover)), 99 | ), 100 | Positioned( 101 | child: SafeArea( 102 | top: false, 103 | child: AppBar( 104 | //automaticallyImplyLeading: false, 105 | title: Align( 106 | alignment: Alignment.center, 107 | child: Padding( 108 | padding: const EdgeInsets.only(right: 60), 109 | child: Text( 110 | "Clime", 111 | style: TextStyle( 112 | fontSize: 25, 113 | fontFamily: "Pacifico", 114 | ), 115 | ), 116 | ), 117 | ), 118 | backgroundColor: Colors.transparent, 119 | ), 120 | ), 121 | ), 122 | Container( 123 | alignment: Alignment.center, 124 | child: Column( 125 | crossAxisAlignment: CrossAxisAlignment.center, 126 | children: [ 127 | Center( 128 | //error here 129 | child: Lottie.asset('$iconString', 130 | height: 260, 131 | width: 200, 132 | alignment: Alignment.bottomCenter), 133 | ), 134 | Container( 135 | child: Text( 136 | "$temperature°C", 137 | style: TextStyle( 138 | fontSize: 35, 139 | color: Colors.white.withOpacity(0.85), 140 | fontFamily: "Montserrat", 141 | fontWeight: FontWeight.w800), 142 | ), 143 | ), 144 | Container( 145 | padding: EdgeInsets.only(top: 10), 146 | child: Text( 147 | "$weatherDescription", 148 | style: TextStyle( 149 | fontSize: 25, 150 | color: Colors.white.withOpacity(0.85), 151 | fontFamily: "Montserrat", 152 | fontWeight: FontWeight.w400, 153 | ), 154 | ), 155 | ), 156 | Container( 157 | padding: EdgeInsets.only(top: 10), 158 | child: Text( 159 | "$locationName", 160 | style: TextStyle( 161 | color: Colors.white.withOpacity(0.85), 162 | fontSize: 20, 163 | fontWeight: FontWeight.w600, 164 | fontFamily: "Montserrat", 165 | ), 166 | ), 167 | ), 168 | SizedBox( 169 | height: 50, 170 | ), 171 | Expanded( 172 | child: Container( 173 | //MediaQuery.of(context).size.height, 174 | width: MediaQuery.of(context).size.width, 175 | decoration: BoxDecoration( 176 | color: Colors.transparent.withOpacity(0.6), 177 | borderRadius: BorderRadius.only( 178 | topLeft: Radius.circular(40.0), 179 | topRight: Radius.circular(40.0))), 180 | child: GridView.count( 181 | physics: ScrollPhysics(), 182 | primary: false, 183 | padding: EdgeInsets.all(10), 184 | crossAxisCount: 2, 185 | mainAxisSpacing: 10, 186 | crossAxisSpacing: 10, 187 | children: [ 188 | Container( 189 | padding: EdgeInsets.all(8), 190 | child: Column( 191 | children: [ 192 | Padding( 193 | padding: const EdgeInsets.all(8.0), 194 | child: Text( 195 | "Sunrise Today:", 196 | style: TextStyle( 197 | color: Colors.white, 198 | fontSize: 15, 199 | fontFamily: "Montserrat"), 200 | ), 201 | ), 202 | Padding( 203 | padding: const EdgeInsets.all(8.0), 204 | child: Text( 205 | "$sunRise", 206 | style: TextStyle( 207 | fontSize: 20, 208 | color: Colors.white, 209 | fontFamily: "Montserrat"), 210 | ), 211 | ) 212 | ], 213 | ), 214 | ), 215 | Container( 216 | padding: EdgeInsets.all(8), 217 | child: Column( 218 | children: [ 219 | Padding( 220 | padding: const EdgeInsets.all(8.0), 221 | child: Text( 222 | "Sunset Today:", 223 | style: TextStyle( 224 | color: Colors.white, 225 | fontSize: 15, 226 | fontFamily: "Montserrat"), 227 | ), 228 | ), 229 | Padding( 230 | padding: EdgeInsets.all(8.0), 231 | child: Text( 232 | "$sunSet", 233 | style: TextStyle( 234 | color: Colors.white, 235 | fontSize: 20, 236 | fontFamily: "Montserrat"), 237 | ), 238 | ) 239 | ], 240 | ), 241 | ), 242 | Container( 243 | padding: EdgeInsets.all(8), 244 | child: Column( 245 | children: [ 246 | Padding( 247 | padding: EdgeInsets.all(8), 248 | child: Text( 249 | "Windspeed:", 250 | style: TextStyle( 251 | color: Colors.white, 252 | fontSize: 15, 253 | fontFamily: "Montserrat"), 254 | ), 255 | ), 256 | Padding( 257 | padding: EdgeInsets.all(8.0), 258 | child: Text( 259 | "$windSpeed m/sec", 260 | style: TextStyle( 261 | color: Colors.white, 262 | fontSize: 20, 263 | fontFamily: "Montserrat"), 264 | ), 265 | ) 266 | ], 267 | )), 268 | Container( 269 | padding: EdgeInsets.all(8), 270 | child: Column( 271 | children: [ 272 | Padding( 273 | padding: const EdgeInsets.all(8.0), 274 | child: Text( 275 | "Humidity:", 276 | style: TextStyle( 277 | color: Colors.white, 278 | fontSize: 15, 279 | fontFamily: "Montserrat"), 280 | ), 281 | ), 282 | Padding( 283 | padding: EdgeInsets.all(8.0), 284 | child: Text( 285 | "$humidity%", 286 | style: TextStyle( 287 | color: Colors.white, 288 | fontSize: 20, 289 | fontFamily: "Montserrat"), 290 | ), 291 | ) 292 | ], 293 | ), 294 | ), 295 | Container( 296 | padding: EdgeInsets.all(8), 297 | child: Column( 298 | children: [ 299 | Padding( 300 | padding: const EdgeInsets.all(8.0), 301 | child: Text( 302 | "Pressure:", 303 | style: TextStyle( 304 | color: Colors.white, 305 | fontSize: 15, 306 | fontFamily: "Montserrat"), 307 | ), 308 | ), 309 | Padding( 310 | padding: const EdgeInsets.all(8.0), 311 | child: Text( 312 | "$pressure hPa", 313 | style: TextStyle( 314 | color: Colors.white, 315 | fontSize: 20, 316 | fontFamily: "Montserrat"), 317 | ), 318 | ) 319 | ], 320 | ), 321 | ), 322 | Container( 323 | padding: EdgeInsets.all(8), 324 | child: Column( 325 | children: [ 326 | Padding( 327 | padding: const EdgeInsets.all(8.0), 328 | child: Text( 329 | "Visibility:", 330 | style: TextStyle( 331 | color: Colors.white, 332 | fontSize: 15, 333 | fontFamily: "Montserrat"), 334 | ), 335 | ), 336 | Padding( 337 | padding: const EdgeInsets.all(8.0), 338 | child: Text( 339 | "$visibility meter", 340 | style: TextStyle( 341 | color: Colors.white, 342 | fontSize: 20, 343 | fontFamily: "Montserrat"), 344 | ), 345 | ) 346 | ], 347 | ), 348 | ), 349 | ], 350 | ), 351 | ), 352 | ), 353 | ], 354 | )) 355 | ], 356 | )), 357 | ); 358 | } 359 | } 360 | 361 | customDrawer(BuildContext context, data) { 362 | return ClipPath( 363 | clipper: OvalRightBorderClipper(), 364 | child: Drawer( 365 | child: Container( 366 | padding: EdgeInsets.only(left: 16, right: 40), 367 | child: SafeArea( 368 | child: SingleChildScrollView( 369 | child: Column( 370 | children: [ 371 | Container( 372 | height: 90, 373 | alignment: Alignment.center, 374 | decoration: BoxDecoration( 375 | shape: BoxShape.circle, 376 | ), 377 | child: CircleAvatar( 378 | backgroundColor: Colors.transparent, 379 | radius: 40, 380 | backgroundImage: AssetImage( 381 | "assets/circularAvatar/ic_launcher.png", 382 | ), 383 | ), 384 | ), 385 | SizedBox( 386 | height: 10.0, 387 | ), 388 | Text( 389 | "Clime!", 390 | style: TextStyle( 391 | color: Colors.white, 392 | fontSize: 25.0, 393 | fontFamily: "Pacifico"), 394 | ), 395 | SizedBox( 396 | height: 35.0, 397 | ), 398 | SizedBox( 399 | height: 20, 400 | ), 401 | SizedBox( 402 | height: 20, 403 | ), 404 | GestureDetector( 405 | onTap: () { 406 | Navigator.push( 407 | context, 408 | MaterialPageRoute( 409 | builder: (context) => forecastPage( 410 | forecast5data: data, 411 | ))); 412 | }, 413 | child: buildRowContents( 414 | "Forecast", 415 | )), 416 | SizedBox( 417 | height: 20, 418 | ), 419 | GestureDetector( 420 | onTap: () { 421 | Navigator.push(context, 422 | MaterialPageRoute(builder: (context) => aboutPage())); 423 | }, 424 | child: buildRowContents( 425 | "About", 426 | )), 427 | ], 428 | ), 429 | ), 430 | ), 431 | ), 432 | ), 433 | ); 434 | } 435 | 436 | Divider divider() { 437 | return Divider( 438 | color: Colors.black, 439 | ); 440 | } 441 | 442 | Widget buildRowContents(String title) { 443 | final TextStyle style = 444 | TextStyle(color: Colors.white, fontSize: 20.0, fontFamily: "Montserrat"); 445 | return Container( 446 | padding: EdgeInsets.symmetric(vertical: 8.0), 447 | child: Row( 448 | children: [ 449 | SizedBox( 450 | width: 10, 451 | ), 452 | Text( 453 | title, 454 | style: style, 455 | ) 456 | ], 457 | ), 458 | ); 459 | } 460 | -------------------------------------------------------------------------------- /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 | 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 11 | 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 12 | 3B80C3941E831B6300D905FE /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; }; 13 | 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 14 | 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; 15 | 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; }; 16 | 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 17 | 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 18 | 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 19 | 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; 20 | /* End PBXBuildFile section */ 21 | 22 | /* Begin PBXCopyFilesBuildPhase section */ 23 | 9705A1C41CF9048500538489 /* Embed Frameworks */ = { 24 | isa = PBXCopyFilesBuildPhase; 25 | buildActionMask = 2147483647; 26 | dstPath = ""; 27 | dstSubfolderSpec = 10; 28 | files = ( 29 | 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */, 30 | 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */, 31 | ); 32 | name = "Embed Frameworks"; 33 | runOnlyForDeploymentPostprocessing = 0; 34 | }; 35 | /* End PBXCopyFilesBuildPhase section */ 36 | 37 | /* Begin PBXFileReference section */ 38 | 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 39 | 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; 40 | 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; 41 | 3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = ""; }; 42 | 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 43 | 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 44 | 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; 45 | 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 46 | 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 47 | 9740EEBA1CF902C7004384FC /* Flutter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Flutter.framework; path = Flutter/Flutter.framework; sourceTree = ""; }; 48 | 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; 49 | 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 50 | 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 51 | 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 52 | 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 53 | /* End PBXFileReference section */ 54 | 55 | /* Begin PBXFrameworksBuildPhase section */ 56 | 97C146EB1CF9000F007C117D /* Frameworks */ = { 57 | isa = PBXFrameworksBuildPhase; 58 | buildActionMask = 2147483647; 59 | files = ( 60 | 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */, 61 | 3B80C3941E831B6300D905FE /* App.framework in Frameworks */, 62 | ); 63 | runOnlyForDeploymentPostprocessing = 0; 64 | }; 65 | /* End PBXFrameworksBuildPhase section */ 66 | 67 | /* Begin PBXGroup section */ 68 | 9740EEB11CF90186004384FC /* Flutter */ = { 69 | isa = PBXGroup; 70 | children = ( 71 | 3B80C3931E831B6300D905FE /* App.framework */, 72 | 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, 73 | 9740EEBA1CF902C7004384FC /* Flutter.framework */, 74 | 9740EEB21CF90195004384FC /* Debug.xcconfig */, 75 | 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, 76 | 9740EEB31CF90195004384FC /* Generated.xcconfig */, 77 | ); 78 | name = Flutter; 79 | sourceTree = ""; 80 | }; 81 | 97C146E51CF9000F007C117D = { 82 | isa = PBXGroup; 83 | children = ( 84 | 9740EEB11CF90186004384FC /* Flutter */, 85 | 97C146F01CF9000F007C117D /* Runner */, 86 | 97C146EF1CF9000F007C117D /* Products */, 87 | ); 88 | sourceTree = ""; 89 | }; 90 | 97C146EF1CF9000F007C117D /* Products */ = { 91 | isa = PBXGroup; 92 | children = ( 93 | 97C146EE1CF9000F007C117D /* Runner.app */, 94 | ); 95 | name = Products; 96 | sourceTree = ""; 97 | }; 98 | 97C146F01CF9000F007C117D /* Runner */ = { 99 | isa = PBXGroup; 100 | children = ( 101 | 97C146FA1CF9000F007C117D /* Main.storyboard */, 102 | 97C146FD1CF9000F007C117D /* Assets.xcassets */, 103 | 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, 104 | 97C147021CF9000F007C117D /* Info.plist */, 105 | 97C146F11CF9000F007C117D /* Supporting Files */, 106 | 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, 107 | 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, 108 | 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, 109 | 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, 110 | ); 111 | path = Runner; 112 | sourceTree = ""; 113 | }; 114 | 97C146F11CF9000F007C117D /* Supporting Files */ = { 115 | isa = PBXGroup; 116 | children = ( 117 | ); 118 | name = "Supporting Files"; 119 | sourceTree = ""; 120 | }; 121 | /* End PBXGroup section */ 122 | 123 | /* Begin PBXNativeTarget section */ 124 | 97C146ED1CF9000F007C117D /* Runner */ = { 125 | isa = PBXNativeTarget; 126 | buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; 127 | buildPhases = ( 128 | 9740EEB61CF901F6004384FC /* Run Script */, 129 | 97C146EA1CF9000F007C117D /* Sources */, 130 | 97C146EB1CF9000F007C117D /* Frameworks */, 131 | 97C146EC1CF9000F007C117D /* Resources */, 132 | 9705A1C41CF9048500538489 /* Embed Frameworks */, 133 | 3B06AD1E1E4923F5004D2608 /* Thin Binary */, 134 | ); 135 | buildRules = ( 136 | ); 137 | dependencies = ( 138 | ); 139 | name = Runner; 140 | productName = Runner; 141 | productReference = 97C146EE1CF9000F007C117D /* Runner.app */; 142 | productType = "com.apple.product-type.application"; 143 | }; 144 | /* End PBXNativeTarget section */ 145 | 146 | /* Begin PBXProject section */ 147 | 97C146E61CF9000F007C117D /* Project object */ = { 148 | isa = PBXProject; 149 | attributes = { 150 | LastUpgradeCheck = 1020; 151 | ORGANIZATIONNAME = "The Chromium Authors"; 152 | TargetAttributes = { 153 | 97C146ED1CF9000F007C117D = { 154 | CreatedOnToolsVersion = 7.3.1; 155 | LastSwiftMigration = 1100; 156 | }; 157 | }; 158 | }; 159 | buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; 160 | compatibilityVersion = "Xcode 3.2"; 161 | developmentRegion = en; 162 | hasScannedForEncodings = 0; 163 | knownRegions = ( 164 | en, 165 | Base, 166 | ); 167 | mainGroup = 97C146E51CF9000F007C117D; 168 | productRefGroup = 97C146EF1CF9000F007C117D /* Products */; 169 | projectDirPath = ""; 170 | projectRoot = ""; 171 | targets = ( 172 | 97C146ED1CF9000F007C117D /* Runner */, 173 | ); 174 | }; 175 | /* End PBXProject section */ 176 | 177 | /* Begin PBXResourcesBuildPhase section */ 178 | 97C146EC1CF9000F007C117D /* Resources */ = { 179 | isa = PBXResourcesBuildPhase; 180 | buildActionMask = 2147483647; 181 | files = ( 182 | 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, 183 | 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, 184 | 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, 185 | 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, 186 | ); 187 | runOnlyForDeploymentPostprocessing = 0; 188 | }; 189 | /* End PBXResourcesBuildPhase section */ 190 | 191 | /* Begin PBXShellScriptBuildPhase section */ 192 | 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { 193 | isa = PBXShellScriptBuildPhase; 194 | buildActionMask = 2147483647; 195 | files = ( 196 | ); 197 | inputPaths = ( 198 | ); 199 | name = "Thin Binary"; 200 | outputPaths = ( 201 | ); 202 | runOnlyForDeploymentPostprocessing = 0; 203 | shellPath = /bin/sh; 204 | shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" thin"; 205 | }; 206 | 9740EEB61CF901F6004384FC /* Run Script */ = { 207 | isa = PBXShellScriptBuildPhase; 208 | buildActionMask = 2147483647; 209 | files = ( 210 | ); 211 | inputPaths = ( 212 | ); 213 | name = "Run Script"; 214 | outputPaths = ( 215 | ); 216 | runOnlyForDeploymentPostprocessing = 0; 217 | shellPath = /bin/sh; 218 | shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; 219 | }; 220 | /* End PBXShellScriptBuildPhase section */ 221 | 222 | /* Begin PBXSourcesBuildPhase section */ 223 | 97C146EA1CF9000F007C117D /* Sources */ = { 224 | isa = PBXSourcesBuildPhase; 225 | buildActionMask = 2147483647; 226 | files = ( 227 | 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, 228 | 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, 229 | ); 230 | runOnlyForDeploymentPostprocessing = 0; 231 | }; 232 | /* End PBXSourcesBuildPhase section */ 233 | 234 | /* Begin PBXVariantGroup section */ 235 | 97C146FA1CF9000F007C117D /* Main.storyboard */ = { 236 | isa = PBXVariantGroup; 237 | children = ( 238 | 97C146FB1CF9000F007C117D /* Base */, 239 | ); 240 | name = Main.storyboard; 241 | sourceTree = ""; 242 | }; 243 | 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { 244 | isa = PBXVariantGroup; 245 | children = ( 246 | 97C147001CF9000F007C117D /* Base */, 247 | ); 248 | name = LaunchScreen.storyboard; 249 | sourceTree = ""; 250 | }; 251 | /* End PBXVariantGroup section */ 252 | 253 | /* Begin XCBuildConfiguration section */ 254 | 249021D3217E4FDB00AE95B9 /* Profile */ = { 255 | isa = XCBuildConfiguration; 256 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; 257 | buildSettings = { 258 | ALWAYS_SEARCH_USER_PATHS = NO; 259 | CLANG_ANALYZER_NONNULL = YES; 260 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 261 | CLANG_CXX_LIBRARY = "libc++"; 262 | CLANG_ENABLE_MODULES = YES; 263 | CLANG_ENABLE_OBJC_ARC = YES; 264 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 265 | CLANG_WARN_BOOL_CONVERSION = YES; 266 | CLANG_WARN_COMMA = YES; 267 | CLANG_WARN_CONSTANT_CONVERSION = YES; 268 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 269 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 270 | CLANG_WARN_EMPTY_BODY = YES; 271 | CLANG_WARN_ENUM_CONVERSION = YES; 272 | CLANG_WARN_INFINITE_RECURSION = YES; 273 | CLANG_WARN_INT_CONVERSION = YES; 274 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 275 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 276 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 277 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 278 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 279 | CLANG_WARN_STRICT_PROTOTYPES = YES; 280 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 281 | CLANG_WARN_UNREACHABLE_CODE = YES; 282 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 283 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 284 | COPY_PHASE_STRIP = NO; 285 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 286 | ENABLE_NS_ASSERTIONS = NO; 287 | ENABLE_STRICT_OBJC_MSGSEND = YES; 288 | GCC_C_LANGUAGE_STANDARD = gnu99; 289 | GCC_NO_COMMON_BLOCKS = YES; 290 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 291 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 292 | GCC_WARN_UNDECLARED_SELECTOR = YES; 293 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 294 | GCC_WARN_UNUSED_FUNCTION = YES; 295 | GCC_WARN_UNUSED_VARIABLE = YES; 296 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 297 | MTL_ENABLE_DEBUG_INFO = NO; 298 | SDKROOT = iphoneos; 299 | SUPPORTED_PLATFORMS = iphoneos; 300 | TARGETED_DEVICE_FAMILY = "1,2"; 301 | VALIDATE_PRODUCT = YES; 302 | }; 303 | name = Profile; 304 | }; 305 | 249021D4217E4FDB00AE95B9 /* Profile */ = { 306 | isa = XCBuildConfiguration; 307 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; 308 | buildSettings = { 309 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 310 | CLANG_ENABLE_MODULES = YES; 311 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; 312 | ENABLE_BITCODE = NO; 313 | FRAMEWORK_SEARCH_PATHS = ( 314 | "$(inherited)", 315 | "$(PROJECT_DIR)/Flutter", 316 | ); 317 | INFOPLIST_FILE = Runner/Info.plist; 318 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 319 | LIBRARY_SEARCH_PATHS = ( 320 | "$(inherited)", 321 | "$(PROJECT_DIR)/Flutter", 322 | ); 323 | PRODUCT_BUNDLE_IDENTIFIER = sauhardyasingha.weatherapptest; 324 | PRODUCT_NAME = "$(TARGET_NAME)"; 325 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; 326 | SWIFT_VERSION = 5.0; 327 | VERSIONING_SYSTEM = "apple-generic"; 328 | }; 329 | name = Profile; 330 | }; 331 | 97C147031CF9000F007C117D /* Debug */ = { 332 | isa = XCBuildConfiguration; 333 | baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; 334 | buildSettings = { 335 | ALWAYS_SEARCH_USER_PATHS = NO; 336 | CLANG_ANALYZER_NONNULL = YES; 337 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 338 | CLANG_CXX_LIBRARY = "libc++"; 339 | CLANG_ENABLE_MODULES = YES; 340 | CLANG_ENABLE_OBJC_ARC = YES; 341 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 342 | CLANG_WARN_BOOL_CONVERSION = YES; 343 | CLANG_WARN_COMMA = YES; 344 | CLANG_WARN_CONSTANT_CONVERSION = YES; 345 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 346 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 347 | CLANG_WARN_EMPTY_BODY = YES; 348 | CLANG_WARN_ENUM_CONVERSION = YES; 349 | CLANG_WARN_INFINITE_RECURSION = YES; 350 | CLANG_WARN_INT_CONVERSION = YES; 351 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 352 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 353 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 354 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 355 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 356 | CLANG_WARN_STRICT_PROTOTYPES = YES; 357 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 358 | CLANG_WARN_UNREACHABLE_CODE = YES; 359 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 360 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 361 | COPY_PHASE_STRIP = NO; 362 | DEBUG_INFORMATION_FORMAT = dwarf; 363 | ENABLE_STRICT_OBJC_MSGSEND = YES; 364 | ENABLE_TESTABILITY = YES; 365 | GCC_C_LANGUAGE_STANDARD = gnu99; 366 | GCC_DYNAMIC_NO_PIC = NO; 367 | GCC_NO_COMMON_BLOCKS = YES; 368 | GCC_OPTIMIZATION_LEVEL = 0; 369 | GCC_PREPROCESSOR_DEFINITIONS = ( 370 | "DEBUG=1", 371 | "$(inherited)", 372 | ); 373 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 374 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 375 | GCC_WARN_UNDECLARED_SELECTOR = YES; 376 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 377 | GCC_WARN_UNUSED_FUNCTION = YES; 378 | GCC_WARN_UNUSED_VARIABLE = YES; 379 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 380 | MTL_ENABLE_DEBUG_INFO = YES; 381 | ONLY_ACTIVE_ARCH = YES; 382 | SDKROOT = iphoneos; 383 | TARGETED_DEVICE_FAMILY = "1,2"; 384 | }; 385 | name = Debug; 386 | }; 387 | 97C147041CF9000F007C117D /* Release */ = { 388 | isa = XCBuildConfiguration; 389 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; 390 | buildSettings = { 391 | ALWAYS_SEARCH_USER_PATHS = NO; 392 | CLANG_ANALYZER_NONNULL = YES; 393 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 394 | CLANG_CXX_LIBRARY = "libc++"; 395 | CLANG_ENABLE_MODULES = YES; 396 | CLANG_ENABLE_OBJC_ARC = YES; 397 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 398 | CLANG_WARN_BOOL_CONVERSION = YES; 399 | CLANG_WARN_COMMA = YES; 400 | CLANG_WARN_CONSTANT_CONVERSION = YES; 401 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 402 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 403 | CLANG_WARN_EMPTY_BODY = YES; 404 | CLANG_WARN_ENUM_CONVERSION = YES; 405 | CLANG_WARN_INFINITE_RECURSION = YES; 406 | CLANG_WARN_INT_CONVERSION = YES; 407 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 408 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 409 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 410 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 411 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 412 | CLANG_WARN_STRICT_PROTOTYPES = YES; 413 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 414 | CLANG_WARN_UNREACHABLE_CODE = YES; 415 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 416 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 417 | COPY_PHASE_STRIP = NO; 418 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 419 | ENABLE_NS_ASSERTIONS = NO; 420 | ENABLE_STRICT_OBJC_MSGSEND = YES; 421 | GCC_C_LANGUAGE_STANDARD = gnu99; 422 | GCC_NO_COMMON_BLOCKS = YES; 423 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 424 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 425 | GCC_WARN_UNDECLARED_SELECTOR = YES; 426 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 427 | GCC_WARN_UNUSED_FUNCTION = YES; 428 | GCC_WARN_UNUSED_VARIABLE = YES; 429 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 430 | MTL_ENABLE_DEBUG_INFO = NO; 431 | SDKROOT = iphoneos; 432 | SUPPORTED_PLATFORMS = iphoneos; 433 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; 434 | TARGETED_DEVICE_FAMILY = "1,2"; 435 | VALIDATE_PRODUCT = YES; 436 | }; 437 | name = Release; 438 | }; 439 | 97C147061CF9000F007C117D /* Debug */ = { 440 | isa = XCBuildConfiguration; 441 | baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; 442 | buildSettings = { 443 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 444 | CLANG_ENABLE_MODULES = YES; 445 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; 446 | ENABLE_BITCODE = NO; 447 | FRAMEWORK_SEARCH_PATHS = ( 448 | "$(inherited)", 449 | "$(PROJECT_DIR)/Flutter", 450 | ); 451 | INFOPLIST_FILE = Runner/Info.plist; 452 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 453 | LIBRARY_SEARCH_PATHS = ( 454 | "$(inherited)", 455 | "$(PROJECT_DIR)/Flutter", 456 | ); 457 | PRODUCT_BUNDLE_IDENTIFIER = sauhardyasingha.weatherapptest; 458 | PRODUCT_NAME = "$(TARGET_NAME)"; 459 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; 460 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 461 | SWIFT_VERSION = 5.0; 462 | VERSIONING_SYSTEM = "apple-generic"; 463 | }; 464 | name = Debug; 465 | }; 466 | 97C147071CF9000F007C117D /* Release */ = { 467 | isa = XCBuildConfiguration; 468 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; 469 | buildSettings = { 470 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 471 | CLANG_ENABLE_MODULES = YES; 472 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; 473 | ENABLE_BITCODE = NO; 474 | FRAMEWORK_SEARCH_PATHS = ( 475 | "$(inherited)", 476 | "$(PROJECT_DIR)/Flutter", 477 | ); 478 | INFOPLIST_FILE = Runner/Info.plist; 479 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 480 | LIBRARY_SEARCH_PATHS = ( 481 | "$(inherited)", 482 | "$(PROJECT_DIR)/Flutter", 483 | ); 484 | PRODUCT_BUNDLE_IDENTIFIER = sauhardyasingha.weatherapptest; 485 | PRODUCT_NAME = "$(TARGET_NAME)"; 486 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; 487 | SWIFT_VERSION = 5.0; 488 | VERSIONING_SYSTEM = "apple-generic"; 489 | }; 490 | name = Release; 491 | }; 492 | /* End XCBuildConfiguration section */ 493 | 494 | /* Begin XCConfigurationList section */ 495 | 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { 496 | isa = XCConfigurationList; 497 | buildConfigurations = ( 498 | 97C147031CF9000F007C117D /* Debug */, 499 | 97C147041CF9000F007C117D /* Release */, 500 | 249021D3217E4FDB00AE95B9 /* Profile */, 501 | ); 502 | defaultConfigurationIsVisible = 0; 503 | defaultConfigurationName = Release; 504 | }; 505 | 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { 506 | isa = XCConfigurationList; 507 | buildConfigurations = ( 508 | 97C147061CF9000F007C117D /* Debug */, 509 | 97C147071CF9000F007C117D /* Release */, 510 | 249021D4217E4FDB00AE95B9 /* Profile */, 511 | ); 512 | defaultConfigurationIsVisible = 0; 513 | defaultConfigurationName = Release; 514 | }; 515 | /* End XCConfigurationList section */ 516 | }; 517 | rootObject = 97C146E61CF9000F007C117D /* Project object */; 518 | } 519 | --------------------------------------------------------------------------------