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/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), - ], + ), ), ), - ), + ], ), - ], + ), ), ), ],