From 8ec2cdc67fe90dcd091fdb6fcec97f9bce3cf11a Mon Sep 17 00:00:00 2001 From: Sol Mendiola Date: Thu, 9 Nov 2023 14:14:45 -0300 Subject: [PATCH 1/5] added catalog package --- .fvm/fvm_config.json | 2 +- analysis_options.yaml | 11 +- catalog/.gitignore | 30 + catalog/.metadata | 10 + catalog/CHANGELOG.md | 3 + catalog/LICENSE | 1 + catalog/README.md | 39 + catalog/analysis_options.yaml | 1 + catalog/gallery/.gitignore | 44 ++ catalog/gallery/.metadata | 36 + catalog/gallery/README.md | 16 + catalog/gallery/analysis_options.yaml | 1 + catalog/gallery/android/.gitignore | 13 + catalog/gallery/android/Gemfile | 3 + catalog/gallery/android/Gemfile.lock | 217 ++++++ catalog/gallery/android/app/build.gradle | 67 ++ .../android/app/src/debug/AndroidManifest.xml | 7 + .../android/app/src/main/AndroidManifest.xml | 33 + .../com/example/gallery/MainActivity.kt | 6 + .../res/drawable-v21/launch_background.xml | 12 + .../main/res/drawable/launch_background.xml | 12 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 544 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 442 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 721 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 1031 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 1443 bytes .../app/src/main/res/values-night/styles.xml | 18 + .../app/src/main/res/values/styles.xml | 18 + .../app/src/profile/AndroidManifest.xml | 7 + catalog/gallery/android/build.gradle | 31 + catalog/gallery/android/fastlane/Appfile | 2 + catalog/gallery/android/fastlane/Fastfile | 38 + catalog/gallery/android/gradle.properties | 3 + .../gradle/wrapper/gradle-wrapper.properties | 5 + catalog/gallery/android/settings.gradle | 20 + catalog/gallery/ios/.gitignore | 34 + .../ios/Flutter/AppFrameworkInfo.plist | 26 + catalog/gallery/ios/Flutter/Debug.xcconfig | 2 + catalog/gallery/ios/Flutter/Release.xcconfig | 2 + catalog/gallery/ios/Podfile | 44 ++ catalog/gallery/ios/Podfile.lock | 23 + .../ios/Runner.xcodeproj/project.pbxproj | 725 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 98 +++ .../contents.xcworkspacedata | 10 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + catalog/gallery/ios/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 122 +++ .../Icon-App-1024x1024@1x.png | Bin 0 -> 10932 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 295 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 450 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 282 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 462 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 704 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 586 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 1674 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 762 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 1226 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 1418 bytes .../LaunchImage.imageset/Contents.json | 23 + .../LaunchImage.imageset/LaunchImage.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/README.md | 5 + .../Runner/Base.lproj/LaunchScreen.storyboard | 37 + .../ios/Runner/Base.lproj/Main.storyboard | 29 + catalog/gallery/ios/Runner/Info.plist | 49 ++ .../ios/Runner/Runner-Bridging-Header.h | 1 + .../gallery/ios/RunnerTests/RunnerTests.swift | 12 + .../catalog/catalog_app_button_screen.dart | 14 + .../lib/catalog/catalog_scaffold_screen.dart | 37 + .../catalog/catalog_text_fields_screen.dart | 15 + catalog/gallery/lib/main.dart | 35 + .../gallery/lib/main/catalog_main_screen.dart | 67 ++ catalog/gallery/lib/main/catalog_section.dart | 14 + .../gallery/lib/router/catalog_router.dart | 29 + .../gallery/lib/router/catalog_router.gr.dart | 99 +++ catalog/gallery/pubspec.lock | 708 +++++++++++++++++ catalog/gallery/pubspec.yaml | 34 + catalog/gallery/test/widget_test.dart | 31 + catalog/gallery/web/favicon.png | Bin 0 -> 917 bytes catalog/gallery/web/icons/Icon-192.png | Bin 0 -> 5292 bytes catalog/gallery/web/icons/Icon-512.png | Bin 0 -> 8252 bytes .../gallery/web/icons/Icon-maskable-192.png | Bin 0 -> 5594 bytes .../gallery/web/icons/Icon-maskable-512.png | Bin 0 -> 20998 bytes catalog/gallery/web/index.html | 59 ++ catalog/gallery/web/manifest.json | 35 + catalog/lib/catalog.dart | 7 + .../lib/extensions/context_extensions.dart | 5 + catalog/lib/theme/app_colors.dart | 47 ++ catalog/lib/theme/app_dimensions.dart | 29 + catalog/lib/theme/app_text_styles.dart | 60 ++ catalog/lib/theme/app_theme.dart | 32 + catalog/pubspec.yaml | 27 + catalog/test/catalog_test.dart | 1 + fastlane/Fastfile | 14 +- ios/Podfile.lock | 10 +- ios/Runner.xcodeproj/project.pbxproj | 2 +- lib/core/common/logger.dart | 3 +- lib/main.dart | 2 +- lib/ui/main/main_screen.dart | 2 +- lib/ui/signin/signin_screen.dart | 2 +- lib/ui/theme/app_colors.dart | 24 +- lib/ui/theme/text_styles.dart | 37 +- lib/ui/welcome/welcome_screen.dart | 4 +- pubspec.lock | 17 +- pubspec.yaml | 14 +- scripts/checks.sh | 6 + 115 files changed, 3441 insertions(+), 81 deletions(-) create mode 100644 catalog/.gitignore create mode 100644 catalog/.metadata create mode 100644 catalog/CHANGELOG.md create mode 100644 catalog/LICENSE create mode 100644 catalog/README.md create mode 100644 catalog/analysis_options.yaml create mode 100644 catalog/gallery/.gitignore create mode 100644 catalog/gallery/.metadata create mode 100644 catalog/gallery/README.md create mode 100644 catalog/gallery/analysis_options.yaml create mode 100644 catalog/gallery/android/.gitignore create mode 100644 catalog/gallery/android/Gemfile create mode 100644 catalog/gallery/android/Gemfile.lock create mode 100644 catalog/gallery/android/app/build.gradle create mode 100644 catalog/gallery/android/app/src/debug/AndroidManifest.xml create mode 100644 catalog/gallery/android/app/src/main/AndroidManifest.xml create mode 100644 catalog/gallery/android/app/src/main/kotlin/com/example/gallery/MainActivity.kt create mode 100644 catalog/gallery/android/app/src/main/res/drawable-v21/launch_background.xml create mode 100644 catalog/gallery/android/app/src/main/res/drawable/launch_background.xml create mode 100644 catalog/gallery/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 catalog/gallery/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 catalog/gallery/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 catalog/gallery/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 catalog/gallery/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 catalog/gallery/android/app/src/main/res/values-night/styles.xml create mode 100644 catalog/gallery/android/app/src/main/res/values/styles.xml create mode 100644 catalog/gallery/android/app/src/profile/AndroidManifest.xml create mode 100644 catalog/gallery/android/build.gradle create mode 100644 catalog/gallery/android/fastlane/Appfile create mode 100644 catalog/gallery/android/fastlane/Fastfile create mode 100644 catalog/gallery/android/gradle.properties create mode 100644 catalog/gallery/android/gradle/wrapper/gradle-wrapper.properties create mode 100644 catalog/gallery/android/settings.gradle create mode 100644 catalog/gallery/ios/.gitignore create mode 100644 catalog/gallery/ios/Flutter/AppFrameworkInfo.plist create mode 100644 catalog/gallery/ios/Flutter/Debug.xcconfig create mode 100644 catalog/gallery/ios/Flutter/Release.xcconfig create mode 100644 catalog/gallery/ios/Podfile create mode 100644 catalog/gallery/ios/Podfile.lock create mode 100644 catalog/gallery/ios/Runner.xcodeproj/project.pbxproj create mode 100644 catalog/gallery/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 catalog/gallery/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 catalog/gallery/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 catalog/gallery/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 catalog/gallery/ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 catalog/gallery/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 catalog/gallery/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 catalog/gallery/ios/Runner/AppDelegate.swift create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md create mode 100644 catalog/gallery/ios/Runner/Base.lproj/LaunchScreen.storyboard create mode 100644 catalog/gallery/ios/Runner/Base.lproj/Main.storyboard create mode 100644 catalog/gallery/ios/Runner/Info.plist create mode 100644 catalog/gallery/ios/Runner/Runner-Bridging-Header.h create mode 100644 catalog/gallery/ios/RunnerTests/RunnerTests.swift create mode 100644 catalog/gallery/lib/catalog/catalog_app_button_screen.dart create mode 100644 catalog/gallery/lib/catalog/catalog_scaffold_screen.dart create mode 100644 catalog/gallery/lib/catalog/catalog_text_fields_screen.dart create mode 100644 catalog/gallery/lib/main.dart create mode 100644 catalog/gallery/lib/main/catalog_main_screen.dart create mode 100644 catalog/gallery/lib/main/catalog_section.dart create mode 100644 catalog/gallery/lib/router/catalog_router.dart create mode 100644 catalog/gallery/lib/router/catalog_router.gr.dart create mode 100644 catalog/gallery/pubspec.lock create mode 100644 catalog/gallery/pubspec.yaml create mode 100644 catalog/gallery/test/widget_test.dart create mode 100644 catalog/gallery/web/favicon.png create mode 100644 catalog/gallery/web/icons/Icon-192.png create mode 100644 catalog/gallery/web/icons/Icon-512.png create mode 100644 catalog/gallery/web/icons/Icon-maskable-192.png create mode 100644 catalog/gallery/web/icons/Icon-maskable-512.png create mode 100644 catalog/gallery/web/index.html create mode 100644 catalog/gallery/web/manifest.json create mode 100644 catalog/lib/catalog.dart create mode 100644 catalog/lib/extensions/context_extensions.dart create mode 100644 catalog/lib/theme/app_colors.dart create mode 100644 catalog/lib/theme/app_dimensions.dart create mode 100644 catalog/lib/theme/app_text_styles.dart create mode 100644 catalog/lib/theme/app_theme.dart create mode 100644 catalog/pubspec.yaml create mode 100644 catalog/test/catalog_test.dart diff --git a/.fvm/fvm_config.json b/.fvm/fvm_config.json index e3ffe0b4..d8abe1b9 100644 --- a/.fvm/fvm_config.json +++ b/.fvm/fvm_config.json @@ -1,4 +1,4 @@ { - "flutterSdkVersion": "3.13.4", + "flutterSdkVersion": "3.13.9", "flavors": {} } \ No newline at end of file diff --git a/analysis_options.yaml b/analysis_options.yaml index 3bc113a6..b6e00af1 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -1,14 +1,4 @@ -# This file configures the analyzer, which statically analyzes Dart code to -# check for errors, warnings, and lints. -# -# The issues identified by the analyzer are surfaced in the UI of Dart-enabled -# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be -# invoked from the command line by running `flutter analyze`. - -# The following line activates a set of recommended lints for Flutter apps, -# packages, and plugins designed to encourage good coding practices. include: package:flutter_lints/flutter.yaml - linter: rules: - always_declare_return_types @@ -136,3 +126,4 @@ analyzer: - 'lib/generated_plugin_registrant.dart' errors: invalid_annotation_target: ignore + unused_element: ignore # https://github.com/dart-lang/sdk/issues/49025 diff --git a/catalog/.gitignore b/catalog/.gitignore new file mode 100644 index 00000000..96486fd9 --- /dev/null +++ b/catalog/.gitignore @@ -0,0 +1,30 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock. +/pubspec.lock +**/doc/api/ +.dart_tool/ +.packages +build/ diff --git a/catalog/.metadata b/catalog/.metadata new file mode 100644 index 00000000..e5c802c4 --- /dev/null +++ b/catalog/.metadata @@ -0,0 +1,10 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled and should not be manually edited. + +version: + revision: "367f9ea16bfae1ca451b9cc27c1366870b187ae2" + channel: "stable" + +project_type: package diff --git a/catalog/CHANGELOG.md b/catalog/CHANGELOG.md new file mode 100644 index 00000000..41cc7d81 --- /dev/null +++ b/catalog/CHANGELOG.md @@ -0,0 +1,3 @@ +## 0.0.1 + +* TODO: Describe initial release. diff --git a/catalog/LICENSE b/catalog/LICENSE new file mode 100644 index 00000000..ba75c69f --- /dev/null +++ b/catalog/LICENSE @@ -0,0 +1 @@ +TODO: Add your license here. diff --git a/catalog/README.md b/catalog/README.md new file mode 100644 index 00000000..02fe8eca --- /dev/null +++ b/catalog/README.md @@ -0,0 +1,39 @@ + + +TODO: Put a short description of the package here that helps potential users +know whether this package might be useful for them. + +## Features + +TODO: List what your package can do. Maybe include images, gifs, or videos. + +## Getting started + +TODO: List prerequisites and provide or point to information on how to +start using the package. + +## Usage + +TODO: Include short and useful examples for package users. Add longer examples +to `/example` folder. + +```dart +const like = 'sample'; +``` + +## Additional information + +TODO: Tell users more about the package: where to find more information, how to +contribute to the package, how to file issues, what response they can expect +from the package authors, and more. diff --git a/catalog/analysis_options.yaml b/catalog/analysis_options.yaml new file mode 100644 index 00000000..5e2133eb --- /dev/null +++ b/catalog/analysis_options.yaml @@ -0,0 +1 @@ +include: ../analysis_options.yaml diff --git a/catalog/gallery/.gitignore b/catalog/gallery/.gitignore new file mode 100644 index 00000000..24476c5d --- /dev/null +++ b/catalog/gallery/.gitignore @@ -0,0 +1,44 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.packages +.pub-cache/ +.pub/ +/build/ + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release diff --git a/catalog/gallery/.metadata b/catalog/gallery/.metadata new file mode 100644 index 00000000..2bb8bb75 --- /dev/null +++ b/catalog/gallery/.metadata @@ -0,0 +1,36 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled and should not be manually edited. + +version: + revision: "367f9ea16bfae1ca451b9cc27c1366870b187ae2" + channel: "stable" + +project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: 367f9ea16bfae1ca451b9cc27c1366870b187ae2 + base_revision: 367f9ea16bfae1ca451b9cc27c1366870b187ae2 + - platform: android + create_revision: 367f9ea16bfae1ca451b9cc27c1366870b187ae2 + base_revision: 367f9ea16bfae1ca451b9cc27c1366870b187ae2 + - platform: ios + create_revision: 367f9ea16bfae1ca451b9cc27c1366870b187ae2 + base_revision: 367f9ea16bfae1ca451b9cc27c1366870b187ae2 + - platform: web + create_revision: 367f9ea16bfae1ca451b9cc27c1366870b187ae2 + base_revision: 367f9ea16bfae1ca451b9cc27c1366870b187ae2 + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/catalog/gallery/README.md b/catalog/gallery/README.md new file mode 100644 index 00000000..0fdbda8b --- /dev/null +++ b/catalog/gallery/README.md @@ -0,0 +1,16 @@ +# gallery + +A new Flutter project. + +## Getting Started + +This project is a starting point for a Flutter application. + +A few resources to get you started if this is your first Flutter project: + +- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) +- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) + +For help getting started with Flutter development, view the +[online documentation](https://docs.flutter.dev/), which offers tutorials, +samples, guidance on mobile development, and a full API reference. diff --git a/catalog/gallery/analysis_options.yaml b/catalog/gallery/analysis_options.yaml new file mode 100644 index 00000000..f04c6cf0 --- /dev/null +++ b/catalog/gallery/analysis_options.yaml @@ -0,0 +1 @@ +include: ../../analysis_options.yaml diff --git a/catalog/gallery/android/.gitignore b/catalog/gallery/android/.gitignore new file mode 100644 index 00000000..6f568019 --- /dev/null +++ b/catalog/gallery/android/.gitignore @@ -0,0 +1,13 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java + +# Remember to never publicly share your keystore. +# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +key.properties +**/*.keystore +**/*.jks diff --git a/catalog/gallery/android/Gemfile b/catalog/gallery/android/Gemfile new file mode 100644 index 00000000..7a118b49 --- /dev/null +++ b/catalog/gallery/android/Gemfile @@ -0,0 +1,3 @@ +source "https://rubygems.org" + +gem "fastlane" diff --git a/catalog/gallery/android/Gemfile.lock b/catalog/gallery/android/Gemfile.lock new file mode 100644 index 00000000..f595af06 --- /dev/null +++ b/catalog/gallery/android/Gemfile.lock @@ -0,0 +1,217 @@ +GEM + remote: https://rubygems.org/ + specs: + CFPropertyList (3.0.6) + rexml + addressable (2.8.5) + public_suffix (>= 2.0.2, < 6.0) + artifactory (3.0.15) + atomos (0.1.3) + aws-eventstream (1.2.0) + aws-partitions (1.844.0) + aws-sdk-core (3.186.0) + aws-eventstream (~> 1, >= 1.0.2) + aws-partitions (~> 1, >= 1.651.0) + aws-sigv4 (~> 1.5) + jmespath (~> 1, >= 1.6.1) + aws-sdk-kms (1.72.0) + aws-sdk-core (~> 3, >= 3.184.0) + aws-sigv4 (~> 1.1) + aws-sdk-s3 (1.136.0) + aws-sdk-core (~> 3, >= 3.181.0) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.6) + aws-sigv4 (1.6.1) + aws-eventstream (~> 1, >= 1.0.2) + babosa (1.0.4) + claide (1.1.0) + colored (1.2) + colored2 (3.1.2) + commander (4.6.0) + highline (~> 2.0.0) + declarative (0.0.20) + digest-crc (0.6.5) + rake (>= 12.0.0, < 14.0.0) + domain_name (0.5.20190701) + unf (>= 0.0.5, < 1.0.0) + dotenv (2.8.1) + emoji_regex (3.2.3) + excon (0.104.0) + faraday (1.10.3) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0) + faraday-multipart (~> 1.0) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.0) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + faraday-retry (~> 1.0) + ruby2_keywords (>= 0.0.4) + faraday-cookie_jar (0.0.7) + faraday (>= 0.8.0) + http-cookie (~> 1.0.0) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) + faraday-multipart (1.0.4) + multipart-post (~> 2) + faraday-net_http (1.0.1) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + faraday-retry (1.0.3) + faraday_middleware (1.2.0) + faraday (~> 1.0) + fastimage (2.2.7) + fastlane (2.216.0) + CFPropertyList (>= 2.3, < 4.0.0) + addressable (>= 2.8, < 3.0.0) + artifactory (~> 3.0) + aws-sdk-s3 (~> 1.0) + babosa (>= 1.0.3, < 2.0.0) + bundler (>= 1.12.0, < 3.0.0) + colored + commander (~> 4.6) + dotenv (>= 2.1.1, < 3.0.0) + emoji_regex (>= 0.1, < 4.0) + excon (>= 0.71.0, < 1.0.0) + faraday (~> 1.0) + faraday-cookie_jar (~> 0.0.6) + faraday_middleware (~> 1.0) + fastimage (>= 2.1.0, < 3.0.0) + gh_inspector (>= 1.1.2, < 2.0.0) + google-apis-androidpublisher_v3 (~> 0.3) + google-apis-playcustomapp_v1 (~> 0.1) + google-cloud-storage (~> 1.31) + highline (~> 2.0) + http-cookie (~> 1.0.5) + json (< 3.0.0) + jwt (>= 2.1.0, < 3) + mini_magick (>= 4.9.4, < 5.0.0) + multipart-post (>= 2.0.0, < 3.0.0) + naturally (~> 2.2) + optparse (~> 0.1.1) + plist (>= 3.1.0, < 4.0.0) + rubyzip (>= 2.0.0, < 3.0.0) + security (= 0.1.3) + simctl (~> 1.6.3) + terminal-notifier (>= 2.0.0, < 3.0.0) + terminal-table (~> 3) + tty-screen (>= 0.6.3, < 1.0.0) + tty-spinner (>= 0.8.0, < 1.0.0) + word_wrap (~> 1.0.0) + xcodeproj (>= 1.13.0, < 2.0.0) + xcpretty (~> 0.3.0) + xcpretty-travis-formatter (>= 0.0.3) + gh_inspector (1.1.3) + google-apis-androidpublisher_v3 (0.51.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-core (0.11.2) + addressable (~> 2.5, >= 2.5.1) + googleauth (>= 0.16.2, < 2.a) + httpclient (>= 2.8.1, < 3.a) + mini_mime (~> 1.0) + representable (~> 3.0) + retriable (>= 2.0, < 4.a) + rexml + webrick + google-apis-iamcredentials_v1 (0.17.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-playcustomapp_v1 (0.13.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-storage_v1 (0.19.0) + google-apis-core (>= 0.9.0, < 2.a) + google-cloud-core (1.6.0) + google-cloud-env (~> 1.0) + google-cloud-errors (~> 1.0) + google-cloud-env (1.6.0) + faraday (>= 0.17.3, < 3.0) + google-cloud-errors (1.3.1) + google-cloud-storage (1.44.0) + addressable (~> 2.8) + digest-crc (~> 0.4) + google-apis-iamcredentials_v1 (~> 0.1) + google-apis-storage_v1 (~> 0.19.0) + google-cloud-core (~> 1.6) + googleauth (>= 0.16.2, < 2.a) + mini_mime (~> 1.0) + googleauth (1.8.1) + faraday (>= 0.17.3, < 3.a) + jwt (>= 1.4, < 3.0) + multi_json (~> 1.11) + os (>= 0.9, < 2.0) + signet (>= 0.16, < 2.a) + highline (2.0.3) + http-cookie (1.0.5) + domain_name (~> 0.5) + httpclient (2.8.3) + jmespath (1.6.2) + json (2.6.3) + jwt (2.7.1) + mini_magick (4.12.0) + mini_mime (1.1.5) + multi_json (1.15.0) + multipart-post (2.3.0) + nanaimo (0.3.0) + naturally (2.2.1) + optparse (0.1.1) + os (1.1.4) + plist (3.7.0) + public_suffix (5.0.3) + rake (13.1.0) + representable (3.2.0) + declarative (< 0.1.0) + trailblazer-option (>= 0.1.1, < 0.2.0) + uber (< 0.2.0) + retriable (3.1.2) + rexml (3.2.6) + rouge (2.0.7) + ruby2_keywords (0.0.5) + rubyzip (2.3.2) + security (0.1.3) + signet (0.18.0) + addressable (~> 2.8) + faraday (>= 0.17.5, < 3.a) + jwt (>= 1.5, < 3.0) + multi_json (~> 1.10) + simctl (1.6.10) + CFPropertyList + naturally + terminal-notifier (2.0.0) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + trailblazer-option (0.1.2) + tty-cursor (0.7.1) + tty-screen (0.8.1) + tty-spinner (0.9.3) + tty-cursor (~> 0.7) + uber (0.1.0) + unf (0.1.4) + unf_ext + unf_ext (0.0.8.2) + unicode-display_width (2.5.0) + webrick (1.8.1) + word_wrap (1.0.0) + xcodeproj (1.23.0) + CFPropertyList (>= 2.3.3, < 4.0) + atomos (~> 0.1.3) + claide (>= 1.0.2, < 2.0) + colored2 (~> 3.1) + nanaimo (~> 0.3.0) + rexml (~> 3.2.4) + xcpretty (0.3.0) + rouge (~> 2.0.7) + xcpretty-travis-formatter (1.0.1) + xcpretty (~> 0.2, >= 0.0.7) + +PLATFORMS + x86_64-darwin-21 + +DEPENDENCIES + fastlane + +BUNDLED WITH + 2.4.10 diff --git a/catalog/gallery/android/app/build.gradle b/catalog/gallery/android/app/build.gradle new file mode 100644 index 00000000..82fb0393 --- /dev/null +++ b/catalog/gallery/android/app/build.gradle @@ -0,0 +1,67 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + +def localProperties = new Properties() +def localPropertiesFile = rootProject.file('local.properties') +if (localPropertiesFile.exists()) { + localPropertiesFile.withReader('UTF-8') { reader -> + localProperties.load(reader) + } +} + +def flutterVersionCode = localProperties.getProperty('flutter.versionCode') +if (flutterVersionCode == null) { + flutterVersionCode = '1' +} + +def flutterVersionName = localProperties.getProperty('flutter.versionName') +if (flutterVersionName == null) { + flutterVersionName = '1.0' +} + +android { + namespace "com.example.gallery" + compileSdkVersion flutter.compileSdkVersion + ndkVersion flutter.ndkVersion + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = '1.8' + } + + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId "com.example.gallery" + // You can update the following values to match your application needs. + // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. + minSdkVersion flutter.minSdkVersion + targetSdkVersion flutter.targetSdkVersion + versionCode flutterVersionCode.toInteger() + versionName flutterVersionName + } + + buildTypes { + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig signingConfigs.debug + } + } +} + +flutter { + source '../..' +} + +dependencies {} diff --git a/catalog/gallery/android/app/src/debug/AndroidManifest.xml b/catalog/gallery/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 00000000..399f6981 --- /dev/null +++ b/catalog/gallery/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/catalog/gallery/android/app/src/main/AndroidManifest.xml b/catalog/gallery/android/app/src/main/AndroidManifest.xml new file mode 100644 index 00000000..edbeb145 --- /dev/null +++ b/catalog/gallery/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + diff --git a/catalog/gallery/android/app/src/main/kotlin/com/example/gallery/MainActivity.kt b/catalog/gallery/android/app/src/main/kotlin/com/example/gallery/MainActivity.kt new file mode 100644 index 00000000..4aa5a1d0 --- /dev/null +++ b/catalog/gallery/android/app/src/main/kotlin/com/example/gallery/MainActivity.kt @@ -0,0 +1,6 @@ +package com.example.gallery + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() { +} diff --git a/catalog/gallery/android/app/src/main/res/drawable-v21/launch_background.xml b/catalog/gallery/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 00000000..f74085f3 --- /dev/null +++ b/catalog/gallery/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/catalog/gallery/android/app/src/main/res/drawable/launch_background.xml b/catalog/gallery/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 00000000..304732f8 --- /dev/null +++ b/catalog/gallery/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/catalog/gallery/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/catalog/gallery/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..db77bb4b7b0906d62b1847e87f15cdcacf6a4f29 GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ literal 0 HcmV?d00001 diff --git a/catalog/gallery/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/catalog/gallery/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..17987b79bb8a35cc66c3c1fd44f5a5526c1b78be GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ literal 0 HcmV?d00001 diff --git a/catalog/gallery/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/catalog/gallery/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f1c8d34e7a88e3f88bea192c3a370d44689c3c GIT binary patch literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof literal 0 HcmV?d00001 diff --git a/catalog/gallery/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/catalog/gallery/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6372eebdb28e45604e46eeda8dd24651419bc0 GIT binary patch literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` literal 0 HcmV?d00001 diff --git a/catalog/gallery/android/app/src/main/res/values-night/styles.xml b/catalog/gallery/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 00000000..06952be7 --- /dev/null +++ b/catalog/gallery/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/catalog/gallery/android/app/src/main/res/values/styles.xml b/catalog/gallery/android/app/src/main/res/values/styles.xml new file mode 100644 index 00000000..cb1ef880 --- /dev/null +++ b/catalog/gallery/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/catalog/gallery/android/app/src/profile/AndroidManifest.xml b/catalog/gallery/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 00000000..399f6981 --- /dev/null +++ b/catalog/gallery/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/catalog/gallery/android/build.gradle b/catalog/gallery/android/build.gradle new file mode 100644 index 00000000..f7eb7f63 --- /dev/null +++ b/catalog/gallery/android/build.gradle @@ -0,0 +1,31 @@ +buildscript { + ext.kotlin_version = '1.7.10' + repositories { + google() + mavenCentral() + } + + dependencies { + classpath 'com.android.tools.build:gradle:7.3.0' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + } +} + +allprojects { + repositories { + google() + mavenCentral() + } +} + +rootProject.buildDir = '../build' +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" +} +subprojects { + project.evaluationDependsOn(':app') +} + +tasks.register("clean", Delete) { + delete rootProject.buildDir +} diff --git a/catalog/gallery/android/fastlane/Appfile b/catalog/gallery/android/fastlane/Appfile new file mode 100644 index 00000000..c6bb5c4a --- /dev/null +++ b/catalog/gallery/android/fastlane/Appfile @@ -0,0 +1,2 @@ +json_key_file("") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one +package_name("catalog") # e.g. com.krausefx.app diff --git a/catalog/gallery/android/fastlane/Fastfile b/catalog/gallery/android/fastlane/Fastfile new file mode 100644 index 00000000..19c557cc --- /dev/null +++ b/catalog/gallery/android/fastlane/Fastfile @@ -0,0 +1,38 @@ +# This file contains the fastlane.tools configuration +# You can find the documentation at https://docs.fastlane.tools +# +# For a list of all available actions, check out +# +# https://docs.fastlane.tools/actions +# +# For a list of all available plugins, check out +# +# https://docs.fastlane.tools/plugins/available-plugins +# + +# Uncomment the line if you want fastlane to automatically update itself +# update_fastlane + +default_platform(:android) + +platform :android do + desc "Runs all the tests" + lane :test do + gradle(task: "test") + end + + desc "Submit a new Beta Build to Crashlytics Beta" + lane :beta do + gradle(task: "clean assembleRelease") + crashlytics + + # sh "your_script.sh" + # You can also use other beta testing services here + end + + desc "Deploy a new version to the Google Play" + lane :deploy do + gradle(task: "clean assembleRelease") + upload_to_play_store + end +end diff --git a/catalog/gallery/android/gradle.properties b/catalog/gallery/android/gradle.properties new file mode 100644 index 00000000..94adc3a3 --- /dev/null +++ b/catalog/gallery/android/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.jvmargs=-Xmx1536M +android.useAndroidX=true +android.enableJetifier=true diff --git a/catalog/gallery/android/gradle/wrapper/gradle-wrapper.properties b/catalog/gallery/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00000000..3c472b99 --- /dev/null +++ b/catalog/gallery/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip diff --git a/catalog/gallery/android/settings.gradle b/catalog/gallery/android/settings.gradle new file mode 100644 index 00000000..55c4ca8b --- /dev/null +++ b/catalog/gallery/android/settings.gradle @@ -0,0 +1,20 @@ +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() + + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") + + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} + +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/catalog/gallery/ios/.gitignore b/catalog/gallery/ios/.gitignore new file mode 100644 index 00000000..7a7f9873 --- /dev/null +++ b/catalog/gallery/ios/.gitignore @@ -0,0 +1,34 @@ +**/dgph +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/ephemeral/ +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 diff --git a/catalog/gallery/ios/Flutter/AppFrameworkInfo.plist b/catalog/gallery/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 00000000..9625e105 --- /dev/null +++ b/catalog/gallery/ios/Flutter/AppFrameworkInfo.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 11.0 + + diff --git a/catalog/gallery/ios/Flutter/Debug.xcconfig b/catalog/gallery/ios/Flutter/Debug.xcconfig new file mode 100644 index 00000000..ec97fc6f --- /dev/null +++ b/catalog/gallery/ios/Flutter/Debug.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" +#include "Generated.xcconfig" diff --git a/catalog/gallery/ios/Flutter/Release.xcconfig b/catalog/gallery/ios/Flutter/Release.xcconfig new file mode 100644 index 00000000..c4855bfe --- /dev/null +++ b/catalog/gallery/ios/Flutter/Release.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" +#include "Generated.xcconfig" diff --git a/catalog/gallery/ios/Podfile b/catalog/gallery/ios/Podfile new file mode 100644 index 00000000..fdcc671e --- /dev/null +++ b/catalog/gallery/ios/Podfile @@ -0,0 +1,44 @@ +# Uncomment this line to define a global platform for your project +# platform :ios, '11.0' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do + inherit! :search_paths + end +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_ios_build_settings(target) + end +end diff --git a/catalog/gallery/ios/Podfile.lock b/catalog/gallery/ios/Podfile.lock new file mode 100644 index 00000000..bc942acb --- /dev/null +++ b/catalog/gallery/ios/Podfile.lock @@ -0,0 +1,23 @@ +PODS: + - Flutter (1.0.0) + - path_provider_foundation (0.0.1): + - Flutter + - FlutterMacOS + +DEPENDENCIES: + - Flutter (from `Flutter`) + - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) + +EXTERNAL SOURCES: + Flutter: + :path: Flutter + path_provider_foundation: + :path: ".symlinks/plugins/path_provider_foundation/darwin" + +SPEC CHECKSUMS: + Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 + path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943 + +PODFILE CHECKSUM: 70d9d25280d0dd177a5f637cdb0f0b0b12c6a189 + +COCOAPODS: 1.12.1 diff --git a/catalog/gallery/ios/Runner.xcodeproj/project.pbxproj b/catalog/gallery/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 00000000..013e7627 --- /dev/null +++ b/catalog/gallery/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,725 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 22336CBF25949E471736667F /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 959729E268E47C1704E2F6D0 /* Pods_RunnerTests.framework */; }; + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + A03BE04D285909D30D1B5C2D /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 28D29128B08C0FC80B1ADB3B /* Pods_Runner.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 97C146E61CF9000F007C117D /* Project object */; + proxyType = 1; + remoteGlobalIDString = 97C146ED1CF9000F007C117D; + remoteInfo = Runner; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 9705A1C41CF9048500538489 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 0E42C8F29CE70D5F6DBD2FE7 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 28D29128B08C0FC80B1ADB3B /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 365FDFE932DAECCBE6CDA6C2 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 7B38C402BEC14CCFB3BCC86B /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 800D1436A84E4B660BFFAC2C /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 959729E268E47C1704E2F6D0 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + AE146B1C36E0F65D9B9E0440 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + B405BC34B39725B6BDF7999F /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + A03BE04D285909D30D1B5C2D /* Pods_Runner.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B6078182E6F3D1951969F8DA /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 22336CBF25949E471736667F /* Pods_RunnerTests.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 331C8082294A63A400263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C807B294A618700263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 497C73E8445D35C74AFD069A /* Frameworks */ = { + isa = PBXGroup; + children = ( + 28D29128B08C0FC80B1ADB3B /* Pods_Runner.framework */, + 959729E268E47C1704E2F6D0 /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + 331C8082294A63A400263BE5 /* RunnerTests */, + E9F5E0EA082C8BBCA5DED24A /* Pods */, + 497C73E8445D35C74AFD069A /* Frameworks */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + 331C8081294A63A400263BE5 /* RunnerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 97C146F01CF9000F007C117D /* Runner */ = { + isa = PBXGroup; + children = ( + 97C146FA1CF9000F007C117D /* Main.storyboard */, + 97C146FD1CF9000F007C117D /* Assets.xcassets */, + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, + 97C147021CF9000F007C117D /* Info.plist */, + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, + ); + path = Runner; + sourceTree = ""; + }; + E9F5E0EA082C8BBCA5DED24A /* Pods */ = { + isa = PBXGroup; + children = ( + AE146B1C36E0F65D9B9E0440 /* Pods-Runner.debug.xcconfig */, + 800D1436A84E4B660BFFAC2C /* Pods-Runner.release.xcconfig */, + B405BC34B39725B6BDF7999F /* Pods-Runner.profile.xcconfig */, + 7B38C402BEC14CCFB3BCC86B /* Pods-RunnerTests.debug.xcconfig */, + 0E42C8F29CE70D5F6DBD2FE7 /* Pods-RunnerTests.release.xcconfig */, + 365FDFE932DAECCBE6CDA6C2 /* Pods-RunnerTests.profile.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 331C8080294A63A400263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 5A800C66C15EFB36FD47DA67 /* [CP] Check Pods Manifest.lock */, + 331C807D294A63A400263BE5 /* Sources */, + 331C807F294A63A400263BE5 /* Resources */, + B6078182E6F3D1951969F8DA /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 331C8086294A63A400263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 76A0C9727A11FD4C6B7C7E66 /* [CP] Check Pods Manifest.lock */, + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + 403C99EC43CBDA26E8FF45DD /* [CP] Embed Pods Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Runner; + productName = Runner; + productReference = 97C146EE1CF9000F007C117D /* Runner.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 97C146E61CF9000F007C117D /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C8080294A63A400263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 97C146ED1CF9000F007C117D; + }; + 97C146ED1CF9000F007C117D = { + CreatedOnToolsVersion = 7.3.1; + LastSwiftMigration = 1100; + }; + }; + }; + buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 97C146E51CF9000F007C117D; + productRefGroup = 97C146EF1CF9000F007C117D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97C146ED1CF9000F007C117D /* Runner */, + 331C8080294A63A400263BE5 /* RunnerTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C807F294A63A400263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EC1CF9000F007C117D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 403C99EC43CBDA26E8FF45DD /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 5A800C66C15EFB36FD47DA67 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 76A0C9727A11FD4C6B7C7E66 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C807D294A63A400263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EA1CF9000F007C117D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 331C8086294A63A400263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 97C146ED1CF9000F007C117D /* Runner */; + targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 97C146FA1CF9000F007C117D /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C146FB1CF9000F007C117D /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C147001CF9000F007C117D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Profile; + }; + 249021D4217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = R94MGT3BBR; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.gallery; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Profile; + }; + 331C8088294A63A400263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7B38C402BEC14CCFB3BCC86B /* Pods-RunnerTests.debug.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.gallery.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Debug; + }; + 331C8089294A63A400263BE5 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 0E42C8F29CE70D5F6DBD2FE7 /* Pods-RunnerTests.release.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.gallery.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Release; + }; + 331C808A294A63A400263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 365FDFE932DAECCBE6CDA6C2 /* Pods-RunnerTests.profile.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.gallery.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Profile; + }; + 97C147031CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 97C147041CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 97C147061CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = R94MGT3BBR; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.gallery; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 97C147071CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = R94MGT3BBR; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.gallery; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C8088294A63A400263BE5 /* Debug */, + 331C8089294A63A400263BE5 /* Release */, + 331C808A294A63A400263BE5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147031CF9000F007C117D /* Debug */, + 97C147041CF9000F007C117D /* Release */, + 249021D3217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147061CF9000F007C117D /* Debug */, + 97C147071CF9000F007C117D /* Release */, + 249021D4217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 97C146E61CF9000F007C117D /* Project object */; +} diff --git a/catalog/gallery/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/catalog/gallery/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/catalog/gallery/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/catalog/gallery/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/catalog/gallery/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/catalog/gallery/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/catalog/gallery/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/catalog/gallery/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 00000000..f9b0d7c5 --- /dev/null +++ b/catalog/gallery/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/catalog/gallery/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/catalog/gallery/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 00000000..87131a09 --- /dev/null +++ b/catalog/gallery/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/catalog/gallery/ios/Runner.xcworkspace/contents.xcworkspacedata b/catalog/gallery/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..21a3cc14 --- /dev/null +++ b/catalog/gallery/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/catalog/gallery/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/catalog/gallery/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/catalog/gallery/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/catalog/gallery/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/catalog/gallery/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 00000000..f9b0d7c5 --- /dev/null +++ b/catalog/gallery/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/catalog/gallery/ios/Runner/AppDelegate.swift b/catalog/gallery/ios/Runner/AppDelegate.swift new file mode 100644 index 00000000..70693e4a --- /dev/null +++ b/catalog/gallery/ios/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import UIKit +import Flutter + +@UIApplicationMain +@objc class AppDelegate: FlutterAppDelegate { + override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + GeneratedPluginRegistrant.register(with: self) + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } +} diff --git a/catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..d36b1fab --- /dev/null +++ b/catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "images" : [ + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@3x.png", + "scale" : "3x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@1x.png", + "scale" : "1x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@1x.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@1x.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "Icon-App-83.5x83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "Icon-App-1024x1024@1x.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9ada4725e9b0ddb1deab583e5b5102493aa332 GIT binary patch literal 10932 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 literal 0 HcmV?d00001 diff --git a/catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..797d452e458972bab9d994556c8305db4c827017 GIT binary patch literal 406 zcmV;H0crk;P))>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed2d933e1120817fe9182483a228007b18ab6ae GIT binary patch literal 450 zcmV;z0X_bSP)iGWQ_5NJQ_~rNh*z)}eT%KUb z`7gNk0#AwF^#0T0?hIa^`~Ck;!}#m+_uT050aTR(J!bU#|IzRL%^UsMS#KsYnTF*!YeDOytlP4VhV?b} z%rz_<=#CPc)tU1MZTq~*2=8~iZ!lSa<{9b@2Jl;?IEV8)=fG217*|@)CCYgFze-x? zIFODUIA>nWKpE+bn~n7;-89sa>#DR>TSlqWk*!2hSN6D~Qb#VqbP~4Fk&m`@1$JGr zXPIdeRE&b2Thd#{MtDK$px*d3-Wx``>!oimf%|A-&-q*6KAH)e$3|6JV%HX{Hig)k suLT-RhftRq8b9;(V=235Wa|I=027H2wCDra;{X5v07*qoM6N<$f;9x^2LJ#7 literal 0 HcmV?d00001 diff --git a/catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..4cd7b0099ca80c806f8fe495613e8d6c69460d76 GIT binary patch literal 282 zcmV+#0p(^bcu7P-R4C8Q z&e;xxFbF_Vrezo%_kH*OKhshZ6BFpG-Y1e10`QXJKbND7AMQ&cMj60B5TNObaZxYybcN07*qoM6N<$g3m;S%K!iX literal 0 HcmV?d00001 diff --git a/catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fe730945a01f64a61e2235dbe3f45b08f7729182 GIT binary patch literal 462 zcmV;<0WtoGP)-}iV`2<;=$?g5M=KQbZ{F&YRNy7Nn@%_*5{gvDM0aKI4?ESmw z{NnZg)A0R`+4?NF_RZexyVB&^^ZvN!{I28tr{Vje;QNTz`dG&Jz0~Ek&f2;*Z7>B|cg}xYpxEFY+0YrKLF;^Q+-HreN0P{&i zK~zY`?b7ECf-n?@;d<&orQ*Q7KoR%4|C>{W^h6@&01>0SKS`dn{Q}GT%Qj_{PLZ_& zs`MFI#j-(>?bvdZ!8^xTwlY{qA)T4QLbY@j(!YJ7aXJervHy6HaG_2SB`6CC{He}f zHVw(fJWApwPq!6VY7r1w-Fs)@ox~N+q|w~e;JI~C4Vf^@d>Wvj=fl`^u9x9wd9 zR%3*Q+)t%S!MU_`id^@&Y{y7-r98lZX0?YrHlfmwb?#}^1b{8g&KzmkE(L>Z&)179 zp<)v6Y}pRl100G2FL_t(o!|l{-Q-VMg#&MKg7c{O0 z2wJImOS3Gy*Z2Qifdv~JYOp;v+U)a|nLoc7hNH;I$;lzDt$}rkaFw1mYK5_0Q(Sut zvbEloxON7$+HSOgC9Z8ltuC&0OSF!-mXv5caV>#bc3@hBPX@I$58-z}(ZZE!t-aOG zpjNkbau@>yEzH(5Yj4kZiMH32XI!4~gVXNnjAvRx;Sdg^`>2DpUEwoMhTs_st8pKG z(%SHyHdU&v%f36~uERh!bd`!T2dw;z6PrOTQ7Vt*#9F2uHlUVnb#ev_o^fh}Dzmq} zWtlk35}k=?xj28uO|5>>$yXadTUE@@IPpgH`gJ~Ro4>jd1IF|(+IX>8M4Ps{PNvmI zNj4D+XgN83gPt_Gm}`Ybv{;+&yu-C(Grdiahmo~BjG-l&mWM+{e5M1sm&=xduwgM9 z`8OEh`=F3r`^E{n_;%9weN{cf2%7=VzC@cYj+lg>+3|D|_1C@{hcU(DyQG_BvBWe? zvTv``=%b1zrol#=R`JB)>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..502f463a9bc882b461c96aadf492d1729e49e725 GIT binary patch literal 586 zcmV-Q0=4~#P)+}#`wDE{8-2Mebf5<{{PqV{TgVcv*r8?UZ3{-|G?_}T*&y;@cqf{ z{Q*~+qr%%p!1pS*_Uicl#q9lc(D`!D`LN62sNwq{oYw(Wmhk)k<@f$!$@ng~_5)Ru z0Z)trIA5^j{DIW^c+vT2%lW+2<(RtE2wR;4O@)Tm`Xr*?A(qYoM}7i5Yxw>D(&6ou zxz!_Xr~yNF+waPe00049Nkl*;a!v6h%{rlvIH#gW3s8p;bFr=l}mRqpW2h zw=OA%hdyL~z+UHOzl0eKhEr$YYOL-c-%Y<)=j?(bzDweB7{b+%_ypvm_cG{SvM=DK zhv{K@m>#Bw>2W$eUI#iU)Wdgs8Y3U+A$Gd&{+j)d)BmGKx+43U_!tik_YlN)>$7G! zhkE!s;%oku3;IwG3U^2kw?z+HM)jB{@zFhK8P#KMSytSthr+4!c(5c%+^UBn`0X*2 zy3(k600_CSZj?O$Qu%&$;|TGUJrptR(HzyIx>5E(2r{eA(<6t3e3I0B)7d6s7?Z5J zZ!rtKvA{MiEBm&KFtoifx>5P^Z=vl)95XJn()aS5%ad(s?4-=Tkis9IGu{`Fy8r+H07*qoM6N<$f20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0ec303439225b78712f49115768196d8d76f6790 GIT binary patch literal 862 zcmV-k1EKthP)20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..e9f5fea27c705180eb716271f41b582e76dcbd90 GIT binary patch literal 1674 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 literal 0 HcmV?d00001 diff --git a/catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0467bf12aa4d28f374bb26596605a46dcbb3e7c8 GIT binary patch literal 1418 zcmV;51$Fv~P)q zKfU)WzW*n(@|xWGCA9ScMt*e9`2kdxPQ&&>|-UCa7_51w+ zLUsW@ZzZSW0y$)Hp~e9%PvP|a03ks1`~K?q{u;6NC8*{AOqIUq{CL&;p56Lf$oQGq z^={4hPQv)y=I|4n+?>7Fim=dxt1 z2H+Dm+1+fh+IF>G0SjJMkQQre1x4|G*Z==(Ot&kCnUrL4I(rf(ucITwmuHf^hXiJT zkdTm&kdTm&kdTm&kdP`esgWG0BcWCVkVZ&2dUwN`cgM8QJb`Z7Z~e<&Yj2(}>Tmf` zm1{eLgw!b{bXkjWbF%dTkTZEJWyWOb##Lfw4EK2}<0d6%>AGS{po>WCOy&f$Tay_> z?NBlkpo@s-O;0V%Y_Xa-G#_O08q5LR*~F%&)}{}r&L%Sbs8AS4t7Y0NEx*{soY=0MZExqA5XHQkqi#4gW3 zqODM^iyZl;dvf)-bOXtOru(s)Uc7~BFx{w-FK;2{`VA?(g&@3z&bfLFyctOH!cVsF z7IL=fo-qBndRUm;kAdXR4e6>k-z|21AaN%ubeVrHl*<|s&Ax@W-t?LR(P-24A5=>a z*R9#QvjzF8n%@1Nw@?CG@6(%>+-0ASK~jEmCV|&a*7-GKT72W<(TbSjf)&Eme6nGE z>Gkj4Sq&2e+-G%|+NM8OOm5zVl9{Z8Dd8A5z3y8mZ=4Bv4%>as_{9cN#bm~;h>62( zdqY93Zy}v&c4n($Vv!UybR8ocs7#zbfX1IY-*w~)p}XyZ-SFC~4w>BvMVr`dFbelV{lLL0bx7@*ZZdebr3`sP;? zVImji)kG)(6Juv0lz@q`F!k1FE;CQ(D0iG$wchPbKZQELlsZ#~rt8#90Y_Xh&3U-< z{s<&cCV_1`^TD^ia9!*mQDq& zn2{r`j};V|uV%_wsP!zB?m%;FeaRe+X47K0e+KE!8C{gAWF8)lCd1u1%~|M!XNRvw zvtqy3iz0WSpWdhn6$hP8PaRBmp)q`#PCA`Vd#Tc$@f1tAcM>f_I@bC)hkI9|o(Iqv zo}Piadq!j76}004RBio<`)70k^`K1NK)q>w?p^C6J2ZC!+UppiK6&y3Kmbv&O!oYF z34$0Z;QO!JOY#!`qyGH<3Pd}Pt@q*A0V=3SVtWKRR8d8Z&@)3qLPA19LPA19LPEUC YUoZo%k(ykuW&i*H07*qoM6N<$f+CH{y8r+H literal 0 HcmV?d00001 diff --git a/catalog/gallery/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/catalog/gallery/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json new file mode 100644 index 00000000..0bedcf2f --- /dev/null +++ b/catalog/gallery/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "LaunchImage.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/catalog/gallery/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/catalog/gallery/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/catalog/gallery/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/catalog/gallery/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/catalog/gallery/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/catalog/gallery/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/catalog/gallery/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/catalog/gallery/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 00000000..89c2725b --- /dev/null +++ b/catalog/gallery/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# Launch Screen Assets + +You can customize the launch screen with your own desired assets by replacing the image files in this directory. + +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. \ No newline at end of file diff --git a/catalog/gallery/ios/Runner/Base.lproj/LaunchScreen.storyboard b/catalog/gallery/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 00000000..f2e259c7 --- /dev/null +++ b/catalog/gallery/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/catalog/gallery/ios/Runner/Base.lproj/Main.storyboard b/catalog/gallery/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 00000000..08dbc278 --- /dev/null +++ b/catalog/gallery/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/catalog/gallery/ios/Runner/Info.plist b/catalog/gallery/ios/Runner/Info.plist new file mode 100644 index 00000000..6f49ae68 --- /dev/null +++ b/catalog/gallery/ios/Runner/Info.plist @@ -0,0 +1,49 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Gallery + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + gallery + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + CADisableMinimumFrameDurationOnPhone + + UIApplicationSupportsIndirectInputEvents + + + diff --git a/catalog/gallery/ios/Runner/Runner-Bridging-Header.h b/catalog/gallery/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 00000000..308a2a56 --- /dev/null +++ b/catalog/gallery/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/catalog/gallery/ios/RunnerTests/RunnerTests.swift b/catalog/gallery/ios/RunnerTests/RunnerTests.swift new file mode 100644 index 00000000..86a7c3b1 --- /dev/null +++ b/catalog/gallery/ios/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import Flutter +import UIKit +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} diff --git a/catalog/gallery/lib/catalog/catalog_app_button_screen.dart b/catalog/gallery/lib/catalog/catalog_app_button_screen.dart new file mode 100644 index 00000000..afeb8e2a --- /dev/null +++ b/catalog/gallery/lib/catalog/catalog_app_button_screen.dart @@ -0,0 +1,14 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:gallery/catalog/catalog_scaffold_screen.dart'; + +@RoutePage() +class CatalogAppButtonScreen extends StatelessWidget { + const CatalogAppButtonScreen({super.key}); + + @override + Widget build(BuildContext context) => CatalogScaffoldScreen( + title: 'Buttons', + child: Container(), + ); +} diff --git a/catalog/gallery/lib/catalog/catalog_scaffold_screen.dart b/catalog/gallery/lib/catalog/catalog_scaffold_screen.dart new file mode 100644 index 00000000..9c294008 --- /dev/null +++ b/catalog/gallery/lib/catalog/catalog_scaffold_screen.dart @@ -0,0 +1,37 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:catalog/catalog.dart'; + +@RoutePage() +class CatalogScaffoldScreen extends StatelessWidget { + final Widget child; + final String title; + + const CatalogScaffoldScreen({ + required this.child, + required this.title, + super.key, + }); + + @override + Widget build(BuildContext context) => Scaffold( + appBar: AppBar( + backgroundColor: context.theme.colors.background, + leading: IconButton( + icon: Icon( + Icons.arrow_back, + color: context.theme.colors.primary, + ), + onPressed: () => context.router.pop(), + ), + title: Text( + title, + style: TextStyle(color: context.theme.colors.primary), + ), + ), + backgroundColor: context.theme.colors.background, + body: SafeArea( + child: SingleChildScrollView(child: Center(child: child)), + ), + ); +} diff --git a/catalog/gallery/lib/catalog/catalog_text_fields_screen.dart b/catalog/gallery/lib/catalog/catalog_text_fields_screen.dart new file mode 100644 index 00000000..5fdcdce6 --- /dev/null +++ b/catalog/gallery/lib/catalog/catalog_text_fields_screen.dart @@ -0,0 +1,15 @@ +//ignore_for_file: unused-files, unused-code +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:gallery/catalog/catalog_scaffold_screen.dart'; + +@RoutePage() +class CatalogTextFieldsScreen extends StatelessWidget { + const CatalogTextFieldsScreen({super.key}); + + @override + Widget build(BuildContext context) => CatalogScaffoldScreen( + title: 'TextFields', + child: Container(), + ); +} diff --git a/catalog/gallery/lib/main.dart b/catalog/gallery/lib/main.dart new file mode 100644 index 00000000..758071e7 --- /dev/null +++ b/catalog/gallery/lib/main.dart @@ -0,0 +1,35 @@ +import 'package:catalog/catalog.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:gallery/router/catalog_router.dart'; + +void main() { + runApp(MyApp(CatalogRouter())); +} + +class MyApp extends StatelessWidget { + final CatalogRouter _router; + + const MyApp(this._router, {super.key}); + + @override + Widget build(BuildContext context) => ScreenUtilInit( + designSize: const Size(375, 812), + minTextAdapt: false, + splitScreenMode: true, + builder: (_, __) => _CatalogAppContentScreen(_router), + ); +} + +class _CatalogAppContentScreen extends StatelessWidget { + final CatalogRouter _router; + + const _CatalogAppContentScreen(this._router, {super.key}); + + @override + Widget build(BuildContext context) => MaterialApp.router( + theme: AppTheme.provideAppTheme(context), + routerConfig: _router.config(), + builder: (context, child) => child!, + ); +} diff --git a/catalog/gallery/lib/main/catalog_main_screen.dart b/catalog/gallery/lib/main/catalog_main_screen.dart new file mode 100644 index 00000000..ca963ef4 --- /dev/null +++ b/catalog/gallery/lib/main/catalog_main_screen.dart @@ -0,0 +1,67 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:catalog/catalog.dart'; +import 'package:flutter/material.dart'; +import 'package:gallery/router/catalog_router.dart'; + +@RoutePage() +class CatalogMainScreen extends StatelessWidget { + const CatalogMainScreen({super.key}); + + @override + Widget build(BuildContext context) => Scaffold( + backgroundColor: context.theme.colors.background, + appBar: AppBar( + backgroundColor: context.theme.colors.background, + centerTitle: true, + title: Text( + 'Widget Catalog', + style: context.theme.textStyles.labelLarge?.copyWith( + color: context.theme.colors.primary, + ), + ), + ), + body: ListView.separated( + separatorBuilder: (BuildContext context, int index) => + const Divider(), + itemCount: _CatalogScreen.values.length, + itemBuilder: (BuildContext context, int index) { + final element = _CatalogScreen.values[index]; + return Row( + children: [ + Expanded( + child: TextButton( + child: Text(element.title), + onPressed: () => context.router.push(element.route), + ), + ), + ], + ); + }, + ), + ); +} + +enum _CatalogScreen { + buttons, + textFields, +} + +extension _CatalogScreenExtensions on _CatalogScreen { + String get title { + switch (this) { + case _CatalogScreen.buttons: + return 'Buttons'; + case _CatalogScreen.textFields: + return 'Text Fields'; + } + } + + PageRouteInfo get route { + switch (this) { + case _CatalogScreen.buttons: + return const CatalogAppButtonRoute(); + case _CatalogScreen.textFields: + return const CatalogTextFieldsRoute(); + } + } +} diff --git a/catalog/gallery/lib/main/catalog_section.dart b/catalog/gallery/lib/main/catalog_section.dart new file mode 100644 index 00000000..ad530a4a --- /dev/null +++ b/catalog/gallery/lib/main/catalog_section.dart @@ -0,0 +1,14 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/widgets.dart'; + +@RoutePage(name: 'CatalogSectionRouter') +class CatalogSectionRouterPage extends CatalogSectionRouter { + const CatalogSectionRouterPage({super.key}); +} + +class CatalogSectionRouter extends StatelessWidget { + const CatalogSectionRouter({super.key}); + + @override + Widget build(BuildContext context) => const SafeArea(child: AutoRouter()); +} diff --git a/catalog/gallery/lib/router/catalog_router.dart b/catalog/gallery/lib/router/catalog_router.dart new file mode 100644 index 00000000..b95c65cc --- /dev/null +++ b/catalog/gallery/lib/router/catalog_router.dart @@ -0,0 +1,29 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:gallery/catalog/catalog_app_button_screen.dart'; +import 'package:gallery/catalog/catalog_text_fields_screen.dart'; +import 'package:gallery/main/catalog_main_screen.dart'; +import 'package:gallery/main/catalog_section.dart'; + +part 'catalog_router.gr.dart'; + +@AutoRouterConfig( + replaceInRouteName: 'Page|Screen|Router,Route', +) +class CatalogRouter extends _$CatalogRouter { + @override + final List routes; + + CatalogRouter() + : routes = [ + AutoRoute( + page: CatalogSectionRouter.page, + path: '/', + children: [ + RedirectRoute(path: '', redirectTo: 'main'), + AutoRoute(page: CatalogAppButtonRoute.page), + AutoRoute(page: CatalogMainRoute.page, path: 'main'), + AutoRoute(page: CatalogTextFieldsRoute.page), + ], + ), + ]; +} diff --git a/catalog/gallery/lib/router/catalog_router.gr.dart b/catalog/gallery/lib/router/catalog_router.gr.dart new file mode 100644 index 00000000..9f38820c --- /dev/null +++ b/catalog/gallery/lib/router/catalog_router.gr.dart @@ -0,0 +1,99 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +// ************************************************************************** +// AutoRouterGenerator +// ************************************************************************** + +// ignore_for_file: type=lint +// coverage:ignore-file + +part of 'catalog_router.dart'; + +abstract class _$CatalogRouter extends RootStackRouter { + // ignore: unused_element + _$CatalogRouter({super.navigatorKey}); + + @override + final Map pagesMap = { + CatalogAppButtonRoute.name: (routeData) { + return AutoRoutePage( + routeData: routeData, + child: const CatalogAppButtonScreen(), + ); + }, + CatalogMainRoute.name: (routeData) { + return AutoRoutePage( + routeData: routeData, + child: const CatalogMainScreen(), + ); + }, + CatalogSectionRouter.name: (routeData) { + return AutoRoutePage( + routeData: routeData, + child: const CatalogSectionRouterPage(), + ); + }, + CatalogTextFieldsRoute.name: (routeData) { + return AutoRoutePage( + routeData: routeData, + child: const CatalogTextFieldsScreen(), + ); + }, + }; +} + +/// generated route for +/// [CatalogAppButtonScreen] +class CatalogAppButtonRoute extends PageRouteInfo { + const CatalogAppButtonRoute({List? children}) + : super( + CatalogAppButtonRoute.name, + initialChildren: children, + ); + + static const String name = 'CatalogAppButtonRoute'; + + static const PageInfo page = PageInfo(name); +} + +/// generated route for +/// [CatalogMainScreen] +class CatalogMainRoute extends PageRouteInfo { + const CatalogMainRoute({List? children}) + : super( + CatalogMainRoute.name, + initialChildren: children, + ); + + static const String name = 'CatalogMainRoute'; + + static const PageInfo page = PageInfo(name); +} + +/// generated route for +/// [CatalogSectionRouterPage] +class CatalogSectionRouter extends PageRouteInfo { + const CatalogSectionRouter({List? children}) + : super( + CatalogSectionRouter.name, + initialChildren: children, + ); + + static const String name = 'CatalogSectionRouter'; + + static const PageInfo page = PageInfo(name); +} + +/// generated route for +/// [CatalogTextFieldsScreen] +class CatalogTextFieldsRoute extends PageRouteInfo { + const CatalogTextFieldsRoute({List? children}) + : super( + CatalogTextFieldsRoute.name, + initialChildren: children, + ); + + static const String name = 'CatalogTextFieldsRoute'; + + static const PageInfo page = PageInfo(name); +} diff --git a/catalog/gallery/pubspec.lock b/catalog/gallery/pubspec.lock new file mode 100644 index 00000000..e39a9926 --- /dev/null +++ b/catalog/gallery/pubspec.lock @@ -0,0 +1,708 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + sha256: ae92f5d747aee634b87f89d9946000c2de774be1d6ac3e58268224348cd0101a + url: "https://pub.dev" + source: hosted + version: "61.0.0" + analyzer: + dependency: transitive + description: + name: analyzer + sha256: ea3d8652bda62982addfd92fdc2d0214e5f82e43325104990d4f4c4a2a313562 + url: "https://pub.dev" + source: hosted + version: "5.13.0" + args: + dependency: transitive + description: + name: args + sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 + url: "https://pub.dev" + source: hosted + version: "2.4.2" + async: + dependency: transitive + description: + name: async + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + url: "https://pub.dev" + source: hosted + version: "2.11.0" + auto_route: + dependency: "direct main" + description: + name: auto_route + sha256: "72f21e8b6cbbe25f02ea69183e024996530bf495cc1b077a49e0ec6726f0c271" + url: "https://pub.dev" + source: hosted + version: "7.8.3" + auto_route_generator: + dependency: "direct dev" + description: + name: auto_route_generator + sha256: e7aa9ab44b77cd31a4619d94db645ab5736e543fd0b4c6058c281249e479dfb8 + url: "https://pub.dev" + source: hosted + version: "7.3.1" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + build: + dependency: transitive + description: + name: build + sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + build_config: + dependency: transitive + description: + name: build_config + sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 + url: "https://pub.dev" + source: hosted + version: "1.1.1" + build_daemon: + dependency: transitive + description: + name: build_daemon + sha256: "5f02d73eb2ba16483e693f80bee4f088563a820e47d1027d4cdfe62b5bb43e65" + url: "https://pub.dev" + source: hosted + version: "4.0.0" + build_resolvers: + dependency: transitive + description: + name: build_resolvers + sha256: "64e12b0521812d1684b1917bc80945625391cb9bdd4312536b1d69dcb6133ed8" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + build_runner: + dependency: "direct dev" + description: + name: build_runner + sha256: "10c6bcdbf9d049a0b666702cf1cee4ddfdc38f02a19d35ae392863b47519848b" + url: "https://pub.dev" + source: hosted + version: "2.4.6" + build_runner_core: + dependency: transitive + description: + name: build_runner_core + sha256: c9e32d21dd6626b5c163d48b037ce906bbe428bc23ab77bcd77bb21e593b6185 + url: "https://pub.dev" + source: hosted + version: "7.2.11" + built_collection: + dependency: transitive + description: + name: built_collection + sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" + url: "https://pub.dev" + source: hosted + version: "5.1.1" + built_value: + dependency: transitive + description: + name: built_value + sha256: "723b4021e903217dfc445ec4cf5b42e27975aece1fc4ebbc1ca6329c2d9fb54e" + url: "https://pub.dev" + source: hosted + version: "8.7.0" + catalog: + dependency: "direct main" + description: + path: ".." + relative: true + source: path + version: "0.0.1" + characters: + dependency: transitive + description: + name: characters + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + url: "https://pub.dev" + source: hosted + version: "1.3.0" + checked_yaml: + dependency: transitive + description: + name: checked_yaml + sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff + url: "https://pub.dev" + source: hosted + version: "2.0.3" + clock: + dependency: transitive + description: + name: clock + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" + source: hosted + version: "1.1.1" + code_builder: + dependency: transitive + description: + name: code_builder + sha256: "1be9be30396d7e4c0db42c35ea6ccd7cc6a1e19916b5dc64d6ac216b5544d677" + url: "https://pub.dev" + source: hosted + version: "4.7.0" + collection: + dependency: transitive + description: + name: collection + sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 + url: "https://pub.dev" + source: hosted + version: "1.17.2" + color: + dependency: transitive + description: + name: color + sha256: ddcdf1b3badd7008233f5acffaf20ca9f5dc2cd0172b75f68f24526a5f5725cb + url: "https://pub.dev" + source: hosted + version: "3.0.0" + convert: + dependency: transitive + description: + name: convert + sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + url: "https://pub.dev" + source: hosted + version: "3.1.1" + crypto: + dependency: transitive + description: + name: crypto + sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + url: "https://pub.dev" + source: hosted + version: "3.0.3" + dart_style: + dependency: transitive + description: + name: dart_style + sha256: "1efa911ca7086affd35f463ca2fc1799584fb6aa89883cf0af8e3664d6a02d55" + url: "https://pub.dev" + source: hosted + version: "2.3.2" + dartx: + dependency: transitive + description: + name: dartx + sha256: "8b25435617027257d43e6508b5fe061012880ddfdaa75a71d607c3de2a13d244" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + fake_async: + dependency: transitive + description: + name: fake_async + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" + source: hosted + version: "1.3.1" + ffi: + dependency: transitive + description: + name: ffi + sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + file: + dependency: transitive + description: + name: file + sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" + url: "https://pub.dev" + source: hosted + version: "7.0.0" + fixnum: + dependency: transitive + description: + name: fixnum + sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_gen_core: + dependency: transitive + description: + name: flutter_gen_core + sha256: e8637dd6a59860f89e5e71be0a27101ec32dad1a0ed7fd879fd23b6e91d5004d + url: "https://pub.dev" + source: hosted + version: "5.3.1" + flutter_gen_runner: + dependency: "direct dev" + description: + name: flutter_gen_runner + sha256: "7de1bf4fc0439be0fef3178b6423d5c7f1f9f3a38a7c6fafe75d7f70ff4856d7" + url: "https://pub.dev" + source: hosted + version: "5.3.1" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + sha256: e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7 + url: "https://pub.dev" + source: hosted + version: "3.0.1" + flutter_screenutil: + dependency: "direct main" + description: + name: flutter_screenutil + sha256: "8cf100b8e4973dc570b6415a2090b0bfaa8756ad333db46939efc3e774ee100d" + url: "https://pub.dev" + source: hosted + version: "5.9.0" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + frontend_server_client: + dependency: transitive + description: + name: frontend_server_client + sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" + url: "https://pub.dev" + source: hosted + version: "3.2.0" + glob: + dependency: transitive + description: + name: glob + sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + google_fonts: + dependency: "direct main" + description: + name: google_fonts + sha256: e20ff62b158b96f392bfc8afe29dee1503c94fbea2cbe8186fd59b756b8ae982 + url: "https://pub.dev" + source: hosted + version: "5.1.0" + graphs: + dependency: transitive + description: + name: graphs + sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19 + url: "https://pub.dev" + source: hosted + version: "2.3.1" + http: + dependency: transitive + description: + name: http + sha256: "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + http_multi_server: + dependency: transitive + description: + name: http_multi_server + sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" + url: "https://pub.dev" + source: hosted + version: "3.2.1" + http_parser: + dependency: transitive + description: + name: http_parser + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" + source: hosted + version: "4.0.2" + io: + dependency: transitive + description: + name: io + sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" + url: "https://pub.dev" + source: hosted + version: "1.0.4" + js: + dependency: transitive + description: + name: js + sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + url: "https://pub.dev" + source: hosted + version: "0.6.7" + json_annotation: + dependency: transitive + description: + name: json_annotation + sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 + url: "https://pub.dev" + source: hosted + version: "4.8.1" + lints: + dependency: "direct dev" + description: + name: lints + sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + url: "https://pub.dev" + source: hosted + version: "3.0.0" + logging: + dependency: transitive + description: + name: logging + sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + matcher: + dependency: transitive + description: + name: matcher + sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + url: "https://pub.dev" + source: hosted + version: "0.12.16" + material_color_generator: + dependency: "direct main" + description: + name: material_color_generator + sha256: fa0ffc12d7cf6f13c41e35ac7f4265a49ec2f201b41b268fd8061da3bcc41131 + url: "https://pub.dev" + source: hosted + version: "1.1.0" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" + url: "https://pub.dev" + source: hosted + version: "0.5.0" + meta: + dependency: transitive + description: + name: meta + sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" + url: "https://pub.dev" + source: hosted + version: "1.9.1" + mime: + dependency: transitive + description: + name: mime + sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e + url: "https://pub.dev" + source: hosted + version: "1.0.4" + package_config: + dependency: transitive + description: + name: package_config + sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + path: + dependency: transitive + description: + name: path + sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + url: "https://pub.dev" + source: hosted + version: "1.8.3" + path_provider: + dependency: transitive + description: + name: path_provider + sha256: a1aa8aaa2542a6bc57e381f132af822420216c80d4781f7aa085ca3229208aaa + url: "https://pub.dev" + source: hosted + version: "2.1.1" + path_provider_android: + dependency: transitive + description: + name: path_provider_android + sha256: e595b98692943b4881b219f0a9e3945118d3c16bd7e2813f98ec6e532d905f72 + url: "https://pub.dev" + source: hosted + version: "2.2.1" + path_provider_foundation: + dependency: transitive + description: + name: path_provider_foundation + sha256: "19314d595120f82aca0ba62787d58dde2cc6b5df7d2f0daf72489e38d1b57f2d" + url: "https://pub.dev" + source: hosted + version: "2.3.1" + path_provider_linux: + dependency: transitive + description: + name: path_provider_linux + sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 + url: "https://pub.dev" + source: hosted + version: "2.2.1" + path_provider_platform_interface: + dependency: transitive + description: + name: path_provider_platform_interface + sha256: "94b1e0dd80970c1ce43d5d4e050a9918fce4f4a775e6142424c30a29a363265c" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + path_provider_windows: + dependency: transitive + description: + name: path_provider_windows + sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170" + url: "https://pub.dev" + source: hosted + version: "2.2.1" + petitparser: + dependency: transitive + description: + name: petitparser + sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750 + url: "https://pub.dev" + source: hosted + version: "5.4.0" + platform: + dependency: transitive + description: + name: platform + sha256: "0a279f0707af40c890e80b1e9df8bb761694c074ba7e1d4ab1bc4b728e200b59" + url: "https://pub.dev" + source: hosted + version: "3.1.3" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + sha256: da3fdfeccc4d4ff2da8f8c556704c08f912542c5fb3cf2233ed75372384a034d + url: "https://pub.dev" + source: hosted + version: "2.1.6" + pool: + dependency: transitive + description: + name: pool + sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" + url: "https://pub.dev" + source: hosted + version: "1.5.1" + pub_semver: + dependency: transitive + description: + name: pub_semver + sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + pubspec_parse: + dependency: transitive + description: + name: pubspec_parse + sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367 + url: "https://pub.dev" + source: hosted + version: "1.2.3" + shelf: + dependency: transitive + description: + name: shelf + sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4 + url: "https://pub.dev" + source: hosted + version: "1.4.1" + shelf_web_socket: + dependency: transitive + description: + name: shelf_web_socket + sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" + url: "https://pub.dev" + source: hosted + version: "1.0.4" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_gen: + dependency: transitive + description: + name: source_gen + sha256: fc0da689e5302edb6177fdd964efcb7f58912f43c28c2047a808f5bfff643d16 + url: "https://pub.dev" + source: hosted + version: "1.4.0" + source_span: + dependency: transitive + description: + name: source_span + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + url: "https://pub.dev" + source: hosted + version: "1.10.0" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + url: "https://pub.dev" + source: hosted + version: "1.11.0" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + stream_transform: + dependency: transitive + description: + name: stream_transform + sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" + source: hosted + version: "1.2.1" + test_api: + dependency: transitive + description: + name: test_api + sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8" + url: "https://pub.dev" + source: hosted + version: "0.6.0" + time: + dependency: transitive + description: + name: time + sha256: "83427e11d9072e038364a5e4da559e85869b227cf699a541be0da74f14140124" + url: "https://pub.dev" + source: hosted + version: "2.1.3" + timing: + dependency: transitive + description: + name: timing + sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32" + url: "https://pub.dev" + source: hosted + version: "1.0.1" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + url: "https://pub.dev" + source: hosted + version: "1.3.2" + vector_math: + dependency: transitive + description: + name: vector_math + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + watcher: + dependency: transitive + description: + name: watcher + sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + web: + dependency: transitive + description: + name: web + sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 + url: "https://pub.dev" + source: hosted + version: "0.1.4-beta" + web_socket_channel: + dependency: transitive + description: + name: web_socket_channel + sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b + url: "https://pub.dev" + source: hosted + version: "2.4.0" + win32: + dependency: transitive + description: + name: win32 + sha256: "350a11abd2d1d97e0cc7a28a81b781c08002aa2864d9e3f192ca0ffa18b06ed3" + url: "https://pub.dev" + source: hosted + version: "5.0.9" + xdg_directories: + dependency: transitive + description: + name: xdg_directories + sha256: "589ada45ba9e39405c198fe34eb0f607cddb2108527e658136120892beac46d2" + url: "https://pub.dev" + source: hosted + version: "1.0.3" + xml: + dependency: transitive + description: + name: xml + sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84" + url: "https://pub.dev" + source: hosted + version: "6.3.0" + yaml: + dependency: transitive + description: + name: yaml + sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + url: "https://pub.dev" + source: hosted + version: "3.1.2" +sdks: + dart: ">=3.1.0-185.0.dev <4.0.0" + flutter: ">=3.13.9" diff --git a/catalog/gallery/pubspec.yaml b/catalog/gallery/pubspec.yaml new file mode 100644 index 00000000..63aa69d2 --- /dev/null +++ b/catalog/gallery/pubspec.yaml @@ -0,0 +1,34 @@ +name: gallery +description: A new Flutter project. +publish_to: 'none' # Remove this line if you wish to publish to pub.dev +version: 1.0.0+1 + +environment: + sdk: '>=3.0.0 <4.0.0' + flutter: 3.13.9 + +# Dependencies specify other packages that your package needs in order to work. +# To automatically upgrade your package dependencies to the latest versions +# consider running `flutter pub upgrade --major-versions`. Alternatively, +# dependencies can be manually updated by changing the version numbers below to +# the latest version available on pub.dev. To see which dependencies have newer +# versions available, run `flutter pub outdated`. +dependencies: + flutter: + sdk: flutter + catalog: + path: ../../catalog + + auto_route: 7.8.3 + flutter_screenutil: 5.9.0 + material_color_generator: 1.1.0 + google_fonts: 5.1.0 + +dev_dependencies: + flutter_test: + sdk: flutter + flutter_lints: 3.0.1 + auto_route_generator: 7.3.1 + flutter_gen_runner: 5.3.1 + build_runner: 2.4.6 + lints: 3.0.0 diff --git a/catalog/gallery/test/widget_test.dart b/catalog/gallery/test/widget_test.dart new file mode 100644 index 00000000..fc60b1df --- /dev/null +++ b/catalog/gallery/test/widget_test.dart @@ -0,0 +1,31 @@ +// This is a basic Flutter widget test. +// +// To perform an interaction with a widget in your test, use the WidgetTester +// utility in the flutter_test package. For example, you can send tap and scroll +// gestures. You can also use WidgetTester to find child widgets in the widget +// tree, read text, and verify that the values of widget properties are correct. + +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import 'package:gallery/main.dart'; +import 'package:gallery/router/catalog_router.dart'; + +void main() { + testWidgets('Counter increments smoke test', (WidgetTester tester) async { + // Build our app and trigger a frame. + await tester.pumpWidget(MyApp(CatalogRouter())); + + // Verify that our counter starts at 0. + expect(find.text('0'), findsOneWidget); + expect(find.text('1'), findsNothing); + + // Tap the '+' icon and trigger a frame. + await tester.tap(find.byIcon(Icons.add)); + await tester.pump(); + + // Verify that our counter has incremented. + expect(find.text('0'), findsNothing); + expect(find.text('1'), findsOneWidget); + }); +} diff --git a/catalog/gallery/web/favicon.png b/catalog/gallery/web/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..8aaa46ac1ae21512746f852a42ba87e4165dfdd1 GIT binary patch literal 917 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0X7 zltGxWVyS%@P(fs7NJL45ua8x7ey(0(N`6wRUPW#JP&EUCO@$SZnVVXYs8ErclUHn2 zVXFjIVFhG^g!Ppaz)DK8ZIvQ?0~DO|i&7O#^-S~(l1AfjnEK zjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(yU7!lx;>x^|#0uTKVr7USFmqf|i<65o z3raHc^AtelCMM;Vme?vOfh>Xph&xL%(-1c06+^uR^q@XSM&D4+Kp$>4P^%3{)XKjo zGZknv$b36P8?Z_gF{nK@`XI}Z90TzwSQO}0J1!f2c(B=V`5aP@1P1a|PZ!4!3&Gl8 zTYqUsf!gYFyJnXpu0!n&N*SYAX-%d(5gVjrHJWqXQshj@!Zm{!01WsQrH~9=kTxW#6SvuapgMqt>$=j#%eyGrQzr zP{L-3gsMA^$I1&gsBAEL+vxi1*Igl=8#8`5?A-T5=z-sk46WA1IUT)AIZHx1rdUrf zVJrJn<74DDw`j)Ki#gt}mIT-Q`XRa2-jQXQoI%w`nb|XblvzK${ZzlV)m-XcwC(od z71_OEC5Bt9GEXosOXaPTYOia#R4ID2TiU~`zVMl08TV_C%DnU4^+HE>9(CE4D6?Fz oujB08i7adh9xk7*FX66dWH6F5TM;?E2b5PlUHx3vIVCg!0Dx9vYXATM literal 0 HcmV?d00001 diff --git a/catalog/gallery/web/icons/Icon-192.png b/catalog/gallery/web/icons/Icon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..b749bfef07473333cf1dd31e9eed89862a5d52aa GIT binary patch literal 5292 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 literal 0 HcmV?d00001 diff --git a/catalog/gallery/web/icons/Icon-512.png b/catalog/gallery/web/icons/Icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..88cfd48dff1169879ba46840804b412fe02fefd6 GIT binary patch literal 8252 zcmd5=2T+s!lYZ%-(h(2@5fr2dC?F^$C=i-}R6$UX8af(!je;W5yC_|HmujSgN*6?W z3knF*TL1$|?oD*=zPbBVex*RUIKsL<(&Rj9%^UD2IK3W?2j>D?eWQgvS-HLymHo9%~|N2Q{~j za?*X-{b9JRowv_*Mh|;*-kPFn>PI;r<#kFaxFqbn?aq|PduQg=2Q;~Qc}#z)_T%x9 zE|0!a70`58wjREmAH38H1)#gof)U3g9FZ^ zF7&-0^Hy{4XHWLoC*hOG(dg~2g6&?-wqcpf{ z&3=o8vw7lMi22jCG9RQbv8H}`+}9^zSk`nlR8?Z&G2dlDy$4#+WOlg;VHqzuE=fM@ z?OI6HEJH4&tA?FVG}9>jAnq_^tlw8NbjNhfqk2rQr?h(F&WiKy03Sn=-;ZJRh~JrD zbt)zLbnabttEZ>zUiu`N*u4sfQaLE8-WDn@tHp50uD(^r-}UsUUu)`!Rl1PozAc!a z?uj|2QDQ%oV-jxUJmJycySBINSKdX{kDYRS=+`HgR2GO19fg&lZKyBFbbXhQV~v~L za^U944F1_GtuFXtvDdDNDvp<`fqy);>Vw=ncy!NB85Tw{&sT5&Ox%-p%8fTS;OzlRBwErvO+ROe?{%q-Zge=%Up|D4L#>4K@Ke=x%?*^_^P*KD zgXueMiS63!sEw@fNLB-i^F|@Oib+S4bcy{eu&e}Xvb^(mA!=U=Xr3||IpV~3K zQWzEsUeX_qBe6fky#M zzOJm5b+l;~>=sdp%i}}0h zO?B?i*W;Ndn02Y0GUUPxERG`3Bjtj!NroLoYtyVdLtl?SE*CYpf4|_${ku2s`*_)k zN=a}V8_2R5QANlxsq!1BkT6$4>9=-Ix4As@FSS;1q^#TXPrBsw>hJ}$jZ{kUHoP+H zvoYiR39gX}2OHIBYCa~6ERRPJ#V}RIIZakUmuIoLF*{sO8rAUEB9|+A#C|@kw5>u0 zBd=F!4I)Be8ycH*)X1-VPiZ+Ts8_GB;YW&ZFFUo|Sw|x~ZajLsp+_3gv((Q#N>?Jz zFBf`~p_#^${zhPIIJY~yo!7$-xi2LK%3&RkFg}Ax)3+dFCjGgKv^1;lUzQlPo^E{K zmCnrwJ)NuSaJEmueEPO@(_6h3f5mFffhkU9r8A8(JC5eOkux{gPmx_$Uv&|hyj)gN zd>JP8l2U&81@1Hc>#*su2xd{)T`Yw< zN$dSLUN}dfx)Fu`NcY}TuZ)SdviT{JHaiYgP4~@`x{&h*Hd>c3K_To9BnQi@;tuoL z%PYQo&{|IsM)_>BrF1oB~+`2_uZQ48z9!)mtUR zdfKE+b*w8cPu;F6RYJiYyV;PRBbThqHBEu_(U{(gGtjM}Zi$pL8Whx}<JwE3RM0F8x7%!!s)UJVq|TVd#hf1zVLya$;mYp(^oZQ2>=ZXU1c$}f zm|7kfk>=4KoQoQ!2&SOW5|JP1)%#55C$M(u4%SP~tHa&M+=;YsW=v(Old9L3(j)`u z2?#fK&1vtS?G6aOt@E`gZ9*qCmyvc>Ma@Q8^I4y~f3gs7*d=ATlP>1S zyF=k&6p2;7dn^8?+!wZO5r~B+;@KXFEn^&C=6ma1J7Au6y29iMIxd7#iW%=iUzq&C=$aPLa^Q zncia$@TIy6UT@69=nbty5epP>*fVW@5qbUcb2~Gg75dNd{COFLdiz3}kODn^U*=@E z0*$7u7Rl2u)=%fk4m8EK1ctR!6%Ve`e!O20L$0LkM#f+)n9h^dn{n`T*^~d+l*Qlx z$;JC0P9+en2Wlxjwq#z^a6pdnD6fJM!GV7_%8%c)kc5LZs_G^qvw)&J#6WSp< zmsd~1-(GrgjC56Pdf6#!dt^y8Rg}!#UXf)W%~PeU+kU`FeSZHk)%sFv++#Dujk-~m zFHvVJC}UBn2jN& zs!@nZ?e(iyZPNo`p1i#~wsv9l@#Z|ag3JR>0#u1iW9M1RK1iF6-RbJ4KYg?B`dET9 zyR~DjZ>%_vWYm*Z9_+^~hJ_|SNTzBKx=U0l9 z9x(J96b{`R)UVQ$I`wTJ@$_}`)_DyUNOso6=WOmQKI1e`oyYy1C&%AQU<0-`(ow)1 zT}gYdwWdm4wW6|K)LcfMe&psE0XGhMy&xS`@vLi|1#Za{D6l@#D!?nW87wcscUZgELT{Cz**^;Zb~7 z(~WFRO`~!WvyZAW-8v!6n&j*PLm9NlN}BuUN}@E^TX*4Or#dMMF?V9KBeLSiLO4?B zcE3WNIa-H{ThrlCoN=XjOGk1dT=xwwrmt<1a)mrRzg{35`@C!T?&_;Q4Ce=5=>z^*zE_c(0*vWo2_#TD<2)pLXV$FlwP}Ik74IdDQU@yhkCr5h zn5aa>B7PWy5NQ!vf7@p_qtC*{dZ8zLS;JetPkHi>IvPjtJ#ThGQD|Lq#@vE2xdl%`x4A8xOln}BiQ92Po zW;0%A?I5CQ_O`@Ad=`2BLPPbBuPUp@Hb%a_OOI}y{Rwa<#h z5^6M}s7VzE)2&I*33pA>e71d78QpF>sNK;?lj^Kl#wU7G++`N_oL4QPd-iPqBhhs| z(uVM}$ItF-onXuuXO}o$t)emBO3Hjfyil@*+GF;9j?`&67GBM;TGkLHi>@)rkS4Nj zAEk;u)`jc4C$qN6WV2dVd#q}2X6nKt&X*}I@jP%Srs%%DS92lpDY^K*Sx4`l;aql$ zt*-V{U&$DM>pdO?%jt$t=vg5|p+Rw?SPaLW zB6nvZ69$ne4Z(s$3=Rf&RX8L9PWMV*S0@R zuIk&ba#s6sxVZ51^4Kon46X^9`?DC9mEhWB3f+o4#2EXFqy0(UTc>GU| zGCJmI|Dn-dX#7|_6(fT)>&YQ0H&&JX3cTvAq(a@ydM4>5Njnuere{J8p;3?1az60* z$1E7Yyxt^ytULeokgDnRVKQw9vzHg1>X@@jM$n$HBlveIrKP5-GJq%iWH#odVwV6cF^kKX(@#%%uQVb>#T6L^mC@)%SMd4DF? zVky!~ge27>cpUP1Vi}Z32lbLV+CQy+T5Wdmva6Fg^lKb!zrg|HPU=5Qu}k;4GVH+x z%;&pN1LOce0w@9i1Mo-Y|7|z}fbch@BPp2{&R-5{GLoeu8@limQmFF zaJRR|^;kW_nw~0V^ zfTnR!Ni*;-%oSHG1yItARs~uxra|O?YJxBzLjpeE-=~TO3Dn`JL5Gz;F~O1u3|FE- zvK2Vve`ylc`a}G`gpHg58Cqc9fMoy1L}7x7T>%~b&irrNMo?np3`q;d3d;zTK>nrK zOjPS{@&74-fA7j)8uT9~*g23uGnxwIVj9HorzUX#s0pcp2?GH6i}~+kv9fWChtPa_ z@T3m+$0pbjdQw7jcnHn;Pi85hk_u2-1^}c)LNvjdam8K-XJ+KgKQ%!?2n_!#{$H|| zLO=%;hRo6EDmnOBKCL9Cg~ETU##@u^W_5joZ%Et%X_n##%JDOcsO=0VL|Lkk!VdRJ z^|~2pB@PUspT?NOeO?=0Vb+fAGc!j%Ufn-cB`s2A~W{Zj{`wqWq_-w0wr@6VrM zbzni@8c>WS!7c&|ZR$cQ;`niRw{4kG#e z70e!uX8VmP23SuJ*)#(&R=;SxGAvq|&>geL&!5Z7@0Z(No*W561n#u$Uc`f9pD70# z=sKOSK|bF~#khTTn)B28h^a1{;>EaRnHj~>i=Fnr3+Fa4 z`^+O5_itS#7kPd20rq66_wH`%?HNzWk@XFK0n;Z@Cx{kx==2L22zWH$Yg?7 zvDj|u{{+NR3JvUH({;b*$b(U5U z7(lF!1bz2%06+|-v(D?2KgwNw7( zJB#Tz+ZRi&U$i?f34m7>uTzO#+E5cbaiQ&L}UxyOQq~afbNB4EI{E04ZWg53w0A{O%qo=lF8d zf~ktGvIgf-a~zQoWf>loF7pOodrd0a2|BzwwPDV}ShauTK8*fmF6NRbO>Iw9zZU}u zw8Ya}?seBnEGQDmH#XpUUkj}N49tP<2jYwTFp!P+&Fd(%Z#yo80|5@zN(D{_pNow*&4%ql zW~&yp@scb-+Qj-EmErY+Tu=dUmf@*BoXY2&oKT8U?8?s1d}4a`Aq>7SV800m$FE~? zjmz(LY+Xx9sDX$;vU`xgw*jLw7dWOnWWCO8o|;}f>cu0Q&`0I{YudMn;P;L3R-uz# zfns_mZED_IakFBPP2r_S8XM$X)@O-xVKi4`7373Jkd5{2$M#%cRhWer3M(vr{S6>h zj{givZJ3(`yFL@``(afn&~iNx@B1|-qfYiZu?-_&Z8+R~v`d6R-}EX9IVXWO-!hL5 z*k6T#^2zAXdardU3Ao~I)4DGdAv2bx{4nOK`20rJo>rmk3S2ZDu}))8Z1m}CKigf0 z3L`3Y`{huj`xj9@`$xTZzZc3je?n^yG<8sw$`Y%}9mUsjUR%T!?k^(q)6FH6Af^b6 zlPg~IEwg0y;`t9y;#D+uz!oE4VP&Je!<#q*F?m5L5?J3i@!0J6q#eu z!RRU`-)HeqGi_UJZ(n~|PSNsv+Wgl{P-TvaUQ9j?ZCtvb^37U$sFpBrkT{7Jpd?HpIvj2!}RIq zH{9~+gErN2+}J`>Jvng2hwM`=PLNkc7pkjblKW|+Fk9rc)G1R>Ww>RC=r-|!m-u7( zc(a$9NG}w#PjWNMS~)o=i~WA&4L(YIW25@AL9+H9!?3Y}sv#MOdY{bb9j>p`{?O(P zIvb`n?_(gP2w3P#&91JX*md+bBEr%xUHMVqfB;(f?OPtMnAZ#rm5q5mh;a2f_si2_ z3oXWB?{NF(JtkAn6F(O{z@b76OIqMC$&oJ_&S|YbFJ*)3qVX_uNf5b8(!vGX19hsG z(OP>RmZp29KH9Ge2kKjKigUmOe^K_!UXP`von)PR8Qz$%=EmOB9xS(ZxE_tnyzo}7 z=6~$~9k0M~v}`w={AeqF?_)9q{m8K#6M{a&(;u;O41j)I$^T?lx5(zlebpY@NT&#N zR+1bB)-1-xj}R8uwqwf=iP1GbxBjneCC%UrSdSxK1vM^i9;bUkS#iRZw2H>rS<2<$ zNT3|sDH>{tXb=zq7XZi*K?#Zsa1h1{h5!Tq_YbKFm_*=A5-<~j63he;4`77!|LBlo zR^~tR3yxcU=gDFbshyF6>o0bdp$qmHS7D}m3;^QZq9kBBU|9$N-~oU?G5;jyFR7>z hN`IR97YZXIo@y!QgFWddJ3|0`sjFx!m))><{BI=FK%f8s literal 0 HcmV?d00001 diff --git a/catalog/gallery/web/icons/Icon-maskable-192.png b/catalog/gallery/web/icons/Icon-maskable-192.png new file mode 100644 index 0000000000000000000000000000000000000000..eb9b4d76e525556d5d89141648c724331630325d GIT binary patch literal 5594 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 X>c!)3PgKfL&lX^$Z>Cpu&6)6jvi^Z! literal 0 HcmV?d00001 diff --git a/catalog/gallery/web/icons/Icon-maskable-512.png b/catalog/gallery/web/icons/Icon-maskable-512.png new file mode 100644 index 0000000000000000000000000000000000000000..d69c56691fbdb0b7efa65097c7cc1edac12a6d3e GIT binary patch literal 20998 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 MPgg&ebxsLQ025IeI{*Lx literal 0 HcmV?d00001 diff --git a/catalog/gallery/web/index.html b/catalog/gallery/web/index.html new file mode 100644 index 00000000..23dfc569 --- /dev/null +++ b/catalog/gallery/web/index.html @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + gallery + + + + + + + + + + diff --git a/catalog/gallery/web/manifest.json b/catalog/gallery/web/manifest.json new file mode 100644 index 00000000..cf706d7d --- /dev/null +++ b/catalog/gallery/web/manifest.json @@ -0,0 +1,35 @@ +{ + "name": "gallery", + "short_name": "gallery", + "start_url": ".", + "display": "standalone", + "background_color": "#0175C2", + "theme_color": "#0175C2", + "description": "A new Flutter project.", + "orientation": "portrait-primary", + "prefer_related_applications": false, + "icons": [ + { + "src": "icons/Icon-192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "icons/Icon-512.png", + "sizes": "512x512", + "type": "image/png" + }, + { + "src": "icons/Icon-maskable-192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "icons/Icon-maskable-512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ] +} diff --git a/catalog/lib/catalog.dart b/catalog/lib/catalog.dart new file mode 100644 index 00000000..16fe9d48 --- /dev/null +++ b/catalog/lib/catalog.dart @@ -0,0 +1,7 @@ +library catalog; + +export 'theme/app_colors.dart'; +export 'theme/app_text_styles.dart'; +export 'theme/app_dimensions.dart'; +export 'theme/app_theme.dart'; +export 'extensions/context_extensions.dart'; diff --git a/catalog/lib/extensions/context_extensions.dart b/catalog/lib/extensions/context_extensions.dart new file mode 100644 index 00000000..430d0574 --- /dev/null +++ b/catalog/lib/extensions/context_extensions.dart @@ -0,0 +1,5 @@ +import 'package:flutter/material.dart'; + +extension ContextExtensions on BuildContext { + ThemeData get theme => Theme.of(this); +} diff --git a/catalog/lib/theme/app_colors.dart b/catalog/lib/theme/app_colors.dart new file mode 100644 index 00000000..c0859694 --- /dev/null +++ b/catalog/lib/theme/app_colors.dart @@ -0,0 +1,47 @@ +// ignore_for_file: overridden_fields + +import 'package:flutter/material.dart'; +import 'package:material_color_generator/material_color_generator.dart'; + +// Colors name extracted from https://www.color-name.com +@immutable +class AppColors extends ColorScheme { + @override + final Color onPrimary; + @override + final MaterialColor primary; + @override + final MaterialColor surface; + + const AppColors({ + required super.brightness, + required this.primary, + required this.onPrimary, + required super.secondary, + required super.onSecondary, + required super.error, + required super.onError, + required super.background, + required super.onBackground, + required this.surface, + required super.onSurface, + }) : super( + primary: primary, + onPrimary: onPrimary, + surface: surface, + ); + + static AppColors getColorScheme() => AppColors( + brightness: Brightness.light, + primary: generateMaterialColor(color: const Color(0xffee1a64)), + onPrimary: Colors.white, + secondary: generateMaterialColor(color: const Color(0xffffd81d)), + onSecondary: Colors.black, + error: generateMaterialColor(color: const Color(0xffF4642C)), + onError: Colors.black, + onBackground: Colors.black, + surface: generateMaterialColor(color: const Color(0xFFE6E9EC)), + onSurface: Colors.black, + background: Colors.white, + ); +} diff --git a/catalog/lib/theme/app_dimensions.dart b/catalog/lib/theme/app_dimensions.dart new file mode 100644 index 00000000..8df5c80a --- /dev/null +++ b/catalog/lib/theme/app_dimensions.dart @@ -0,0 +1,29 @@ +class AppDimens { + final int spacing2; + final int spacing4; + final int spacing8; + final int spacing12; + final int spacing16; + final int spacing20; + final int spacing24; + + AppDimens({ + required this.spacing2, + required this.spacing4, + required this.spacing8, + required this.spacing12, + required this.spacing16, + required this.spacing20, + required this.spacing24, + }); + + static AppDimens getDimensions() => AppDimens( + spacing2: 2, + spacing4: 4, + spacing8: 8, + spacing12: 12, + spacing16: 16, + spacing20: 20, + spacing24: 24, + ); +} diff --git a/catalog/lib/theme/app_text_styles.dart b/catalog/lib/theme/app_text_styles.dart new file mode 100644 index 00000000..6d1f325b --- /dev/null +++ b/catalog/lib/theme/app_text_styles.dart @@ -0,0 +1,60 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:google_fonts/google_fonts.dart'; + +class AppTextStyles extends TextTheme { + final TextStyle customStyle; + + const AppTextStyles({ + required this.customStyle, + super.headlineLarge, + super.headlineMedium, + super.headlineSmall, + super.bodyLarge, + super.bodyMedium, + super.bodySmall, + super.titleLarge, + super.titleMedium, + super.titleSmall, + super.labelLarge, + super.labelMedium, + super.labelSmall, + }); + + factory AppTextStyles.fromTextTheme({ + required TextStyle customStyle, + required TextTheme textTheme, + }) => + AppTextStyles( + customStyle: customStyle, + headlineSmall: textTheme.headlineSmall, + headlineMedium: textTheme.headlineMedium, + headlineLarge: textTheme.headlineLarge, + bodyLarge: textTheme.bodyLarge, + bodyMedium: textTheme.bodyMedium, + bodySmall: textTheme.bodySmall, + titleLarge: textTheme.titleLarge, + titleMedium: textTheme.titleMedium, + titleSmall: textTheme.titleSmall, + labelLarge: textTheme.labelLarge, + labelMedium: textTheme.labelMedium, + labelSmall: textTheme.labelSmall, + ); + + static AppTextStyles getAppStyles() => AppTextStyles.fromTextTheme( + customStyle: GoogleFonts.inter( + fontSize: 50.sp, + fontWeight: FontWeight.w300, + fontStyle: FontStyle.normal, + ), + textTheme: GoogleFonts.interTextTheme().copyWith( + bodyLarge: GoogleFonts.inter( + fontSize: 18.sp, + fontWeight: FontWeight.w300, + fontStyle: FontStyle.normal, + ), + ), + ); + + TextTheme getThemeData() => getAppStyles(); +} diff --git a/catalog/lib/theme/app_theme.dart b/catalog/lib/theme/app_theme.dart new file mode 100644 index 00000000..5d0875cf --- /dev/null +++ b/catalog/lib/theme/app_theme.dart @@ -0,0 +1,32 @@ +import 'package:catalog/theme/app_text_styles.dart'; +import 'package:flutter/material.dart'; +import 'package:catalog/theme/app_colors.dart'; +import 'package:catalog/theme/app_dimensions.dart'; + +late AppColors _colors; +late AppDimens _dimensions; +late AppTextStyles _styles; + +class AppTheme { + static ThemeData provideAppTheme(BuildContext buildContext) { + // It can be changed based on the device + _styles = AppTextStyles.getAppStyles(); + _dimensions = AppDimens.getDimensions(); + _colors = AppColors.getColorScheme(); + + return ThemeData( + primaryColor: _colors.primary, + colorScheme: _colors, + textTheme: _styles.getThemeData(), + primaryTextTheme: _styles.getThemeData(), + ); + } +} + +extension ThemeExtensions on ThemeData { + AppDimens get dimensions => _dimensions; + + AppColors get colors => _colors; + + AppTextStyles get textStyles => _styles; +} diff --git a/catalog/pubspec.yaml b/catalog/pubspec.yaml new file mode 100644 index 00000000..11bcde19 --- /dev/null +++ b/catalog/pubspec.yaml @@ -0,0 +1,27 @@ +name: catalog +description: A new Flutter package project. +version: 0.0.1 +publish_to: 'none' + +environment: + sdk: '>=3.0.0 <4.0.0' + flutter: 3.13.9 + +dependencies: + flutter: + sdk: flutter + auto_route: 7.8.3 + flutter_screenutil: 5.9.0 + material_color_generator: 1.1.0 + google_fonts: 5.1.0 + +dev_dependencies: + flutter_test: + sdk: flutter + flutter_lints: 3.0.1 + auto_route_generator: 7.3.1 + flutter_gen_runner: 5.3.1 + build_runner: 2.4.6 + lints: 3.0.0 + +flutter: diff --git a/catalog/test/catalog_test.dart b/catalog/test/catalog_test.dart new file mode 100644 index 00000000..ab73b3a2 --- /dev/null +++ b/catalog/test/catalog_test.dart @@ -0,0 +1 @@ +void main() {} diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 09c23241..8d8c95ad 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -17,12 +17,16 @@ end private_lane :sh_on_root do |options| command = options[:command] - sh("cd #{root_path} && #{command}") + subdirectory = options[:subdirectory] || '' + full_path = File.join(root_path, subdirectory) + + sh("cd #{full_path} && #{command}") end private_lane :flutter_command do |options| command = options[:command] - sh_on_root(command: "fvm flutter #{command}") + subdirectory = options[:subdirectory] + sh_on_root(subdirectory: subdirectory, command: "fvm flutter #{command}") end private_lane :dart_command do |options| @@ -38,6 +42,8 @@ end desc "**Fetch flutter dependencies**" lane :fetch_dependencies do flutter_command(command: "pub get --suppress-analytics") + # Template does not depends on gallery + flutter_command(command: "pub get --suppress-analytics", subdirectory: "catalog/gallery") end desc "**Generate flutter generated code**" @@ -63,7 +69,9 @@ end desc "**Lint: Analyze code**" lane :lint_analyze do - flutter_command(command: "analyze .") + flutter_command(command: "analyze lib") + flutter_command(command: "analyze catalog/gallery") + flutter_command(command: "analyze catalog") end desc "**Lint: Code metrics**" diff --git a/ios/Podfile.lock b/ios/Podfile.lock index e44a1152..2486f4ab 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -15,7 +15,7 @@ PODS: - shared_preferences_foundation (0.0.1): - Flutter - FlutterMacOS - - sqflite (0.0.2): + - sqflite (0.0.3): - Flutter - FMDB (>= 2.7.5) @@ -54,10 +54,10 @@ SPEC CHECKSUMS: flutter_secure_storage: 23fc622d89d073675f2eaa109381aefbcf5a49be flutter_web_browser: 7bccaafbb0c5b8862afe7bcd158f15557109f61f FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a - path_provider_foundation: c68054786f1b4f3343858c1e1d0caaded73f0be9 - shared_preferences_foundation: 986fc17f3d3251412d18b0265f9c64113a8c2472 - sqflite: 6d358c025f5b867b29ed92fc697fd34924e11904 + path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943 + shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126 + sqflite: 31f7eba61e3074736dff8807a9b41581e4f7f15a PODFILE CHECKSUM: 4e8f8b2be68aeea4c0d5beb6ff1e79fface1d048 -COCOAPODS: 1.11.3 +COCOAPODS: 1.12.1 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 398431c0..9c434509 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -191,7 +191,7 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 97C146ED1CF9000F007C117D = { diff --git a/lib/core/common/logger.dart b/lib/core/common/logger.dart index 24be58c4..e58aa122 100644 --- a/lib/core/common/logger.dart +++ b/lib/core/common/logger.dart @@ -94,8 +94,7 @@ class _CrashReportWrappedPrinter extends LogPrinter { } class _PrintableTrace extends Trace { - _PrintableTrace(Iterable frames, {String? original}) - : super(frames, original: original); + _PrintableTrace(super.frames, {super.original}); // It's equal to VMTrace.toString() Method. // Firebase use it to generate the stacktrace diff --git a/lib/main.dart b/lib/main.dart index 4246d67c..53aa58bd 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -39,7 +39,7 @@ Future _initFirebaseSdks() async { } class MyApp extends StatelessWidget { - const MyApp({Key? key}) : super(key: key); + const MyApp({super.key}); @override Widget build(BuildContext context) => ScreenUtilInit( diff --git a/lib/ui/main/main_screen.dart b/lib/ui/main/main_screen.dart index ff78954e..400886b6 100644 --- a/lib/ui/main/main_screen.dart +++ b/lib/ui/main/main_screen.dart @@ -7,7 +7,7 @@ import 'package:flutter_template/ui/router/app_router.dart'; import 'package:flutter_template/ui/theme/app_theme.dart'; class MainScreen extends StatelessWidget { - const MainScreen({Key? key}) : super(key: key); + const MainScreen({super.key}); @override Widget build(BuildContext context) { diff --git a/lib/ui/signin/signin_screen.dart b/lib/ui/signin/signin_screen.dart index 723f82aa..3396fc75 100644 --- a/lib/ui/signin/signin_screen.dart +++ b/lib/ui/signin/signin_screen.dart @@ -8,7 +8,7 @@ import 'package:flutter_template/ui/signin/signin_cubit.dart'; @RoutePage() class SignInScreen extends StatelessWidget { - const SignInScreen({Key? key}) : super(key: key); + const SignInScreen({super.key}); @override Widget build(BuildContext context) => BlocProvider( diff --git a/lib/ui/theme/app_colors.dart b/lib/ui/theme/app_colors.dart index 7a280885..c0859694 100644 --- a/lib/ui/theme/app_colors.dart +++ b/lib/ui/theme/app_colors.dart @@ -14,29 +14,21 @@ class AppColors extends ColorScheme { final MaterialColor surface; const AppColors({ - required Brightness brightness, + required super.brightness, required this.primary, required this.onPrimary, - required Color secondary, - required Color onSecondary, - required Color error, - required Color onError, - required Color background, - required Color onBackground, + required super.secondary, + required super.onSecondary, + required super.error, + required super.onError, + required super.background, + required super.onBackground, required this.surface, - required Color onSurface, + required super.onSurface, }) : super( - brightness: brightness, primary: primary, onPrimary: onPrimary, - secondary: secondary, - onSecondary: onSecondary, - error: error, - onError: onError, - background: background, - onBackground: onBackground, surface: surface, - onSurface: onSurface, ); static AppColors getColorScheme() => AppColors( diff --git a/lib/ui/theme/text_styles.dart b/lib/ui/theme/text_styles.dart index c25b4e69..fec1942b 100644 --- a/lib/ui/theme/text_styles.dart +++ b/lib/ui/theme/text_styles.dart @@ -7,30 +7,19 @@ class AppStyles extends TextTheme { const AppStyles({ required this.customStyle, - headlineLarge, - headlineMedium, - headlineSmall, - bodyLarge, - bodyMedium, - bodySmall, - titleLarge, - titleMedium, - titleSmall, - labelLarge, - labelMedium, - labelSmall, - }) : super( - bodyLarge: bodyLarge, - headlineMedium: headlineMedium, - headlineSmall: headlineSmall, - titleLarge: titleLarge, - titleMedium: titleMedium, - titleSmall: titleSmall, - bodyMedium: bodyMedium, - bodySmall: bodySmall, - labelLarge: labelLarge, - labelSmall: labelSmall, - ); + super.headlineLarge, + super.headlineMedium, + super.headlineSmall, + super.bodyLarge, + super.bodyMedium, + super.bodySmall, + super.titleLarge, + super.titleMedium, + super.titleSmall, + super.labelLarge, + super.labelMedium, + super.labelSmall, + }); factory AppStyles.fromTextTheme({ required TextStyle customStyle, diff --git a/lib/ui/welcome/welcome_screen.dart b/lib/ui/welcome/welcome_screen.dart index 3aaaf28b..6039bd0f 100644 --- a/lib/ui/welcome/welcome_screen.dart +++ b/lib/ui/welcome/welcome_screen.dart @@ -54,8 +54,8 @@ class _WelcomeContentScreen extends StatelessWidget { class _ProjectWidget extends StatelessWidget { const _ProjectWidget({ required this.project, - Key? key, - }) : super(key: key); + super.key, + }); final Project project; diff --git a/pubspec.lock b/pubspec.lock index f8e5391d..46b2d44c 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -153,6 +153,13 @@ packages: url: "https://pub.dev" source: hosted version: "8.6.2" + catalog: + dependency: "direct main" + description: + path: catalog + relative: true + source: path + version: "0.0.1" characters: dependency: transitive description: @@ -410,10 +417,10 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04 + sha256: e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7 url: "https://pub.dev" source: hosted - version: "2.0.3" + version: "3.0.1" flutter_localizations: dependency: "direct main" description: flutter @@ -641,10 +648,10 @@ packages: dependency: "direct dev" description: name: lints - sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452" + sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "3.0.0" lists: dependency: transitive description: @@ -1212,4 +1219,4 @@ packages: version: "3.1.2" sdks: dart: ">=3.1.0-185.0.dev <4.0.0" - flutter: ">=3.13.4" + flutter: ">=3.13.9" diff --git a/pubspec.yaml b/pubspec.yaml index e92e6a3a..a70544c9 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -7,19 +7,15 @@ version: 1.0.0+1 environment: sdk: '>=3.0.0 <4.0.0' - flutter: 3.13.4 + flutter: 3.13.9 -# Dependencies specify other packages that your package needs in order to work. -# To automatically upgrade your package dependencies to the latest versions -# consider running `flutter pub upgrade --major-versions`. Alternatively, -# dependencies can be manually updated by changing the version numbers below to -# the latest version available on pub.dev. To see which dependencies have newer -# versions available, run `flutter pub outdated`. dependencies: flutter: sdk: flutter flutter_localizations: sdk: flutter + catalog: + path: ./catalog auto_route: 7.8.3 cupertino_icons: 1.0.6 @@ -61,10 +57,10 @@ dev_dependencies: flutter_flavorizr: 2.2.1 flutter_gen_runner: 5.3.1 flutter_launcher_icons: 0.13.1 - flutter_lints: 2.0.3 + flutter_lints: 3.0.1 freezed: 2.4.1 json_serializable: 6.7.1 - lints: 2.1.1 + lints: 3.0.0 flutter: generate: true diff --git a/scripts/checks.sh b/scripts/checks.sh index f69a7030..1e1335d0 100755 --- a/scripts/checks.sh +++ b/scripts/checks.sh @@ -23,3 +23,9 @@ echo "$result" [[ $result == *'✔ no issues found!'* ]] || error "Linter error - Dart Code Metrics linter error" fvm flutter pub run dart_code_metrics:metrics check-unused-code lib --fatal-unused || error "Linter error - Dart Code Metrics unused code error" + +echo ':: Run Catalog checks' + +echo ':: Run linter catalog ::' +fvm flutter analyze catalog || error "Linter error - Flutter Analyze error - Catalog gallery" +fvm flutter analyze catalog/gallery || error "Linter error - Flutter Analyze error - Catalog gallery" From 7a2df6fdd3bbf76b0af8ca2366b2dd73fcbd1baa Mon Sep 17 00:00:00 2001 From: Sol Mendiola Date: Mon, 13 Nov 2023 17:00:07 -0300 Subject: [PATCH 2/5] change splash and icon --- .../drawable-hdpi-v31/android12branding.png | Bin 0 -> 3599 bytes .../res/drawable-hdpi/android12splash.png | Bin 0 -> 4433 bytes .../drawable-hdpi/ic_launcher_foreground.png | Bin 0 -> 8414 bytes .../app/src/main/res/drawable-hdpi/splash.png | Bin 0 -> 8073 bytes .../drawable-mdpi-v31/android12branding.png | Bin 0 -> 1508 bytes .../res/drawable-mdpi/android12splash.png | Bin 0 -> 1780 bytes .../drawable-mdpi/ic_launcher_foreground.png | Bin 0 -> 3033 bytes .../app/src/main/res/drawable-mdpi/splash.png | Bin 0 -> 2880 bytes .../android12branding.png | Bin 0 -> 3599 bytes .../drawable-night-hdpi/android12splash.png | Bin 0 -> 4433 bytes .../android12branding.png | Bin 0 -> 1508 bytes .../drawable-night-mdpi/android12splash.png | Bin 0 -> 1780 bytes .../android12branding.png | Bin 0 -> 3770 bytes .../drawable-night-xhdpi/android12splash.png | Bin 0 -> 4643 bytes .../android12branding.png | Bin 0 -> 10171 bytes .../drawable-night-xxhdpi/android12splash.png | Bin 0 -> 12322 bytes .../android12branding.png | Bin 0 -> 9443 bytes .../android12splash.png | Bin 0 -> 13351 bytes .../src/main/res/drawable-v21/background.png | Bin 0 -> 69 bytes .../res/drawable-v21/launch_background.xml | 15 ++- .../drawable-xhdpi-v31/android12branding.png | Bin 0 -> 3770 bytes .../res/drawable-xhdpi/android12splash.png | Bin 0 -> 4643 bytes .../drawable-xhdpi/ic_launcher_foreground.png | Bin 0 -> 10634 bytes .../src/main/res/drawable-xhdpi/splash.png | Bin 0 -> 7225 bytes .../drawable-xxhdpi-v31/android12branding.png | Bin 0 -> 10171 bytes .../res/drawable-xxhdpi/android12splash.png | Bin 0 -> 12322 bytes .../ic_launcher_foreground.png | Bin 0 -> 40393 bytes .../src/main/res/drawable-xxhdpi/splash.png | Bin 0 -> 21003 bytes .../android12branding.png | Bin 0 -> 9443 bytes .../res/drawable-xxxhdpi/android12splash.png | Bin 0 -> 13351 bytes .../ic_launcher_foreground.png | Bin 0 -> 33116 bytes .../src/main/res/drawable-xxxhdpi/splash.png | Bin 0 -> 18177 bytes .../app/src/main/res/drawable/background.png | Bin 0 -> 69 bytes .../main/res/drawable/launch_background.xml | 15 ++- .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 544 -> 1585 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 442 -> 1039 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 721 -> 1775 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 1031 -> 2834 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 1443 -> 3205 bytes .../src/main/res/values-night-v31/styles.xml | 22 +++++ .../app/src/main/res/values-night/styles.xml | 4 + .../app/src/main/res/values-v31/styles.xml | 22 +++++ .../app/src/main/res/values/colors.xml | 4 + .../app/src/main/res/values/styles.xml | 4 + catalog/gallery/icons/ic_launcher.png | Bin 0 -> 7343 bytes .../gallery/icons/ic_launcher_foreground.png | Bin 0 -> 29507 bytes catalog/gallery/icons/ic_launcher_ios.png | Bin 0 -> 5379 bytes catalog/gallery/icons/splash_branding.png | Bin 0 -> 8311 bytes catalog/gallery/icons/splash_logo.png | Bin 0 -> 16476 bytes .../gallery/icons/splash_logo_android_12.png | Bin 0 -> 11307 bytes catalog/gallery/ios/Podfile.lock | 6 ++ .../Icon-App-1024x1024@1x.png | Bin 10932 -> 28268 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 295 -> 373 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 406 -> 628 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 450 -> 915 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 282 -> 491 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 462 -> 917 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 704 -> 1220 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 406 -> 628 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 586 -> 1047 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 862 -> 1691 bytes .../AppIcon.appiconset/Icon-App-50x50@1x.png | Bin 0 -> 780 bytes .../AppIcon.appiconset/Icon-App-50x50@2x.png | Bin 0 -> 1425 bytes .../AppIcon.appiconset/Icon-App-57x57@1x.png | Bin 0 -> 771 bytes .../AppIcon.appiconset/Icon-App-57x57@2x.png | Bin 0 -> 1500 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 862 -> 1691 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 1674 -> 2227 bytes .../AppIcon.appiconset/Icon-App-72x72@1x.png | Bin 0 -> 1069 bytes .../AppIcon.appiconset/Icon-App-72x72@2x.png | Bin 0 -> 1795 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 762 -> 1115 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 1226 -> 2102 bytes .../Icon-App-83.5x83.5@2x.png | Bin 1418 -> 2058 bytes .../LaunchBackground.imageset/Contents.json | 21 ++++ .../LaunchBackground.imageset/background.png | Bin 0 -> 69 bytes .../LaunchImage.imageset/Contents.json | 10 +- .../LaunchImage.imageset/LaunchImage.png | Bin 68 -> 2880 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 68 -> 7225 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 68 -> 21003 bytes .../Runner/Base.lproj/LaunchScreen.storyboard | 17 +++- catalog/gallery/ios/Runner/Info.plist | 92 ++++++++--------- .../catalog/catalog_app_button_screen.dart | 2 +- .../lib/catalog/catalog_scaffold_screen.dart | 25 ++--- .../catalog/catalog_text_fields_screen.dart | 2 +- .../gallery/lib/main/catalog_main_screen.dart | 20 ++-- .../gallery/lib/router/catalog_router.dart | 3 +- catalog/gallery/pubspec.lock | 93 ++++++++++++++++++ catalog/gallery/pubspec.yaml | 27 ++++- catalog/gallery/web/index.html | 84 ++++++++++++++-- catalog/gallery/web/splash/img/dark-1x.png | Bin 0 -> 2880 bytes catalog/gallery/web/splash/img/dark-2x.png | Bin 0 -> 7225 bytes catalog/gallery/web/splash/img/dark-3x.png | Bin 0 -> 21003 bytes catalog/gallery/web/splash/img/dark-4x.png | Bin 0 -> 18177 bytes catalog/gallery/web/splash/img/light-1x.png | Bin 0 -> 2880 bytes catalog/gallery/web/splash/img/light-2x.png | Bin 0 -> 7225 bytes catalog/gallery/web/splash/img/light-3x.png | Bin 0 -> 21003 bytes catalog/gallery/web/splash/img/light-4x.png | Bin 0 -> 18177 bytes 97 files changed, 382 insertions(+), 111 deletions(-) create mode 100644 catalog/gallery/android/app/src/main/res/drawable-hdpi-v31/android12branding.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-hdpi/android12splash.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-hdpi/splash.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-mdpi-v31/android12branding.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-mdpi/android12splash.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-mdpi/splash.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-night-hdpi-v31/android12branding.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-night-hdpi/android12splash.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-night-mdpi-v31/android12branding.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-night-mdpi/android12splash.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-night-xhdpi-v31/android12branding.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-night-xhdpi/android12splash.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-night-xxhdpi-v31/android12branding.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-night-xxhdpi/android12splash.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-night-xxxhdpi-v31/android12branding.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-night-xxxhdpi/android12splash.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-v21/background.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-xhdpi-v31/android12branding.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-xhdpi/android12splash.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-xhdpi/splash.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-xxhdpi-v31/android12branding.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-xxhdpi/android12splash.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-xxhdpi/splash.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-xxxhdpi-v31/android12branding.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-xxxhdpi/android12splash.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable-xxxhdpi/splash.png create mode 100644 catalog/gallery/android/app/src/main/res/drawable/background.png create mode 100644 catalog/gallery/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 catalog/gallery/android/app/src/main/res/values-night-v31/styles.xml create mode 100644 catalog/gallery/android/app/src/main/res/values-v31/styles.xml create mode 100644 catalog/gallery/android/app/src/main/res/values/colors.xml create mode 100644 catalog/gallery/icons/ic_launcher.png create mode 100644 catalog/gallery/icons/ic_launcher_foreground.png create mode 100644 catalog/gallery/icons/ic_launcher_ios.png create mode 100644 catalog/gallery/icons/splash_branding.png create mode 100644 catalog/gallery/icons/splash_logo.png create mode 100644 catalog/gallery/icons/splash_logo_android_12.png create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/LaunchBackground.imageset/Contents.json create mode 100644 catalog/gallery/ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png create mode 100644 catalog/gallery/web/splash/img/dark-1x.png create mode 100644 catalog/gallery/web/splash/img/dark-2x.png create mode 100644 catalog/gallery/web/splash/img/dark-3x.png create mode 100644 catalog/gallery/web/splash/img/dark-4x.png create mode 100644 catalog/gallery/web/splash/img/light-1x.png create mode 100644 catalog/gallery/web/splash/img/light-2x.png create mode 100644 catalog/gallery/web/splash/img/light-3x.png create mode 100644 catalog/gallery/web/splash/img/light-4x.png diff --git a/catalog/gallery/android/app/src/main/res/drawable-hdpi-v31/android12branding.png b/catalog/gallery/android/app/src/main/res/drawable-hdpi-v31/android12branding.png new file mode 100644 index 0000000000000000000000000000000000000000..d28948ffc82e3d8a8524ff9cceb5680f3eb0f74f GIT binary patch literal 3599 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 ABme*a literal 0 HcmV?d00001 diff --git a/catalog/gallery/android/app/src/main/res/drawable-hdpi/splash.png b/catalog/gallery/android/app/src/main/res/drawable-hdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..5121a08cd8bbe8ccae18961505f3a6e84d085979 GIT binary patch literal 8073 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 literal 0 HcmV?d00001 diff --git a/catalog/gallery/android/app/src/main/res/drawable-mdpi/android12splash.png b/catalog/gallery/android/app/src/main/res/drawable-mdpi/android12splash.png new file mode 100644 index 0000000000000000000000000000000000000000..47fcf48c0dc36611068d6be7dba50a2a0280623f GIT binary patch literal 1780 zcmeAS@N?(olHy`uVBq!ia0y~yU{nBM4mJh`29f4<4GauyyFFbTLn;{G-nCwz7A$k% zVY!5)UrLO&(OQ=ft1C{fp1P8~ZWk`>Fg59zbz#vG;i!+SN7!cs>{LIdT6lZ%gdOvZ z-~XO>|5mmAdGUzVmiy=YeYf}D>nCgqMVsz1Y=~oGNnznQ!67g~P(eZ2!NIMep@)G{ zl99=1*hp+ys-I`^+j}p2)b+YwuR5#vi&d%O&kGIfem^>#u6lgWa7`O3Zb4*Bi4-}7JD;Z5t00tu!g=Q{b@RUO_; z`B5MO92J+7%&}KSaJ899f!bw@0uIpjF0R)`G2c8{8?>eXFvb0RfoI0a@0f4{rYvh>@zoZ63(`ixOKUxt1^=*^$+OsoQGF)H%_*3(4b589s6$kCWW6%Et=Xde{ z_h<-P&~u)D{hs|lA71^w>8s>y2HhCT_=M()^gn$&%4_>c@{mGh=~r zn)>{6(ti1*?@0(}$#7d&^LF8zPX~a}e%D97%&#FW$ttGm=H2aT+4cVqSe4TbJv{x#Cd@yWIDSa^U-}fU*Am0z2?}!cAamMc|gx! zp#_aUueC1~Uf|ftpRM4)EF^!;sew(|ZcQfxuS-pYG^13@j}2~2CJY}F*Rp7Y$?1v8 zXEBLbRXqFmreNg{1183PcT;gVz68j=oG!JTOIc_^a=_7a zDTVxH{K~=$Y>Qj@{#Y~KQg+wbmMriO=#hCH=fC|a+gii4g+09fPtmq-L5~hwaa`z| zTlf9s+0M)CCvQDEe23!#pYL?`xT@1LQ*yz9?Y`^-FaWwhIo;a8w#c_Xj`d^WIhG9e zRq}I>w(k^Ppc}gW_R)4#fd!JET8+IG9gK~6MP{F?I4Hz%p~oklOOBXhwGlhcyZJQ~>27f5)kIWT`-%kQo3&#nE+$ImnDPY(cvi00H2x&W5!#TI`3bpZrCX_T+3Ue3gxr*x=q$G UfAx>Q2G(W_p00i_>zopr01!)@Y5)KL literal 0 HcmV?d00001 diff --git a/catalog/gallery/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png b/catalog/gallery/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..c272c1dc70462d2d243d9e8d78fef2665f3adcf5 GIT binary patch literal 3033 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 bF~k1=;_y5qPTzz500000NkvXXu0mjf%0cpe literal 0 HcmV?d00001 diff --git a/catalog/gallery/android/app/src/main/res/drawable-mdpi/splash.png b/catalog/gallery/android/app/src/main/res/drawable-mdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..2544b5c6d0b446cd03ece74f72fac482901f5e99 GIT binary patch literal 2880 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 literal 0 HcmV?d00001 diff --git a/catalog/gallery/android/app/src/main/res/drawable-night-mdpi/android12splash.png b/catalog/gallery/android/app/src/main/res/drawable-night-mdpi/android12splash.png new file mode 100644 index 0000000000000000000000000000000000000000..47fcf48c0dc36611068d6be7dba50a2a0280623f GIT binary patch literal 1780 zcmeAS@N?(olHy`uVBq!ia0y~yU{nBM4mJh`29f4<4GauyyFFbTLn;{G-nCwz7A$k% zVY!5)UrLO&(OQ=ft1C{fp1P8~ZWk`>Fg59zbz#vG;i!+SN7!cs>{LIdT6lZ%gdOvZ z-~XO>|5mmAdGUzVmiy=YeYf}D>nCgqMVsz1Y=~oGNnznQ!67g~P(eZ2!NIMep@)G{ zl99=1*hp+ys-I`^+j}p2)b+YwuR5#vi&d%O&kGIfem^>#u6lgWa7`O3Zb4*Bi4-}7JD;Z5t00tu!g=Q{b@RUO_; z`B5MO92J+7%&}KSaJ899f!bw@0uIpjF0R)`G2c8{8?>eXFvb0RfoI0a@0f4{rYvh>@zoZ63(`ixOKUxt1^=*^$+OsoQGF)H%_*3(4b589s6$kCWW6%Et=Xde{ z_h<-P&~u)D{hs|lA71^w>8s>y2HhCT_=M()^gn$&%4_>c@{mGh=~r zn)>{6(ti1*?@0(}$#7d&^LF8zPX~a}e%D97%&#FW$ttGm=H2aT+4cVqSe4TbJv{x#Cd@yWIDSa^U-}fU*Am0z2?}!cAamMc|gx! zp#_aUueC1~Uf|ftpRM4)EF^!;sew(|ZcQfxuS-pYG^13@j}2~2CJY}F*Rp7Y$?1v8 zXEBLbRXqFmreNg{1183PcT;gVz68j=oG!JTOIc_^a=_7a zDTVxH{K~=$Y>Qj@{#Y~KQg+wbmMriO=#hCH=fC|a+gii4g+09fPtmq-L5~hwaa`z| zTlf9s+0M)CCvQDEe23!#pYL?`xT@1LQ*yz9?Y`^-FaWwhIo;a8w#c_Xj`d^WIhG9e zRq}I>w(k^Ppc}gW_R)4#fd!JET8+IG9gK~6MP{F?I4Hz%p~oklOOBXhwGlhcyZJQ~>27f5)kIWT`-%kQo3&#nE+$ImnDPY(cvi00H2x&W5!#TI`3bpZrCX_T+3Ue3gxr*x=q$G UfAx>Q2G(W_p00i_>zopr01!)@Y5)KL literal 0 HcmV?d00001 diff --git a/catalog/gallery/android/app/src/main/res/drawable-night-xhdpi-v31/android12branding.png b/catalog/gallery/android/app/src/main/res/drawable-night-xhdpi-v31/android12branding.png new file mode 100644 index 0000000000000000000000000000000000000000..1c4646f3a4e26c03ed3174e1c8e3a960bff56bfe GIT binary patch literal 3770 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 PfMDIUw6mza?w;^p{O|-M literal 0 HcmV?d00001 diff --git a/catalog/gallery/android/app/src/main/res/drawable-night-xhdpi/android12splash.png b/catalog/gallery/android/app/src/main/res/drawable-night-xhdpi/android12splash.png new file mode 100644 index 0000000000000000000000000000000000000000..7f0a2579dc6005a296efbeedef870c75f35e19f7 GIT binary patch literal 4643 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 Yin#O{r-YjW@aGS5`oz^Ce@ig`PYhK@B>(^b literal 0 HcmV?d00001 diff --git a/catalog/gallery/android/app/src/main/res/drawable-night-xxhdpi-v31/android12branding.png b/catalog/gallery/android/app/src/main/res/drawable-night-xxhdpi-v31/android12branding.png new file mode 100644 index 0000000000000000000000000000000000000000..0358cdf11d65a86627a80c70dedede24dfa81a91 GIT binary patch literal 10171 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 T?%n~~-I(-sjPF)!IYs?17h#3F literal 0 HcmV?d00001 diff --git a/catalog/gallery/android/app/src/main/res/drawable-night-xxhdpi/android12splash.png b/catalog/gallery/android/app/src/main/res/drawable-night-xxhdpi/android12splash.png new file mode 100644 index 0000000000000000000000000000000000000000..73a4afc180436e5281ca1806e28828cd916bf3a3 GIT binary patch literal 12322 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 literal 0 HcmV?d00001 diff --git a/catalog/gallery/android/app/src/main/res/drawable-night-xxxhdpi-v31/android12branding.png b/catalog/gallery/android/app/src/main/res/drawable-night-xxxhdpi-v31/android12branding.png new file mode 100644 index 0000000000000000000000000000000000000000..83f22e128df3cff7e97fc7fcf4e5d4c1f95ed664 GIT binary patch literal 9443 zcmeHM`#;lr{2ximwJ4Xlo^ro6a=+H1vU2Spj94n>uH`zT<5CLcxJ5{E%l($zlbGCd z*&-&nthtR1v(5N^oWJ4w)A#ZHai7QQ^?twix<8+%v8`XZX7WSL`IO5O06p#7Eb-^sa>9nIf zd)Mh7$)78MpVA8KDSusj6C>W$JR>}tDekT7^Vs36F(VB3<*x_vDnj2MTDF%~9|AW< zn;#%aM>o@;AT|&v`?M+W?LLP92=rEzjRORFX#W47|5t7DX;z0H>!zGxVkC}<)QzeP zP3EUlySJJwJgxY#`Ib`ZTjSl|g>}ge{8;|u{db;k%OJ+#mHA8RwJyi1pYOU? zWpsCMO^u~H_BEXyIMCpDIo&e8wL}^L9tI!m4B4dwfcCi9IQp|Z_+*Omu4AtAH9mw0 zDT71u?Uf=DTa1)5`z~fC<%V$M7tV?DA+^8Y*920maLB%SJ?KNOriuLIwSqx`RDQ+c zr4Pp@Dk9F-jvOkSo8V zz*uyH=;Oz((U;Zxg7``hPw62iYRc`7Mq2h_?^cC4}!BWJT#d@-~kH?mzj!SV5**GVVwigWdPA(cJL6{ha&ToZT?FGABs zYShzkE0kuWxN+u515%=4Et$Gg=N$-YTI>kF$Gv}%|54ogAT@S9MLTecoOAnf*rtuz6 z^^;;0cbgO)r3SRMk;f-g?|3Y9;eTXpdUoa|D-t@*(S!KP>c|6_gEDjHN%fr^Dk^SP z!1S)D>f;-j7V`s{6(gHN{at$gg0sUpjgO+@yqYN!OfY=TaexP<2U8FzPNuCoSlcL(<`9iQ}9uYs|^&x|Bz*)q!(= z$q#rJC5SNj;P^m2WPYbOOZazbqr9zKnaf)ss57*#&K89scOuu^zs5Xj?MG%?_d)o;;`wXsxnjqlb@*Xvk*5YQZ7s=w%7QYmK5zMIMNK09?4CMkC z%V_x}AvJRAI2JKTwXondGqeh=lCYq8C(>CH4hjYlXO0Uv>alU)WD*`Na`dMnCV@EJ zV13eo5AyyHGhsHbMc{!ef7=;yF7YIbnp?#0tH40b1a%wv=tpP!IZg?h-ZdI-eUEpN zDUN-^9az0ku6g19`H$P0tz|EzWXS@yM`h zPYGmNH$X+gQTE|{gCXksEJ(klxmAL|Fn-Yl<^T%K1+lOG%lk7s2i2Zl;6NVeU9A)x zYrVL&Uy)LG*(Wj6!K++Ll;t1T8C+QPH?oVj`j}5NpmM2KKVx}FUtGAVTWslKh4`?h zE1d=X!_s9I2ZSvsAG(HXv?QIZ1{$LTV5s)^(pDG)S*$RpJM%A6UOL46H~o$<)yQ>> z`i(e}WD|8HJhwr$Sh7s-KYkRv?ZeR8gXU2>tZKL68rnriW;U6a68~i>De%s*hV6UX zR$o%v`~#nc^V=6&EU_OyDP7~&Y#%kO^|1Yte_pV6Z# zN=!bwNH$E}A^6~5mf78790HD=I2cv3a7Lp(B9r$APeNwJ8C={mqSa2^K+bOp-9k&Q zkX9hPc!nyztzYbW1z&Nqg4wb3CS#MC;cP0eBg)WjWl!sAW(BPGZiNef}Rj zY#blw1=chC))9Ue=jy%_rac#o5*pKI)*uN~@r5SddFUW-?U}l@%8?OLVI&z_^zTT% zfjRx#p9r96RTjup&yg+jLu|BX-1ps48_R4PZb=|RFU9LZ%k9`r!6MwL}6U@2jZtPzYT0heeMN{mY-H; zMdYnK9cZ5ecW!5#V!zdf$%!T&EofH|?cxQ$QtRc)q>(o|7tN=_PQe{ho6;3ON)66$ z0Gh67l|vz|1bKMQVZ94T4tZ4VX{SApFYH<&fo)Uqw2_$_0O)FMkXwYvkT9u-4NPDp$Xa zyF;)-%xk<}g1&MmS%C1TffTR%KIRP+)g{Rb5pLNbPw6eyUj9iwLQ4*^qP_W(_0d4-A-kMT`u?y^nF5o!C zH`x&N$)1DE+l@?hVZt-Ht4LH$5|k_f8Ut9c}= z)&RVtBnxcND0j=vL%p2&C~&U3dU&{9x@}g73XKVz@&?HQ>C&dw?-z^zLI4i$_0WFP zdVJWZ$5<|}1Zc_?SA{bc(dFXz)4K%{;#S#iOGkgEXhZ^YjaqwC*HoAn!KB9+iy)4q zS-~+*zh)w)997A$Ml!3uCIT@WWVaSkB|2jSbgJ~ERCVQaBePlaN0w^C3^K}#u=Qx0 zcO>iuYg=gvJ*x_Tc9sNH?<;CaSa`0`^!-AO2GFQVp0{*!Q*JPXP&z+;GRN9Pe;tVW z+RNp5f`hsnm4kNhwwv8ZmlWhDm(P( zC*-!j_TURp6&sIu9h%2iKwE(FL1-dkPTMW}5@83k>}xLo&C=$@4IwhEVj^#3w5J1n z3ObSh(zqu|E>B+Bt=)$kEV!)klT6s$(Mzf9wH`CxZT~GfqYBJM23Kd>Pa6wy^p+Y3 zm8YO}guJb;&)J2p{_fC`j2t?rEjQS5%YTm%iP^S!Q2LwTF!N9Ag=kY}_=LnTwbtDb z3XIMu*CnE=m1UF1i*U9L5vI2bFECav?S6vHH)rlJPkDk9j~g86&@WV%-`*9H^56G7 zFOy)uUq414fl)V5^g)^B0yEisie+u}Ga_6h3iYhbJmQqJBBp8b6bZf7ns9a_8N|MR zkH4$r>_F$@N%vjLiJ7I==PY0{D^RM2f4g;_c4^CSQtWq=PID|uis^hB`82$}g5Ci} zy5CTyL-?s+Tl=U3|fL6xbI z#Rte~dS)pe8S-px>%&&?dLZJ~90p7NXo( zy1gY1`$ot;gZJ}CO!M2w3wSPIK3H!!FEX3dUG7UU*N%%8609pCAEp|~M69{Twf+@t ziiS?0ZFAj!R|czj^Y=_szkY9f+@xKTTpL-~(jZ0~6IuOa**taMtzf3z@22k6_5#O< zxqYFHCm?o|#Ji36Gd^4?4pC$QRD#D&?cB3MsLR~vY!5fV5j!cASkBzv3RE#{)-ijM z=l%MS2Pt5|k79|9O{<(C0DKH@Q7~|)H!J$(JJ?1j;9TXC?{~|ClkqAB*#&`0PB}}H ze^^-_Mmd_xtGVu_+cocaE;$2vA%>U$Cr8M z(6I_MssH{4s&=jNr;n!?_e}W{!1SjIma`h|`6~S3feBCR`X*v9$T@h2;Ay=H* zvU{GJg95k|@MB#|R(}8FZ3MOD9JF?~R7pIXwKp27kLv2W_zLSJUR9MTYSb$=Fif2}tdUlVU)zwpj$DGwy zdqjX-dTOh!4HW)OwU5Fx!^MsVjP#H35$xKR|1Xhg8MJStKbBbRK4USKzwzSS#LoKGiyL}XMSY3e3 zEbSPoIST*c1~4gPeDlR^4oG#^(ayIy7f~ zyY_FcDa79Og|V}sT`LgV#}xrzdFFlf>r!G5k=k#JaeOinyi#7g!QRn8zC>3t9v1{B zbHB+P;N{0+Jn}May7MBw1YuqRSQx~V2acb>YQS=L3xw}+YbY#B3fs*Gwf^wmyWV&O z{5b-6-t!Cqe+|h0T6jVvqV!zU9D*5u2qqC-@pwnZ?o)M)IUs~=aeUkv_h!!z@nvVV z(8qsL=3{Nwuf{>v5icEGDVkAb3NTvAK`F_#)^}jLEsYn|;B3F5j!gCF`~Ck|ivVz4 z(+cMIE}kU7++gX(e#Gz2p<2f`FG(?G5tX{sI>PgW|)*as^uKe*O5CS;NV+ zCeD{?DQQ?fxvfy8AN6h)h-vX;*oa1q_Vby_to05o*_-3cS z-L@k0341K`GmEyn;kq5kKgk6uMADfS^dK9#KD7NH+$4G#ForTt_v8ljuXn6Hmf;YFp!kH_st4o?Lm>6gRr*29=050N#qk^|WPM zDcTwOwcvzR@W4MUN3G*Nef4?PegmWp1F_)%ly6ml(M5|R{5CU`3cB?~l>(M#(;g+B0^3kq!`@!m5c)i<7AxUiSF}eq0)ESxR*7JY_>S^6T-SXEt z(zkp~l{6k{0AtadrkFN}OeVz7*>@#_jJ`Dt?k@_3`CR3yQ3T?}9zZ+>#>`;8F0sNj z7Xh$f2RuGyjrWgI8VeqyQC!+&awCH|P7-gvupzRZNj(105_oTEN?q68L@Zs(idD23 z1~`FYFFMV4wm4srW$!G9z|MrsX%o2wv+;lVHtqqgIx{@ z+HxwjUhw!fE316WxgGmZhJ6-S&KcRDKR;L#iM_mHh0u%H9+yLLya099d>A9>(H z`u1n4hVZjDR!i9+S8n{7{H*0so4>T>?e;nw;H*r(8IQX*I0*x z_TGDsz=CS$t7#54QGbQ(rUHC~itL=GTVC>|o=6jna6CJ^@{wOslS-?At{NFip$7v{ z|7TWBJC775QQrteJUNe!tAhdgLZf6|5n;2x4%p%ScJDu#YTf$gx!?YffTjI*xSGT+dSK5QH*s8Dpw?br0V-nw(Sn_l|I|w61!@o6GObpo}*4e)|N35$Y*Dui7Yq z^VcCzQ;SeGQG1h(t#?yw9%wKG@-E`F0lwxyf10Dia856FV&-;j9I*XSj1_o$nvKJ8 z+PYwHE1nEcYG`1ZuKHUz7#jX`75c|{asSzx7t?sz?8L_kZW)e;S3ztU_K1ZpQargD zB0Ad}>&pu{(V1%SuJc~F?tw@!8Ai~7{}YTG>k+>~AqG~nPXalc%4gHj^_WDEQZM^Y zXFXT`c@vimDO8^i!r!_I&TVQ?TmHs!Q+46Liv@z{Mp1-Vv4ZA7XYajj^(!E+b;CPt zJpmQWPZTDrRr7yrPsommsgZv70zt|AN8gU@Tgv@T&4OhnuHlUihX_^~734_d4s zCx#7MvfP;JmQqa@y=En~O|^hY{&JBBKU5|`Zn4)Ai{pmUCU*;8DEfpb|{mP zgTL5=7`eV;g(cP!3Y^efgQl{8R;=2}rM3f`g27ZqR>DG?^CwCFbgQkB#3kC6Zpgd% z#>%VOy-Z%fRLtMhacmVT&h=$A_R}NTXco|3WO)GOcsU{Tjr5R@p#*fW{37b?aP4w> zU+;Ke-ua0hX8Q#=Rcxs4#O7+;Fz;Fxh`j-4)-FHmd>8R0^A>~*wK*T_<0V_CNRX{$>`9qVQ{S^jstxg?&*u>tUs4Y)eCMsp;XuR+^x&}tUIXOH7MRXJV~i$i%XgdM(d zz^{Pcw5DLCIjn(#+hC8R&@(E+bVtQr*hHykO!Uk|&rwh#Em8}CWpgqsy9$2pJ!*Fm z90G5PpcN0EtfvlJ)uwRc5kpZgC~S*{?;j$cgWB#T(v5bYgWMM;Qvqn2;a*u1n;X1rEk6I*2}iWKin zhcYyNfi;dFvDytDq^Y^-mEKs@{V39@$gA4BhqU=USOqe!bY_e7yhxdC6Bza$7I5^md8GEJ zGRt&B*ojwG%4y9X3+{gg<{?vG_zbQ0pXyr3y#J1kf5)gQzWF)-+yI@{P0}?M$E55E z&UU`g$NTsT?#7%IFpZuDNTHe_ZMjG{?e__ZOIA9OWZ9gDl9t!BXEdL_(8;5oflu6F zQ$8te8VFEJ&Qesy0g_^}^|7QcgMfwum>1Zup4I(2^RlWrb^K8`t;17r$Yq1JPZ%ItliITRRQ6)ONv5_1pF3$5c5h)zfH^0;NTM{( z{@Y1LNKQ}aly)~-ZSx1R+V`hOeHRZ_%lJCKBFKG0nVltde5|szw)$={>o55R>!p{$5r_6-SLfJD0VS z6iRMQQaLT`xz8xTn5#WaIyunKxziYIqBa#8U`26~$OI%YN0LddF^X0GS8=zIM+E*r zAO69oc_vcje7n8gwfn%j?=u<*5uogq&=8e~F>I+Ou&Nj+AtQO<&Vk6iKMPUX-v>7X zj|5pqg5F7)Qp)MhS1P~#p>M-MVXZu|qQ-u+SN#DjlT2@1_ftU*`SE&#{DE1!Xi?4^ z0JbT$8#ihj0hS&xP?H#fkJqk%l3b#}Z$s2_wdHJVv%jJ?3hZRlY?1XJ8`oG{sZIbZ zpL9~)?gM@STAUTZm0Xh2{KeT}-cZ%^PhWahF~B6wD6(-V050gRF8*PDtPOW>TSb%j z4=~Sk_hu!0ZVXK{0ZLDa@khN&$QN{1iOfpQ05VV_Vvo3t+{l9&5tQ5!>2BPQ+*eyR za_=1{R^Ecp;ul|a^HF#1L{#^QJULPG7hu0DNl7Qh0kACwAm>he(n-y`H-U-`nd7F@ zv#X#uasXrB@WjgV(sA&veOPYLp2sd<(t!Q(Uub|W2zF^7=oGwd*x@6srq=XQy$8wXctT6aoV^@txGG6{#2U+9Otu2u# z&=JgzW(*fBYRz)bwH6Viqf^e9g6$<74=jRG|0 h|9}2pun85zW-DMT?yGWf6gUlZ!_4w()s?$X{s*Izk8}V4 literal 0 HcmV?d00001 diff --git a/catalog/gallery/android/app/src/main/res/drawable-night-xxxhdpi/android12splash.png b/catalog/gallery/android/app/src/main/res/drawable-night-xxxhdpi/android12splash.png new file mode 100644 index 0000000000000000000000000000000000000000..2e159e1e9c52353baf43618e4ddcbcf72543cd5e GIT binary patch literal 13351 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 literal 0 HcmV?d00001 diff --git a/catalog/gallery/android/app/src/main/res/drawable-v21/launch_background.xml b/catalog/gallery/android/app/src/main/res/drawable-v21/launch_background.xml index f74085f3..3cc4948a 100644 --- a/catalog/gallery/android/app/src/main/res/drawable-v21/launch_background.xml +++ b/catalog/gallery/android/app/src/main/res/drawable-v21/launch_background.xml @@ -1,12 +1,9 @@ - - - - - + + + + + + diff --git a/catalog/gallery/android/app/src/main/res/drawable-xhdpi-v31/android12branding.png b/catalog/gallery/android/app/src/main/res/drawable-xhdpi-v31/android12branding.png new file mode 100644 index 0000000000000000000000000000000000000000..1c4646f3a4e26c03ed3174e1c8e3a960bff56bfe GIT binary patch literal 3770 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 PfMDIUw6mza?w;^p{O|-M literal 0 HcmV?d00001 diff --git a/catalog/gallery/android/app/src/main/res/drawable-xhdpi/android12splash.png b/catalog/gallery/android/app/src/main/res/drawable-xhdpi/android12splash.png new file mode 100644 index 0000000000000000000000000000000000000000..7f0a2579dc6005a296efbeedef870c75f35e19f7 GIT binary patch literal 4643 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 Yin#O{r-YjW@aGS5`oz^Ce@ig`PYhK@B>(^b literal 0 HcmV?d00001 diff --git a/catalog/gallery/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png b/catalog/gallery/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..a78a151e1bca6ba160e264caad6d2b6497ec972b GIT binary patch literal 10634 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 literal 0 HcmV?d00001 diff --git a/catalog/gallery/android/app/src/main/res/drawable-xxhdpi-v31/android12branding.png b/catalog/gallery/android/app/src/main/res/drawable-xxhdpi-v31/android12branding.png new file mode 100644 index 0000000000000000000000000000000000000000..0358cdf11d65a86627a80c70dedede24dfa81a91 GIT binary patch literal 10171 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 T?%n~~-I(-sjPF)!IYs?17h#3F literal 0 HcmV?d00001 diff --git a/catalog/gallery/android/app/src/main/res/drawable-xxhdpi/android12splash.png b/catalog/gallery/android/app/src/main/res/drawable-xxhdpi/android12splash.png new file mode 100644 index 0000000000000000000000000000000000000000..73a4afc180436e5281ca1806e28828cd916bf3a3 GIT binary patch literal 12322 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 literal 0 HcmV?d00001 diff --git a/catalog/gallery/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png b/catalog/gallery/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..b11e378bd5dbb07b9e5f6da9a52681c2e3a07361 GIT binary patch literal 40393 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 Ef2TdQ-T(jq literal 0 HcmV?d00001 diff --git a/catalog/gallery/android/app/src/main/res/drawable-xxhdpi/splash.png b/catalog/gallery/android/app/src/main/res/drawable-xxhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..ee10389dd1cb694325b3b57fc9ebf9b18211636f GIT binary patch literal 21003 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 literal 0 HcmV?d00001 diff --git a/catalog/gallery/android/app/src/main/res/drawable-xxxhdpi/android12splash.png b/catalog/gallery/android/app/src/main/res/drawable-xxxhdpi/android12splash.png new file mode 100644 index 0000000000000000000000000000000000000000..2e159e1e9c52353baf43618e4ddcbcf72543cd5e GIT binary patch literal 13351 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 literal 0 HcmV?d00001 diff --git a/catalog/gallery/android/app/src/main/res/drawable/launch_background.xml b/catalog/gallery/android/app/src/main/res/drawable/launch_background.xml index 304732f8..3cc4948a 100644 --- a/catalog/gallery/android/app/src/main/res/drawable/launch_background.xml +++ b/catalog/gallery/android/app/src/main/res/drawable/launch_background.xml @@ -1,12 +1,9 @@ - - - - - + + + + + + diff --git a/catalog/gallery/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/catalog/gallery/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 00000000..5f349f7f --- /dev/null +++ b/catalog/gallery/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/catalog/gallery/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/catalog/gallery/android/app/src/main/res/mipmap-hdpi/ic_launcher.png index db77bb4b7b0906d62b1847e87f15cdcacf6a4f29..4201d924101cb7e8a9583aa22cfacd2beb9ae84d 100644 GIT binary patch delta 1579 zcmV+`2GseW1hEW|8Gi-<0033(vqt~`1^7usK~#7F?VM{&6jvCAzk#zCc6J4}N!u8- zY71VlYFmq@Sbo{WAN3DyLaWxMX=73FMr}h=O`vJg)FR?ysztO4f{I#d!L});@zQE9 zN`;6qBGv?nSgDG;vom|0p0nx(6j^r8+{As74GWq1_RW(sXMfI_Zv%n>m}4G2Yk_6_ z!VKf%S&zjfjAa0f106RE@bv~gm;dzsd;D9zW6ys6Vxu2|V&4N$-(NC~PfjgK%yf)5 zBxk9cQ!@;Sai+1am`9P<{52z9JX6?vVtJ!*>6g0)gaxg%PF=X#Hobyj7?UBkD&v~|1r3*Vzf?4GfHJq9PuUx-hIDEbxu@* z(5#7I`Q){zK0r?d+OH@p=usplC;~A-5r_$jKuk~sVuB(N6BL1%pa{eSMIa_90#OMH zcJ_ep*jc5r+y|4$0>b-0Es08yui<3qr3$PGY;~*D`K&?E#pY`Hr-K>)o&L5c10uY-lJeh&A0_A#LVn?Csyd#UW8f~VhI_ugtQyJ)B73VEd@FyBZk^+)ISTHNs$~i#4fzG(b&joS z8NHkxhrzwNR;EzWkyTLWVHX)Wl+Tg*4F^G3`<+aw=#WhiGa>=6kXHhFmhMR)U)Bi1 zmj`4@MUO0kLUPE+p_C(39@3Q@0=*!-S$|}=F9r1cII1#44qvo~I*#1X3A#HWXQWCl zA&Mdhr46B%9+566!3Z|;$YMI(mpX-#10a+gq^hAL(gcx*UEkzW$q9`de5Vo|KS-{j z22l$N?aIjtnPScn@n(}>y$d{5hb7lgi|7QAy%o7zQFJ`X$Z>zX6TEl}@h~uCL4R_z zgUQHo7h*ZJ4~HDWkOaxm4i@oFoXg(=zQ$9MYiL1aK{B<2$;f%w5K!r@tlF&;$1i z!YkxZ-->3PJa(Hj3Eu)s4V8>PPpSn1-V>^4It{)a8 zM>|+_^5A-BBlu68ms}%S_|Nt!TK~2n8QQ_3+XK!88z6A9L#Al@0Ljq~7F`0khM^n+ zvhH0)x6Z+Hj_d7m@c(r|##s6RVL49x(3-cTf$6owrX0UUD*KUC`XB`AD zbgPt7JHF=Hiq812Uka^*%74qt_uK9Ef}*0L5_rHrS_)pd0nT}4kA$3B_j$*fTYs!2 z@53wU;^N}6*4Eb3cqDC1Nl8iXdqUu!tKfQbJzlE+r*>9VxgHcQf8lIig)gmegRb9R ztiHbfFrKuhP5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ diff --git a/catalog/gallery/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/catalog/gallery/android/app/src/main/res/mipmap-mdpi/ic_launcher.png index 17987b79bb8a35cc66c3c1fd44f5a5526c1b78be..a3ecae8ea32774e7082cdd08ac9097ede4d575f8 100644 GIT binary patch delta 1028 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 diff --git a/catalog/gallery/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/catalog/gallery/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png index d5f1c8d34e7a88e3f88bea192c3a370d44689c3c..35f1410e5e14c80335589b88bc6feeb814322b65 100644 GIT binary patch literal 2834 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 DL{mH> literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof diff --git a/catalog/gallery/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/catalog/gallery/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index 4d6372eebdb28e45604e46eeda8dd24651419bc0..a87df636793df8918a67fdffd7f487e78e010038 100644 GIT binary patch literal 3205 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 TU)N?rpBLZ|(b1B1&^z|OQ5(pp literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` diff --git a/catalog/gallery/android/app/src/main/res/values-night-v31/styles.xml b/catalog/gallery/android/app/src/main/res/values-night-v31/styles.xml new file mode 100644 index 00000000..4f1c3f99 --- /dev/null +++ b/catalog/gallery/android/app/src/main/res/values-night-v31/styles.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/catalog/gallery/android/app/src/main/res/values-night/styles.xml b/catalog/gallery/android/app/src/main/res/values-night/styles.xml index 06952be7..dbc9ea9f 100644 --- a/catalog/gallery/android/app/src/main/res/values-night/styles.xml +++ b/catalog/gallery/android/app/src/main/res/values-night/styles.xml @@ -5,6 +5,10 @@ @drawable/launch_background + false + false + false + shortEdges + + + + diff --git a/catalog/gallery/android/app/src/main/res/values/colors.xml b/catalog/gallery/android/app/src/main/res/values/colors.xml new file mode 100644 index 00000000..7e0e15dd --- /dev/null +++ b/catalog/gallery/android/app/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #ee1a64 + \ No newline at end of file diff --git a/catalog/gallery/android/app/src/main/res/values/styles.xml b/catalog/gallery/android/app/src/main/res/values/styles.xml index cb1ef880..0d1fa8fc 100644 --- a/catalog/gallery/android/app/src/main/res/values/styles.xml +++ b/catalog/gallery/android/app/src/main/res/values/styles.xml @@ -5,6 +5,10 @@ @drawable/launch_background + false + false + false + shortEdges - + gallery @@ -37,9 +35,80 @@ const serviceWorkerVersion = null; - + + + + + + + + + - - + + + \ No newline at end of file diff --git a/catalog/gallery/web/splash/img/dark-1x.png b/catalog/gallery/web/splash/img/dark-1x.png new file mode 100644 index 0000000000000000000000000000000000000000..2544b5c6d0b446cd03ece74f72fac482901f5e99 GIT binary patch literal 2880 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 literal 0 HcmV?d00001 diff --git a/catalog/gallery/web/splash/img/dark-3x.png b/catalog/gallery/web/splash/img/dark-3x.png new file mode 100644 index 0000000000000000000000000000000000000000..ee10389dd1cb694325b3b57fc9ebf9b18211636f GIT binary patch literal 21003 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 literal 0 HcmV?d00001 diff --git a/catalog/gallery/web/splash/img/light-3x.png b/catalog/gallery/web/splash/img/light-3x.png new file mode 100644 index 0000000000000000000000000000000000000000..ee10389dd1cb694325b3b57fc9ebf9b18211636f GIT binary patch literal 21003 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 Date: Tue, 14 Nov 2023 11:27:52 -0300 Subject: [PATCH 3/5] resolve comments --- catalog/CHANGELOG.md | 3 - catalog/LICENSE | 1 - catalog/gallery/README.md | 16 ----- catalog/gallery/lib/main/catalog_section.dart | 14 ----- .../gallery/lib/router/catalog_router.dart | 13 +--- .../gallery/lib/router/catalog_router.gr.dart | 20 ------- lib/ui/extensions/context_extensions.dart | 2 +- lib/ui/theme/app_colors.dart | 47 --------------- lib/ui/theme/app_theme.dart | 32 ---------- lib/ui/theme/dimensions.dart | 29 --------- lib/ui/theme/text_styles.dart | 60 ------------------- 11 files changed, 4 insertions(+), 233 deletions(-) delete mode 100644 catalog/CHANGELOG.md delete mode 100644 catalog/LICENSE delete mode 100644 catalog/gallery/README.md delete mode 100644 catalog/gallery/lib/main/catalog_section.dart delete mode 100644 lib/ui/theme/app_colors.dart delete mode 100644 lib/ui/theme/app_theme.dart delete mode 100644 lib/ui/theme/dimensions.dart delete mode 100644 lib/ui/theme/text_styles.dart diff --git a/catalog/CHANGELOG.md b/catalog/CHANGELOG.md deleted file mode 100644 index 41cc7d81..00000000 --- a/catalog/CHANGELOG.md +++ /dev/null @@ -1,3 +0,0 @@ -## 0.0.1 - -* TODO: Describe initial release. diff --git a/catalog/LICENSE b/catalog/LICENSE deleted file mode 100644 index ba75c69f..00000000 --- a/catalog/LICENSE +++ /dev/null @@ -1 +0,0 @@ -TODO: Add your license here. diff --git a/catalog/gallery/README.md b/catalog/gallery/README.md deleted file mode 100644 index 0fdbda8b..00000000 --- a/catalog/gallery/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# gallery - -A new Flutter project. - -## Getting Started - -This project is a starting point for a Flutter application. - -A few resources to get you started if this is your first Flutter project: - -- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) -- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) - -For help getting started with Flutter development, view the -[online documentation](https://docs.flutter.dev/), which offers tutorials, -samples, guidance on mobile development, and a full API reference. diff --git a/catalog/gallery/lib/main/catalog_section.dart b/catalog/gallery/lib/main/catalog_section.dart deleted file mode 100644 index ad530a4a..00000000 --- a/catalog/gallery/lib/main/catalog_section.dart +++ /dev/null @@ -1,14 +0,0 @@ -import 'package:auto_route/auto_route.dart'; -import 'package:flutter/widgets.dart'; - -@RoutePage(name: 'CatalogSectionRouter') -class CatalogSectionRouterPage extends CatalogSectionRouter { - const CatalogSectionRouterPage({super.key}); -} - -class CatalogSectionRouter extends StatelessWidget { - const CatalogSectionRouter({super.key}); - - @override - Widget build(BuildContext context) => const SafeArea(child: AutoRouter()); -} diff --git a/catalog/gallery/lib/router/catalog_router.dart b/catalog/gallery/lib/router/catalog_router.dart index 531059cc..ef33c13d 100644 --- a/catalog/gallery/lib/router/catalog_router.dart +++ b/catalog/gallery/lib/router/catalog_router.dart @@ -2,7 +2,6 @@ import 'package:auto_route/auto_route.dart'; import 'package:gallery/catalog/catalog_app_button_screen.dart'; import 'package:gallery/catalog/catalog_text_fields_screen.dart'; import 'package:gallery/main/catalog_main_screen.dart'; -import 'package:gallery/main/catalog_section.dart'; part 'catalog_router.gr.dart'; @@ -15,14 +14,8 @@ class CatalogRouter extends _$CatalogRouter { CatalogRouter() : routes = [ - AutoRoute( - page: CatalogSectionRouter.page, - path: '/', - children: [ - AutoRoute(page: CatalogAppButtonRoute.page), - AutoRoute(initial: true, page: CatalogMainRoute.page), - AutoRoute(page: CatalogTextFieldsRoute.page), - ], - ), + AutoRoute(page: CatalogAppButtonRoute.page), + AutoRoute(initial: true, page: CatalogMainRoute.page), + AutoRoute(page: CatalogTextFieldsRoute.page), ]; } diff --git a/catalog/gallery/lib/router/catalog_router.gr.dart b/catalog/gallery/lib/router/catalog_router.gr.dart index 9f38820c..bfa2bb60 100644 --- a/catalog/gallery/lib/router/catalog_router.gr.dart +++ b/catalog/gallery/lib/router/catalog_router.gr.dart @@ -27,12 +27,6 @@ abstract class _$CatalogRouter extends RootStackRouter { child: const CatalogMainScreen(), ); }, - CatalogSectionRouter.name: (routeData) { - return AutoRoutePage( - routeData: routeData, - child: const CatalogSectionRouterPage(), - ); - }, CatalogTextFieldsRoute.name: (routeData) { return AutoRoutePage( routeData: routeData, @@ -70,20 +64,6 @@ class CatalogMainRoute extends PageRouteInfo { static const PageInfo page = PageInfo(name); } -/// generated route for -/// [CatalogSectionRouterPage] -class CatalogSectionRouter extends PageRouteInfo { - const CatalogSectionRouter({List? children}) - : super( - CatalogSectionRouter.name, - initialChildren: children, - ); - - static const String name = 'CatalogSectionRouter'; - - static const PageInfo page = PageInfo(name); -} - /// generated route for /// [CatalogTextFieldsScreen] class CatalogTextFieldsRoute extends PageRouteInfo { diff --git a/lib/ui/extensions/context_extensions.dart b/lib/ui/extensions/context_extensions.dart index 89280f73..cc3b1163 100644 --- a/lib/ui/extensions/context_extensions.dart +++ b/lib/ui/extensions/context_extensions.dart @@ -4,5 +4,5 @@ import 'package:flutter_gen/gen_l10n/app_localizations.dart'; extension ContextExtensions on BuildContext { AppLocalizations get localizations => AppLocalizations.of(this)!; - ThemeData get theme => Theme.of(this); + // ThemeData get theme => Theme.of(this); } diff --git a/lib/ui/theme/app_colors.dart b/lib/ui/theme/app_colors.dart deleted file mode 100644 index c0859694..00000000 --- a/lib/ui/theme/app_colors.dart +++ /dev/null @@ -1,47 +0,0 @@ -// ignore_for_file: overridden_fields - -import 'package:flutter/material.dart'; -import 'package:material_color_generator/material_color_generator.dart'; - -// Colors name extracted from https://www.color-name.com -@immutable -class AppColors extends ColorScheme { - @override - final Color onPrimary; - @override - final MaterialColor primary; - @override - final MaterialColor surface; - - const AppColors({ - required super.brightness, - required this.primary, - required this.onPrimary, - required super.secondary, - required super.onSecondary, - required super.error, - required super.onError, - required super.background, - required super.onBackground, - required this.surface, - required super.onSurface, - }) : super( - primary: primary, - onPrimary: onPrimary, - surface: surface, - ); - - static AppColors getColorScheme() => AppColors( - brightness: Brightness.light, - primary: generateMaterialColor(color: const Color(0xffee1a64)), - onPrimary: Colors.white, - secondary: generateMaterialColor(color: const Color(0xffffd81d)), - onSecondary: Colors.black, - error: generateMaterialColor(color: const Color(0xffF4642C)), - onError: Colors.black, - onBackground: Colors.black, - surface: generateMaterialColor(color: const Color(0xFFE6E9EC)), - onSurface: Colors.black, - background: Colors.white, - ); -} diff --git a/lib/ui/theme/app_theme.dart b/lib/ui/theme/app_theme.dart deleted file mode 100644 index 52921bc3..00000000 --- a/lib/ui/theme/app_theme.dart +++ /dev/null @@ -1,32 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_template/ui/theme/app_colors.dart'; -import 'package:flutter_template/ui/theme/dimensions.dart'; -import 'package:flutter_template/ui/theme/text_styles.dart'; - -late AppColors _colors; -late AppDimens _dimensions; -late AppStyles _styles; - -class AppTheme { - static ThemeData provideAppTheme(BuildContext buildContext) { - // It can be changed based on the device - _styles = AppStyles.getAppStyles(); - _dimensions = AppDimens.getDimensions(); - _colors = AppColors.getColorScheme(); - - return ThemeData( - primaryColor: _colors.primary, - colorScheme: _colors, - textTheme: _styles.getThemeData(), - primaryTextTheme: _styles.getThemeData(), - ); - } -} - -extension ThemeExtensions on ThemeData { - AppDimens get dimensions => _dimensions; - - AppColors get colors => _colors; - - AppStyles get textStyles => _styles; -} diff --git a/lib/ui/theme/dimensions.dart b/lib/ui/theme/dimensions.dart deleted file mode 100644 index 8df5c80a..00000000 --- a/lib/ui/theme/dimensions.dart +++ /dev/null @@ -1,29 +0,0 @@ -class AppDimens { - final int spacing2; - final int spacing4; - final int spacing8; - final int spacing12; - final int spacing16; - final int spacing20; - final int spacing24; - - AppDimens({ - required this.spacing2, - required this.spacing4, - required this.spacing8, - required this.spacing12, - required this.spacing16, - required this.spacing20, - required this.spacing24, - }); - - static AppDimens getDimensions() => AppDimens( - spacing2: 2, - spacing4: 4, - spacing8: 8, - spacing12: 12, - spacing16: 16, - spacing20: 20, - spacing24: 24, - ); -} diff --git a/lib/ui/theme/text_styles.dart b/lib/ui/theme/text_styles.dart deleted file mode 100644 index fec1942b..00000000 --- a/lib/ui/theme/text_styles.dart +++ /dev/null @@ -1,60 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:google_fonts/google_fonts.dart'; - -class AppStyles extends TextTheme { - final TextStyle customStyle; - - const AppStyles({ - required this.customStyle, - super.headlineLarge, - super.headlineMedium, - super.headlineSmall, - super.bodyLarge, - super.bodyMedium, - super.bodySmall, - super.titleLarge, - super.titleMedium, - super.titleSmall, - super.labelLarge, - super.labelMedium, - super.labelSmall, - }); - - factory AppStyles.fromTextTheme({ - required TextStyle customStyle, - required TextTheme textTheme, - }) => - AppStyles( - customStyle: customStyle, - headlineSmall: textTheme.headlineSmall, - headlineMedium: textTheme.headlineMedium, - headlineLarge: textTheme.headlineLarge, - bodyLarge: textTheme.bodyLarge, - bodyMedium: textTheme.bodyMedium, - bodySmall: textTheme.bodySmall, - titleLarge: textTheme.titleLarge, - titleMedium: textTheme.titleMedium, - titleSmall: textTheme.titleSmall, - labelLarge: textTheme.labelLarge, - labelMedium: textTheme.labelMedium, - labelSmall: textTheme.labelSmall, - ); - - static AppStyles getAppStyles() => AppStyles.fromTextTheme( - customStyle: GoogleFonts.inter( - fontSize: 50.sp, - fontWeight: FontWeight.w300, - fontStyle: FontStyle.normal, - ), - textTheme: GoogleFonts.interTextTheme().copyWith( - bodyLarge: GoogleFonts.inter( - fontSize: 18.sp, - fontWeight: FontWeight.w300, - fontStyle: FontStyle.normal, - ), - ), - ); - - TextTheme getThemeData() => getAppStyles(); -} From db5d04abc00c8666ec8f8aced25c32473aa653b5 Mon Sep 17 00:00:00 2001 From: Sol Mendiola Date: Tue, 14 Nov 2023 12:02:11 -0300 Subject: [PATCH 4/5] resolve comments --- catalog/lib/theme/app_theme.dart | 1 + catalog/pubspec.yaml | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/catalog/lib/theme/app_theme.dart b/catalog/lib/theme/app_theme.dart index 5d0875cf..529ac636 100644 --- a/catalog/lib/theme/app_theme.dart +++ b/catalog/lib/theme/app_theme.dart @@ -2,6 +2,7 @@ import 'package:catalog/theme/app_text_styles.dart'; import 'package:flutter/material.dart'; import 'package:catalog/theme/app_colors.dart'; import 'package:catalog/theme/app_dimensions.dart'; +//TODO: add theme extensions late AppColors _colors; late AppDimens _dimensions; diff --git a/catalog/pubspec.yaml b/catalog/pubspec.yaml index 11bcde19..77ba6813 100644 --- a/catalog/pubspec.yaml +++ b/catalog/pubspec.yaml @@ -23,5 +23,3 @@ dev_dependencies: flutter_gen_runner: 5.3.1 build_runner: 2.4.6 lints: 3.0.0 - -flutter: From 642818bcc64231144e67d6e863a19661179ae6a7 Mon Sep 17 00:00:00 2001 From: Sol Mendiola Date: Tue, 14 Nov 2023 12:06:42 -0300 Subject: [PATCH 5/5] resolve comments --- lib/ui/extensions/context_extensions.dart | 2 -- lib/ui/main/main_screen.dart | 2 +- lib/ui/welcome/welcome_screen.dart | 2 +- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/ui/extensions/context_extensions.dart b/lib/ui/extensions/context_extensions.dart index cc3b1163..cd2b33d4 100644 --- a/lib/ui/extensions/context_extensions.dart +++ b/lib/ui/extensions/context_extensions.dart @@ -3,6 +3,4 @@ import 'package:flutter_gen/gen_l10n/app_localizations.dart'; extension ContextExtensions on BuildContext { AppLocalizations get localizations => AppLocalizations.of(this)!; - - // ThemeData get theme => Theme.of(this); } diff --git a/lib/ui/main/main_screen.dart b/lib/ui/main/main_screen.dart index 400886b6..34e420c7 100644 --- a/lib/ui/main/main_screen.dart +++ b/lib/ui/main/main_screen.dart @@ -4,7 +4,7 @@ import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter_template/core/di/di_provider.dart'; import 'package:flutter_template/ui/resources.dart'; import 'package:flutter_template/ui/router/app_router.dart'; -import 'package:flutter_template/ui/theme/app_theme.dart'; +import 'package:catalog/catalog.dart'; class MainScreen extends StatelessWidget { const MainScreen({super.key}); diff --git a/lib/ui/welcome/welcome_screen.dart b/lib/ui/welcome/welcome_screen.dart index 6039bd0f..bed3281f 100644 --- a/lib/ui/welcome/welcome_screen.dart +++ b/lib/ui/welcome/welcome_screen.dart @@ -1,10 +1,10 @@ import 'package:auto_route/auto_route.dart'; +import 'package:catalog/catalog.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_template/core/model/project.dart'; import 'package:flutter_template/ui/extensions/context_extensions.dart'; import 'package:flutter_template/ui/section/error_handler/global_event_handler_cubit.dart'; -import 'package:flutter_template/ui/theme/app_theme.dart'; import 'package:flutter_template/ui/welcome/welcome_cubit.dart'; import 'package:flutter_web_browser/flutter_web_browser.dart';