// ignore_for_file: use_build_context_synchronously, deprecated_member_use import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:go_router/go_router.dart'; import 'package:hoshan/core/routes/route_generator.dart'; import 'package:hoshan/data/model/home_args.dart'; import 'package:hoshan/ui/screens/splash/cubit/user_info_cubit.dart'; import 'package:hoshan/ui/theme/text.dart'; import 'package:hoshan/ui/widgets/components/button/loading_button.dart'; class GiftCreditScreen extends StatelessWidget { const GiftCreditScreen({super.key}); @override Widget build(BuildContext context) { final theme = Theme.of(context); final colorScheme = theme.colorScheme; final isDark = theme.brightness == Brightness.dark; final surfaceColor = colorScheme.surface; final backgroundColor = colorScheme.background; final onSurface = colorScheme.onSurface; final cardBorder = colorScheme.outlineVariant; final warningBg = isDark ? colorScheme.errorContainer.withOpacity(0.2) : const Color.fromARGB(255, 248, 231, 241); final warningBorder = isDark ? colorScheme.errorContainer : const Color.fromARGB(255, 172, 18, 105); return Directionality( textDirection: TextDirection.rtl, child: Scaffold( backgroundColor: backgroundColor, body: SafeArea( child: SingleChildScrollView( physics: const BouncingScrollPhysics(), child: Padding( padding: const EdgeInsets.all(16.0), child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ const SizedBox(height: 16), Container( padding: const EdgeInsets.symmetric( vertical: 24, horizontal: 16), decoration: BoxDecoration( color: surfaceColor, borderRadius: BorderRadius.circular(16), boxShadow: [ BoxShadow( color: Colors.black.withOpacity(0.05), blurRadius: 10, offset: const Offset(0, 4), ), ], border: Border.all(color: cardBorder), ), child: Column( children: [ SvgPicture.asset('assets/icon/outline/gift 2.svg'), const SizedBox(height: 20), Text( 'بسته اعتبار هدیه', style: AppTextStyles.headline5.copyWith( color: onSurface, ), ), // const SizedBox(height: 8), // Text( // '1000 سکه هوشان', // style: AppTextStyles.headline3.copyWith( // color: Theme.of(context).colorScheme.onSurface, // fontSize: 16, // fontWeight: FontWeight.normal), // ), ], ), ), const SizedBox(height: 24), Column( children: [ Row( children: [ SvgPicture.asset( 'assets/icon/outline/add family.svg'), const SizedBox(width: 12), Text( 'دعوت اعضای خانواده', style: AppTextStyles.headline6.copyWith( color: onSurface, ), ), ], ), SizedBox( height: 15, ), RichText( text: TextSpan( style: AppTextStyles.body5.copyWith( color: Theme.of(context).colorScheme.onSurface, fontFamily: AppTextStyles.defaultFontFamily, ), children: [ const TextSpan(text: 'شما می‌توانید '), TextSpan( text: 'تا 5 نفر', style: TextStyle( color: Theme.of(context).colorScheme.primary, fontWeight: FontWeight.bold, ), ), const TextSpan( text: ' از اعضای خانواده خود را به استفاده از هوشان دعوت کنید.', ), ], ), ), ], ), const SizedBox(height: 24), _buildFeatureCard( context, icon: 'assets/icon/outline/Houshan features.svg', title: 'دسترسی کامل به هوشان', description: 'تمامی فیچرهای سرگرمی و آموزش', borderColor: cardBorder, titleColor: onSurface, descColor: onSurface.withOpacity(0.8), ), const SizedBox(height: 12), _buildFeatureCard( context, icon: 'assets/icon/outline/wallet.svg', title: 'کیف پول مشترک', description: 'استفاده از سکه‌های مشترک خانواده', borderColor: cardBorder, titleColor: onSurface, descColor: onSurface.withOpacity(0.8), ), const SizedBox(height: 12), _buildFeatureCard( context, icon: 'assets/icon/outline/Houshan features.svg', title: 'ابزارهای خلاقانه', description: 'تولید عکس، ویدیو، صدا، چت با هوش مصنوعی و ...', borderColor: cardBorder, titleColor: onSurface, descColor: onSurface.withOpacity(0.8), ), const SizedBox(height: 24), Container( padding: const EdgeInsets.all(16), decoration: BoxDecoration( color: warningBg, borderRadius: BorderRadius.circular(16), border: Border.all(color: warningBorder), ), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ SvgPicture.asset('assets/icon/outline/warning.svg'), const SizedBox(width: 20), Expanded( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( 'نکته مهم', style: AppTextStyles.headline6.copyWith( color: onSurface, ), ), const SizedBox(height: 8), Text( 'سکه‌های شما بین تمام اعضای خانواده مشترک است. هر عضو می‌تواند از این سکه‌ها استفاده کند و مانده سکه برای همه یکسان خواهد بود', style: AppTextStyles.body5.copyWith( color: onSurface, ), ), ], ), ), ], ), const SizedBox(height: 16), // کانتینر سفید داخل کادر قرمز // Container( // padding: const EdgeInsets.all(12), // decoration: BoxDecoration( // color: Colors.white, // borderRadius: BorderRadius.circular(12), // border: Border.all(color: AppColors.red[100]!), // ), // child: Row( // children: [ // Expanded( // child: Center( // child: Text.rich( // TextSpan( // // استایل پایه برای کل متن (رنگ و فونت) // style: AppTextStyles.body5.copyWith( // color: Color.fromARGB(255, 61, 61, 61), // ), // children: [ // TextSpan( // text: 'تمدید خودکار: ', // // این قسمت پررنگ‌تر می‌شود // style: const TextStyle( // fontWeight: FontWeight // .w900, // یا FontWeight.bold // ), // ), // const TextSpan( // text: // '', // // این قسمت معمولی باقی می‌ماند // style: TextStyle( // fontWeight: FontWeight.normal, // ), // ), // ], // ), // textAlign: // TextAlign.center, // وسط‌چین کردن متن // ), // ), // ), // ], // ), // ), ], ), ), const SizedBox(height: 32), LoadingButton( width: MediaQuery.sizeOf(context).width, height: 60, radius: 100, color: Theme.of(context).colorScheme.primary, onPressed: () async { await context.read().getUserInfo(); context.go(Routes.home, extra: HomeArgs(freeCredit: 1000)); }, child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Text( 'شروع استفاده از هوشان', style: AppTextStyles.headline6 .copyWith(color: Colors.white), ), const SizedBox(width: 8), SvgPicture.asset('assets/icon/outline/arrow-left.svg') ], ), ), const SizedBox(height: 24), ], ), ), ), ), ), ); } Widget _buildFeatureCard( BuildContext context, { required String icon, required String title, required String description, required Color borderColor, required Color titleColor, required Color descColor, }) { return Container( padding: const EdgeInsets.symmetric(vertical: 12, horizontal: 16), decoration: BoxDecoration( borderRadius: BorderRadius.circular(20), border: Border.all(color: borderColor), ), child: Row( children: [ SvgPicture.asset( icon, ), const SizedBox(width: 16), Expanded( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( title, style: AppTextStyles.body4.copyWith( fontWeight: FontWeight.bold, color: titleColor, ), ), const SizedBox(height: 2), Text( description, style: AppTextStyles.body6.copyWith( color: descColor, ), ), ], ), ), ], ), ); } }