You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			557 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			Dart
		
	
			
		
		
	
	
			557 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			Dart
		
	
import 'dart:developer';
 | 
						|
import 'dart:math' as math;
 | 
						|
 | 
						|
import 'package:easy_localization/easy_localization.dart';
 | 
						|
import 'package:flutter/foundation.dart';
 | 
						|
import 'package:flutter/material.dart';
 | 
						|
import 'package:flutter_svg/flutter_svg.dart';
 | 
						|
import 'package:mohem_flutter_app/app_state/app_state.dart';
 | 
						|
import 'package:mohem_flutter_app/classes/colors.dart';
 | 
						|
import 'package:mohem_flutter_app/classes/decorations_helper.dart';
 | 
						|
import 'package:mohem_flutter_app/classes/utils.dart';
 | 
						|
import 'package:mohem_flutter_app/config/routes.dart';
 | 
						|
import 'package:mohem_flutter_app/extensions/int_extensions.dart';
 | 
						|
import 'package:mohem_flutter_app/extensions/string_extensions.dart';
 | 
						|
import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
 | 
						|
import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
 | 
						|
import 'package:mohem_flutter_app/main.dart';
 | 
						|
import 'package:mohem_flutter_app/ui/marathon/marathon_provider.dart';
 | 
						|
import 'package:mohem_flutter_app/ui/marathon/widgets/countdown_timer_main_screen.dart';
 | 
						|
import 'package:provider/provider.dart';
 | 
						|
 | 
						|
// It is used to pass a dummy time to test Marathon
 | 
						|
int dummyTime = DateTime.now().millisecondsSinceEpoch + 8690;
 | 
						|
 | 
						|
class MarathonBanner extends StatelessWidget {
 | 
						|
  const MarathonBanner({Key? key}) : super(key: key);
 | 
						|
 | 
						|
  Widget getUnPrivilegedMarathon(BuildContext context) {
 | 
						|
    return Container(
 | 
						|
      decoration: MyDecorations.shadowDecoration,
 | 
						|
      height: isTablet ? MediaQuery.of(context).size.height * 0.17 : MediaQuery.of(context).size.height * 0.11,
 | 
						|
      clipBehavior: Clip.antiAlias,
 | 
						|
      child: Stack(
 | 
						|
        children: <Widget>[
 | 
						|
          Transform(
 | 
						|
            alignment: Alignment.center,
 | 
						|
            transform: Matrix4.rotationY(
 | 
						|
              AppState().isArabic(context) ? math.pi : 0,
 | 
						|
            ),
 | 
						|
            child: SvgPicture.asset(
 | 
						|
              "assets/images/marathon_banner_bg.svg",
 | 
						|
              fit: BoxFit.fill,
 | 
						|
              width: double.infinity,
 | 
						|
            ),
 | 
						|
          ),
 | 
						|
          AppState().isArabic(context)
 | 
						|
              ? Positioned(
 | 
						|
                  right: -15,
 | 
						|
                  top: -10,
 | 
						|
                  child: Transform.rotate(
 | 
						|
                    angle: 10,
 | 
						|
                    child: Container(
 | 
						|
                      width: isTablet ? 70 : 65,
 | 
						|
                      height: isTablet ? 40 : 32,
 | 
						|
                      color: MyColors.darkDigitColor,
 | 
						|
                    ),
 | 
						|
                  ),
 | 
						|
                )
 | 
						|
              : Positioned(
 | 
						|
                  left: -20,
 | 
						|
                  top: -10,
 | 
						|
                  child: Transform.rotate(
 | 
						|
                    angle: 15,
 | 
						|
                    child: Container(
 | 
						|
                      width: isTablet ? 70 : 65,
 | 
						|
                      height: isTablet ? 40 : 32,
 | 
						|
                      color: MyColors.darkDigitColor,
 | 
						|
                    ),
 | 
						|
                  ),
 | 
						|
                ),
 | 
						|
          SizedBox(
 | 
						|
            width: double.infinity,
 | 
						|
            height: double.infinity,
 | 
						|
            child: Row(
 | 
						|
              children: <Widget>[
 | 
						|
                const Expanded(
 | 
						|
                  flex: 3,
 | 
						|
                  child: SizedBox(
 | 
						|
                    width: double.infinity,
 | 
						|
                    height: double.infinity,
 | 
						|
                  ),
 | 
						|
                ),
 | 
						|
                Expanded(
 | 
						|
                  flex: AppState().isArabic(context) ? 4 : 5,
 | 
						|
                  child: SizedBox(
 | 
						|
                    width: double.infinity,
 | 
						|
                    height: double.infinity,
 | 
						|
                    child: Row(
 | 
						|
                      mainAxisAlignment: MainAxisAlignment.start,
 | 
						|
                      children: <Widget>[
 | 
						|
                        Column(
 | 
						|
                          mainAxisAlignment: MainAxisAlignment.center,
 | 
						|
                          crossAxisAlignment: CrossAxisAlignment.start,
 | 
						|
                          mainAxisSize: MainAxisSize.min,
 | 
						|
                          children: <Widget>[
 | 
						|
                            AppState().isArabic(context) ? 0.height : 5.height,
 | 
						|
                            Text(
 | 
						|
                              LocaleKeys.getReadyForContest.tr(),
 | 
						|
                              style: TextStyle(
 | 
						|
                                fontSize: isTablet ? 20 : 11,
 | 
						|
                                fontStyle: FontStyle.italic,
 | 
						|
                                fontWeight: FontWeight.w600,
 | 
						|
                                color: MyColors.white.withOpacity(0.83),
 | 
						|
                                letterSpacing: -0.4,
 | 
						|
                              ),
 | 
						|
                            ),
 | 
						|
                            Text(
 | 
						|
                              LocaleKeys.brainMarathon.tr(),
 | 
						|
                              style: TextStyle(
 | 
						|
                                fontStyle: FontStyle.italic,
 | 
						|
                                fontSize: isTablet ? 30 : 19,
 | 
						|
                                fontWeight: FontWeight.bold,
 | 
						|
                                color: MyColors.white.withOpacity(0.83),
 | 
						|
                                height: 32 / 22,
 | 
						|
                              ),
 | 
						|
                            ),
 | 
						|
                          ],
 | 
						|
                        ).paddingOnly(
 | 
						|
                          left: AppState().isArabic(context) ? 12 : 3,
 | 
						|
                          right: AppState().isArabic(context) ? 3 : 12,
 | 
						|
                        )
 | 
						|
                      ],
 | 
						|
                    ),
 | 
						|
                  ),
 | 
						|
                ),
 | 
						|
              ],
 | 
						|
            ),
 | 
						|
          ),
 | 
						|
          AppState().isArabic(context)
 | 
						|
              ? Align(
 | 
						|
                  alignment: Alignment.topRight,
 | 
						|
                  child: SizedBox(
 | 
						|
                    height: isTablet ? 30 : 20,
 | 
						|
                    width: isTablet ? 45 : 35,
 | 
						|
                    child: Transform.rotate(
 | 
						|
                      angle: math.pi / 4.5,
 | 
						|
                      child: Text(
 | 
						|
                        LocaleKeys.brainMarathon.tr(),
 | 
						|
                        textAlign: TextAlign.center,
 | 
						|
                        maxLines: 2,
 | 
						|
                        style: TextStyle(
 | 
						|
                          color: MyColors.white,
 | 
						|
                          fontWeight: FontWeight.bold,
 | 
						|
                          fontSize: isTablet ? 8 : 6,
 | 
						|
                          height: 1.2,
 | 
						|
                        ),
 | 
						|
                      ),
 | 
						|
                    ),
 | 
						|
                  ),
 | 
						|
                ).paddingOnly(top: 5)
 | 
						|
              : Align(
 | 
						|
                  alignment: Alignment.topLeft,
 | 
						|
                  child: SizedBox(
 | 
						|
                    height: isTablet ? 30 : 20,
 | 
						|
                    width: isTablet ? 45 : 35,
 | 
						|
                    child: Transform.rotate(
 | 
						|
                      angle: -math.pi / 4.5,
 | 
						|
                      child: Text(
 | 
						|
                        LocaleKeys.brainMarathon.tr(),
 | 
						|
                        textAlign: TextAlign.center,
 | 
						|
                        maxLines: 2,
 | 
						|
                        style: TextStyle(
 | 
						|
                          color: MyColors.kWhiteColor,
 | 
						|
                          fontWeight: FontWeight.bold,
 | 
						|
                          fontSize: isTablet ? 8 : 6,
 | 
						|
                          height: 1.2,
 | 
						|
                        ),
 | 
						|
                      ),
 | 
						|
                    ),
 | 
						|
                  ),
 | 
						|
                ).paddingOnly(top: 5),
 | 
						|
          Container(
 | 
						|
            height: double.infinity,
 | 
						|
            width: double.infinity,
 | 
						|
            color: Colors.black.withOpacity(0.6),
 | 
						|
            child: const Icon(
 | 
						|
              Icons.lock_rounded,
 | 
						|
              color: MyColors.lightGreyIconColor,
 | 
						|
            ),
 | 
						|
          ),
 | 
						|
        ],
 | 
						|
      ),
 | 
						|
    );
 | 
						|
  }
 | 
						|
 | 
						|
  Widget getNoUpcomingMarathonWidget(BuildContext context) {
 | 
						|
    return Container(
 | 
						|
      decoration: MyDecorations.shadowDecoration,
 | 
						|
      height: isTablet ? MediaQuery.of(context).size.height * 0.17 : MediaQuery.of(context).size.height * 0.11,
 | 
						|
      clipBehavior: Clip.antiAlias,
 | 
						|
      child: Stack(
 | 
						|
        children: <Widget>[
 | 
						|
          Transform(
 | 
						|
            alignment: Alignment.center,
 | 
						|
            transform: Matrix4.rotationY(
 | 
						|
              AppState().isArabic(context) ? math.pi : 0,
 | 
						|
            ),
 | 
						|
            child: SvgPicture.asset(
 | 
						|
              "assets/images/marathon_banner_bg.svg",
 | 
						|
              fit: BoxFit.fill,
 | 
						|
              width: double.infinity,
 | 
						|
            ),
 | 
						|
          ),
 | 
						|
          AppState().isArabic(context)
 | 
						|
              ? Positioned(
 | 
						|
                  right: -15,
 | 
						|
                  top: -10,
 | 
						|
                  child: Transform.rotate(
 | 
						|
                    angle: 10,
 | 
						|
                    child: Container(
 | 
						|
                      width: isTablet ? 70 : 65,
 | 
						|
                      height: isTablet ? 40 : 32,
 | 
						|
                      color: MyColors.darkDigitColor,
 | 
						|
                    ),
 | 
						|
                  ),
 | 
						|
                )
 | 
						|
              : Positioned(
 | 
						|
                  left: -20,
 | 
						|
                  top: -10,
 | 
						|
                  child: Transform.rotate(
 | 
						|
                    angle: 15,
 | 
						|
                    child: Container(
 | 
						|
                      width: isTablet ? 70 : 65,
 | 
						|
                      height: isTablet ? 40 : 32,
 | 
						|
                      color: MyColors.darkDigitColor,
 | 
						|
                    ),
 | 
						|
                  ),
 | 
						|
                ),
 | 
						|
          SizedBox(
 | 
						|
            width: double.infinity,
 | 
						|
            height: double.infinity,
 | 
						|
            child: Row(
 | 
						|
              children: <Widget>[
 | 
						|
                const Expanded(
 | 
						|
                  flex: 3,
 | 
						|
                  child: SizedBox(
 | 
						|
                    width: double.infinity,
 | 
						|
                    height: double.infinity,
 | 
						|
                  ),
 | 
						|
                ),
 | 
						|
                Expanded(
 | 
						|
                  flex: AppState().isArabic(context) ? 4 : 5,
 | 
						|
                  child: SizedBox(
 | 
						|
                    width: double.infinity,
 | 
						|
                    height: double.infinity,
 | 
						|
                    child: Row(
 | 
						|
                      mainAxisAlignment: MainAxisAlignment.start,
 | 
						|
                      children: <Widget>[
 | 
						|
                        Column(
 | 
						|
                          mainAxisAlignment: MainAxisAlignment.center,
 | 
						|
                          crossAxisAlignment: CrossAxisAlignment.start,
 | 
						|
                          mainAxisSize: MainAxisSize.min,
 | 
						|
                          children: <Widget>[
 | 
						|
                            AppState().isArabic(context) ? 0.height : 5.height,
 | 
						|
                            Text(
 | 
						|
                              LocaleKeys.noUpcoming.tr(),
 | 
						|
                              style: TextStyle(
 | 
						|
                                fontSize: isTablet ? 20 : 11,
 | 
						|
                                fontStyle: FontStyle.italic,
 | 
						|
                                fontWeight: FontWeight.w600,
 | 
						|
                                color: MyColors.white.withOpacity(0.83),
 | 
						|
                                letterSpacing: -0.4,
 | 
						|
                              ),
 | 
						|
                            ),
 | 
						|
                            Text(
 | 
						|
                              LocaleKeys.brainMarathon.tr(),
 | 
						|
                              style: TextStyle(
 | 
						|
                                fontStyle: FontStyle.italic,
 | 
						|
                                fontSize: isTablet ? 30 : 19,
 | 
						|
                                fontWeight: FontWeight.bold,
 | 
						|
                                color: MyColors.white.withOpacity(0.83),
 | 
						|
                                height: 32 / 22,
 | 
						|
                              ),
 | 
						|
                            ),
 | 
						|
                            Text(
 | 
						|
                              LocaleKeys.youCanPlayDemo.tr(),
 | 
						|
                              style: TextStyle(
 | 
						|
                                fontSize: isTablet ? 20 : 11,
 | 
						|
                                fontStyle: FontStyle.italic,
 | 
						|
                                fontWeight: FontWeight.w600,
 | 
						|
                                color: MyColors.white.withOpacity(0.83),
 | 
						|
                                letterSpacing: -0.4,
 | 
						|
                              ),
 | 
						|
                            ),
 | 
						|
                          ],
 | 
						|
                        ).paddingOnly(
 | 
						|
                          left: AppState().isArabic(context) ? 12 : 3,
 | 
						|
                          right: AppState().isArabic(context) ? 3 : 12,
 | 
						|
                        )
 | 
						|
                      ],
 | 
						|
                    ),
 | 
						|
                  ),
 | 
						|
                ),
 | 
						|
              ],
 | 
						|
            ),
 | 
						|
          ),
 | 
						|
          AppState().isArabic(context)
 | 
						|
              ? Align(
 | 
						|
                  alignment: Alignment.topRight,
 | 
						|
                  child: SizedBox(
 | 
						|
                    height: isTablet ? 30 : 20,
 | 
						|
                    width: isTablet ? 45 : 35,
 | 
						|
                    child: Transform.rotate(
 | 
						|
                      angle: math.pi / 4.5,
 | 
						|
                      child: Text(
 | 
						|
                        LocaleKeys.brainMarathon.tr(),
 | 
						|
                        textAlign: TextAlign.center,
 | 
						|
                        maxLines: 2,
 | 
						|
                        style: TextStyle(
 | 
						|
                          color: MyColors.white,
 | 
						|
                          fontWeight: FontWeight.bold,
 | 
						|
                          fontSize: isTablet ? 8 : 6,
 | 
						|
                          height: 1.2,
 | 
						|
                        ),
 | 
						|
                      ),
 | 
						|
                    ),
 | 
						|
                  ),
 | 
						|
                ).paddingOnly(top: 5)
 | 
						|
              : Align(
 | 
						|
                  alignment: Alignment.topLeft,
 | 
						|
                  child: SizedBox(
 | 
						|
                    height: isTablet ? 30 : 20,
 | 
						|
                    width: isTablet ? 45 : 35,
 | 
						|
                    child: Transform.rotate(
 | 
						|
                      angle: -math.pi / 4.5,
 | 
						|
                      child: Text(
 | 
						|
                        LocaleKeys.brainMarathon.tr(),
 | 
						|
                        textAlign: TextAlign.center,
 | 
						|
                        maxLines: 2,
 | 
						|
                        style: TextStyle(
 | 
						|
                          color: MyColors.kWhiteColor,
 | 
						|
                          fontWeight: FontWeight.bold,
 | 
						|
                          fontSize: isTablet ? 8 : 6,
 | 
						|
                          height: 1.2,
 | 
						|
                        ),
 | 
						|
                      ),
 | 
						|
                    ),
 | 
						|
                  ),
 | 
						|
                ).paddingOnly(top: 5),
 | 
						|
        ],
 | 
						|
      ),
 | 
						|
    ).onPress(() {
 | 
						|
      Navigator.pushNamed(context, AppRoutes.marathonIntroScreen);
 | 
						|
    });
 | 
						|
  }
 | 
						|
 | 
						|
  @override
 | 
						|
  Widget build(BuildContext context) {
 | 
						|
    MarathonProvider provider = context.read<MarathonProvider>();
 | 
						|
    // if(provider.isUserWaiting) {
 | 
						|
    //   provider.isUserWaiting = false;
 | 
						|
    //   provider.getMarathonDetailsFromApi();
 | 
						|
    // }
 | 
						|
    return !provider.isPrivilegedWithMarathon
 | 
						|
        ? getUnPrivilegedMarathon(context)
 | 
						|
        : provider.isUpComingMarathon
 | 
						|
            ? Container(
 | 
						|
                decoration: MyDecorations.shadowDecoration,
 | 
						|
                height: isTablet ? MediaQuery.of(context).size.height * 0.17 : MediaQuery.of(context).size.height * 0.11,
 | 
						|
                clipBehavior: Clip.antiAlias,
 | 
						|
                child: Stack(
 | 
						|
                  children: <Widget>[
 | 
						|
                    Transform(
 | 
						|
                      alignment: Alignment.center,
 | 
						|
                      transform: Matrix4.rotationY(
 | 
						|
                        AppState().isArabic(context) ? math.pi : 0,
 | 
						|
                      ),
 | 
						|
                      child: SvgPicture.asset(
 | 
						|
                        "assets/images/marathon_banner_bg.svg",
 | 
						|
                        fit: BoxFit.fill,
 | 
						|
                        width: double.infinity,
 | 
						|
                      ),
 | 
						|
                    ),
 | 
						|
                    AppState().isArabic(context)
 | 
						|
                        ? Positioned(
 | 
						|
                            right: -15,
 | 
						|
                            top: -10,
 | 
						|
                            child: Transform.rotate(
 | 
						|
                              angle: 10,
 | 
						|
                              child: Container(
 | 
						|
                                width: isTablet ? 70 : 65,
 | 
						|
                                height: isTablet ? 40 : 32,
 | 
						|
                                color: MyColors.darkDigitColor,
 | 
						|
                              ),
 | 
						|
                            ),
 | 
						|
                          )
 | 
						|
                        : Positioned(
 | 
						|
                            left: -20,
 | 
						|
                            top: -10,
 | 
						|
                            child: Transform.rotate(
 | 
						|
                              angle: 15,
 | 
						|
                              child: Container(
 | 
						|
                                width: isTablet ? 70 : 65,
 | 
						|
                                height: isTablet ? 40 : 32,
 | 
						|
                                color: MyColors.darkDigitColor,
 | 
						|
                              ),
 | 
						|
                            ),
 | 
						|
                          ),
 | 
						|
                    SizedBox(
 | 
						|
                      width: double.infinity,
 | 
						|
                      height: double.infinity,
 | 
						|
                      child: Row(
 | 
						|
                        children: <Widget>[
 | 
						|
                          const Expanded(
 | 
						|
                            flex: 3,
 | 
						|
                            child: SizedBox(
 | 
						|
                              width: double.infinity,
 | 
						|
                              height: double.infinity,
 | 
						|
                            ),
 | 
						|
                          ),
 | 
						|
                          Expanded(
 | 
						|
                            flex: AppState().isArabic(context) ? 4 : 5,
 | 
						|
                            child: SizedBox(
 | 
						|
                              width: double.infinity,
 | 
						|
                              height: double.infinity,
 | 
						|
                              child: Row(
 | 
						|
                                mainAxisAlignment: MainAxisAlignment.start,
 | 
						|
                                children: <Widget>[
 | 
						|
                                  Column(
 | 
						|
                                    mainAxisAlignment: MainAxisAlignment.center,
 | 
						|
                                    crossAxisAlignment: CrossAxisAlignment.start,
 | 
						|
                                    mainAxisSize: MainAxisSize.min,
 | 
						|
                                    children: <Widget>[
 | 
						|
                                      AppState().isArabic(context) ? 0.height : 5.height,
 | 
						|
                                      Text(
 | 
						|
                                        LocaleKeys.getReadyForContest.tr(),
 | 
						|
                                        style: TextStyle(
 | 
						|
                                          fontSize: isTablet ? 20 : 11,
 | 
						|
                                          fontStyle: FontStyle.italic,
 | 
						|
                                          fontWeight: FontWeight.w600,
 | 
						|
                                          color: MyColors.white.withOpacity(0.83),
 | 
						|
                                          letterSpacing: -0.4,
 | 
						|
                                        ),
 | 
						|
                                      ),
 | 
						|
                                      Flexible(
 | 
						|
                                        child: Text(
 | 
						|
                                          displayLocalizedContent(
 | 
						|
                                            isPhoneLangArabic: AppState().isArabic(context),
 | 
						|
                                            selectedLanguage: provider.marathonDetailModel.selectedLanguage ?? 0,
 | 
						|
                                            englishContent: provider.marathonDetailModel.titleEn ?? "",
 | 
						|
                                            arabicContent: provider.marathonDetailModel.titleAr ?? "",
 | 
						|
                                          ),
 | 
						|
                                          overflow: TextOverflow.ellipsis,
 | 
						|
                                          style: TextStyle(
 | 
						|
                                            fontStyle: FontStyle.italic,
 | 
						|
                                            fontSize: isTablet ? 30 : 19,
 | 
						|
                                            fontWeight: FontWeight.bold,
 | 
						|
                                            color: MyColors.white.withOpacity(0.83),
 | 
						|
                                            height: 32 / 22,
 | 
						|
                                          ),
 | 
						|
                                        ),
 | 
						|
                                      ),
 | 
						|
                                      isTablet ? 10.height : 3.height,
 | 
						|
                                      CountdownTimerForMainScreen(
 | 
						|
                                        timeToMarathon: DateTime.parse(provider.marathonDetailModel.startTime!).millisecondsSinceEpoch,
 | 
						|
                                        provider: provider,
 | 
						|
                                      ),
 | 
						|
                                    ],
 | 
						|
                                  ).paddingOnly(
 | 
						|
                                    left: AppState().isArabic(context) ? 12 : 3,
 | 
						|
                                    right: AppState().isArabic(context) ? 3 : 12,
 | 
						|
                                  )
 | 
						|
                                ],
 | 
						|
                              ),
 | 
						|
                            ),
 | 
						|
                          ),
 | 
						|
                        ],
 | 
						|
                      ),
 | 
						|
                    ),
 | 
						|
                    AppState().isArabic(context)
 | 
						|
                        ? Align(
 | 
						|
                            alignment: Alignment.topRight,
 | 
						|
                            child: SizedBox(
 | 
						|
                              height: isTablet ? 30 : 20,
 | 
						|
                              width: isTablet ? 45 : 35,
 | 
						|
                              child: Transform.rotate(
 | 
						|
                                angle: math.pi / 4.5,
 | 
						|
                                child: Text(
 | 
						|
                                  LocaleKeys.brainMarathon.tr(),
 | 
						|
                                  textAlign: TextAlign.center,
 | 
						|
                                  maxLines: 2,
 | 
						|
                                  style: TextStyle(
 | 
						|
                                    color: MyColors.white,
 | 
						|
                                    fontWeight: FontWeight.bold,
 | 
						|
                                    fontSize: isTablet ? 8 : 6,
 | 
						|
                                    height: 1.2,
 | 
						|
                                  ),
 | 
						|
                                ),
 | 
						|
                              ),
 | 
						|
                            ),
 | 
						|
                          ).paddingOnly(top: 5)
 | 
						|
                        : Align(
 | 
						|
                            alignment: Alignment.topLeft,
 | 
						|
                            child: SizedBox(
 | 
						|
                              height: isTablet ? 30 : 20,
 | 
						|
                              width: isTablet ? 45 : 35,
 | 
						|
                              child: Transform.rotate(
 | 
						|
                                angle: -math.pi / 4.5,
 | 
						|
                                child: Text(
 | 
						|
                                  LocaleKeys.brainMarathon.tr(),
 | 
						|
                                  textAlign: TextAlign.center,
 | 
						|
                                  maxLines: 2,
 | 
						|
                                  style: TextStyle(
 | 
						|
                                    color: MyColors.kWhiteColor,
 | 
						|
                                    fontWeight: FontWeight.bold,
 | 
						|
                                    fontSize: isTablet ? 8 : 6,
 | 
						|
                                    height: 1.2,
 | 
						|
                                  ),
 | 
						|
                                ),
 | 
						|
                              ),
 | 
						|
                            ),
 | 
						|
                          ).paddingOnly(top: 5),
 | 
						|
                    !AppState().isArabic(context)
 | 
						|
                        ? Positioned(
 | 
						|
                            right: 0,
 | 
						|
                            bottom: 0,
 | 
						|
                            child: RotatedBox(
 | 
						|
                              quarterTurns: 4,
 | 
						|
                              child: SvgPicture.asset("assets/images/arrow_next.svg", color: MyColors.whiteColor),
 | 
						|
                            ).paddingAll(isTablet ? 20 : 15),
 | 
						|
                          )
 | 
						|
                        : Positioned(
 | 
						|
                            bottom: 0,
 | 
						|
                            left: 0,
 | 
						|
                            child: RotatedBox(
 | 
						|
                              quarterTurns: 2,
 | 
						|
                              child: SvgPicture.asset("assets/images/arrow_next.svg", color: MyColors.whiteColor),
 | 
						|
                            ).paddingAll(isTablet ? 20 : 15),
 | 
						|
                          ),
 | 
						|
                  ],
 | 
						|
                ).onPress(() async {
 | 
						|
                  int remainingTimeInMinutes = DateTime.parse(provider.marathonDetailModel.startTime!).difference(DateTime.now()).inMinutes;
 | 
						|
                  if (remainingTimeInMinutes > 5 && provider.marathonDetailModel.sponsors != null && provider.marathonDetailModel.sponsors!.isNotEmpty) {
 | 
						|
                    Utils.showLoading(context);
 | 
						|
                    try {
 | 
						|
                      await provider.initializeVideoPlayer().then((_) {
 | 
						|
                        Utils.hideLoading(context);
 | 
						|
                        provider.startTimerForSponsorVideo();
 | 
						|
                        Navigator.pushNamed(context, AppRoutes.marathonSponsorVideoScreen);
 | 
						|
                      });
 | 
						|
                    } catch (e) {
 | 
						|
                      if (kDebugMode) {
 | 
						|
                        log("Error in VideoPlayer: ${e.toString()}");
 | 
						|
                      }
 | 
						|
                      Utils.hideLoading(context);
 | 
						|
                      Navigator.pushNamed(context, AppRoutes.marathonIntroScreen);
 | 
						|
                    }
 | 
						|
                  } else {
 | 
						|
                    Navigator.pushNamed(context, AppRoutes.marathonIntroScreen);
 | 
						|
                  }
 | 
						|
                  provider.updateLanguageAsPerMarathon(context, provider.isUpComingMarathon ? provider.marathonDetailModel : provider.demoMarathonDetailModel);
 | 
						|
                }),
 | 
						|
              )
 | 
						|
            : getNoUpcomingMarathonWidget(context);
 | 
						|
  }
 | 
						|
}
 |