fix/ios #36

Merged
amirreza.chegini merged 4 commits from fix/ios into develop 2 days ago
  1. 21
      android/app/build.gradle.kts
  2. BIN
      android/app/src/main/res/mipmap-hdpi/ic_launcher.png
  3. BIN
      android/app/src/main/res/mipmap-hdpi/ic_launcher_background.png
  4. BIN
      android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
  5. BIN
      android/app/src/main/res/mipmap-hdpi/ic_launcher_monochrome.png
  6. BIN
      android/app/src/main/res/mipmap-mdpi/ic_launcher.png
  7. BIN
      android/app/src/main/res/mipmap-mdpi/ic_launcher_background.png
  8. BIN
      android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
  9. BIN
      android/app/src/main/res/mipmap-mdpi/ic_launcher_monochrome.png
  10. BIN
      android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
  11. BIN
      android/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png
  12. BIN
      android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
  13. BIN
      android/app/src/main/res/mipmap-xhdpi/ic_launcher_monochrome.png
  14. BIN
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
  15. BIN
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png
  16. BIN
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
  17. BIN
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher_monochrome.png
  18. BIN
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
  19. BIN
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png
  20. BIN
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
  21. BIN
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_monochrome.png
  22. BIN
      assets/images/diamond_big.png
  23. 56
      ios/Podfile.lock
  24. 112
      ios/Runner.xcodeproj/project.pbxproj
  25. 3
      ios/Runner.xcworkspace/contents.xcworkspacedata
  26. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-20@2x.png
  27. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-20@2x~ipad.png
  28. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-20@3x.png
  29. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-20~ipad.png
  30. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-29.png
  31. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-29@2x.png
  32. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-29@2x~ipad.png
  33. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-29@3x.png
  34. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-29~ipad.png
  35. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-40@2x.png
  36. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-40@2x~ipad.png
  37. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-40@3x.png
  38. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-40~ipad.png
  39. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-60@2x~car.png
  40. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-60@3x~car.png
  41. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-83.5@2x~ipad.png
  42. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon@2x.png
  43. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon@2x~ipad.png
  44. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon@3x.png
  45. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon~ios-marketing.png
  46. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon~ipad.png
  47. 174
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
  48. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
  49. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
  50. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
  51. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
  52. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
  53. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
  54. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
  55. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
  56. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
  57. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
  58. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
  59. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
  60. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
  61. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
  62. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
  63. 2
      ios/Runner/Info.plist
  64. 68
      lib/features/home/presentation/ui/home_page.dart
  65. 48
      lib/features/level/presentation/ui/level_page.dart
  66. 15
      lib/features/question/presentation/ui/question_page.dart
  67. 9
      lib/features/question/presentation/ui/screens/diamond_screen.dart
  68. 2
      pubspec.yaml

21
android/app/build.gradle.kts

@ -1,3 +1,8 @@
import kotlin.text.all
import kotlin.text.find
import kotlin.text.isNotEmpty
import kotlin.text.replace
plugins { plugins {
id("com.android.application") id("com.android.application")
id("kotlin-android") id("kotlin-android")
@ -37,6 +42,22 @@ android {
signingConfig = signingConfigs.getByName("debug") signingConfig = signingConfigs.getByName("debug")
} }
} }
applicationVariants.all {
val variant = this
variant.outputs.all {
val output = this
// Get the architecture (ABI) for the current output. Note: Flutter often uses 'armeabi-v7a', 'arm64-v8a', etc.
val abi = output.filters.find { it.filterType == "ABI" }?.identifier?.replace("armeabi-", "") ?: ""
// Make sure we are dealing with an APK output
if (output is com.android.build.gradle.internal.api.ApkVariantOutputImpl) {
// Append the ABI to the filename, with a hyphen if it exists
val abiSuffix = if (abi.isNotEmpty()) "-$abi" else ""
output.outputFileName = "Hadi & Hoda v${variant.versionName}+${variant.versionCode}${abiSuffix}.apk"
}
}
}
} }
flutter { flutter {

BIN
android/app/src/main/res/mipmap-hdpi/ic_launcher.png

Before

Width: 72  |  Height: 72  |  Size: 4.3 KiB

After

Width: 72  |  Height: 72  |  Size: 10 KiB

BIN
android/app/src/main/res/mipmap-hdpi/ic_launcher_background.png

Before

Width: 162  |  Height: 162  |  Size: 932 B

After

Width: 162  |  Height: 162  |  Size: 936 B

BIN
android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png

Before

Width: 162  |  Height: 162  |  Size: 11 KiB

After

Width: 162  |  Height: 162  |  Size: 31 KiB

BIN
android/app/src/main/res/mipmap-hdpi/ic_launcher_monochrome.png

Before

Width: 162  |  Height: 162  |  Size: 11 KiB

After

Width: 162  |  Height: 162  |  Size: 31 KiB

BIN
android/app/src/main/res/mipmap-mdpi/ic_launcher.png

Before

Width: 48  |  Height: 48  |  Size: 2.3 KiB

After

Width: 48  |  Height: 48  |  Size: 4.7 KiB

BIN
android/app/src/main/res/mipmap-mdpi/ic_launcher_background.png

Before

Width: 108  |  Height: 108  |  Size: 539 B

After

Width: 108  |  Height: 108  |  Size: 542 B

BIN
android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png

Before

Width: 108  |  Height: 108  |  Size: 6.0 KiB

After

Width: 108  |  Height: 108  |  Size: 15 KiB

BIN
android/app/src/main/res/mipmap-mdpi/ic_launcher_monochrome.png

Before

Width: 108  |  Height: 108  |  Size: 6.0 KiB

After

Width: 108  |  Height: 108  |  Size: 15 KiB

BIN
android/app/src/main/res/mipmap-xhdpi/ic_launcher.png

Before

Width: 96  |  Height: 96  |  Size: 6.7 KiB

After

Width: 96  |  Height: 96  |  Size: 16 KiB

BIN
android/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png

Before

Width: 216  |  Height: 216  |  Size: 1.4 KiB

After

Width: 216  |  Height: 216  |  Size: 1.4 KiB

BIN
android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png

Before

Width: 216  |  Height: 216  |  Size: 18 KiB

After

Width: 216  |  Height: 216  |  Size: 52 KiB

BIN
android/app/src/main/res/mipmap-xhdpi/ic_launcher_monochrome.png

Before

Width: 216  |  Height: 216  |  Size: 18 KiB

After

Width: 216  |  Height: 216  |  Size: 52 KiB

BIN
android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png

Before

Width: 144  |  Height: 144  |  Size: 13 KiB

After

Width: 144  |  Height: 144  |  Size: 34 KiB

BIN
android/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png

Before

Width: 324  |  Height: 324  |  Size: 2.6 KiB

After

Width: 324  |  Height: 324  |  Size: 2.6 KiB

BIN
android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png

Before

Width: 324  |  Height: 324  |  Size: 37 KiB

After

Width: 324  |  Height: 324  |  Size: 111 KiB

BIN
android/app/src/main/res/mipmap-xxhdpi/ic_launcher_monochrome.png

Before

Width: 324  |  Height: 324  |  Size: 37 KiB

After

Width: 324  |  Height: 324  |  Size: 112 KiB

BIN
android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png

Before

Width: 192  |  Height: 192  |  Size: 20 KiB

After

Width: 192  |  Height: 192  |  Size: 56 KiB

BIN
android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png

Before

Width: 432  |  Height: 432  |  Size: 4.2 KiB

After

Width: 432  |  Height: 432  |  Size: 4.2 KiB

BIN
android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png

Before

Width: 432  |  Height: 432  |  Size: 60 KiB

After

Width: 432  |  Height: 432  |  Size: 187 KiB

BIN
android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_monochrome.png

Before

Width: 432  |  Height: 432  |  Size: 60 KiB

After

Width: 432  |  Height: 432  |  Size: 188 KiB

BIN
assets/images/diamond_big.png

Before

Width: 244  |  Height: 186  |  Size: 39 KiB

After

Width: 278  |  Height: 229  |  Size: 41 KiB

56
ios/Podfile.lock

@ -0,0 +1,56 @@
PODS:
- audio_session (0.0.1):
- Flutter
- Flutter (1.0.0)
- flutter_archive (0.0.1):
- Flutter
- ZIPFoundation (= 0.9.19)
- just_audio (0.0.1):
- Flutter
- FlutterMacOS
- path_provider_foundation (0.0.1):
- Flutter
- FlutterMacOS
- shared_preferences_foundation (0.0.1):
- Flutter
- FlutterMacOS
- ZIPFoundation (0.9.19)
DEPENDENCIES:
- audio_session (from `.symlinks/plugins/audio_session/ios`)
- Flutter (from `Flutter`)
- flutter_archive (from `.symlinks/plugins/flutter_archive/ios`)
- just_audio (from `.symlinks/plugins/just_audio/darwin`)
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
SPEC REPOS:
trunk:
- ZIPFoundation
EXTERNAL SOURCES:
audio_session:
:path: ".symlinks/plugins/audio_session/ios"
Flutter:
:path: Flutter
flutter_archive:
:path: ".symlinks/plugins/flutter_archive/ios"
just_audio:
:path: ".symlinks/plugins/just_audio/darwin"
path_provider_foundation:
:path: ".symlinks/plugins/path_provider_foundation/darwin"
shared_preferences_foundation:
:path: ".symlinks/plugins/shared_preferences_foundation/darwin"
SPEC CHECKSUMS:
audio_session: 9bb7f6c970f21241b19f5a3658097ae459681ba0
Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467
flutter_archive: ad8edfd7f7d1bb12058d05424ba93e27d9930efe
just_audio: 4e391f57b79cad2b0674030a00453ca5ce817eed
path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564
shared_preferences_foundation: 9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7
ZIPFoundation: b8c29ea7ae353b309bc810586181fd073cb3312c
PODFILE CHECKSUM: 3c63482e143d1b91d2d2560aee9fb04ecc74ac7e
COCOAPODS: 1.16.2

112
ios/Runner.xcodeproj/project.pbxproj

@ -8,6 +8,8 @@
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
158B8A5FD29912CFF26B9BAF /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 759C89AD6DE798E4CD028D76 /* Pods_Runner.framework */; };
3242934F0E5B8F9D949611E7 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E33771D1E1C67D11ACD90449 /* Pods_RunnerTests.framework */; };
331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
@ -45,8 +47,11 @@
331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = "<group>"; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = "<group>"; };
331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
486D21D7553AB69C66B986D1 /* 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 = "<group>"; };
555268DCB20A8E981AFD250D /* 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 = "<group>"; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
759C89AD6DE798E4CD028D76 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
@ -55,13 +60,27 @@
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
B3B93BC43787CB447E97A7BB /* 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 = "<group>"; };
BB05554357F24EDF51C7FB42 /* 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 = "<group>"; };
D74449D88C801D925B26DCCA /* 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 = "<group>"; };
E33771D1E1C67D11ACD90449 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FB26FFAEED921E23EC33DE08 /* 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 = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
88FCBE2C571EC48F87C0DFDD /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
3242934F0E5B8F9D949611E7 /* Pods_RunnerTests.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
97C146EB1CF9000F007C117D /* Frameworks */ = { 97C146EB1CF9000F007C117D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
158B8A5FD29912CFF26B9BAF /* Pods_Runner.framework in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -76,6 +95,20 @@
path = RunnerTests; path = RunnerTests;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
3D81C34DC4CF3A92FFCE5CF9 /* Pods */ = {
isa = PBXGroup;
children = (
486D21D7553AB69C66B986D1 /* Pods-Runner.debug.xcconfig */,
FB26FFAEED921E23EC33DE08 /* Pods-Runner.release.xcconfig */,
555268DCB20A8E981AFD250D /* Pods-Runner.profile.xcconfig */,
D74449D88C801D925B26DCCA /* Pods-RunnerTests.debug.xcconfig */,
BB05554357F24EDF51C7FB42 /* Pods-RunnerTests.release.xcconfig */,
B3B93BC43787CB447E97A7BB /* Pods-RunnerTests.profile.xcconfig */,
);
name = Pods;
path = Pods;
sourceTree = "<group>";
};
9740EEB11CF90186004384FC /* Flutter */ = { 9740EEB11CF90186004384FC /* Flutter */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@ -94,6 +127,8 @@
97C146F01CF9000F007C117D /* Runner */, 97C146F01CF9000F007C117D /* Runner */,
97C146EF1CF9000F007C117D /* Products */, 97C146EF1CF9000F007C117D /* Products */,
331C8082294A63A400263BE5 /* RunnerTests */, 331C8082294A63A400263BE5 /* RunnerTests */,
3D81C34DC4CF3A92FFCE5CF9 /* Pods */,
FC96BC5E247D6FFBB9FA6BDC /* Frameworks */,
); );
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@ -121,6 +156,15 @@
path = Runner; path = Runner;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
FC96BC5E247D6FFBB9FA6BDC /* Frameworks */ = {
isa = PBXGroup;
children = (
759C89AD6DE798E4CD028D76 /* Pods_Runner.framework */,
E33771D1E1C67D11ACD90449 /* Pods_RunnerTests.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */ /* End PBXGroup section */
/* Begin PBXNativeTarget section */ /* Begin PBXNativeTarget section */
@ -128,8 +172,10 @@
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
buildPhases = ( buildPhases = (
93896C744A5765E2E923D2A2 /* [CP] Check Pods Manifest.lock */,
331C807D294A63A400263BE5 /* Sources */, 331C807D294A63A400263BE5 /* Sources */,
331C807F294A63A400263BE5 /* Resources */, 331C807F294A63A400263BE5 /* Resources */,
88FCBE2C571EC48F87C0DFDD /* Frameworks */,
); );
buildRules = ( buildRules = (
); );
@ -145,12 +191,14 @@
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = ( buildPhases = (
50232B51F020C768F6632825 /* [CP] Check Pods Manifest.lock */,
9740EEB61CF901F6004384FC /* Run Script */, 9740EEB61CF901F6004384FC /* Run Script */,
97C146EA1CF9000F007C117D /* Sources */, 97C146EA1CF9000F007C117D /* Sources */,
97C146EB1CF9000F007C117D /* Frameworks */, 97C146EB1CF9000F007C117D /* Frameworks */,
97C146EC1CF9000F007C117D /* Resources */, 97C146EC1CF9000F007C117D /* Resources */,
9705A1C41CF9048500538489 /* Embed Frameworks */, 9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */,
6C6DBE7A71B85EC7354A578A /* [CP] Embed Pods Frameworks */,
); );
buildRules = ( buildRules = (
); );
@ -238,6 +286,67 @@
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
}; };
50232B51F020C768F6632825 /* [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;
};
6C6DBE7A71B85EC7354A578A /* [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;
};
93896C744A5765E2E923D2A2 /* [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;
};
9740EEB61CF901F6004384FC /* Run Script */ = { 9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1; alwaysOutOfDate = 1;
@ -378,6 +487,7 @@
}; };
331C8088294A63A400263BE5 /* Debug */ = { 331C8088294A63A400263BE5 /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = D74449D88C801D925B26DCCA /* Pods-RunnerTests.debug.xcconfig */;
buildSettings = { buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)"; BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
@ -395,6 +505,7 @@
}; };
331C8089294A63A400263BE5 /* Release */ = { 331C8089294A63A400263BE5 /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = BB05554357F24EDF51C7FB42 /* Pods-RunnerTests.release.xcconfig */;
buildSettings = { buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)"; BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
@ -410,6 +521,7 @@
}; };
331C808A294A63A400263BE5 /* Profile */ = { 331C808A294A63A400263BE5 /* Profile */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = B3B93BC43787CB447E97A7BB /* Pods-RunnerTests.profile.xcconfig */;
buildSettings = { buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)"; BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;

3
ios/Runner.xcworkspace/contents.xcworkspacedata

@ -4,4 +4,7 @@
<FileRef <FileRef
location = "group:Runner.xcodeproj"> location = "group:Runner.xcodeproj">
</FileRef> </FileRef>
<FileRef
location = "group:Pods/Pods.xcodeproj">
</FileRef>
</Workspace> </Workspace>

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-20@2x.png

After

Width: 40  |  Height: 40  |  Size: 4.7 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-20@2x~ipad.png

After

Width: 40  |  Height: 40  |  Size: 4.7 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-20@3x.png

After

Width: 60  |  Height: 60  |  Size: 10 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-20~ipad.png

After

Width: 20  |  Height: 20  |  Size: 1.4 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-29.png

After

Width: 29  |  Height: 29  |  Size: 2.7 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-29@2x.png

After

Width: 58  |  Height: 58  |  Size: 9.4 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-29@2x~ipad.png

After

Width: 58  |  Height: 58  |  Size: 9.4 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-29@3x.png

After

Width: 87  |  Height: 87  |  Size: 19 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-29~ipad.png

After

Width: 29  |  Height: 29  |  Size: 2.7 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-40@2x.png

After

Width: 80  |  Height: 80  |  Size: 17 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-40@2x~ipad.png

After

Width: 80  |  Height: 80  |  Size: 17 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-40@3x.png

After

Width: 120  |  Height: 120  |  Size: 35 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-40~ipad.png

After

Width: 40  |  Height: 40  |  Size: 4.7 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-60@2x~car.png

After

Width: 120  |  Height: 120  |  Size: 35 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-60@3x~car.png

After

Width: 180  |  Height: 180  |  Size: 72 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon-83.5@2x~ipad.png

After

Width: 167  |  Height: 167  |  Size: 63 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon@2x.png

After

Width: 120  |  Height: 120  |  Size: 35 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon@2x~ipad.png

After

Width: 152  |  Height: 152  |  Size: 53 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon@3x.png

After

Width: 180  |  Height: 180  |  Size: 72 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon~ios-marketing.png

After

Width: 1024  |  Height: 1024  |  Size: 1.4 MiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon~ipad.png

After

Width: 76  |  Height: 76  |  Size: 15 KiB

174
ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json

@ -1,122 +1,134 @@
{ {
"images" : [
"images": [
{ {
"size" : "20x20",
"idiom" : "iphone",
"filename" : "Icon-App-20x20@2x.png",
"scale" : "2x"
"filename": "AppIcon@2x.png",
"idiom": "iphone",
"scale": "2x",
"size": "60x60"
}, },
{ {
"size" : "20x20",
"idiom" : "iphone",
"filename" : "Icon-App-20x20@3x.png",
"scale" : "3x"
"filename": "AppIcon@3x.png",
"idiom": "iphone",
"scale": "3x",
"size": "60x60"
}, },
{ {
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@1x.png",
"scale" : "1x"
"filename": "AppIcon~ipad.png",
"idiom": "ipad",
"scale": "1x",
"size": "76x76"
}, },
{ {
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@2x.png",
"scale" : "2x"
"filename": "AppIcon@2x~ipad.png",
"idiom": "ipad",
"scale": "2x",
"size": "76x76"
}, },
{ {
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@3x.png",
"scale" : "3x"
"filename": "AppIcon-83.5@2x~ipad.png",
"idiom": "ipad",
"scale": "2x",
"size": "83.5x83.5"
}, },
{ {
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-App-40x40@2x.png",
"scale" : "2x"
"filename": "AppIcon-40@2x.png",
"idiom": "iphone",
"scale": "2x",
"size": "40x40"
}, },
{ {
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-App-40x40@3x.png",
"scale" : "3x"
"filename": "AppIcon-40@3x.png",
"idiom": "iphone",
"scale": "3x",
"size": "40x40"
}, },
{ {
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-App-60x60@2x.png",
"scale" : "2x"
"filename": "AppIcon-40~ipad.png",
"idiom": "ipad",
"scale": "1x",
"size": "40x40"
}, },
{ {
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-App-60x60@3x.png",
"scale" : "3x"
"filename": "AppIcon-40@2x~ipad.png",
"idiom": "ipad",
"scale": "2x",
"size": "40x40"
}, },
{ {
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-App-20x20@1x.png",
"scale" : "1x"
"filename": "AppIcon-20@2x.png",
"idiom": "iphone",
"scale": "2x",
"size": "20x20"
}, },
{ {
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-App-20x20@2x.png",
"scale" : "2x"
"filename": "AppIcon-20@3x.png",
"idiom": "iphone",
"scale": "3x",
"size": "20x20"
}, },
{ {
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-App-29x29@1x.png",
"scale" : "1x"
"filename": "AppIcon-20~ipad.png",
"idiom": "ipad",
"scale": "1x",
"size": "20x20"
}, },
{ {
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-App-29x29@2x.png",
"scale" : "2x"
"filename": "AppIcon-20@2x~ipad.png",
"idiom": "ipad",
"scale": "2x",
"size": "20x20"
}, },
{ {
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-App-40x40@1x.png",
"scale" : "1x"
"filename": "AppIcon-29.png",
"idiom": "iphone",
"scale": "1x",
"size": "29x29"
}, },
{ {
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-App-40x40@2x.png",
"scale" : "2x"
"filename": "AppIcon-29@2x.png",
"idiom": "iphone",
"scale": "2x",
"size": "29x29"
}, },
{ {
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-App-76x76@1x.png",
"scale" : "1x"
"filename": "AppIcon-29@3x.png",
"idiom": "iphone",
"scale": "3x",
"size": "29x29"
}, },
{ {
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-App-76x76@2x.png",
"scale" : "2x"
"filename": "AppIcon-29~ipad.png",
"idiom": "ipad",
"scale": "1x",
"size": "29x29"
}, },
{ {
"size" : "83.5x83.5",
"idiom" : "ipad",
"filename" : "Icon-App-83.5x83.5@2x.png",
"scale" : "2x"
"filename": "AppIcon-29@2x~ipad.png",
"idiom": "ipad",
"scale": "2x",
"size": "29x29"
}, },
{ {
"size" : "1024x1024",
"idiom" : "ios-marketing",
"filename" : "Icon-App-1024x1024@1x.png",
"scale" : "1x"
"filename": "AppIcon-60@2x~car.png",
"idiom": "car",
"scale": "2x",
"size": "60x60"
},
{
"filename": "AppIcon-60@3x~car.png",
"idiom": "car",
"scale": "3x",
"size": "60x60"
},
{
"filename": "AppIcon~ios-marketing.png",
"idiom": "ios-marketing",
"scale": "1x",
"size": "1024x1024"
} }
], ],
"info" : {
"version" : 1,
"author" : "xcode"
"info": {
"author": "iconkitchen",
"version": 1
} }
}
}

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png

Before

Width: 1024  |  Height: 1024  |  Size: 11 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png

Before

Width: 20  |  Height: 20  |  Size: 295 B

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png

Before

Width: 40  |  Height: 40  |  Size: 406 B

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png

Before

Width: 60  |  Height: 60  |  Size: 450 B

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png

Before

Width: 29  |  Height: 29  |  Size: 282 B

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png

Before

Width: 58  |  Height: 58  |  Size: 462 B

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png

Before

Width: 87  |  Height: 87  |  Size: 704 B

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png

Before

Width: 40  |  Height: 40  |  Size: 406 B

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png

Before

Width: 80  |  Height: 80  |  Size: 586 B

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png

Before

Width: 120  |  Height: 120  |  Size: 862 B

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png

Before

Width: 120  |  Height: 120  |  Size: 862 B

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png

Before

Width: 180  |  Height: 180  |  Size: 1.6 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png

Before

Width: 76  |  Height: 76  |  Size: 762 B

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png

Before

Width: 152  |  Height: 152  |  Size: 1.2 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png

Before

Width: 167  |  Height: 167  |  Size: 1.4 KiB

2
ios/Runner/Info.plist

@ -5,7 +5,7 @@
<key>CFBundleDevelopmentRegion</key> <key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string> <string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key> <key>CFBundleDisplayName</key>
<string>Hadi Hoda Flutter</string>
<string>Hadi &amp; Hoda</string>
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string> <string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>

68
lib/features/home/presentation/ui/home_page.dart

@ -47,17 +47,19 @@ class HomePage extends StatelessWidget {
Widget _music(BuildContext context) { Widget _music(BuildContext context) {
return PositionedDirectional( return PositionedDirectional(
top: MySpaces.s36,
top: setPlatform(android: MySpaces.s36, iOS: MySpaces.s0),
end: MySpaces.s16, end: MySpaces.s16,
child: SlideDownFade(
delay: Duration(milliseconds: 200),
child: StreamBuilder<double>(
initialData: 1,
stream: context.read<HomeBloc>().volumeStream,
builder: (context, snapshot) => MyInkwell(
onTap: () => context.read<HomeBloc>().changeMute(),
child: MyImage(
image: snapshot.data == 0 ? MyAssets.musicOff : MyAssets.musicOn,
child: SafeArea(
child: SlideDownFade(
delay: Duration(milliseconds: 200),
child: StreamBuilder<double>(
initialData: 1,
stream: context.read<HomeBloc>().volumeStream,
builder: (context, snapshot) => MyInkwell(
onTap: () => context.read<HomeBloc>().changeMute(),
child: MyImage(
image: snapshot.data == 0 ? MyAssets.musicOff : MyAssets.musicOn,
),
), ),
), ),
), ),
@ -88,32 +90,34 @@ class HomePage extends StatelessWidget {
Positioned _bottomBtns(BuildContext context) { Positioned _bottomBtns(BuildContext context) {
return Positioned( return Positioned(
bottom: MySpaces.s40,
bottom: setPlatform(android: MySpaces.s40, iOS: MySpaces.s0),
left: MySpaces.s16, left: MySpaces.s16,
right: MySpaces.s16, right: MySpaces.s16,
child: SlideUpFade(
delay: Duration(milliseconds: 200),
child: Row(
crossAxisAlignment: CrossAxisAlignment.end,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
MyInkwell(
onTap: () => context.read<HomeBloc>().goToLanguagePage(context),
child: MyImage(
image: MyAssets.language,
child: SafeArea(
child: SlideUpFade(
delay: Duration(milliseconds: 200),
child: Row(
crossAxisAlignment: CrossAxisAlignment.end,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
MyInkwell(
onTap: () => context.read<HomeBloc>().goToLanguagePage(context),
child: MyImage(
image: MyAssets.language,
),
), ),
),
MyYellowButton(
onTap: () => context.read<HomeBloc>().goToLevelPage(context),
title: context.translate.start,
),
MyInkwell(
onTap: () => context.read<HomeBloc>().showAboutUs(context),
child: MyImage(
image: MyAssets.theme,
MyYellowButton(
onTap: () => context.read<HomeBloc>().goToLevelPage(context),
title: context.translate.start,
), ),
),
],
MyInkwell(
onTap: () => context.read<HomeBloc>().showAboutUs(context),
child: MyImage(
image: MyAssets.theme,
),
),
],
),
), ),
), ),
); );

48
lib/features/level/presentation/ui/level_page.dart

@ -184,32 +184,34 @@ class LevelPage extends StatelessWidget {
return Positioned( return Positioned(
left: MySpaces.s16, left: MySpaces.s16,
right: MySpaces.s16, right: MySpaces.s16,
top: MySpaces.s20,
child: Row(
spacing: MySpaces.s16,
children: [
MyInkwell(
onTap: () => context.read<LevelBloc>().goToHomePage(context),
audio: MyAudios.back,
child: MyImage(
image: MyAssets.homeButton,
),
),
Spacer(),
DiamondLevel(
diamonds: context.read<LevelBloc>().diamonds,
),
StreamBuilder<double>(
initialData: 1,
stream: context.read<LevelBloc>().volumeStream,
builder: (context, snapshot) => MyInkwell(
onTap: () => context.read<LevelBloc>().changeMute(),
top: setPlatform(android: MySpaces.s20, iOS: MySpaces.s0),
child: SafeArea(
child: Row(
spacing: MySpaces.s16,
children: [
MyInkwell(
onTap: () => context.read<LevelBloc>().goToHomePage(context),
audio: MyAudios.back,
child: MyImage( child: MyImage(
image: snapshot.data == 0 ? MyAssets.musicOff : MyAssets.musicOn,
image: MyAssets.homeButton,
), ),
), ),
),
],
Spacer(),
DiamondLevel(
diamonds: context.read<LevelBloc>().diamonds,
),
StreamBuilder<double>(
initialData: 1,
stream: context.read<LevelBloc>().volumeStream,
builder: (context, snapshot) => MyInkwell(
onTap: () => context.read<LevelBloc>().changeMute(),
child: MyImage(
image: snapshot.data == 0 ? MyAssets.musicOff : MyAssets.musicOn,
),
),
),
],
),
), ),
); );
} }

15
lib/features/question/presentation/ui/question_page.dart

@ -26,6 +26,12 @@ class QuestionPage extends StatelessWidget {
body: Container( body: Container(
height: context.heightScreen, height: context.heightScreen,
width: context.widthScreen, width: context.widthScreen,
padding: EdgeInsets.symmetric(
horizontal: setSize(context: context,
mobile: MySpaces.s16,
tablet: MySpaces.s30) ?? 0,
vertical: setPlatform(android: MySpaces.s20) ?? 0,
),
decoration: BoxDecoration( decoration: BoxDecoration(
gradient: LinearGradient( gradient: LinearGradient(
begin: Alignment.topCenter, begin: Alignment.topCenter,
@ -42,13 +48,8 @@ class QuestionPage extends StatelessWidget {
), ),
), ),
), ),
child: Padding(
padding: EdgeInsets.symmetric(
horizontal: setSize(context: context,
mobile: MySpaces.s16,
tablet: MySpaces.s30) ?? 0,
vertical: MySpaces.s22,
),
child: SafeArea(
bottom: false,
child: Column( child: Column(
children: [ children: [
_topButtons(context), _topButtons(context),

9
lib/features/question/presentation/ui/screens/diamond_screen.dart

@ -40,12 +40,9 @@ class DiamondScreen extends StatelessWidget {
Lottie.asset( Lottie.asset(
MyAnimations.lightPurple, MyAnimations.lightPurple,
), ),
Transform.rotate(
angle: 0.2,
child: MyImage(
image: MyAssets.diamondBig,
size: setSize(context: context, mobile: 200, tablet: 300),
),
MyImage(
image: MyAssets.diamondBig,
size: setSize(context: context, mobile: 200, tablet: 300),
), ),
Positioned( Positioned(
bottom: setSize( bottom: setSize(

2
pubspec.yaml

@ -1,7 +1,7 @@
name: hadi_hoda_flutter name: hadi_hoda_flutter
description: "A new Flutter project." description: "A new Flutter project."
publish_to: 'none' publish_to: 'none'
version: 1.0.0+1
version: 0.1.4+1
environment: environment:
sdk: ^3.9.2 sdk: ^3.9.2

Loading…
Cancel
Save