diff --git a/android/settings_aar.gradle b/android/settings_aar.gradle new file mode 100644 index 0000000..e7b4def --- /dev/null +++ b/android/settings_aar.gradle @@ -0,0 +1 @@ +include ':app' diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift new file mode 100644 index 0000000..70693e4 --- /dev/null +++ b/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/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png new file mode 100644 index 0000000..ddcac7f Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png new file mode 100644 index 0000000..47a1cf4 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png new file mode 100644 index 0000000..a38dfad Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png new file mode 100644 index 0000000..b6eefa9 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png new file mode 100644 index 0000000..16a041f Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png new file mode 100644 index 0000000..18054b4 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png differ diff --git a/ios/Runner/Runner-Bridging-Header.h b/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 0000000..308a2a5 --- /dev/null +++ b/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/lib/ui/game/game_view.dart b/lib/ui/game/game_view.dart index f4ddfbd..994a9d1 100644 --- a/lib/ui/game/game_view.dart +++ b/lib/ui/game/game_view.dart @@ -68,7 +68,7 @@ class _GameViewState extends State { isScrollControlled: true, builder: (context) => WordsBottomSheet(words: wordsBloc.createSoupWordsWidget()), ), - () => wordsBloc.unlockWordEnable ? unlockWord() : SnackBarUtil.createErrorSnack(context, 'You have already unlocked a word') + () => wordsBloc.unlockWordEnable ? unlockWord() : SnackBarUtil.createErrorSnack(context, 'Ya desbloqueaste una palabra') ], wordsBloc.unlockWordEnable ) @@ -157,6 +157,13 @@ class _GameViewState extends State { void createLevelCompletedDialog() async { final goNextLevel = await LevelCompleteDialog.showLevelCompleteDialog(context, wordsBloc.userName, widget.level); if(goNextLevel) wordsBloc.triggerLevelComplete(); + else { + wordsBloc.triggerLevelComplete(); + Future.delayed(Duration(milliseconds: 500)) + .then((_) => wordsBloc.saveGameBoardData(widget.level) + .then((_) => Navigator.pop(context)) + ); + } } void createGameCompleteDialog() async { diff --git a/lib/ui/initial_screen/initial_screen.dart b/lib/ui/initial_screen/initial_screen.dart index 7b5a215..509aa05 100644 --- a/lib/ui/initial_screen/initial_screen.dart +++ b/lib/ui/initial_screen/initial_screen.dart @@ -47,6 +47,7 @@ class _InitialScreenState extends State with WidgetsBindingObserv return Column( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center, + mainAxisSize: MainAxisSize.max, children: [ SizedBox( height: shortestSide < 500 ? 150 : 190, @@ -86,6 +87,16 @@ class _InitialScreenState extends State with WidgetsBindingObserv text: 'Borrar partida'.toUpperCase(), onTap: _gameboardState == null ? null : () => deleteGameBoard(), ), + Padding( + padding: const EdgeInsets.only(top: 25.0), + child: Text( + 'Hecho por: Emmanuel Guerra y Carlos Rosales', + style: TextStyle( + fontSize: 14, + color: Colors.grey.withOpacity(0.7) + ), + ), + ) ], ); } diff --git a/web/index.html b/web/index.html new file mode 100644 index 0000000..666c22e --- /dev/null +++ b/web/index.html @@ -0,0 +1,10 @@ + + + + + word_soup + + + + +