diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 20ee9c53..33e7cf8d 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -115,7 +115,7 @@ jobs: - name: Decode keystore from secret run: | - echo "${{ secrets.SIGNING_KEY_JKS }}" | base64 -d > android/app/my-release-key.jks + printf "%s" "${{ secrets.SIGNING_KEY_JKS }}" | base64 -d > android/app/my-release-key.jks - name: Build apk run: flutter build apk --release diff --git a/assets/images/bg_welcome.png b/assets/images/bg_welcome.png new file mode 100644 index 00000000..ccc2b61c Binary files /dev/null and b/assets/images/bg_welcome.png differ diff --git a/ios/build/ios/Pods.build/Release-iphonesimulator/FMDB.build/dgph b/ios/build/ios/Pods.build/Release-iphonesimulator/FMDB.build/dgph deleted file mode 100644 index 01c56549..00000000 Binary files a/ios/build/ios/Pods.build/Release-iphonesimulator/FMDB.build/dgph and /dev/null differ diff --git a/ios/build/ios/Pods.build/Release-iphonesimulator/Flutter.build/dgph b/ios/build/ios/Pods.build/Release-iphonesimulator/Flutter.build/dgph deleted file mode 100644 index 01c56549..00000000 Binary files a/ios/build/ios/Pods.build/Release-iphonesimulator/Flutter.build/dgph and /dev/null differ diff --git a/ios/build/ios/Pods.build/Release-iphonesimulator/Pods-Runner.build/dgph b/ios/build/ios/Pods.build/Release-iphonesimulator/Pods-Runner.build/dgph deleted file mode 100644 index 01c56549..00000000 Binary files a/ios/build/ios/Pods.build/Release-iphonesimulator/Pods-Runner.build/dgph and /dev/null differ diff --git a/ios/build/ios/Pods.build/Release-iphonesimulator/flutter_keyboard_visibility.build/dgph b/ios/build/ios/Pods.build/Release-iphonesimulator/flutter_keyboard_visibility.build/dgph deleted file mode 100644 index 01c56549..00000000 Binary files a/ios/build/ios/Pods.build/Release-iphonesimulator/flutter_keyboard_visibility.build/dgph and /dev/null differ diff --git a/ios/build/ios/Pods.build/Release-iphonesimulator/image_picker_ios-image_picker_ios_privacy.build/dgph b/ios/build/ios/Pods.build/Release-iphonesimulator/image_picker_ios-image_picker_ios_privacy.build/dgph deleted file mode 100644 index 01c56549..00000000 Binary files a/ios/build/ios/Pods.build/Release-iphonesimulator/image_picker_ios-image_picker_ios_privacy.build/dgph and /dev/null differ diff --git a/ios/build/ios/Pods.build/Release-iphonesimulator/image_picker_ios.build/dgph b/ios/build/ios/Pods.build/Release-iphonesimulator/image_picker_ios.build/dgph deleted file mode 100644 index 01c56549..00000000 Binary files a/ios/build/ios/Pods.build/Release-iphonesimulator/image_picker_ios.build/dgph and /dev/null differ diff --git a/ios/build/ios/Pods.build/Release-iphonesimulator/isar_flutter_libs.build/dgph b/ios/build/ios/Pods.build/Release-iphonesimulator/isar_flutter_libs.build/dgph deleted file mode 100644 index 01c56549..00000000 Binary files a/ios/build/ios/Pods.build/Release-iphonesimulator/isar_flutter_libs.build/dgph and /dev/null differ diff --git a/ios/build/ios/Pods.build/Release-iphonesimulator/location.build/dgph b/ios/build/ios/Pods.build/Release-iphonesimulator/location.build/dgph deleted file mode 100644 index 01c56549..00000000 Binary files a/ios/build/ios/Pods.build/Release-iphonesimulator/location.build/dgph and /dev/null differ diff --git a/ios/build/ios/Pods.build/Release-iphonesimulator/path_provider_foundation-path_provider_foundation_privacy.build/dgph b/ios/build/ios/Pods.build/Release-iphonesimulator/path_provider_foundation-path_provider_foundation_privacy.build/dgph deleted file mode 100644 index 01c56549..00000000 Binary files a/ios/build/ios/Pods.build/Release-iphonesimulator/path_provider_foundation-path_provider_foundation_privacy.build/dgph and /dev/null differ diff --git a/ios/build/ios/Pods.build/Release-iphonesimulator/path_provider_foundation.build/dgph b/ios/build/ios/Pods.build/Release-iphonesimulator/path_provider_foundation.build/dgph deleted file mode 100644 index 01c56549..00000000 Binary files a/ios/build/ios/Pods.build/Release-iphonesimulator/path_provider_foundation.build/dgph and /dev/null differ diff --git a/ios/build/ios/Pods.build/Release-iphonesimulator/pointer_interceptor_ios-pointer_interceptor_ios_privacy.build/dgph b/ios/build/ios/Pods.build/Release-iphonesimulator/pointer_interceptor_ios-pointer_interceptor_ios_privacy.build/dgph deleted file mode 100644 index 01c56549..00000000 Binary files a/ios/build/ios/Pods.build/Release-iphonesimulator/pointer_interceptor_ios-pointer_interceptor_ios_privacy.build/dgph and /dev/null differ diff --git a/ios/build/ios/Pods.build/Release-iphonesimulator/pointer_interceptor_ios.build/dgph b/ios/build/ios/Pods.build/Release-iphonesimulator/pointer_interceptor_ios.build/dgph deleted file mode 100644 index 01c56549..00000000 Binary files a/ios/build/ios/Pods.build/Release-iphonesimulator/pointer_interceptor_ios.build/dgph and /dev/null differ diff --git a/ios/build/ios/Pods.build/Release-iphonesimulator/shared_preferences_foundation-shared_preferences_foundation_privacy.build/dgph b/ios/build/ios/Pods.build/Release-iphonesimulator/shared_preferences_foundation-shared_preferences_foundation_privacy.build/dgph deleted file mode 100644 index 01c56549..00000000 Binary files a/ios/build/ios/Pods.build/Release-iphonesimulator/shared_preferences_foundation-shared_preferences_foundation_privacy.build/dgph and /dev/null differ diff --git a/ios/build/ios/Pods.build/Release-iphonesimulator/shared_preferences_foundation.build/dgph b/ios/build/ios/Pods.build/Release-iphonesimulator/shared_preferences_foundation.build/dgph deleted file mode 100644 index 01c56549..00000000 Binary files a/ios/build/ios/Pods.build/Release-iphonesimulator/shared_preferences_foundation.build/dgph and /dev/null differ diff --git a/ios/build/ios/Pods.build/Release-iphonesimulator/sqflite-sqflite_ios_privacy.build/dgph b/ios/build/ios/Pods.build/Release-iphonesimulator/sqflite-sqflite_ios_privacy.build/dgph deleted file mode 100644 index 01c56549..00000000 Binary files a/ios/build/ios/Pods.build/Release-iphonesimulator/sqflite-sqflite_ios_privacy.build/dgph and /dev/null differ diff --git a/ios/build/ios/Pods.build/Release-iphonesimulator/sqflite.build/dgph b/ios/build/ios/Pods.build/Release-iphonesimulator/sqflite.build/dgph deleted file mode 100644 index 01c56549..00000000 Binary files a/ios/build/ios/Pods.build/Release-iphonesimulator/sqflite.build/dgph and /dev/null differ diff --git a/ios/build/ios/Pods.build/Release-iphonesimulator/url_launcher_ios-url_launcher_ios_privacy.build/dgph b/ios/build/ios/Pods.build/Release-iphonesimulator/url_launcher_ios-url_launcher_ios_privacy.build/dgph deleted file mode 100644 index 01c56549..00000000 Binary files a/ios/build/ios/Pods.build/Release-iphonesimulator/url_launcher_ios-url_launcher_ios_privacy.build/dgph and /dev/null differ diff --git a/ios/build/ios/Pods.build/Release-iphonesimulator/url_launcher_ios.build/dgph b/ios/build/ios/Pods.build/Release-iphonesimulator/url_launcher_ios.build/dgph deleted file mode 100644 index 01c56549..00000000 Binary files a/ios/build/ios/Pods.build/Release-iphonesimulator/url_launcher_ios.build/dgph and /dev/null differ diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index 4073b355..7d128666 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -18,6 +18,7 @@ default_platform(:ios) platform :ios do desc "Push a new beta build to TestFlight" lane :beta do + sync_code_signing match(type: "appstore") increment_build_number(xcodeproj: "Runner.xcodeproj") build_app(workspace: "Runner.xcworkspace", scheme: "Runner", export_method: "app-store", codesigning_identity: "Apple Distribution") diff --git a/lib/features/update_screen/presentation/update_screen.dart b/lib/features/update_screen/presentation/update_screen.dart index 5a897096..d516d863 100644 --- a/lib/features/update_screen/presentation/update_screen.dart +++ b/lib/features/update_screen/presentation/update_screen.dart @@ -2,7 +2,6 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; -import 'package:lottie/lottie.dart'; import 'package:url_launcher/url_launcher.dart'; import '../../../../core/theme/theme_helper.dart'; @@ -21,85 +20,86 @@ class UpdateScreen extends StatelessWidget { top: -20, right: -20, bottom: -20, - child: Lottie.asset( - 'assets/splash/bg.json', + child: Image.asset( + 'assets/images/bg_welcome.png', fit: BoxFit.cover, ), ), - Positioned.fill( - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - const SizedBox(height: 40), - SvgPicture.asset('assets/images/logo_welcome.svg'), - const Spacer(), - Padding( - padding: const EdgeInsets.all(16), - child: Material( - borderRadius: BorderRadius.circular(14), - color: Colors.white, - child: Padding( + SafeArea( + child: Positioned.fill( + child: Padding( + padding: const EdgeInsets.only(bottom: 16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + const SizedBox(height: 80), + SvgPicture.asset('assets/images/logo_welcome.svg'), + const Spacer(), + Padding( padding: const EdgeInsets.all(16), - child: Column( - children: [ - const SizedBox(height: 20), - const Text( - 'Пора обновиться! ⚡', - style: TextStyle( - fontSize: 28, - fontWeight: FontWeight.w800, - height: 1, - ), - textAlign: TextAlign.center, - ), - const SizedBox(height: 16), - const Text( - 'Мы выпустили важное обновление с новыми функциями и исправлениями. Чтобы продолжить пользоваться приложением без сбоев, обновите его прямо сейчас.', - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.w500, - height: 1, - ), - textAlign: TextAlign.center, - ), - const SizedBox(height: 32), - Padding( - padding: const EdgeInsets.symmetric(horizontal: 52), - child: InkWell( - onTap: () async { - final Uri url = Platform.isAndroid - ? Uri.parse('https://www.rustore.ru/catalog/app/com.eatvioapp.app') - : Uri.parse('https://apps.apple.com/app/idYOUR_APP_ID'); - await launchUrl(url); - }, - borderRadius: BorderRadius.circular(20), - child: Ink( - height: 52, - decoration: BoxDecoration( - color: appTheme.blueA400, - borderRadius: BorderRadius.circular(20), + child: Material( + borderRadius: BorderRadius.circular(14), + color: Colors.white, + child: Padding( + padding: const EdgeInsets.all(16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const SizedBox(height: 16), + const Text( + 'Пора обновиться! ⚡', + style: TextStyle( + fontSize: 28, + fontWeight: FontWeight.w800, + height: 1, ), - child: const Center( - child: Text( - 'Обновить', - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.w600, - height: 1, - color: Colors.white, + ), + const SizedBox(height: 20), + const Text( + 'Мы выпустили важное обновление\nс новыми функциями и исправлениями.\nЧтобы продолжить пользоваться\nприложением без сбоев, обновите\nего прямо сейчас.', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w500, + height: 1.15, + ), + ), + const SizedBox(height: 32), + InkWell( + onTap: () async { + final Uri url = Platform.isAndroid + ? Uri.parse('https://www.rustore.ru/catalog/app/com.eatvioapp.app') + : Uri.parse('https://apps.apple.com/app/idYOUR_APP_ID'); + await launchUrl(url); + }, + borderRadius: BorderRadius.circular(8), + child: Ink( + height: 52, + decoration: BoxDecoration( + color: appTheme.blueA400, + borderRadius: BorderRadius.circular(8), + ), + child: const Center( + child: Text( + 'Обновить', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + height: 1, + color: Colors.white, + ), ), ), ), ), - ), + const SizedBox(height: 16), + ], ), - const SizedBox(height: 20), - ], + ), ), ), - ), + ], ), - ], + ), ), ), ], diff --git a/lib/features/welcome/presentation/pages/welcome_screen.dart b/lib/features/welcome/presentation/pages/welcome_screen.dart index ade59f8c..0ae017a1 100644 --- a/lib/features/welcome/presentation/pages/welcome_screen.dart +++ b/lib/features/welcome/presentation/pages/welcome_screen.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:go_router/go_router.dart'; -import 'package:lottie/lottie.dart'; import 'package:shared_preferences/shared_preferences.dart'; import '../../../../core/theme/theme_helper.dart'; @@ -33,84 +32,85 @@ class _WelcomeScreenState extends State { top: -20, right: -20, bottom: -20, - child: Lottie.asset( - 'assets/splash/bg.json', + child: Image.asset( + 'assets/images/bg_welcome.png', fit: BoxFit.cover, ), ), - Positioned.fill( - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - const SizedBox(height: 80), - SvgPicture.asset('assets/images/logo_welcome.svg'), - const Spacer(), - Padding( - padding: const EdgeInsets.all(16), - child: Material( - borderRadius: BorderRadius.circular(14), - color: Colors.white, - child: Padding( + SafeArea( + child: Positioned.fill( + child: Padding( + padding: const EdgeInsets.only(bottom: 16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + const SizedBox(height: 80), + SvgPicture.asset('assets/images/logo_welcome.svg'), + const Spacer(), + Padding( padding: const EdgeInsets.all(16), - child: Column( - children: [ - const SizedBox(height: 20), - const Text( - 'Добро пожаловать', - style: TextStyle( - fontSize: 28, - fontWeight: FontWeight.w800, - height: 1, - ), - textAlign: TextAlign.center, - ), - const SizedBox(height: 16), - const Text( - 'Это первая версия приложения, и мы активно работаем над его улучшением. Если вы заметите ошибку или у вас есть идея — пожалуйста, сообщите нам! Ваша помощь бесценна', - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.w500, - height: 1.15, - ), - textAlign: TextAlign.center, - ), - const SizedBox(height: 32), - Padding( - padding: const EdgeInsets.symmetric(horizontal: 52), - child: InkWell( - onTap: () async { - final sharedPreferences = await SharedPreferences.getInstance(); - await sharedPreferences.setBool('welcomeScreenWasShowed', true); - goRouter.go('/my-profile-screen'); - }, - borderRadius: BorderRadius.circular(20), - child: Ink( - height: 52, - decoration: BoxDecoration( - color: appTheme.blueA400, - borderRadius: BorderRadius.circular(20), + child: Material( + borderRadius: BorderRadius.circular(14), + color: Colors.white, + child: Padding( + padding: const EdgeInsets.all(16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const SizedBox(height: 16), + const Text( + 'Добро пожаловать!', + style: TextStyle( + fontSize: 28, + fontWeight: FontWeight.w800, + height: 1, ), - child: const Center( - child: Text( - 'Начать пользоваться', - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.w600, - height: 1, - color: Colors.white, + ), + const SizedBox(height: 20), + const Text( + 'Это первая версия приложения,\nи мы активно работаем над его\nулучшением. Если вы заметите ошибку\nили у вас есть идея — пожалуйста,\nсообщите нам!\n\nВаша помощь бесценна', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w500, + height: 1.15, + ), + ), + const SizedBox(height: 24), + InkWell( + onTap: () async { + final sharedPreferences = await SharedPreferences.getInstance(); + await sharedPreferences.setBool('welcomeScreenWasShowed', true); + goRouter.go('/my-profile-screen'); + }, + borderRadius: BorderRadius.circular(8), + child: Ink( + height: 52, + decoration: BoxDecoration( + color: appTheme.blueA400, + borderRadius: BorderRadius.circular(8), + ), + child: const Center( + child: Text( + 'Начать пользоваться', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + height: 1, + color: Colors.white, + ), ), ), ), ), - ), + const SizedBox(height: 16), + ], ), - const SizedBox(height: 20), - ], + ), ), ), - ), + ], ), - ], + ), ), ), ],