theClub method

Widget theClub(
  1. BuildContext context
)

Implementation

Widget theClub(BuildContext context) {
  return Container(
    constraints: context.x > 1100?const BoxConstraints(
        maxWidth: 1100
    ): BoxConstraints(
        maxWidth: context.x
    ),
    child: Column(
            crossAxisAlignment: CrossAxisAlignment.center,
            children: [
              ResponsiveGridRow(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: [
                  ResponsiveGridCol(
                    lg: 5,
                    md: 4,
                    sm: 10,
                    xs: 12,
                    child: Padding(
                      padding:  EdgeInsets.only(right: context.x>768?10.dp:20, top: 10.dp, left: context.x<768?20.dp:0),
                      child: Image.asset(context.x>768?'assets/home/the_club.webp':'assets/home/the_club_small.webp'
                      ),
                    ),
                  ),
                  ResponsiveGridCol(
                    lg: 7,
                    md:8,
                    child: Padding(
                      padding: EdgeInsets.only(left: context.x<768?20.dp:40.dp, top: context.x<768?30.dp:0.dp, right: context.x<768?20.dp:0.dp,),
                      child: Column(
                        crossAxisAlignment: CrossAxisAlignment.start,
                        mainAxisAlignment: MainAxisAlignment.start,
                        children: [
                          RichText(
                            text: TextSpan(
                              text: '',
                              style: TextStyle(
                                fontSize: context.x<768?25.dp: 32.dp,
                                fontWeight: FontWeight.w600,
                                color: ColorHelper.textDark,
                                fontFamily: "SFProDisplay",
                              ),
                              children: [
                                WidgetSpan(
                                  child: GradientText(
                                      'The Club ',
                                      style: TextStyle(
                                          fontSize: context.x<430 ? 21.dp: context.x<768 ? 25.dp: 32.dp,
                                          fontWeight: FontWeight.w600,
                                          height: 1.3,
                                          fontFamily: "PlayFairDisplay"),
                                      gradientDirection: GradientDirection.ltr,
                                      colors: ColorHelper.gradientTextColors
                                  ),
                                ),
                                TextSpan(
                                  text: '- ',
                                  style: TextStyle(
                                    fontSize: context.x<430 ? 21.dp: context.x<768?25.dp: 32.dp,
                                    fontWeight: FontWeight.w600,
                                    height: 1.3,
                                    color: ColorHelper.textDark,
                                    fontFamily: "PlayFairDisplay",
                                  ),
                                ),
                                TextSpan(
                                  text: 'About NEOPASS ',
                                  style: TextStyle(
                                    fontSize: context.x<430 ? 21.dp: context.x<768?25.dp: 32.dp,
                                    height: 1.3,
                                    fontWeight: FontWeight.w600,
                                    color: ColorHelper.textDark,
                                    fontFamily: "PlayFairDisplay",
                                  ),
                                ),
                              ],
                            ),
                          ),
                          18.dp.SpaceX,
                          Text(
                            context.x>1100?'NEOPASS is an exclusive members-only club specializing in premium\ntravel experiences with significant rates. With innovative payment\noptions, including cryptocurrencies, and access to unparalleled rates on\nbusiness and first-class flights, Hotels & Vacation Rentals, Experiences\nand more.\n\nNEOPASS redefines quality travel for those seeking exceptional value and convenience.'
                                :'NEOPASS is an exclusive members-only club specializing in premium travel experiences with significant rates. With innovative payment options, including cryptocurrencies, and access to unparalleled rates on business and first-class flights, Hotels & Vacation Rentals, Experiences and more.\n\nNEOPASS redefines quality travel for those seeking exceptional value and convenience.',
                            style: TextStyle(
                              fontSize: 15.dp,
                              fontWeight: FontWeight.w400,
                              color: ColorHelper.textDarkMed,
                              fontFamily: "SFProDisplay",
                            ),
                          ),

                          14.dp.SpaceX,
                          Row(
                            mainAxisAlignment: context.isMobile ? MainAxisAlignment.spaceBetween : MainAxisAlignment.start,
                            children: [
                              InkWell(
                                onTap: () {
                                  goto(Routes.THE_CLUB);
                                },
                                child: Container(
                                  width: context.isMobile ? 180 : 116,
                                  height: context.isMobile ? 50 : 50,
                                  alignment: Alignment.center,
                                  decoration: BoxDecoration(
                                    color: ColorHelper.primaryColor1,
                                    borderRadius: BorderRadius.circular(8),
                                  ),
                                  child: Text(
                                    'Read More',
                                    style: TextStyle(
                                      fontSize: context.isMobile ? 17 : 18,
                                      fontWeight: FontWeight.w500,
                                      color: ColorHelper.white,
                                      fontFamily: 'SFProDisplay',
                                      height: 1.5,
                                    ),
                                  ),
                                ),
                              ),
                              if (!context.isMobile)
                                23.SpaceY,
                              InkWell(
                                onTap: () async {
                                  await controller.launchPDf(context, 'Invitation');
                                },
                                child: Row(
                                  mainAxisSize: MainAxisSize.min,
                                  children: [
                                    Text(
                                      'View Exclusive Invitation',
                                      style: TextStyle(
                                        fontSize: context.isMobile ? 17 : 18,
                                        height: 1.5,
                                        fontWeight: FontWeight.w500,
                                        color: ColorHelper.primaryColor2,
                                        fontFamily: "SFProDisplay",
                                      ),
                                    ),
                                    SvgPicture.asset(
                                      'assets/home/arrowup.svg',
                                      width: context.isMobile ? 17 : 18,
                                      height: context.isMobile ? 17 : 18,
                                      colorFilter: const ColorFilter.mode(
                                        ColorHelper.primaryColor2,
                                        BlendMode.srcIn,
                                      ),
                                    ),
                                  ],
                                ),
                              ),
                            ],
                          ),
                        ],
                      ),
                    ),
                  ),
                ],
              ),
              SizedBox(
                height: 10.dp,
              ),
              Padding(
                padding: EdgeInsets.symmetric(horizontal: context.x<992? 20:0),
                child: Column(crossAxisAlignment: CrossAxisAlignment.center,
                  children: [
                    const Divider(color: ColorHelper.verticalLineColor, thickness: 0.5),
                    ResponsiveGridRow(
                      children: [
                        ResponsiveGridCol(
                          lg: context.x<1000? 6:3,
                          md: 6,
                          sm: 6,
                          xs: 6,
                          child: Column(
                            children: [
                              Obx(
                                 () {
                                  return Text(
                                    '${controller.globalMembers}',
                                    textAlign: TextAlign.center,
                                    style: TextStyle(
                                      fontSize: context.x<500?28.dp:context.x<768?34.dp:49.dp,
                                      fontWeight: FontWeight.w700,
                                      color: ColorHelper.textDark,
                                        fontFamily: "SFProDisplay"
                                    ),
                                  );
                                }
                              ),
                              const SizedBox(
                                height: 10,
                              ),
                              Text(
                                'Global Members',
                                textAlign: TextAlign.center,
                                style: TextStyle(
                                  fontSize: context.x<500?14.dp:16.dp,
                                  fontWeight: FontWeight.w400,
                                  color: ColorHelper.grey05,
                                    fontFamily: "SFProDisplay"
                                ),
                              ),
                            ],
                          ),
                        ),
                        ResponsiveGridCol(
                          lg: context.x<1000? 6:3,
                          md: 6,
                          sm: 6,
                          xs: 6,
                          child: Column(
                            children: [
                              // context.x<768?
                              // const Divider(color: ColorHelper.verticalLineColor,thickness: 0.5,):
                              // const SizedBox.shrink(),
                              Obx(
                                 () {
                                  return Text(
                                    '\$${ MoneyFormatter(
                                        amount: controller.archivedBenefit
                                    ).output.nonSymbol.split(".")[0] ?? 0}',
                                    textAlign: TextAlign.center,
                                    style: TextStyle(
                                      fontSize: context.x<500?28.dp:context.x<768?34.dp:49.dp,
                                      fontWeight: FontWeight.w700,
                                      color: ColorHelper.textDark,
                                        fontFamily: "SFProDisplay"
                                    ),
                                  );
                                }
                              ),
                              const SizedBox(
                                height: 10,
                              ),
                              Text(
                                'Achieved Benefits',
                                textAlign: TextAlign.center,
                                style: TextStyle(
                                  fontSize: context.x<500?14.dp:16.dp,
                                  fontWeight: FontWeight.w400,
                                  color: ColorHelper.grey05,
                                    fontFamily: "SFProDisplay"
                                ),
                              ),
                            ],
                          ),
                        ),
                        ResponsiveGridCol(
                          lg: context.x<1000? 6:3,
                          md: 6,
                          sm: 6,
                          xs: 6,
                          child: Column(
                            children: [
                              // context.x<768?
                              // const Divider(color: ColorHelper.verticalLineColor,thickness: 0.5,):
                              // const SizedBox.shrink(),
                              Obx(
                                 () {
                                  return Text(
                                    '${controller.bookedFlights}',
                                    textAlign: TextAlign.center,
                                    style: TextStyle(
                                      fontSize: context.x<500?28.dp:context.x<768?34.dp:49.dp,
                                      fontWeight: FontWeight.w700,
                                      color: ColorHelper.textDark,
                                        fontFamily: "SFProDisplay"
                                    ),
                                  );
                                }
                              ),
                              const SizedBox(
                                height: 10,
                              ),
                              Text(
                                'Booked Exclusive PLUS Flights',
                                textAlign: TextAlign.center,
                                style: TextStyle(
                                  fontSize: context.x<500?14.dp:16.dp,
                                  fontWeight: FontWeight.w400,
                                  color: ColorHelper.grey05,
                                    fontFamily: "SFProDisplay"
                                ),
                              ),
                            ],
                          ),
                        ),
                        ResponsiveGridCol(
                          lg: context.x<1000? 6:3,
                          md: 6,
                          sm: 6,
                          xs: 6,
                          child: Column(
                            children: [
                              // context.x<768?
                              // const Divider(color: ColorHelper.verticalLineColor,thickness: 0.5,):
                              // const SizedBox.shrink(),
                              Obx(
                                 () {
                                  return Text(
                                    '\$${controller.averageFlightBenefit.priceText}',
                                    textAlign: TextAlign.center,
                                    style: TextStyle(
                                      fontSize: context.x<500?28.dp:context.x<768?34.dp:49.dp,
                                      fontWeight: FontWeight.w700,
                                      color: ColorHelper.textDark,
                                        fontFamily: "SFProDisplay"
                                    ),
                                  );
                                }
                              ),
                              const SizedBox(
                                height: 10,
                              ),
                              Text(
                                'Average Flight Benefit',
                                textAlign: TextAlign.center,
                                style: TextStyle(
                                  fontSize: context.x<500?14.dp:16.dp,
                                  fontWeight: FontWeight.w400,
                                  color: ColorHelper.grey05,
                                    fontFamily: "SFProDisplay"
                                ),
                              ),
                            ],
                          ),
                        ),
                      ],
                    ),
                    10.dp.SpaceX,
                    const Divider(color: ColorHelper.verticalLineColor,thickness: 0.5,),
                    const SizedBox(
                      height: 14,
                    ),
                    Text(
                      'Last Update "${formatDate(DateTime.now())}"',
                      style: TextStyle(
                        color: ColorHelper.primaryColor2,
                        fontSize: 12.dp,
                        fontWeight: FontWeight.w500,
                          fontFamily: "SFProDisplay"
                      ),
                    ),
                    const SizedBox(
                      height: 31,
                    ),
                    if(context.x>950)
                      Padding(
                      padding:  EdgeInsets.symmetric(horizontal: context.x<768?0:context.x<992?100: 60.dp),
                      child: Row(
                        mainAxisAlignment: MainAxisAlignment.spaceBetween,
                        children: [
                          socialIconsWidget(context, 'instagram', 'https://www.instagram.com/neopass_official/'),
                          socialIconsBreak(),
                          socialIconsWidget(context, 'youtube', 'https://www.youtube.com/channel/UC9zybWLPVRKAeEqe7QSSedg'),
                          socialIconsBreak(),
                          socialIconsWidget(context, 'facebook', 'https://www.facebook.com/profile.php?id=61573018861086'),
                          socialIconsBreak(),
                          socialIconsWidget(context, 'x', 'https://x.com/NEOPASSCLUB'),
                          socialIconsBreak(),
                          socialIconsWidget(context, 'tiktok', 'https://www.tiktok.com/@neopassclub'),
                          socialIconsBreak(),
                          socialIconsWidget(context, 'pinterest', 'https://www.pinterest.com/NEOPASSCLUB/?actingBusinessId=972214775717307727'),
                          socialIconsBreak(),
                          socialIconsWidget(context, 'linkedIn', 'https://www.linkedin.com/company/neopassclub'),
                          socialIconsBreak(),
                          socialIconsWidget(context, 'telegram', 'https://t.me/+bdbOdMRCnwE1MDRk'),
                        ],
                      ),
                    ),
                    if(context.x<950)
                      Padding(
                        padding:  EdgeInsets.symmetric(horizontal: context.x<430?10.dp:context.x<768?20.dp:context.x<992?100: 60.dp),
                        child: ResponsiveGridRow(
                          children: [
                            ResponsiveGridCol(
                              lg:2,
                              md: context.x<830?0:2,
                              sm: 0,
                              xs: 0,
                              child: const SizedBox.shrink(),
                            ),
                            ResponsiveGridCol(
                              lg:2,
                              md: context.x<830?3:2,
                              sm: 3,
                              xs: 4,
                              child: socialIconsWidget(context, 'instagram', 'https://www.instagram.com/neopass_official/'),
                            ),
                            ResponsiveGridCol(
                              lg:2,
                              md: context.x<830?3:2,
                              sm: 3,
                              xs: 4,
                              child: socialIconsWidget(context, 'youtube', 'https://www.youtube.com/channel/UC9zybWLPVRKAeEqe7QSSedg'),
                            ),
                            ResponsiveGridCol(
                              lg:2,
                              md: context.x<830?3:2,
                              sm: 3,
                              xs: 4,
                              child: socialIconsWidget(context, 'facebook', 'https://www.facebook.com/profile.php?id=61573018861086'),
                            ),
                            ResponsiveGridCol(
                              lg:0,
                              md: 0,
                              sm: 0,
                              xs: 1,
                              child: const SizedBox.shrink(),
                            ),
                            ResponsiveGridCol(
                              lg:2,
                              md: context.x<830?3:2,
                              sm: 3,
                              xs: 0,
                              child: Padding(
                                padding: EdgeInsets.only(top: context.x<560?0.dp:0),
                                child: socialIconsWidget(context, 'x', 'https://x.com/NEOPASSCLUB'),
                              ),
                            ),
                            ResponsiveGridCol(
                              lg:0,
                              md: 0,
                              sm: 0,
                              xs: 3,
                              child: Padding(
                                padding: EdgeInsets.only(top: context.x<576?10.dp:0),
                                child: socialIconsWidget(context, 'x', 'https://x.com/NEOPASSCLUB'),
                              ),
                            ),
                            ResponsiveGridCol(
                              lg:2,
                              md: context.x<830?0:2,
                              sm: 0,
                              xs: 0,
                              child: const SizedBox.shrink(),
                            ),
                            ResponsiveGridCol(
                              lg:2,
                              md: context.x<830?0:2,
                              sm: 0,
                              xs: 0,
                              child: const SizedBox.shrink(),
                            ),
                            ResponsiveGridCol(
                              lg:2,
                              md: context.x<830?3:2,
                              sm: 3,
                              xs: 3,
                              child: Padding(
                                padding: EdgeInsets.only(top: context.x<950?10.dp:0),
                                child: socialIconsWidget(context, 'tiktok', 'https://www.tiktok.com/@neopassclub'),
                              ),
                            ),
                            ResponsiveGridCol(
                              lg:2,
                              md: context.x<830?3:2,
                              sm: 3,
                              xs: 3,
                              child: Padding(
                                padding: EdgeInsets.only(top: context.x<950?10.dp:0, right: context.x<560?0.dp:0),
                                child: socialIconsWidget(context, 'pinterest', 'https://www.pinterest.com/NEOPASSCLUB/?actingBusinessId=972214775717307727'),
                              ),
                            ),
                            ResponsiveGridCol(
                              lg:0,
                              md: 0,
                              sm: 0,
                              xs: 1,
                              child: const SizedBox.shrink(),
                            ),
                            ResponsiveGridCol(
                              lg:0,
                              md: 0,
                              sm: 0,
                              xs: 2,
                              child: const SizedBox.shrink(),
                            ),
                            ResponsiveGridCol(
                              lg:2,
                              md: context.x<830?3:2,
                              sm: 3,
                              xs: 4,
                              child: Padding(
                                padding: EdgeInsets.only(top: context.x<950?10.dp:0, left: context.x<560?20.dp:0),
                                child: socialIconsWidget(context, 'linkedIn', 'https://www.linkedin.com/company/neopassclub'),
                              ),
                            ),
                            ResponsiveGridCol(
                              lg:2,
                              md: context.x<830?3:2,
                              sm: 3,
                              xs: 4,
                              child: Padding(
                                padding: EdgeInsets.only(top: context.x<950?10.dp:0, right: context.x<500?15.dp:context.x<560?30.dp:0),
                                child: socialIconsWidget(context, 'telegram', 'https://t.me/+bdbOdMRCnwE1MDRk'),
                              ),
                            ),
                            ResponsiveGridCol(
                              lg:2,
                              md: context.x<830?0:2,
                              sm: 0,
                              xs: context.x<500?0:2,
                              child: const SizedBox.shrink(),
                            ),
                          ],
                        ),
                      ),
                  ],
                ),
              ),
            ],
          ),
  );
}