import 'package:animated_text_kit/animated_text_kit.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:SEFER/controller/home/profile/promos_controller.dart'; import 'package:SEFER/views/widgets/my_scafold.dart'; import '../../../constant/box_name.dart'; import '../../../constant/colors.dart'; import '../../../constant/style.dart'; import '../../../main.dart'; import '../../widgets/mycircular.dart'; import 'budgets_ads.dart'; class PromosPassengerPage extends StatelessWidget { const PromosPassengerPage({super.key}); @override Widget build(BuildContext context) { Get.put(PromosController()); return MyScafolld( title: 'Promos For today'.tr, isleading: true, body: [ GetBuilder( builder: (orderHistoryController) => orderHistoryController.isLoading ? const MyCircularProgressIndicator() : ListView.builder( itemCount: orderHistoryController.promoList.length + 1, // Adding 1 for the ad itemBuilder: (BuildContext context, int index) { if (index == 0) { // Ad at the beginning return Padding( padding: const EdgeInsets.all(8.0), child: Container( height: 120, // Adjust the height of the ad container decoration: BoxDecoration( color: Colors.grey[200], // Background color for the ad borderRadius: BorderRadius.circular(10), ), child: Center( child: Container( decoration: AppStyle.boxDecoration, height: Get.height * .19, child: ListView( scrollDirection: Axis.horizontal, children: [ PointsCaptain( kolor: AppColor.blueColor, pricePoint: box.read(BoxName.countryCode) == 'Jordan' ? 5 : 100, countPoint: box.read(BoxName.countryCode) == 'Jordan' ? '300' : '100', ), PointsCaptain( kolor: Colors.green, pricePoint: box.read(BoxName.countryCode) == 'Jordan' ? 10 : 200, countPoint: box.read(BoxName.countryCode) == 'Jordan' ? '1040' : '210', ), PointsCaptain( kolor: Colors.amberAccent, pricePoint: box.read(BoxName.countryCode) == 'Jordan' ? 22 : 400, countPoint: box.read(BoxName.countryCode) == 'Jordan' ? '2300' : '450', ), PointsCaptain( kolor: AppColor.yellowColor, pricePoint: box.read(BoxName.countryCode) == 'Jordan' ? 50 : 1000, countPoint: box.read(BoxName.countryCode) == 'Jordan' ? '55000' : '1200', ), ], )), ), ), ); } else { // Promo items final rides = orderHistoryController.promoList[index - 1]; return Padding( padding: const EdgeInsets.all(8.0), child: Container( decoration: AppStyle.boxDecoration, child: Padding( padding: const EdgeInsets.all(8.0), child: Column( children: [ Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ AnimatedTextKit( animatedTexts: [ ScaleAnimatedText( rides['promo_code'], textStyle: AppStyle.title), WavyAnimatedText( rides['promo_code'], textStyle: AppStyle.title), FlickerAnimatedText( rides['promo_code'], textStyle: AppStyle.title), WavyAnimatedText( rides['promo_code'], textStyle: AppStyle.title), ], isRepeatingAnimation: true, onTap: () {}, ), Text( rides['description'], style: AppStyle.title, ), ], ), Column( children: [ Text( rides['validity_start_date'], style: AppStyle.title, ), Text( rides['validity_end_date'], style: AppStyle.title, ), ], ), ], ), Text( 'Copy this Promo to use it in your Ride!'.tr, textAlign: TextAlign.center, style: AppStyle.headTitle2 .copyWith(color: AppColor.accentColor), ) ], ), ), ), ); } }, ), ) ], ); } }