From de761c1d9705485534e9351e4577382cd4ff1dde Mon Sep 17 00:00:00 2001 From: Hamza-Ayed Date: Sat, 11 Jul 2026 19:38:43 +0300 Subject: [PATCH] Update: 2026-07-11 19:38:43 --- .../car_details_widget_to_go.dart | 116 +++++++++--------- 1 file changed, 60 insertions(+), 56 deletions(-) diff --git a/siro_rider/lib/views/home/map_widget.dart/car_details_widget_to_go.dart b/siro_rider/lib/views/home/map_widget.dart/car_details_widget_to_go.dart index 1e58cb7c..c7683f01 100644 --- a/siro_rider/lib/views/home/map_widget.dart/car_details_widget_to_go.dart +++ b/siro_rider/lib/views/home/map_widget.dart/car_details_widget_to_go.dart @@ -150,8 +150,9 @@ class CarDetailsTypeToChoose extends StatelessWidget { // ── Car Selection List ─────────────────────────────── SizedBox( - height: 96, + height: 136, child: ListView.builder( + clipBehavior: Clip.none, physics: const BouncingScrollPhysics(), scrollDirection: Axis.horizontal, padding: const EdgeInsets.fromLTRB(16, 2, 16, 2), @@ -161,7 +162,7 @@ class CarDetailsTypeToChoose extends StatelessWidget { final isSelected = controller.selectedIndex == index; return Padding( padding: EdgeInsetsDirectional.only( - end: index < carTypes.length - 1 ? 8 : 0), + end: index < carTypes.length - 1 ? 12 : 0), child: _buildCarCard( context, controller, carType, isSelected, index), ); @@ -793,20 +794,10 @@ class _CarTypeCard extends StatelessWidget { onTap: onTap, child: AnimatedContainer( duration: AppDurations.base, - curve: Curves.easeOutCubic, - width: 88, + curve: Curves.easeOutBack, + width: 116, decoration: BoxDecoration( - gradient: isSelected - ? LinearGradient( - begin: Alignment.topLeft, - end: Alignment.bottomRight, - colors: [ - AppColor.primaryColor.withAlpha(22), - AppColor.primaryColor.withAlpha(10), - ], - ) - : null, - color: isSelected ? null : AppColor.secondaryColor, + color: isSelected ? AppColor.primaryColor : AppColor.secondaryColor, borderRadius: AppRadii.all(AppRadii.lg), border: Border.all( color: isSelected @@ -815,61 +806,76 @@ class _CarTypeCard extends StatelessWidget { width: isSelected ? 2 : 1.2, ), boxShadow: [ - BoxShadow( - color: isSelected - ? AppColor.primaryColor.withAlpha(50) - : Colors.black.withAlpha(12), - blurRadius: isSelected ? 10 : 4, - offset: const Offset(0, 2), - ), + if (isSelected) + BoxShadow( + color: AppColor.primaryColor.withAlpha(100), + blurRadius: 16, + offset: const Offset(0, 6), + ) + else + BoxShadow( + color: Colors.black.withAlpha(12), + blurRadius: 4, + offset: const Offset(0, 2), + ), ], ), child: Stack( + clipBehavior: Clip.none, children: [ // Selected indicator if (isSelected) Positioned( - top: 3, - right: 3, + top: 4, + right: 4, child: Container( - width: 18, - height: 18, + width: 20, + height: 20, decoration: BoxDecoration( - gradient: LinearGradient( - colors: [ - AppColor.primaryColor, - AppColor.primaryColor.withAlpha(200), - ], - ), + color: Colors.white, shape: BoxShape.circle, boxShadow: [ BoxShadow( - color: AppColor.primaryColor.withAlpha(60), + color: Colors.black.withAlpha(30), blurRadius: 4, + offset: const Offset(0, 2), ), ], ), - child: const Icon(Icons.check, size: 11, color: Colors.white), + child: + Icon(Icons.check, size: 14, color: AppColor.primaryColor), ), ), // Card content Padding( - padding: const EdgeInsets.all(6), + padding: const EdgeInsets.all(8.0), child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ - // Car image - AnimatedScale( - scale: isSelected ? 1.1 : 1.0, - duration: AppDurations.base, - child: Image.asset( - carType.image, - height: 34, - fit: BoxFit.contain, + // Car image on soft disc + Container( + width: 52, + height: 52, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: isSelected + ? Colors.white.withAlpha(30) + : AppColor.primaryColor.withAlpha(15), + ), + alignment: Alignment.center, + child: AnimatedScale( + scale: isSelected ? 1.15 : 1.0, + duration: AppDurations.base, + curve: Curves.easeOutBack, + child: Image.asset( + carType.image, + height: 42, + fit: BoxFit.contain, + ), ), ), - const SizedBox(height: 1), + const SizedBox(height: 6), // Car name FittedBox( @@ -879,26 +885,24 @@ class _CarTypeCard extends StatelessWidget { style: TextStyle( fontWeight: isSelected ? FontWeight.w800 : FontWeight.w600, - fontSize: 11, - color: isSelected - ? AppColor.primaryColor - : AppColor.writeColor, + fontSize: 13, + color: isSelected ? Colors.white : AppColor.writeColor, ), maxLines: 1, ), ), - const SizedBox(height: 1), + const SizedBox(height: 4), // Price tag Container( padding: - const EdgeInsets.symmetric(horizontal: 6, vertical: 1), + const EdgeInsets.symmetric(horizontal: 10, vertical: 3), decoration: BoxDecoration( color: isSelected - ? AppColor.primaryColor + ? Colors.white : AppColor.writeColor.withOpacity(0.05), - borderRadius: AppRadii.all(AppRadii.sm), + borderRadius: BorderRadius.circular(12), border: isSelected ? null : Border.all( @@ -908,11 +912,11 @@ class _CarTypeCard extends StatelessWidget { child: Text( priceText, style: TextStyle( - fontSize: 12, - fontWeight: FontWeight.w800, + fontSize: 15, + fontWeight: FontWeight.bold, color: isSelected - ? Colors.white - : AppColor.writeColor.withOpacity(0.8), + ? AppColor.primaryColor + : AppColor.writeColor.withOpacity(0.9), ), ), ),