|  |  | @ -43,85 +43,88 @@ class BodyPartsListing extends StatelessWidget { | 
			
		
	
		
		
			
				
					
					|  |  |  |                 itemBuilder: (BuildContext context, int index) { |  |  |  |                 itemBuilder: (BuildContext context, int index) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                   return SizedBox( height: 80, width: 80,).toShimmer2(isShow: isLoading); |  |  |  |                   return SizedBox( height: 80, width: 80,).toShimmer2(isShow: isLoading); | 
			
		
	
		
		
			
				
					
					|  |  |  |                 })), |  |  |  |                 })), | 
			
		
	
		
		
			
				
					
					|  |  |  |         GridView.builder( |  |  |  |         Visibility( | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( |  |  |  |           visible: !isLoading, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |               crossAxisCount: 3, |  |  |  |           child: GridView.builder( | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |               childAspectRatio: 85 / 107, |  |  |  |             gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |               crossAxisSpacing: 4.h, |  |  |  |                 crossAxisCount: 3, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |               mainAxisSpacing: 21.h), |  |  |  |                 childAspectRatio: 85 / 107, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           physics: NeverScrollableScrollPhysics(), |  |  |  |                 crossAxisSpacing: 4.h, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           shrinkWrap: true, |  |  |  |                 mainAxisSpacing: 21.h), | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           itemCount: parts.length, |  |  |  |             physics: NeverScrollableScrollPhysics(), | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           // padding: fullBody != null ? EdgeInsets.only(top: 16) : EdgeInsets.zero, |  |  |  |             shrinkWrap: true, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           padding: EdgeInsets.zero, |  |  |  |             itemCount: parts.length, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           itemBuilder: (BuildContext context, int index) { |  |  |  |             // padding: fullBody != null ? EdgeInsets.only(top: 16) : EdgeInsets.zero, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             bool _isSelected = |  |  |  |             padding: EdgeInsets.zero, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 selectedPart.any((file) => file.id == parts[index].id); |  |  |  |             itemBuilder: (BuildContext context, int index) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             return InkWell( |  |  |  |               bool _isSelected = | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |               onTap: () { |  |  |  |                   selectedPart.any((file) => file.id == parts[index].id); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 onPartSelected(parts[index]); |  |  |  |               return InkWell( | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |               }, |  |  |  |                 onTap: () { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |               child: AnimatedOpacity( |  |  |  |                   onPartSelected(parts[index]); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 opacity: 1.0, |  |  |  |                 }, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 duration: Duration(milliseconds: 200), |  |  |  |                 child: AnimatedOpacity( | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 child: Column( |  |  |  |                   opacity: 1.0, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                   crossAxisAlignment: CrossAxisAlignment.start, |  |  |  |                   duration: Duration(milliseconds: 200), | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                   children: [ |  |  |  |                   child: Column( | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     AspectRatio( |  |  |  |                     crossAxisAlignment: CrossAxisAlignment.start, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                       aspectRatio: 97 / 97, |  |  |  |                     children: [ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                       child: FittedBox( |  |  |  |                       AspectRatio( | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         fit: BoxFit.fitWidth, |  |  |  |                         aspectRatio: 97 / 97, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         child: Stack( |  |  |  |                         child: FittedBox( | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                           alignment: Alignment.topRight, |  |  |  |                           fit: BoxFit.fitWidth, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                           children: [ |  |  |  |                           child: Stack( | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                             Container( |  |  |  |                             alignment: Alignment.topRight, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                               margin: EdgeInsets.only(top: 5.h, right: 5.h), |  |  |  |                             children: [ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                               decoration: BoxDecoration( |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                                 borderRadius: BorderRadius.circular(15.0), |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                                 border: Border.all( |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                                     color: _isSelected |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                                         ? AppColors.primaryRedColor |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                                         : AppColors.borderGrayColor, |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                                     width: 2.h), |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                               ), |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                               child: LaserBodyParts().getCategoryImage(isMale, |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                                   laserCategoryID, parts[index].mappingCode!), |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                             ), |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                             if (_isSelected) |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                               Container( |  |  |  |                               Container( | 
			
		
	
		
		
			
				
					
					|  |  |  |                                 width: 18.h, |  |  |  |                                 margin: EdgeInsets.only(top: 5.h, right: 5.h), | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                 height: 18.h, |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                                 child: Icon(Icons.done, |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                                     color: Colors.white, size: 12.h), |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                                 decoration: BoxDecoration( |  |  |  |                                 decoration: BoxDecoration( | 
			
		
	
		
		
			
				
					
					|  |  |  |                                   color: AppColors.primaryRedColor, |  |  |  |                                   borderRadius: BorderRadius.circular(15.0), | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                   borderRadius: BorderRadius.circular(30.h), |  |  |  |                                   border: Border.all( | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                       color: _isSelected | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                           ? AppColors.primaryRedColor | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                           : AppColors.borderGrayColor, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                       width: 2.h), | 
			
		
	
		
		
			
				
					
					|  |  |  |                                 ), |  |  |  |                                 ), | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 child: LaserBodyParts().getCategoryImage(isMale, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                     laserCategoryID, parts[index].mappingCode!), | 
			
		
	
		
		
			
				
					
					|  |  |  |                               ), |  |  |  |                               ), | 
			
		
	
		
		
			
				
					
					|  |  |  |                           ], |  |  |  |                               if (_isSelected) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 Container( | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                   width: 18.h, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                   height: 18.h, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                   child: Icon(Icons.done, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                       color: Colors.white, size: 12.h), | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                   decoration: BoxDecoration( | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                     color: AppColors.primaryRedColor, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                     borderRadius: BorderRadius.circular(30.h), | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                   ), | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 ), | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             ], | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                           ), | 
			
		
	
		
		
			
				
					
					|  |  |  |                         ), |  |  |  |                         ), | 
			
		
	
		
		
			
				
					
					|  |  |  |                       ), |  |  |  |                       ), | 
			
		
	
		
		
			
				
					
					|  |  |  |                     ), |  |  |  |                       SizedBox(height: 6.h), | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     SizedBox(height: 6.h), |  |  |  |                       Expanded( | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     Expanded( |  |  |  |                         child: Text( | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                       child: Text( |  |  |  |                           context | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         context |  |  |  |                               .read<BookAppointmentsViewModel>() | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                             .read<BookAppointmentsViewModel>() |  |  |  |                               .getLaserProcedureNameWRTLanguage(parts[index]), | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                             .getLaserProcedureNameWRTLanguage(parts[index]), |  |  |  |                           style: TextStyle( | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         style: TextStyle( |  |  |  |                             fontSize: 12.fSize, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                           fontSize: 12.fSize, |  |  |  |                             fontWeight: FontWeight.w600, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                           fontWeight: FontWeight.w600, |  |  |  |                             color: Color(0xff2B353E), | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                           color: Color(0xff2B353E), |  |  |  |                             letterSpacing: -0.48, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                           letterSpacing: -0.48, |  |  |  |                           ), | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                           maxLines: 1, | 
			
		
	
		
		
			
				
					
					|  |  |  |                         ), |  |  |  |                         ), | 
			
		
	
		
		
			
				
					
					|  |  |  |                         maxLines: 1, |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                       ), |  |  |  |                       ), | 
			
		
	
		
		
			
				
					
					|  |  |  |                     ), |  |  |  |                     ], | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                   ], |  |  |  |                   ), | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 ), |  |  |  |                 ), | 
			
		
	
		
		
			
				
					
					|  |  |  |               ), |  |  |  |               ); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             ); |  |  |  |             }, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           }, |  |  |  |           ), | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         ), |  |  |  |         ), | 
			
		
	
		
		
			
				
					
					|  |  |  |       ], |  |  |  |       ], | 
			
		
	
		
		
			
				
					
					|  |  |  |     ); |  |  |  |     ); | 
			
		
	
	
		
		
			
				
					|  |  | 
 |